From 5cc3cc8acf3b1660ea40c02e279cf47c674c2231 Mon Sep 17 00:00:00 2001 From: Hasan Turken Date: Sat, 8 Jan 2022 00:53:56 +0300 Subject: [PATCH 1/2] Update config for all resources Signed-off-by: Hasan Turken --- config/provider.go | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/config/provider.go b/config/provider.go index fd468ec9..32aec48f 100644 --- a/config/provider.go +++ b/config/provider.go @@ -34,37 +34,6 @@ var skipList = []string{ "google_access_context_manager_service_perimeters$", } -var includeList = []string{ - // Storage - "google_storage_bucket$", - - // Compute - "google_compute_network$", - "google_compute_subnetwork$", - "google_compute_address$", - "google_compute_firewall$", - "google_compute_instance$", - "google_compute_managed_ssl_certificate$", - "google_compute_router$", - "google_compute_router_nat$", - - // Container - "google_container_cluster", - "google_container_node_pool", - - // Monitoring - "google_monitoring_alert_policy", - "google_monitoring_notification_channel", - "google_monitoring_uptime_check_config", - - // CloudPlatform - "google_service_account$", - "google_service_account_key$", - - // Sql - "google_sql_.+", -} - // GetProvider returns provider configuration func GetProvider() *tjconfig.Provider { resourceMap := tf.Provider().ResourcesMap @@ -75,8 +44,6 @@ func GetProvider() *tjconfig.Provider { )), tjconfig.WithRootGroup("gcp.jet.crossplane.io"), tjconfig.WithShortName("gcpjet"), - // Comment out the following line to generate all resources. - tjconfig.WithIncludeList(includeList), tjconfig.WithSkipList(skipList)) for _, configure := range []func(provider *tjconfig.Provider){ From d93a629b8bd8e0d6dc0fa127b6342c86052f5d0f Mon Sep 17 00:00:00 2001 From: Hasan Turken Date: Sat, 8 Jan 2022 00:57:28 +0300 Subject: [PATCH 2/2] Generate all resources Signed-off-by: Hasan Turken --- .../v1alpha1/zz_foldersettings_terraformed.go | 100 + .../v1alpha1/zz_foldersettings_types.go | 141 + .../v1alpha1/zz_generated.deepcopy.go | 633 + .../v1alpha1/zz_generated.managed.go | 188 + .../v1alpha1/zz_generated.managedlist.go | 47 + .../v1alpha1/zz_groupversion_info.go | 44 + .../zz_organizationsettings_terraformed.go | 100 + .../v1alpha1/zz_organizationsettings_types.go | 128 + .../zz_projectsettings_terraformed.go | 100 + .../v1alpha1/zz_projectsettings_types.go | 132 + .../v1alpha1/zz_accesslevel_terraformed.go | 100 + .../v1alpha1/zz_accesslevel_types.go | 272 + .../zz_accesslevelcondition_terraformed.go | 100 + .../v1alpha1/zz_accesslevelcondition_types.go | 186 + .../v1alpha1/zz_accesspolicy_terraformed.go | 100 + .../v1alpha1/zz_accesspolicy_types.go | 97 + .../zz_gcpuseraccessbinding_terraformed.go | 100 + .../v1alpha1/zz_gcpuseraccessbinding_types.go | 96 + .../v1alpha1/zz_generated.deepcopy.go | 2685 ++ .../v1alpha1/zz_generated.managed.go | 356 + .../v1alpha1/zz_generated.managedlist.go | 74 + .../v1alpha1/zz_groupversion_info.go | 44 + .../zz_serviceperimeter_terraformed.go | 100 + .../v1alpha1/zz_serviceperimeter_types.go | 706 + ...zz_serviceperimeterresource_terraformed.go | 100 + .../zz_serviceperimeterresource_types.go | 92 + .../v1alpha1/zz_domain_terraformed.go | 100 + .../v1alpha1/zz_domain_types.go | 118 + .../v1alpha1/zz_domaintrust_terraformed.go | 100 + .../v1alpha1/zz_domaintrust_types.go | 114 + .../v1alpha1/zz_generated.deepcopy.go | 390 + .../v1alpha1/zz_generated.managed.go | 132 + .../v1alpha1/zz_generated.managedlist.go | 38 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_envgroup_terraformed.go | 100 + apis/apigee/v1alpha1/zz_envgroup_types.go | 95 + .../zz_envgroupattachment_terraformed.go | 100 + .../v1alpha1/zz_envgroupattachment_types.go | 93 + .../v1alpha1/zz_environment_terraformed.go | 100 + apis/apigee/v1alpha1/zz_environment_types.go | 99 + apis/apigee/v1alpha1/zz_generated.deepcopy.go | 959 + apis/apigee/v1alpha1/zz_generated.managed.go | 356 + .../v1alpha1/zz_generated.managedlist.go | 74 + apis/apigee/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_instance_terraformed.go | 100 + apis/apigee/v1alpha1/zz_instance_types.go | 118 + .../zz_instanceattachment_terraformed.go | 100 + .../v1alpha1/zz_instanceattachment_types.go | 93 + .../v1alpha1/zz_organization_terraformed.go | 100 + apis/apigee/v1alpha1/zz_organization_types.go | 121 + .../v1alpha1/zz_application_terraformed.go | 100 + .../v1alpha1/zz_application_types.go | 161 + ...applicationurldispatchrules_terraformed.go | 100 + .../zz_applicationurldispatchrules_types.go | 110 + .../v1alpha1/zz_domainmapping_terraformed.go | 100 + .../v1alpha1/zz_domainmapping_types.go | 141 + .../v1alpha1/zz_firewallrule_terraformed.go | 100 + .../v1alpha1/zz_firewallrule_types.go | 106 + .../zz_flexibleappversion_terraformed.go | 100 + .../v1alpha1/zz_flexibleappversion_types.go | 728 + .../v1alpha1/zz_generated.deepcopy.go | 3679 ++ .../v1alpha1/zz_generated.managed.go | 468 + .../v1alpha1/zz_generated.managedlist.go | 92 + .../v1alpha1/zz_groupversion_info.go | 44 + .../zz_servicenetworksettings_terraformed.go | 100 + .../zz_servicenetworksettings_types.go | 103 + .../zz_servicesplittraffic_terraformed.go | 100 + .../v1alpha1/zz_servicesplittraffic_types.go | 111 + .../zz_standardappversion_terraformed.go | 100 + .../v1alpha1/zz_standardappversion_types.go | 411 + .../v1alpha1/zz_generated.deepcopy.go | 349 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_workload_terraformed.go | 100 + .../v1alpha1/zz_workload_types.go | 161 + .../v1alpha1/zz_dataset_terraformed.go | 100 + apis/bigquery/v1alpha1/zz_dataset_types.go | 258 + .../v1alpha1/zz_datasetaccess_terraformed.go | 100 + .../v1alpha1/zz_datasetaccess_types.go | 165 + .../zz_datasetiambinding_terraformed.go | 100 + .../v1alpha1/zz_datasetiambinding_types.go | 114 + .../zz_datasetiammember_terraformed.go | 100 + .../v1alpha1/zz_datasetiammember_types.go | 114 + .../zz_datasetiampolicy_terraformed.go | 100 + .../v1alpha1/zz_datasetiampolicy_types.go | 93 + .../zz_datatransferconfig_terraformed.go | 100 + .../v1alpha1/zz_datatransferconfig_types.go | 210 + .../v1alpha1/zz_generated.deepcopy.go | 4588 +++ .../bigquery/v1alpha1/zz_generated.managed.go | 748 + .../v1alpha1/zz_generated.managedlist.go | 137 + .../bigquery/v1alpha1/zz_groupversion_info.go | 44 + apis/bigquery/v1alpha1/zz_job_terraformed.go | 100 + apis/bigquery/v1alpha1/zz_job_types.go | 698 + .../v1alpha1/zz_reservation_terraformed.go | 100 + .../bigquery/v1alpha1/zz_reservation_types.go | 105 + .../v1alpha1/zz_routine_terraformed.go | 100 + apis/bigquery/v1alpha1/zz_routine_types.go | 167 + .../bigquery/v1alpha1/zz_table_terraformed.go | 100 + apis/bigquery/v1alpha1/zz_table_types.go | 369 + .../zz_tableiambinding_terraformed.go | 100 + .../v1alpha1/zz_tableiambinding_types.go | 117 + .../v1alpha1/zz_tableiammember_terraformed.go | 100 + .../v1alpha1/zz_tableiammember_types.go | 117 + .../v1alpha1/zz_tableiampolicy_terraformed.go | 100 + .../v1alpha1/zz_tableiampolicy_types.go | 96 + .../v1alpha1/zz_appprofile_terraformed.go | 100 + apis/bigtable/v1alpha1/zz_appprofile_types.go | 128 + .../zz_garbagecollectionpolicy_terraformed.go | 100 + .../zz_garbagecollectionpolicy_types.go | 134 + .../v1alpha1/zz_generated.deepcopy.go | 2046 ++ .../bigtable/v1alpha1/zz_generated.managed.go | 580 + .../v1alpha1/zz_generated.managedlist.go | 110 + .../bigtable/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_instance_terraformed.go | 100 + apis/bigtable/v1alpha1/zz_instance_types.go | 136 + .../zz_instanceiambinding_terraformed.go | 100 + .../v1alpha1/zz_instanceiambinding_types.go | 114 + .../zz_instanceiammember_terraformed.go | 100 + .../v1alpha1/zz_instanceiammember_types.go | 114 + .../zz_instanceiampolicy_terraformed.go | 100 + .../v1alpha1/zz_instanceiampolicy_types.go | 93 + .../bigtable/v1alpha1/zz_table_terraformed.go | 100 + apis/bigtable/v1alpha1/zz_table_types.go | 112 + .../zz_tableiambinding_terraformed.go | 100 + .../v1alpha1/zz_tableiambinding_types.go | 117 + .../v1alpha1/zz_tableiammember_terraformed.go | 100 + .../v1alpha1/zz_tableiammember_types.go | 117 + .../v1alpha1/zz_tableiampolicy_terraformed.go | 100 + .../v1alpha1/zz_tableiampolicy_types.go | 96 + .../zz_accountiambinding_terraformed.go | 100 + .../v1alpha1/zz_accountiambinding_types.go | 111 + .../zz_accountiammember_terraformed.go | 100 + .../v1alpha1/zz_accountiammember_types.go | 111 + .../zz_accountiampolicy_terraformed.go | 100 + .../v1alpha1/zz_accountiampolicy_types.go | 90 + .../billing/v1alpha1/zz_budget_terraformed.go | 100 + apis/billing/v1alpha1/zz_budget_types.go | 257 + .../billing/v1alpha1/zz_generated.deepcopy.go | 1022 + apis/billing/v1alpha1/zz_generated.managed.go | 244 + .../v1alpha1/zz_generated.managedlist.go | 56 + apis/billing/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_attestor_terraformed.go | 100 + .../v1alpha1/zz_attestor_types.go | 184 + .../zz_attestoriambinding_terraformed.go | 100 + .../v1alpha1/zz_attestoriambinding_types.go | 114 + .../zz_attestoriammember_terraformed.go | 100 + .../v1alpha1/zz_attestoriammember_types.go | 114 + .../zz_attestoriampolicy_terraformed.go | 100 + .../v1alpha1/zz_attestoriampolicy_types.go | 93 + .../v1alpha1/zz_generated.deepcopy.go | 1184 + .../v1alpha1/zz_generated.managed.go | 300 + .../v1alpha1/zz_generated.managedlist.go | 65 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_policy_terraformed.go | 100 + .../v1alpha1/zz_policy_types.go | 187 + .../v1alpha1/zz_folderfeed_terraformed.go | 100 + .../v1alpha1/zz_folderfeed_types.go | 176 + .../v1alpha1/zz_generated.deepcopy.go | 963 + .../v1alpha1/zz_generated.managed.go | 188 + .../v1alpha1/zz_generated.managedlist.go | 47 + .../v1alpha1/zz_groupversion_info.go | 44 + .../zz_organizationfeed_terraformed.go | 100 + .../v1alpha1/zz_organizationfeed_types.go | 174 + .../v1alpha1/zz_projectfeed_terraformed.go | 100 + .../v1alpha1/zz_projectfeed_types.go | 174 + .../v1alpha1/zz_generated.deepcopy.go | 1351 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_trigger_terraformed.go | 100 + apis/cloudbuild/v1alpha1/zz_trigger_types.go | 760 + .../v1alpha1/zz_function_terraformed.go | 100 + .../v1alpha1/zz_function_types.go | 209 + .../zz_functioniambinding_terraformed.go | 100 + .../v1alpha1/zz_functioniambinding_types.go | 117 + .../zz_functioniammember_terraformed.go | 100 + .../v1alpha1/zz_functioniammember_types.go | 117 + .../zz_functioniampolicy_terraformed.go | 100 + .../v1alpha1/zz_functioniampolicy_types.go | 96 + .../v1alpha1/zz_generated.deepcopy.go | 974 + .../v1alpha1/zz_generated.managed.go | 244 + .../v1alpha1/zz_generated.managedlist.go | 56 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_generated.deepcopy.go | 492 + .../v1alpha1/zz_generated.managed.go | 132 + .../v1alpha1/zz_generated.managedlist.go | 38 + .../v1alpha1/zz_group_terraformed.go | 100 + apis/cloudidentity/v1alpha1/zz_group_types.go | 154 + .../zz_groupmembership_terraformed.go | 100 + .../v1alpha1/zz_groupmembership_types.go | 142 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_device_terraformed.go | 100 + apis/cloudiot/v1alpha1/zz_device_types.go | 222 + .../v1alpha1/zz_generated.deepcopy.go | 781 + .../cloudiot/v1alpha1/zz_generated.managed.go | 132 + .../v1alpha1/zz_generated.managedlist.go | 38 + .../cloudiot/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_registry_terraformed.go | 100 + apis/cloudiot/v1alpha1/zz_registry_types.go | 151 + .../zz_billingsubaccount_terraformed.go | 100 + .../v1alpha1/zz_billingsubaccount_types.go | 97 + .../v1alpha1/zz_folder_terraformed.go | 100 + .../cloudplatform/v1alpha1/zz_folder_types.go | 98 + .../zz_folderiamauditconfig_terraformed.go | 100 + .../v1alpha1/zz_folderiamauditconfig_types.go | 109 + .../zz_folderiambinding_terraformed.go | 100 + .../v1alpha1/zz_folderiambinding_types.go | 111 + .../zz_folderiammember_terraformed.go | 100 + .../v1alpha1/zz_folderiammember_types.go | 111 + .../zz_folderiampolicy_terraformed.go | 100 + .../v1alpha1/zz_folderiampolicy_types.go | 90 + ...zz_folderorganizationpolicy_terraformed.go | 100 + .../zz_folderorganizationpolicy_types.go | 180 + .../v1alpha1/zz_generated.deepcopy.go | 5242 +++ .../v1alpha1/zz_generated.managed.go | 1476 + .../v1alpha1/zz_generated.managedlist.go | 254 + .../v1alpha1/zz_groupversion_info.go | 44 + ..._organizationiamauditconfig_terraformed.go | 100 + .../zz_organizationiamauditconfig_types.go | 110 + .../zz_organizationiambinding_terraformed.go | 100 + .../zz_organizationiambinding_types.go | 112 + ...z_organizationiamcustomrole_terraformed.go | 100 + .../zz_organizationiamcustomrole_types.go | 110 + .../zz_organizationiammember_terraformed.go | 100 + .../zz_organizationiammember_types.go | 112 + .../zz_organizationiampolicy_terraformed.go | 100 + .../zz_organizationiampolicy_types.go | 91 + .../zz_organizationpolicy_terraformed.go | 100 + .../v1alpha1/zz_organizationpolicy_types.go | 179 + ...ojectdefaultserviceaccounts_terraformed.go | 100 + .../zz_projectdefaultserviceaccounts_types.go | 98 + .../zz_projectiamauditconfig_terraformed.go | 100 + .../zz_projectiamauditconfig_types.go | 109 + .../zz_projectiambinding_terraformed.go | 100 + .../v1alpha1/zz_projectiambinding_types.go | 111 + .../zz_projectiamcustomrole_terraformed.go | 100 + .../v1alpha1/zz_projectiamcustomrole_types.go | 110 + .../zz_projectiammember_terraformed.go | 100 + .../v1alpha1/zz_projectiammember_types.go | 111 + .../zz_projectiampolicy_terraformed.go | 100 + .../v1alpha1/zz_projectiampolicy_types.go | 90 + ...z_projectorganizationpolicy_terraformed.go | 100 + .../zz_projectorganizationpolicy_types.go | 180 + .../v1alpha1/zz_projectservice_terraformed.go | 100 + .../v1alpha1/zz_projectservice_types.go | 94 + ...zz_projectusageexportbucket_terraformed.go | 100 + .../zz_projectusageexportbucket_types.go | 94 + ...zz_serviceaccountiambinding_terraformed.go | 100 + .../zz_serviceaccountiambinding_types.go | 111 + .../zz_serviceaccountiammember_terraformed.go | 100 + .../zz_serviceaccountiammember_types.go | 111 + .../zz_serviceaccountiampolicy_terraformed.go | 100 + .../zz_serviceaccountiampolicy_types.go | 90 + ...cenetworkingpeereddnsdomain_terraformed.go | 100 + ..._servicenetworkingpeereddnsdomain_types.go | 104 + .../v1alpha2/zz_generated.deepcopy.go | 183 + .../v1alpha2/zz_generated.managed.go | 56 + .../v1alpha2/zz_generated.managedlist.go | 9 + .../v1alpha2/zz_project_terraformed.go | 100 + .../v1alpha2/zz_project_types.go | 116 + .../v1alpha1/zz_domainmapping_terraformed.go | 100 + .../v1alpha1/zz_domainmapping_types.go | 203 + .../v1alpha1/zz_generated.deepcopy.go | 2089 ++ .../cloudrun/v1alpha1/zz_generated.managed.go | 300 + .../v1alpha1/zz_generated.managedlist.go | 65 + .../cloudrun/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_service_terraformed.go | 100 + apis/cloudrun/v1alpha1/zz_service_types.go | 505 + .../zz_serviceiambinding_terraformed.go | 100 + .../v1alpha1/zz_serviceiambinding_types.go | 117 + .../zz_serviceiammember_terraformed.go | 100 + .../v1alpha1/zz_serviceiammember_types.go | 117 + .../zz_serviceiampolicy_terraformed.go | 100 + .../v1alpha1/zz_serviceiampolicy_types.go | 96 + .../v1alpha1/zz_generated.deepcopy.go | 592 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_job_terraformed.go | 100 + apis/cloudscheduler/v1alpha1/zz_job_types.go | 328 + .../v1alpha1/zz_generated.deepcopy.go | 381 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_queue_terraformed.go | 100 + apis/cloudtasks/v1alpha1/zz_queue_types.go | 224 + .../v1alpha1/zz_environment_terraformed.go | 100 + .../composer/v1alpha1/zz_environment_types.go | 249 + .../v1alpha1/zz_generated.deepcopy.go | 545 + .../composer/v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../composer/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_attacheddisk_terraformed.go | 100 + .../compute/v1alpha1/zz_attacheddisk_types.go | 106 + .../v1alpha1/zz_autoscaler_terraformed.go | 100 + apis/compute/v1alpha1/zz_autoscaler_types.go | 314 + .../v1alpha1/zz_backendbucket_terraformed.go | 100 + .../v1alpha1/zz_backendbucket_types.go | 184 + ...z_backendbucketsignedurlkey_terraformed.go | 100 + .../zz_backendbucketsignedurlkey_types.go | 98 + .../v1alpha1/zz_backendservice_terraformed.go | 100 + .../v1alpha1/zz_backendservice_types.go | 702 + ..._backendservicesignedurlkey_terraformed.go | 100 + .../zz_backendservicesignedurlkey_types.go | 98 + apis/compute/v1alpha1/zz_disk_terraformed.go | 100 + apis/compute/v1alpha1/zz_disk_types.go | 282 + .../v1alpha1/zz_diskiambinding_terraformed.go | 100 + .../v1alpha1/zz_diskiambinding_types.go | 117 + .../v1alpha1/zz_diskiammember_terraformed.go | 100 + .../v1alpha1/zz_diskiammember_types.go | 117 + .../v1alpha1/zz_diskiampolicy_terraformed.go | 100 + .../v1alpha1/zz_diskiampolicy_types.go | 96 + ...iskresourcepolicyattachment_terraformed.go | 100 + .../zz_diskresourcepolicyattachment_types.go | 98 + .../zz_externalvpngateway_terraformed.go | 100 + .../v1alpha1/zz_externalvpngateway_types.go | 130 + .../v1alpha1/zz_firewallpolicy_terraformed.go | 100 + .../v1alpha1/zz_firewallpolicy_types.go | 108 + ...z_firewallpolicyassociation_terraformed.go | 100 + .../zz_firewallpolicyassociation_types.go | 96 + .../zz_firewallpolicyrule_terraformed.go | 100 + .../v1alpha1/zz_firewallpolicyrule_types.go | 158 + .../v1alpha1/zz_forwardingrule_terraformed.go | 100 + .../v1alpha1/zz_forwardingrule_types.go | 188 + .../compute/v1alpha1/zz_generated.deepcopy.go | 29465 ++++++++++++++++ apis/compute/v1alpha1/zz_generated.managed.go | 4836 +++ .../v1alpha1/zz_generated.managedlist.go | 794 + .../v1alpha1/zz_globaladdress_terraformed.go | 100 + .../v1alpha1/zz_globaladdress_types.go | 144 + .../zz_globalforwardingrule_terraformed.go | 100 + .../v1alpha1/zz_globalforwardingrule_types.go | 201 + .../zz_globalnetworkendpoint_terraformed.go | 100 + .../zz_globalnetworkendpoint_types.go | 102 + ..._globalnetworkendpointgroup_terraformed.go | 100 + .../zz_globalnetworkendpointgroup_types.go | 111 + apis/compute/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_havpngateway_terraformed.go | 100 + .../compute/v1alpha1/zz_havpngateway_types.go | 134 + .../v1alpha1/zz_healthcheck_terraformed.go | 100 + apis/compute/v1alpha1/zz_healthcheck_types.go | 475 + .../zz_httphealthcheck_terraformed.go | 100 + .../v1alpha1/zz_httphealthcheck_types.go | 141 + .../zz_httpshealthcheck_terraformed.go | 100 + .../v1alpha1/zz_httpshealthcheck_types.go | 141 + apis/compute/v1alpha1/zz_image_terraformed.go | 100 + apis/compute/v1alpha1/zz_image_types.go | 199 + .../zz_imageiambinding_terraformed.go | 100 + .../v1alpha1/zz_imageiambinding_types.go | 114 + .../v1alpha1/zz_imageiammember_terraformed.go | 100 + .../v1alpha1/zz_imageiammember_types.go | 114 + .../v1alpha1/zz_imageiampolicy_terraformed.go | 100 + .../v1alpha1/zz_imageiampolicy_types.go | 93 + .../v1alpha1/zz_instancegroup_terraformed.go | 100 + .../v1alpha1/zz_instancegroup_types.go | 128 + .../zz_instancegroupmanager_terraformed.go | 100 + .../v1alpha1/zz_instancegroupmanager_types.go | 290 + .../zz_instancegroupnamedport_terraformed.go | 100 + .../zz_instancegroupnamedport_types.go | 102 + .../zz_instanceiambinding_terraformed.go | 100 + .../v1alpha1/zz_instanceiambinding_types.go | 117 + .../zz_instanceiammember_terraformed.go | 100 + .../v1alpha1/zz_instanceiammember_types.go | 117 + .../zz_instanceiampolicy_terraformed.go | 100 + .../v1alpha1/zz_instanceiampolicy_types.go | 96 + .../zz_interconnectattachment_terraformed.go | 100 + .../zz_interconnectattachment_types.go | 226 + .../zz_networkendpoint_terraformed.go | 100 + .../v1alpha1/zz_networkendpoint_types.go | 109 + .../zz_networkendpointgroup_terraformed.go | 100 + .../v1alpha1/zz_networkendpointgroup_types.go | 126 + .../v1alpha1/zz_networkpeering_terraformed.go | 100 + .../v1alpha1/zz_networkpeering_types.go | 112 + ..._networkpeeringroutesconfig_terraformed.go | 100 + .../zz_networkpeeringroutesconfig_types.go | 101 + .../v1alpha1/zz_nodegroup_terraformed.go | 100 + apis/compute/v1alpha1/zz_nodegroup_types.go | 161 + .../v1alpha1/zz_nodetemplate_terraformed.go | 100 + .../compute/v1alpha1/zz_nodetemplate_types.go | 164 + .../zz_packetmirroring_terraformed.go | 100 + .../v1alpha1/zz_packetmirroring_types.go | 202 + .../zz_perinstanceconfig_terraformed.go | 100 + .../v1alpha1/zz_perinstanceconfig_types.go | 151 + ...z_projectdefaultnetworktier_terraformed.go | 100 + .../zz_projectdefaultnetworktier_types.go | 90 + .../zz_projectmetadata_terraformed.go | 100 + .../v1alpha1/zz_projectmetadata_types.go | 90 + .../zz_projectmetadataitem_terraformed.go | 100 + .../v1alpha1/zz_projectmetadataitem_types.go | 94 + .../zz_regionautoscaler_terraformed.go | 100 + .../v1alpha1/zz_regionautoscaler_types.go | 314 + .../zz_regionbackendservice_terraformed.go | 100 + .../v1alpha1/zz_regionbackendservice_types.go | 751 + .../v1alpha1/zz_regiondisk_terraformed.go | 100 + apis/compute/v1alpha1/zz_regiondisk_types.go | 206 + .../zz_regiondiskiambinding_terraformed.go | 100 + .../v1alpha1/zz_regiondiskiambinding_types.go | 117 + .../zz_regiondiskiammember_terraformed.go | 100 + .../v1alpha1/zz_regiondiskiammember_types.go | 117 + .../zz_regiondiskiampolicy_terraformed.go | 100 + .../v1alpha1/zz_regiondiskiampolicy_types.go | 96 + ...iskresourcepolicyattachment_terraformed.go | 100 + ...egiondiskresourcepolicyattachment_types.go | 98 + .../zz_regionhealthcheck_terraformed.go | 100 + .../v1alpha1/zz_regionhealthcheck_types.go | 482 + ..._regioninstancegroupmanager_terraformed.go | 100 + .../zz_regioninstancegroupmanager_types.go | 300 + ..._regionnetworkendpointgroup_terraformed.go | 100 + .../zz_regionnetworkendpointgroup_types.go | 206 + .../zz_regionperinstanceconfig_terraformed.go | 100 + .../zz_regionperinstanceconfig_types.go | 151 + .../zz_regionsslcertificate_terraformed.go | 100 + .../v1alpha1/zz_regionsslcertificate_types.go | 127 + .../zz_regiontargethttpproxy_terraformed.go | 100 + .../zz_regiontargethttpproxy_types.go | 115 + .../zz_regiontargethttpsproxy_terraformed.go | 100 + .../zz_regiontargethttpsproxy_types.go | 121 + .../v1alpha1/zz_regionurlmap_terraformed.go | 100 + .../compute/v1alpha1/zz_regionurlmap_types.go | 1549 + .../v1alpha1/zz_reservation_terraformed.go | 100 + apis/compute/v1alpha1/zz_reservation_types.go | 195 + .../v1alpha1/zz_resourcepolicy_terraformed.go | 100 + .../v1alpha1/zz_resourcepolicy_types.go | 314 + apis/compute/v1alpha1/zz_route_terraformed.go | 100 + apis/compute/v1alpha1/zz_route_types.go | 177 + .../zz_routerinterface_terraformed.go | 100 + .../v1alpha1/zz_routerinterface_types.go | 110 + .../v1alpha1/zz_routerpeer_terraformed.go | 100 + apis/compute/v1alpha1/zz_routerpeer_types.go | 180 + .../v1alpha1/zz_securitypolicy_terraformed.go | 100 + .../v1alpha1/zz_securitypolicy_types.go | 166 + .../zz_serviceattachment_terraformed.go | 100 + .../v1alpha1/zz_serviceattachment_types.go | 162 + .../zz_sharedvpchostproject_terraformed.go | 100 + .../v1alpha1/zz_sharedvpchostproject_types.go | 86 + .../zz_sharedvpcserviceproject_terraformed.go | 100 + .../zz_sharedvpcserviceproject_types.go | 90 + .../v1alpha1/zz_snapshot_terraformed.go | 100 + apis/compute/v1alpha1/zz_snapshot_types.go | 177 + .../v1alpha1/zz_sslcertificate_terraformed.go | 100 + .../v1alpha1/zz_sslcertificate_types.go | 122 + .../v1alpha1/zz_sslpolicy_terraformed.go | 100 + apis/compute/v1alpha1/zz_sslpolicy_types.go | 136 + .../zz_subnetworkiambinding_terraformed.go | 100 + .../v1alpha1/zz_subnetworkiambinding_types.go | 117 + .../zz_subnetworkiammember_terraformed.go | 100 + .../v1alpha1/zz_subnetworkiammember_types.go | 117 + .../zz_subnetworkiampolicy_terraformed.go | 100 + .../v1alpha1/zz_subnetworkiampolicy_types.go | 96 + .../zz_targetgrpcproxy_terraformed.go | 100 + .../v1alpha1/zz_targetgrpcproxy_types.go | 126 + .../zz_targethttpproxy_terraformed.go | 100 + .../v1alpha1/zz_targethttpproxy_types.go | 115 + .../zz_targethttpsproxy_terraformed.go | 100 + .../v1alpha1/zz_targethttpsproxy_types.go | 135 + .../v1alpha1/zz_targetinstance_terraformed.go | 100 + .../v1alpha1/zz_targetinstance_types.go | 121 + .../v1alpha1/zz_targetpool_terraformed.go | 100 + apis/compute/v1alpha1/zz_targetpool_types.go | 120 + .../v1alpha1/zz_targetsslproxy_terraformed.go | 100 + .../v1alpha1/zz_targetsslproxy_types.go | 126 + .../v1alpha1/zz_targettcpproxy_terraformed.go | 100 + .../v1alpha1/zz_targettcpproxy_types.go | 119 + .../compute/v1alpha1/zz_urlmap_terraformed.go | 100 + apis/compute/v1alpha1/zz_urlmap_types.go | 2370 ++ .../v1alpha1/zz_vpngateway_terraformed.go | 100 + apis/compute/v1alpha1/zz_vpngateway_types.go | 113 + .../v1alpha1/zz_vpntunnel_terraformed.go | 100 + apis/compute/v1alpha1/zz_vpntunnel_types.go | 176 + .../compute/v1alpha2/zz_generated.deepcopy.go | 2496 +- apis/compute/v1alpha2/zz_generated.managed.go | 112 + .../v1alpha2/zz_generated.managedlist.go | 18 + .../v1alpha2/zz_generated.resolvers.go | 47 + .../zz_instancefromtemplate_terraformed.go | 100 + .../v1alpha2/zz_instancefromtemplate_types.go | 548 + .../zz_instancetemplate_terraformed.go | 100 + .../v1alpha2/zz_instancetemplate_types.go | 468 + .../v1alpha1/zz_generated.deepcopy.go | 168 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_registry_terraformed.go | 100 + apis/container/v1alpha1/zz_registry_types.go | 92 + .../v1alpha1/zz_generated.deepcopy.go | 587 + .../v1alpha1/zz_generated.managed.go | 132 + .../v1alpha1/zz_generated.managedlist.go | 38 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_note_terraformed.go | 100 + .../v1alpha1/zz_note_types.go | 169 + .../v1alpha1/zz_occurrence_terraformed.go | 100 + .../v1alpha1/zz_occurrence_types.go | 169 + .../v1alpha1/zz_entry_terraformed.go | 100 + apis/datacatalog/v1alpha1/zz_entry_types.go | 213 + .../v1alpha1/zz_entrygroup_terraformed.go | 100 + .../v1alpha1/zz_entrygroup_types.go | 104 + .../zz_entrygroupiambinding_terraformed.go | 100 + .../v1alpha1/zz_entrygroupiambinding_types.go | 117 + .../zz_entrygroupiammember_terraformed.go | 100 + .../v1alpha1/zz_entrygroupiammember_types.go | 117 + .../zz_entrygroupiampolicy_terraformed.go | 100 + .../v1alpha1/zz_entrygroupiampolicy_types.go | 96 + .../v1alpha1/zz_generated.deepcopy.go | 2373 ++ .../v1alpha1/zz_generated.managed.go | 580 + .../v1alpha1/zz_generated.managedlist.go | 110 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_tag_terraformed.go | 100 + apis/datacatalog/v1alpha1/zz_tag_types.go | 142 + .../v1alpha1/zz_tagtemplate_terraformed.go | 100 + .../v1alpha1/zz_tagtemplate_types.go | 179 + .../zz_tagtemplateiambinding_terraformed.go | 100 + .../zz_tagtemplateiambinding_types.go | 117 + .../zz_tagtemplateiammember_terraformed.go | 100 + .../v1alpha1/zz_tagtemplateiammember_types.go | 117 + .../zz_tagtemplateiampolicy_terraformed.go | 100 + .../v1alpha1/zz_tagtemplateiampolicy_types.go | 96 + .../v1alpha1/zz_generated.deepcopy.go | 275 + .../dataflow/v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../dataflow/v1alpha1/zz_groupversion_info.go | 44 + apis/dataflow/v1alpha1/zz_job_terraformed.go | 100 + apis/dataflow/v1alpha1/zz_job_types.go | 164 + .../zz_deidentifytemplate_terraformed.go | 100 + .../v1alpha1/zz_deidentifytemplate_types.go | 552 + .../v1alpha1/zz_generated.deepcopy.go | 4116 +++ .../v1alpha1/zz_generated.managed.go | 244 + .../v1alpha1/zz_generated.managedlist.go | 56 + .../v1alpha1/zz_groupversion_info.go | 44 + .../zz_inspecttemplate_terraformed.go | 100 + .../v1alpha1/zz_inspecttemplate_types.go | 513 + .../v1alpha1/zz_jobtrigger_terraformed.go | 100 + .../v1alpha1/zz_jobtrigger_types.go | 422 + .../v1alpha1/zz_storedinfotype_terraformed.go | 100 + .../v1alpha1/zz_storedinfotype_types.go | 244 + .../zz_autoscalingpolicy_terraformed.go | 100 + .../v1alpha1/zz_autoscalingpolicy_types.go | 243 + .../v1alpha1/zz_cluster_terraformed.go | 100 + apis/dataproc/v1alpha1/zz_cluster_types.go | 508 + .../zz_clusteriambinding_terraformed.go | 100 + .../v1alpha1/zz_clusteriambinding_types.go | 117 + .../zz_clusteriammember_terraformed.go | 100 + .../v1alpha1/zz_clusteriammember_types.go | 117 + .../zz_clusteriampolicy_terraformed.go | 100 + .../v1alpha1/zz_clusteriampolicy_types.go | 96 + .../v1alpha1/zz_generated.deepcopy.go | 7263 ++++ .../dataproc/v1alpha1/zz_generated.managed.go | 580 + .../v1alpha1/zz_generated.managedlist.go | 110 + .../dataproc/v1alpha1/zz_groupversion_info.go | 44 + apis/dataproc/v1alpha1/zz_job_terraformed.go | 100 + apis/dataproc/v1alpha1/zz_job_types.go | 446 + .../v1alpha1/zz_jobiambinding_terraformed.go | 100 + .../v1alpha1/zz_jobiambinding_types.go | 117 + .../v1alpha1/zz_jobiammember_terraformed.go | 100 + .../v1alpha1/zz_jobiammember_types.go | 117 + .../v1alpha1/zz_jobiampolicy_terraformed.go | 100 + .../v1alpha1/zz_jobiampolicy_types.go | 96 + .../zz_workflowtemplate_terraformed.go | 100 + .../v1alpha1/zz_workflowtemplate_types.go | 1208 + .../v1alpha1/zz_generated.deepcopy.go | 220 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_index_terraformed.go | 100 + apis/datastore/v1alpha1/zz_index_types.go | 113 + .../v1alpha1/zz_deployment_terraformed.go | 100 + .../v1alpha1/zz_deployment_types.go | 191 + .../v1alpha1/zz_generated.deepcopy.go | 371 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_agent_terraformed.go | 100 + apis/dialogflow/v1alpha1/zz_agent_types.go | 153 + .../v1alpha1/zz_entitytype_terraformed.go | 100 + .../v1alpha1/zz_entitytype_types.go | 129 + .../v1alpha1/zz_fulfillment_terraformed.go | 100 + .../v1alpha1/zz_fulfillment_types.go | 136 + .../v1alpha1/zz_generated.deepcopy.go | 948 + .../v1alpha1/zz_generated.managed.go | 244 + .../v1alpha1/zz_generated.managedlist.go | 56 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_intent_terraformed.go | 100 + apis/dialogflow/v1alpha1/zz_intent_types.go | 165 + .../v1alpha1/zz_agent_terraformed.go | 100 + apis/dialogflowcx/v1alpha1/zz_agent_types.go | 149 + .../v1alpha1/zz_entitytype_terraformed.go | 100 + .../v1alpha1/zz_entitytype_types.go | 158 + .../v1alpha1/zz_environment_terraformed.go | 100 + .../v1alpha1/zz_environment_types.go | 113 + .../v1alpha1/zz_flow_terraformed.go | 100 + apis/dialogflowcx/v1alpha1/zz_flow_types.go | 300 + .../v1alpha1/zz_generated.deepcopy.go | 2862 ++ .../v1alpha1/zz_generated.managed.go | 412 + .../v1alpha1/zz_generated.managedlist.go | 83 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_intent_terraformed.go | 100 + apis/dialogflowcx/v1alpha1/zz_intent_types.go | 187 + .../v1alpha1/zz_page_terraformed.go | 100 + apis/dialogflowcx/v1alpha1/zz_page_types.go | 420 + .../v1alpha1/zz_version_terraformed.go | 100 + .../dialogflowcx/v1alpha1/zz_version_types.go | 126 + apis/dns/v1alpha1/zz_generated.deepcopy.go | 1003 + apis/dns/v1alpha1/zz_generated.managed.go | 188 + apis/dns/v1alpha1/zz_generated.managedlist.go | 47 + apis/dns/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_managedzone_terraformed.go | 100 + apis/dns/v1alpha1/zz_managedzone_types.go | 261 + apis/dns/v1alpha1/zz_policy_terraformed.go | 100 + apis/dns/v1alpha1/zz_policy_types.go | 155 + apis/dns/v1alpha1/zz_recordset_terraformed.go | 100 + apis/dns/v1alpha1/zz_recordset_types.go | 106 + .../v1alpha1/zz_generated.deepcopy.go | 893 + .../v1alpha1/zz_generated.managed.go | 244 + .../v1alpha1/zz_generated.managedlist.go | 56 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_service_terraformed.go | 100 + apis/endpoints/v1alpha1/zz_service_types.go | 145 + .../zz_serviceiambinding_terraformed.go | 100 + .../v1alpha1/zz_serviceiambinding_types.go | 111 + .../zz_serviceiammember_terraformed.go | 100 + .../v1alpha1/zz_serviceiammember_types.go | 111 + .../zz_serviceiampolicy_terraformed.go | 100 + .../v1alpha1/zz_serviceiampolicy_types.go | 90 + .../v1alpha1/zz_contact_terraformed.go | 100 + .../v1alpha1/zz_contact_types.go | 100 + .../v1alpha1/zz_generated.deepcopy.go | 184 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_generated.deepcopy.go | 433 + .../eventarc/v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../eventarc/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_trigger_terraformed.go | 100 + apis/eventarc/v1alpha1/zz_trigger_types.go | 189 + .../v1alpha1/zz_generated.deepcopy.go | 319 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_instance_terraformed.go | 100 + apis/filestore/v1alpha1/zz_instance_types.go | 156 + .../v1alpha1/zz_document_terraformed.go | 100 + apis/firestore/v1alpha1/zz_document_types.go | 109 + .../v1alpha1/zz_generated.deepcopy.go | 403 + .../v1alpha1/zz_generated.managed.go | 132 + .../v1alpha1/zz_generated.managedlist.go | 38 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_index_terraformed.go | 100 + apis/firestore/v1alpha1/zz_index_types.go | 128 + .../zz_gameservercluster_terraformed.go | 100 + .../v1alpha1/zz_gameservercluster_types.go | 148 + .../zz_gameserverconfig_terraformed.go | 100 + .../v1alpha1/zz_gameserverconfig_types.go | 206 + .../zz_gameserverdeployment_terraformed.go | 100 + .../v1alpha1/zz_gameserverdeployment_types.go | 104 + ...gameserverdeploymentrollout_terraformed.go | 100 + .../zz_gameserverdeploymentrollout_types.go | 129 + .../v1alpha1/zz_generated.deepcopy.go | 1242 + .../v1alpha1/zz_generated.managed.go | 300 + .../v1alpha1/zz_generated.managedlist.go | 65 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_realm_terraformed.go | 100 + apis/gameservices/v1alpha1/zz_realm_types.go | 111 + apis/gkehub/v1alpha1/zz_generated.deepcopy.go | 304 + apis/gkehub/v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + apis/gkehub/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_membership_terraformed.go | 100 + apis/gkehub/v1alpha1/zz_membership_types.go | 140 + .../v1alpha1/zz_consentstore_terraformed.go | 100 + .../v1alpha1/zz_consentstore_types.go | 117 + .../zz_consentstoreiambinding_terraformed.go | 100 + .../zz_consentstoreiambinding_types.go | 114 + .../zz_consentstoreiammember_terraformed.go | 100 + .../zz_consentstoreiammember_types.go | 114 + .../zz_consentstoreiampolicy_terraformed.go | 100 + .../zz_consentstoreiampolicy_types.go | 93 + .../v1alpha1/zz_dataset_terraformed.go | 100 + apis/healthcare/v1alpha1/zz_dataset_types.go | 101 + .../zz_datasetiambinding_terraformed.go | 100 + .../v1alpha1/zz_datasetiambinding_types.go | 111 + .../zz_datasetiammember_terraformed.go | 100 + .../v1alpha1/zz_datasetiammember_types.go | 111 + .../zz_datasetiampolicy_terraformed.go | 100 + .../v1alpha1/zz_datasetiampolicy_types.go | 90 + .../v1alpha1/zz_dicomstore_terraformed.go | 100 + .../v1alpha1/zz_dicomstore_types.go | 129 + .../zz_dicomstoreiambinding_terraformed.go | 100 + .../v1alpha1/zz_dicomstoreiambinding_types.go | 111 + .../zz_dicomstoreiammember_terraformed.go | 100 + .../v1alpha1/zz_dicomstoreiammember_types.go | 111 + .../zz_dicomstoreiampolicy_terraformed.go | 100 + .../v1alpha1/zz_dicomstoreiampolicy_types.go | 90 + .../v1alpha1/zz_fhirstore_terraformed.go | 100 + .../healthcare/v1alpha1/zz_fhirstore_types.go | 235 + .../zz_fhirstoreiambinding_terraformed.go | 100 + .../v1alpha1/zz_fhirstoreiambinding_types.go | 111 + .../zz_fhirstoreiammember_terraformed.go | 100 + .../v1alpha1/zz_fhirstoreiammember_types.go | 111 + .../zz_fhirstoreiampolicy_terraformed.go | 100 + .../v1alpha1/zz_fhirstoreiampolicy_types.go | 90 + .../v1alpha1/zz_generated.deepcopy.go | 3967 +++ .../v1alpha1/zz_generated.managed.go | 1140 + .../v1alpha1/zz_generated.managedlist.go | 200 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_hl7v2store_terraformed.go | 100 + .../v1alpha1/zz_hl7v2store_types.go | 195 + .../zz_hl7v2storeiambinding_terraformed.go | 100 + .../v1alpha1/zz_hl7v2storeiambinding_types.go | 111 + .../zz_hl7v2storeiammember_terraformed.go | 100 + .../v1alpha1/zz_hl7v2storeiammember_types.go | 111 + .../zz_hl7v2storeiampolicy_terraformed.go | 100 + .../v1alpha1/zz_hl7v2storeiampolicy_types.go | 90 + ..._appengineserviceiambinding_terraformed.go | 100 + .../zz_appengineserviceiambinding_types.go | 117 + ...z_appengineserviceiammember_terraformed.go | 100 + .../zz_appengineserviceiammember_types.go | 117 + ...z_appengineserviceiampolicy_terraformed.go | 100 + .../zz_appengineserviceiampolicy_types.go | 96 + ..._appengineversioniambinding_terraformed.go | 100 + .../zz_appengineversioniambinding_types.go | 120 + ...z_appengineversioniammember_terraformed.go | 100 + .../zz_appengineversioniammember_types.go | 120 + ...z_appengineversioniampolicy_terraformed.go | 100 + .../zz_appengineversioniampolicy_types.go | 99 + apis/iap/v1alpha1/zz_brand_terraformed.go | 100 + apis/iap/v1alpha1/zz_brand_types.go | 101 + apis/iap/v1alpha1/zz_client_terraformed.go | 100 + apis/iap/v1alpha1/zz_client_types.go | 94 + apis/iap/v1alpha1/zz_generated.deepcopy.go | 4848 +++ apis/iap/v1alpha1/zz_generated.managed.go | 1476 + apis/iap/v1alpha1/zz_generated.managedlist.go | 254 + apis/iap/v1alpha1/zz_groupversion_info.go | 44 + .../zz_tunneliambinding_terraformed.go | 100 + .../iap/v1alpha1/zz_tunneliambinding_types.go | 111 + .../zz_tunneliammember_terraformed.go | 100 + apis/iap/v1alpha1/zz_tunneliammember_types.go | 111 + .../zz_tunneliampolicy_terraformed.go | 100 + apis/iap/v1alpha1/zz_tunneliampolicy_types.go | 90 + ...zz_tunnelinstanceiambinding_terraformed.go | 100 + .../zz_tunnelinstanceiambinding_types.go | 117 + .../zz_tunnelinstanceiammember_terraformed.go | 100 + .../zz_tunnelinstanceiammember_types.go | 117 + .../zz_tunnelinstanceiampolicy_terraformed.go | 100 + .../zz_tunnelinstanceiampolicy_types.go | 96 + ...webbackendserviceiambinding_terraformed.go | 100 + .../zz_webbackendserviceiambinding_types.go | 114 + ..._webbackendserviceiammember_terraformed.go | 100 + .../zz_webbackendserviceiammember_types.go | 114 + ..._webbackendserviceiampolicy_terraformed.go | 100 + .../zz_webbackendserviceiampolicy_types.go | 93 + .../v1alpha1/zz_webiambinding_terraformed.go | 100 + apis/iap/v1alpha1/zz_webiambinding_types.go | 111 + .../v1alpha1/zz_webiammember_terraformed.go | 100 + apis/iap/v1alpha1/zz_webiammember_types.go | 111 + .../v1alpha1/zz_webiampolicy_terraformed.go | 100 + apis/iap/v1alpha1/zz_webiampolicy_types.go | 90 + ..._webtypeappengineiambinding_terraformed.go | 100 + .../zz_webtypeappengineiambinding_types.go | 114 + ...z_webtypeappengineiammember_terraformed.go | 100 + .../zz_webtypeappengineiammember_types.go | 114 + ...z_webtypeappengineiampolicy_terraformed.go | 100 + .../zz_webtypeappengineiampolicy_types.go | 93 + ...zz_webtypecomputeiambinding_terraformed.go | 100 + .../zz_webtypecomputeiambinding_types.go | 111 + .../zz_webtypecomputeiammember_terraformed.go | 100 + .../zz_webtypecomputeiammember_types.go | 111 + .../zz_webtypecomputeiampolicy_terraformed.go | 100 + .../zz_webtypecomputeiampolicy_types.go | 90 + ...z_defaultsupportedidpconfig_terraformed.go | 100 + .../zz_defaultsupportedidpconfig_types.go | 123 + .../v1alpha1/zz_generated.deepcopy.go | 1502 + .../v1alpha1/zz_generated.managed.go | 412 + .../v1alpha1/zz_generated.managedlist.go | 83 + .../v1alpha1/zz_groupversion_info.go | 44 + .../zz_inboundsamlconfig_terraformed.go | 100 + .../v1alpha1/zz_inboundsamlconfig_types.go | 162 + .../v1alpha1/zz_oauthidpconfig_terraformed.go | 100 + .../v1alpha1/zz_oauthidpconfig_types.go | 109 + .../v1alpha1/zz_tenant_terraformed.go | 100 + .../v1alpha1/zz_tenant_types.go | 105 + ...ntdefaultsupportedidpconfig_terraformed.go | 100 + ...z_tenantdefaultsupportedidpconfig_types.go | 127 + .../zz_tenantinboundsamlconfig_terraformed.go | 100 + .../zz_tenantinboundsamlconfig_types.go | 166 + .../zz_tenantoauthidpconfig_terraformed.go | 100 + .../v1alpha1/zz_tenantoauthidpconfig_types.go | 113 + apis/kms/v1alpha1/zz_cryptokey_terraformed.go | 100 + apis/kms/v1alpha1/zz_cryptokey_types.go | 141 + .../zz_cryptokeyiambinding_terraformed.go | 100 + .../v1alpha1/zz_cryptokeyiambinding_types.go | 111 + .../zz_cryptokeyiammember_terraformed.go | 100 + .../v1alpha1/zz_cryptokeyiammember_types.go | 111 + .../zz_cryptokeyiampolicy_terraformed.go | 100 + .../v1alpha1/zz_cryptokeyiampolicy_types.go | 90 + apis/kms/v1alpha1/zz_generated.deepcopy.go | 1888 + apis/kms/v1alpha1/zz_generated.managed.go | 580 + apis/kms/v1alpha1/zz_generated.managedlist.go | 110 + apis/kms/v1alpha1/zz_groupversion_info.go | 44 + apis/kms/v1alpha1/zz_keyring_terraformed.go | 100 + apis/kms/v1alpha1/zz_keyring_types.go | 94 + .../zz_keyringiambinding_terraformed.go | 100 + .../v1alpha1/zz_keyringiambinding_types.go | 111 + .../zz_keyringiammember_terraformed.go | 100 + .../kms/v1alpha1/zz_keyringiammember_types.go | 111 + .../zz_keyringiampolicy_terraformed.go | 100 + .../kms/v1alpha1/zz_keyringiampolicy_types.go | 90 + .../zz_keyringimportjob_terraformed.go | 100 + .../kms/v1alpha1/zz_keyringimportjob_types.go | 126 + .../zz_secretciphertext_terraformed.go | 100 + .../kms/v1alpha1/zz_secretciphertext_types.go | 97 + ..._billingaccountbucketconfig_terraformed.go | 100 + .../zz_billingaccountbucketconfig_types.go | 106 + .../zz_billingaccountexclusion_terraformed.go | 100 + .../zz_billingaccountexclusion_types.go | 101 + .../zz_billingaccountsink_terraformed.go | 100 + .../v1alpha1/zz_billingaccountsink_types.go | 148 + .../zz_folderbucketconfig_terraformed.go | 100 + .../v1alpha1/zz_folderbucketconfig_types.go | 106 + .../zz_folderexclusion_terraformed.go | 100 + .../v1alpha1/zz_folderexclusion_types.go | 101 + .../v1alpha1/zz_foldersink_terraformed.go | 100 + apis/logging/v1alpha1/zz_foldersink_types.go | 152 + .../logging/v1alpha1/zz_generated.deepcopy.go | 2818 ++ apis/logging/v1alpha1/zz_generated.managed.go | 748 + .../v1alpha1/zz_generated.managedlist.go | 137 + apis/logging/v1alpha1/zz_groupversion_info.go | 44 + .../logging/v1alpha1/zz_metric_terraformed.go | 100 + apis/logging/v1alpha1/zz_metric_types.go | 250 + ...zz_organizationbucketconfig_terraformed.go | 100 + .../zz_organizationbucketconfig_types.go | 106 + .../zz_organizationexclusion_terraformed.go | 100 + .../zz_organizationexclusion_types.go | 101 + .../zz_organizationsink_terraformed.go | 100 + .../v1alpha1/zz_organizationsink_types.go | 152 + .../zz_projectbucketconfig_terraformed.go | 100 + .../v1alpha1/zz_projectbucketconfig_types.go | 106 + .../zz_projectexclusion_terraformed.go | 100 + .../v1alpha1/zz_projectexclusion_types.go | 101 + .../v1alpha1/zz_projectsink_terraformed.go | 100 + apis/logging/v1alpha1/zz_projectsink_types.go | 152 + .../v1alpha1/zz_generated.deepcopy.go | 395 + .../memcache/v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../memcache/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_instance_terraformed.go | 100 + apis/memcache/v1alpha1/zz_instance_types.go | 177 + .../v1alpha1/zz_generated.deepcopy.go | 246 + .../mlengine/v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../mlengine/v1alpha1/zz_groupversion_info.go | 44 + .../mlengine/v1alpha1/zz_model_terraformed.go | 100 + apis/mlengine/v1alpha1/zz_model_types.go | 125 + .../v1alpha1/zz_customservice_terraformed.go | 100 + .../v1alpha1/zz_customservice_types.go | 112 + .../v1alpha1/zz_dashboard_terraformed.go | 100 + .../monitoring/v1alpha1/zz_dashboard_types.go | 90 + .../v1alpha1/zz_generated.deepcopy.go | 1893 + .../v1alpha1/zz_generated.managed.go | 300 + .../v1alpha1/zz_generated.managedlist.go | 65 + .../v1alpha1/zz_group_terraformed.go | 100 + apis/monitoring/v1alpha1/zz_group_types.go | 109 + .../v1alpha1/zz_groupversion_info.go | 44 + .../zz_metricdescriptor_terraformed.go | 100 + .../v1alpha1/zz_metricdescriptor_types.go | 176 + .../monitoring/v1alpha1/zz_slo_terraformed.go | 100 + apis/monitoring/v1alpha1/zz_slo_types.go | 636 + .../zz_connectivitytest_terraformed.go | 100 + .../v1alpha1/zz_connectivitytest_types.go | 233 + .../v1alpha1/zz_generated.deepcopy.go | 328 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../zz_edgecachekeyset_terraformed.go | 100 + .../v1alpha1/zz_edgecachekeyset_types.go | 124 + .../zz_edgecacheorigin_terraformed.go | 100 + .../v1alpha1/zz_edgecacheorigin_types.go | 190 + .../zz_edgecacheservice_terraformed.go | 100 + .../v1alpha1/zz_edgecacheservice_types.go | 702 + .../v1alpha1/zz_generated.deepcopy.go | 1749 + .../v1alpha1/zz_generated.managed.go | 188 + .../v1alpha1/zz_generated.managedlist.go | 47 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_environment_terraformed.go | 100 + .../v1alpha1/zz_environment_types.go | 151 + .../v1alpha1/zz_generated.deepcopy.go | 1513 + .../v1alpha1/zz_generated.managed.go | 356 + .../v1alpha1/zz_generated.managedlist.go | 74 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_instance_terraformed.go | 100 + apis/notebooks/v1alpha1/zz_instance_types.go | 307 + .../zz_instanceiambinding_terraformed.go | 100 + .../v1alpha1/zz_instanceiambinding_types.go | 117 + .../zz_instanceiammember_terraformed.go | 100 + .../v1alpha1/zz_instanceiammember_types.go | 117 + .../zz_instanceiampolicy_terraformed.go | 100 + .../v1alpha1/zz_instanceiampolicy_types.go | 96 + .../v1alpha1/zz_location_terraformed.go | 100 + apis/notebooks/v1alpha1/zz_location_types.go | 91 + .../v1alpha1/zz_generated.deepcopy.go | 388 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_policy_terraformed.go | 100 + apis/orgpolicy/v1alpha1/zz_policy_types.go | 177 + .../v1alpha1/zz_generated.deepcopy.go | 1635 + .../osconfig/v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../osconfig/v1alpha1/zz_groupversion_info.go | 44 + .../zz_patchdeployment_terraformed.go | 100 + .../v1alpha1/zz_patchdeployment_types.go | 660 + .../oslogin/v1alpha1/zz_generated.deepcopy.go | 178 + apis/oslogin/v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + apis/oslogin/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_sshpublickey_terraformed.go | 100 + .../oslogin/v1alpha1/zz_sshpublickey_types.go | 100 + .../v1alpha1/zz_capool_terraformed.go | 100 + apis/privateca/v1alpha1/zz_capool_types.go | 445 + .../zz_capooliambinding_terraformed.go | 100 + .../v1alpha1/zz_capooliambinding_types.go | 117 + .../zz_capooliammember_terraformed.go | 100 + .../v1alpha1/zz_capooliammember_types.go | 117 + .../zz_capooliampolicy_terraformed.go | 100 + .../v1alpha1/zz_capooliampolicy_types.go | 96 + .../v1alpha1/zz_certificate_terraformed.go | 100 + .../v1alpha1/zz_certificate_types.go | 639 + .../zz_certificateauthority_terraformed.go | 100 + .../v1alpha1/zz_certificateauthority_types.go | 450 + .../zz_certificatetemplate_terraformed.go | 100 + .../v1alpha1/zz_certificatetemplate_types.go | 360 + .../v1alpha1/zz_generated.deepcopy.go | 5356 +++ .../v1alpha1/zz_generated.managed.go | 412 + .../v1alpha1/zz_generated.managedlist.go | 83 + .../v1alpha1/zz_groupversion_info.go | 44 + apis/pubsub/v1alpha1/zz_generated.deepcopy.go | 2646 ++ apis/pubsub/v1alpha1/zz_generated.managed.go | 692 + .../v1alpha1/zz_generated.managedlist.go | 128 + apis/pubsub/v1alpha1/zz_groupversion_info.go | 44 + .../zz_litereservation_terraformed.go | 100 + .../v1alpha1/zz_litereservation_types.go | 99 + .../zz_litesubscription_terraformed.go | 100 + .../v1alpha1/zz_litesubscription_types.go | 115 + .../v1alpha1/zz_litetopic_terraformed.go | 100 + apis/pubsub/v1alpha1/zz_litetopic_types.go | 164 + apis/pubsub/v1alpha1/zz_schema_terraformed.go | 100 + apis/pubsub/v1alpha1/zz_schema_types.go | 99 + .../v1alpha1/zz_subscription_terraformed.go | 100 + apis/pubsub/v1alpha1/zz_subscription_types.go | 314 + .../zz_subscriptioniambinding_terraformed.go | 100 + .../zz_subscriptioniambinding_types.go | 114 + .../zz_subscriptioniammember_terraformed.go | 100 + .../zz_subscriptioniammember_types.go | 114 + .../zz_subscriptioniampolicy_terraformed.go | 100 + .../zz_subscriptioniampolicy_types.go | 93 + apis/pubsub/v1alpha1/zz_topic_terraformed.go | 100 + apis/pubsub/v1alpha1/zz_topic_types.go | 143 + .../zz_topiciambinding_terraformed.go | 100 + .../v1alpha1/zz_topiciambinding_types.go | 114 + .../v1alpha1/zz_topiciammember_terraformed.go | 100 + .../v1alpha1/zz_topiciammember_types.go | 114 + .../v1alpha1/zz_topiciampolicy_terraformed.go | 100 + .../v1alpha1/zz_topiciampolicy_types.go | 93 + apis/redis/v1alpha1/zz_generated.deepcopy.go | 340 + apis/redis/v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + apis/redis/v1alpha1/zz_groupversion_info.go | 44 + .../redis/v1alpha1/zz_instance_terraformed.go | 100 + apis/redis/v1alpha1/zz_instance_types.go | 196 + .../v1alpha1/zz_generated.deepcopy.go | 189 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_lien_terraformed.go | 100 + .../resourcemanager/v1alpha1/zz_lien_types.go | 112 + apis/scc/v1alpha1/zz_generated.deepcopy.go | 373 + apis/scc/v1alpha1/zz_generated.managed.go | 132 + apis/scc/v1alpha1/zz_generated.managedlist.go | 38 + apis/scc/v1alpha1/zz_groupversion_info.go | 44 + .../zz_notificationconfig_terraformed.go | 100 + .../v1alpha1/zz_notificationconfig_types.go | 142 + apis/scc/v1alpha1/zz_source_terraformed.go | 100 + apis/scc/v1alpha1/zz_source_types.go | 101 + .../v1alpha1/zz_generated.deepcopy.go | 1168 + .../v1alpha1/zz_generated.managed.go | 300 + .../v1alpha1/zz_generated.managedlist.go | 65 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_secret_terraformed.go | 100 + .../secretmanager/v1alpha1/zz_secret_types.go | 206 + .../zz_secretiambinding_terraformed.go | 100 + .../v1alpha1/zz_secretiambinding_types.go | 114 + .../zz_secretiammember_terraformed.go | 100 + .../v1alpha1/zz_secretiammember_types.go | 114 + .../zz_secretiampolicy_terraformed.go | 100 + .../v1alpha1/zz_secretiampolicy_types.go | 93 + .../v1alpha1/zz_secretversion_terraformed.go | 100 + .../v1alpha1/zz_secretversion_types.go | 100 + .../v1alpha1/zz_connection_terraformed.go | 100 + .../v1alpha1/zz_connection_types.go | 96 + .../v1alpha1/zz_generated.deepcopy.go | 179 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_generated.deepcopy.go | 789 + .../v1alpha1/zz_generated.managed.go | 244 + .../v1alpha1/zz_generated.managedlist.go | 56 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_repository_terraformed.go | 100 + .../v1alpha1/zz_repository_types.go | 121 + .../zz_repositoryiambinding_terraformed.go | 100 + .../v1alpha1/zz_repositoryiambinding_types.go | 114 + .../zz_repositoryiammember_terraformed.go | 100 + .../v1alpha1/zz_repositoryiammember_types.go | 114 + .../zz_repositoryiampolicy_terraformed.go | 100 + .../v1alpha1/zz_repositoryiampolicy_types.go | 93 + .../v1alpha1/zz_database_terraformed.go | 100 + apis/spanner/v1alpha1/zz_database_types.go | 121 + .../zz_databaseiambinding_terraformed.go | 100 + .../v1alpha1/zz_databaseiambinding_types.go | 117 + .../zz_databaseiammember_terraformed.go | 100 + .../v1alpha1/zz_databaseiammember_types.go | 117 + .../zz_databaseiampolicy_terraformed.go | 100 + .../v1alpha1/zz_databaseiampolicy_types.go | 96 + .../spanner/v1alpha1/zz_generated.deepcopy.go | 1557 + apis/spanner/v1alpha1/zz_generated.managed.go | 468 + .../v1alpha1/zz_generated.managedlist.go | 92 + apis/spanner/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_instance_terraformed.go | 100 + apis/spanner/v1alpha1/zz_instance_types.go | 128 + .../zz_instanceiambinding_terraformed.go | 100 + .../v1alpha1/zz_instanceiambinding_types.go | 114 + .../zz_instanceiammember_terraformed.go | 100 + .../v1alpha1/zz_instanceiammember_types.go | 114 + .../zz_instanceiampolicy_terraformed.go | 100 + .../v1alpha1/zz_instanceiampolicy_types.go | 93 + .../zz_bucketaccesscontrol_terraformed.go | 100 + .../v1alpha1/zz_bucketaccesscontrol_types.go | 112 + .../v1alpha1/zz_bucketacl_terraformed.go | 100 + apis/storage/v1alpha1/zz_bucketacl_types.go | 98 + .../zz_bucketiambinding_terraformed.go | 100 + .../v1alpha1/zz_bucketiambinding_types.go | 111 + .../zz_bucketiammember_terraformed.go | 100 + .../v1alpha1/zz_bucketiammember_types.go | 111 + .../zz_bucketiampolicy_terraformed.go | 100 + .../v1alpha1/zz_bucketiampolicy_types.go | 90 + ..._defaultobjectaccesscontrol_terraformed.go | 100 + .../zz_defaultobjectaccesscontrol_types.go | 130 + .../zz_defaultobjectacl_terraformed.go | 100 + .../v1alpha1/zz_defaultobjectacl_types.go | 88 + .../storage/v1alpha1/zz_generated.deepcopy.go | 1947 + apis/storage/v1alpha1/zz_generated.managed.go | 636 + .../v1alpha1/zz_generated.managedlist.go | 119 + apis/storage/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_hmackey_terraformed.go | 100 + apis/storage/v1alpha1/zz_hmackey_types.go | 99 + .../v1alpha1/zz_notification_terraformed.go | 100 + .../storage/v1alpha1/zz_notification_types.go | 110 + .../zz_objectaccesscontrol_terraformed.go | 100 + .../v1alpha1/zz_objectaccesscontrol_types.go | 130 + .../v1alpha1/zz_objectacl_terraformed.go | 100 + apis/storage/v1alpha1/zz_objectacl_types.go | 94 + .../v1alpha2/zz_bucketobject_terraformed.go | 100 + .../storage/v1alpha2/zz_bucketobject_types.go | 169 + .../storage/v1alpha2/zz_generated.deepcopy.go | 282 + apis/storage/v1alpha2/zz_generated.managed.go | 56 + .../v1alpha2/zz_generated.managedlist.go | 9 + .../v1alpha1/zz_generated.deepcopy.go | 847 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_job_terraformed.go | 100 + apis/storagetransfer/v1alpha1/zz_job_types.go | 358 + apis/tags/v1alpha1/zz_generated.deepcopy.go | 1592 + apis/tags/v1alpha1/zz_generated.managed.go | 524 + .../tags/v1alpha1/zz_generated.managedlist.go | 101 + apis/tags/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_tagbinding_terraformed.go | 100 + apis/tags/v1alpha1/zz_tagbinding_types.go | 92 + apis/tags/v1alpha1/zz_tagkey_terraformed.go | 100 + apis/tags/v1alpha1/zz_tagkey_types.go | 104 + .../zz_tagkeyiambinding_terraformed.go | 100 + .../v1alpha1/zz_tagkeyiambinding_types.go | 111 + .../zz_tagkeyiammember_terraformed.go | 100 + .../tags/v1alpha1/zz_tagkeyiammember_types.go | 111 + .../zz_tagkeyiampolicy_terraformed.go | 100 + .../tags/v1alpha1/zz_tagkeyiampolicy_types.go | 90 + apis/tags/v1alpha1/zz_tagvalue_terraformed.go | 100 + apis/tags/v1alpha1/zz_tagvalue_types.go | 104 + .../zz_tagvalueiambinding_terraformed.go | 100 + .../v1alpha1/zz_tagvalueiambinding_types.go | 111 + .../zz_tagvalueiammember_terraformed.go | 100 + .../v1alpha1/zz_tagvalueiammember_types.go | 111 + .../zz_tagvalueiampolicy_terraformed.go | 100 + .../v1alpha1/zz_tagvalueiampolicy_types.go | 90 + apis/tpu/v1alpha1/zz_generated.deepcopy.go | 307 + apis/tpu/v1alpha1/zz_generated.managed.go | 76 + apis/tpu/v1alpha1/zz_generated.managedlist.go | 29 + apis/tpu/v1alpha1/zz_groupversion_info.go | 44 + apis/tpu/v1alpha1/zz_node_terraformed.go | 100 + apis/tpu/v1alpha1/zz_node_types.go | 162 + .../v1alpha1/zz_dataset_terraformed.go | 100 + apis/vertexai/v1alpha1/zz_dataset_types.go | 122 + .../v1alpha1/zz_generated.deepcopy.go | 245 + .../vertexai/v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../vertexai/v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_connector_terraformed.go | 100 + apis/vpcaccess/v1alpha1/zz_connector_types.go | 113 + .../v1alpha1/zz_generated.deepcopy.go | 198 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_generated.deepcopy.go | 223 + .../v1alpha1/zz_generated.managed.go | 76 + .../v1alpha1/zz_generated.managedlist.go | 29 + .../v1alpha1/zz_groupversion_info.go | 44 + .../v1alpha1/zz_workflow_terraformed.go | 100 + apis/workflows/v1alpha1/zz_workflow_types.go | 123 + apis/zz_register.go | 142 +- .../foldersettings/zz_controller.go | 58 + .../organizationsettings/zz_controller.go | 58 + .../projectsettings/zz_controller.go | 58 + .../accesslevel/zz_controller.go | 58 + .../accesslevelcondition/zz_controller.go | 58 + .../accesspolicy/zz_controller.go | 58 + .../gcpuseraccessbinding/zz_controller.go | 58 + .../serviceperimeter/zz_controller.go | 58 + .../serviceperimeterresource/zz_controller.go | 58 + .../activedirectory/domain/zz_controller.go | 58 + .../domaintrust/zz_controller.go | 58 + .../apigee/envgroup/zz_controller.go | 58 + .../envgroupattachment/zz_controller.go | 58 + .../apigee/environment/zz_controller.go | 58 + .../apigee/instance/zz_controller.go | 58 + .../instanceattachment/zz_controller.go | 58 + .../apigee/organization/zz_controller.go | 58 + .../appengine/application/zz_controller.go | 58 + .../zz_controller.go | 58 + .../appengine/domainmapping/zz_controller.go | 58 + .../appengine/firewallrule/zz_controller.go | 58 + .../flexibleappversion/zz_controller.go | 58 + .../servicenetworksettings/zz_controller.go | 58 + .../servicesplittraffic/zz_controller.go | 58 + .../standardappversion/zz_controller.go | 58 + .../workload/zz_controller.go | 58 + .../bigquery/dataset/zz_controller.go | 58 + .../bigquery/datasetaccess/zz_controller.go | 58 + .../datasetiambinding/zz_controller.go | 58 + .../datasetiammember/zz_controller.go | 58 + .../datasetiampolicy/zz_controller.go | 58 + .../datatransferconfig/zz_controller.go | 58 + .../controller/bigquery/job/zz_controller.go | 58 + .../bigquery/reservation/zz_controller.go | 58 + .../bigquery/routine/zz_controller.go | 58 + .../bigquery/table/zz_controller.go | 58 + .../bigquery/tableiambinding/zz_controller.go | 58 + .../bigquery/tableiammember/zz_controller.go | 58 + .../bigquery/tableiampolicy/zz_controller.go | 58 + .../bigtable/appprofile/zz_controller.go | 58 + .../garbagecollectionpolicy/zz_controller.go | 58 + .../bigtable/instance/zz_controller.go | 58 + .../instanceiambinding/zz_controller.go | 58 + .../instanceiammember/zz_controller.go | 58 + .../instanceiampolicy/zz_controller.go | 58 + .../bigtable/table/zz_controller.go | 58 + .../bigtable/tableiambinding/zz_controller.go | 58 + .../bigtable/tableiammember/zz_controller.go | 58 + .../bigtable/tableiampolicy/zz_controller.go | 58 + .../accountiambinding/zz_controller.go | 58 + .../billing/accountiammember/zz_controller.go | 58 + .../billing/accountiampolicy/zz_controller.go | 58 + .../billing/budget/zz_controller.go | 58 + .../attestor/zz_controller.go | 58 + .../attestoriambinding/zz_controller.go | 58 + .../attestoriammember/zz_controller.go | 58 + .../attestoriampolicy/zz_controller.go | 58 + .../policy/zz_controller.go | 58 + .../cloudasset/folderfeed/zz_controller.go | 58 + .../organizationfeed/zz_controller.go | 58 + .../cloudasset/projectfeed/zz_controller.go | 58 + .../cloudbuild/trigger/zz_controller.go | 58 + .../cloudfunctions/function/zz_controller.go | 58 + .../functioniambinding/zz_controller.go | 58 + .../functioniammember/zz_controller.go | 58 + .../functioniampolicy/zz_controller.go | 58 + .../cloudidentity/group/zz_controller.go | 58 + .../groupmembership/zz_controller.go | 58 + .../cloudiot/device/zz_controller.go | 58 + .../cloudiot/registry/zz_controller.go | 58 + .../billingsubaccount/zz_controller.go | 58 + .../cloudplatform/folder/zz_controller.go | 58 + .../folderiamauditconfig/zz_controller.go | 58 + .../folderiambinding/zz_controller.go | 58 + .../folderiammember/zz_controller.go | 58 + .../folderiampolicy/zz_controller.go | 58 + .../folderorganizationpolicy/zz_controller.go | 58 + .../zz_controller.go | 58 + .../organizationiambinding/zz_controller.go | 58 + .../zz_controller.go | 58 + .../organizationiammember/zz_controller.go | 58 + .../organizationiampolicy/zz_controller.go | 58 + .../organizationpolicy/zz_controller.go | 58 + .../cloudplatform/project/zz_controller.go | 58 + .../zz_controller.go | 58 + .../projectiamauditconfig/zz_controller.go | 58 + .../projectiambinding/zz_controller.go | 58 + .../projectiamcustomrole/zz_controller.go | 58 + .../projectiammember/zz_controller.go | 58 + .../projectiampolicy/zz_controller.go | 58 + .../zz_controller.go | 58 + .../projectservice/zz_controller.go | 58 + .../projectusageexportbucket/zz_controller.go | 58 + .../serviceaccountiambinding/zz_controller.go | 58 + .../serviceaccountiammember/zz_controller.go | 58 + .../serviceaccountiampolicy/zz_controller.go | 58 + .../zz_controller.go | 58 + .../cloudrun/domainmapping/zz_controller.go | 58 + .../cloudrun/service/zz_controller.go | 58 + .../serviceiambinding/zz_controller.go | 58 + .../serviceiammember/zz_controller.go | 58 + .../serviceiampolicy/zz_controller.go | 58 + .../cloudscheduler/job/zz_controller.go | 58 + .../cloudtasks/queue/zz_controller.go | 58 + .../composer/environment/zz_controller.go | 58 + .../compute/attacheddisk/zz_controller.go | 58 + .../compute/autoscaler/zz_controller.go | 58 + .../compute/backendbucket/zz_controller.go | 58 + .../zz_controller.go | 58 + .../compute/backendservice/zz_controller.go | 58 + .../zz_controller.go | 58 + .../controller/compute/disk/zz_controller.go | 58 + .../compute/diskiambinding/zz_controller.go | 58 + .../compute/diskiammember/zz_controller.go | 58 + .../compute/diskiampolicy/zz_controller.go | 58 + .../zz_controller.go | 58 + .../externalvpngateway/zz_controller.go | 58 + .../compute/firewallpolicy/zz_controller.go | 58 + .../zz_controller.go | 58 + .../firewallpolicyrule/zz_controller.go | 58 + .../compute/forwardingrule/zz_controller.go | 58 + .../compute/globaladdress/zz_controller.go | 58 + .../globalforwardingrule/zz_controller.go | 58 + .../globalnetworkendpoint/zz_controller.go | 58 + .../zz_controller.go | 58 + .../compute/havpngateway/zz_controller.go | 58 + .../compute/healthcheck/zz_controller.go | 58 + .../compute/httphealthcheck/zz_controller.go | 58 + .../compute/httpshealthcheck/zz_controller.go | 58 + .../controller/compute/image/zz_controller.go | 58 + .../compute/imageiambinding/zz_controller.go | 58 + .../compute/imageiammember/zz_controller.go | 58 + .../compute/imageiampolicy/zz_controller.go | 58 + .../instancefromtemplate/zz_controller.go | 59 + .../compute/instancegroup/zz_controller.go | 58 + .../instancegroupmanager/zz_controller.go | 58 + .../instancegroupnamedport/zz_controller.go | 58 + .../instanceiambinding/zz_controller.go | 58 + .../instanceiammember/zz_controller.go | 58 + .../instanceiampolicy/zz_controller.go | 58 + .../compute/instancetemplate/zz_controller.go | 57 + .../interconnectattachment/zz_controller.go | 58 + .../compute/networkendpoint/zz_controller.go | 58 + .../networkendpointgroup/zz_controller.go | 58 + .../compute/networkpeering/zz_controller.go | 58 + .../zz_controller.go | 58 + .../compute/nodegroup/zz_controller.go | 58 + .../compute/nodetemplate/zz_controller.go | 58 + .../compute/packetmirroring/zz_controller.go | 58 + .../perinstanceconfig/zz_controller.go | 58 + .../zz_controller.go | 58 + .../compute/projectmetadata/zz_controller.go | 58 + .../projectmetadataitem/zz_controller.go | 58 + .../compute/regionautoscaler/zz_controller.go | 58 + .../regionbackendservice/zz_controller.go | 58 + .../compute/regiondisk/zz_controller.go | 58 + .../regiondiskiambinding/zz_controller.go | 58 + .../regiondiskiammember/zz_controller.go | 58 + .../regiondiskiampolicy/zz_controller.go | 58 + .../zz_controller.go | 58 + .../regionhealthcheck/zz_controller.go | 58 + .../zz_controller.go | 58 + .../zz_controller.go | 58 + .../regionperinstanceconfig/zz_controller.go | 58 + .../regionsslcertificate/zz_controller.go | 58 + .../regiontargethttpproxy/zz_controller.go | 58 + .../regiontargethttpsproxy/zz_controller.go | 58 + .../compute/regionurlmap/zz_controller.go | 58 + .../compute/reservation/zz_controller.go | 58 + .../compute/resourcepolicy/zz_controller.go | 58 + .../controller/compute/route/zz_controller.go | 58 + .../compute/routerinterface/zz_controller.go | 58 + .../compute/routerpeer/zz_controller.go | 58 + .../compute/securitypolicy/zz_controller.go | 58 + .../serviceattachment/zz_controller.go | 58 + .../sharedvpchostproject/zz_controller.go | 58 + .../sharedvpcserviceproject/zz_controller.go | 58 + .../compute/snapshot/zz_controller.go | 58 + .../compute/sslcertificate/zz_controller.go | 58 + .../compute/sslpolicy/zz_controller.go | 58 + .../subnetworkiambinding/zz_controller.go | 58 + .../subnetworkiammember/zz_controller.go | 58 + .../subnetworkiampolicy/zz_controller.go | 58 + .../compute/targetgrpcproxy/zz_controller.go | 58 + .../compute/targethttpproxy/zz_controller.go | 58 + .../compute/targethttpsproxy/zz_controller.go | 58 + .../compute/targetinstance/zz_controller.go | 58 + .../compute/targetpool/zz_controller.go | 58 + .../compute/targetsslproxy/zz_controller.go | 58 + .../compute/targettcpproxy/zz_controller.go | 58 + .../compute/urlmap/zz_controller.go | 58 + .../compute/vpngateway/zz_controller.go | 58 + .../compute/vpntunnel/zz_controller.go | 58 + .../container/registry/zz_controller.go | 58 + .../containeranalysis/note/zz_controller.go | 58 + .../occurrence/zz_controller.go | 58 + .../datacatalog/entry/zz_controller.go | 58 + .../datacatalog/entrygroup/zz_controller.go | 58 + .../entrygroupiambinding/zz_controller.go | 58 + .../entrygroupiammember/zz_controller.go | 58 + .../entrygroupiampolicy/zz_controller.go | 58 + .../datacatalog/tag/zz_controller.go | 58 + .../datacatalog/tagtemplate/zz_controller.go | 58 + .../tagtemplateiambinding/zz_controller.go | 58 + .../tagtemplateiammember/zz_controller.go | 58 + .../tagtemplateiampolicy/zz_controller.go | 58 + .../controller/dataflow/job/zz_controller.go | 58 + .../deidentifytemplate/zz_controller.go | 58 + .../inspecttemplate/zz_controller.go | 58 + .../jobtrigger/zz_controller.go | 58 + .../storedinfotype/zz_controller.go | 58 + .../autoscalingpolicy/zz_controller.go | 58 + .../dataproc/cluster/zz_controller.go | 58 + .../clusteriambinding/zz_controller.go | 58 + .../clusteriammember/zz_controller.go | 58 + .../clusteriampolicy/zz_controller.go | 58 + .../controller/dataproc/job/zz_controller.go | 58 + .../dataproc/jobiambinding/zz_controller.go | 58 + .../dataproc/jobiammember/zz_controller.go | 58 + .../dataproc/jobiampolicy/zz_controller.go | 58 + .../workflowtemplate/zz_controller.go | 58 + .../datastore/index/zz_controller.go | 58 + .../deployment/zz_controller.go | 58 + .../dialogflow/agent/zz_controller.go | 58 + .../dialogflow/entitytype/zz_controller.go | 58 + .../dialogflow/fulfillment/zz_controller.go | 58 + .../dialogflow/intent/zz_controller.go | 58 + .../dialogflowcx/agent/zz_controller.go | 58 + .../dialogflowcx/entitytype/zz_controller.go | 58 + .../dialogflowcx/environment/zz_controller.go | 58 + .../dialogflowcx/flow/zz_controller.go | 58 + .../dialogflowcx/intent/zz_controller.go | 58 + .../dialogflowcx/page/zz_controller.go | 58 + .../dialogflowcx/version/zz_controller.go | 58 + .../dns/managedzone/zz_controller.go | 58 + .../controller/dns/policy/zz_controller.go | 58 + .../controller/dns/recordset/zz_controller.go | 58 + .../endpoints/service/zz_controller.go | 58 + .../serviceiambinding/zz_controller.go | 58 + .../serviceiammember/zz_controller.go | 58 + .../serviceiampolicy/zz_controller.go | 58 + .../contact/zz_controller.go | 58 + .../eventarc/trigger/zz_controller.go | 58 + .../filestore/instance/zz_controller.go | 58 + .../firestore/document/zz_controller.go | 58 + .../firestore/index/zz_controller.go | 58 + .../gameservercluster/zz_controller.go | 58 + .../gameserverconfig/zz_controller.go | 58 + .../gameserverdeployment/zz_controller.go | 58 + .../zz_controller.go | 58 + .../gameservices/realm/zz_controller.go | 58 + .../gkehub/membership/zz_controller.go | 58 + .../healthcare/consentstore/zz_controller.go | 58 + .../consentstoreiambinding/zz_controller.go | 58 + .../consentstoreiammember/zz_controller.go | 58 + .../consentstoreiampolicy/zz_controller.go | 58 + .../healthcare/dataset/zz_controller.go | 58 + .../datasetiambinding/zz_controller.go | 58 + .../datasetiammember/zz_controller.go | 58 + .../datasetiampolicy/zz_controller.go | 58 + .../healthcare/dicomstore/zz_controller.go | 58 + .../dicomstoreiambinding/zz_controller.go | 58 + .../dicomstoreiammember/zz_controller.go | 58 + .../dicomstoreiampolicy/zz_controller.go | 58 + .../healthcare/fhirstore/zz_controller.go | 58 + .../fhirstoreiambinding/zz_controller.go | 58 + .../fhirstoreiammember/zz_controller.go | 58 + .../fhirstoreiampolicy/zz_controller.go | 58 + .../healthcare/hl7v2store/zz_controller.go | 58 + .../hl7v2storeiambinding/zz_controller.go | 58 + .../hl7v2storeiammember/zz_controller.go | 58 + .../hl7v2storeiampolicy/zz_controller.go | 58 + .../zz_controller.go | 58 + .../zz_controller.go | 58 + .../zz_controller.go | 58 + .../zz_controller.go | 58 + .../zz_controller.go | 58 + .../zz_controller.go | 58 + .../controller/iap/brand/zz_controller.go | 58 + .../controller/iap/client/zz_controller.go | 58 + .../iap/tunneliambinding/zz_controller.go | 58 + .../iap/tunneliammember/zz_controller.go | 58 + .../iap/tunneliampolicy/zz_controller.go | 58 + .../tunnelinstanceiambinding/zz_controller.go | 58 + .../tunnelinstanceiammember/zz_controller.go | 58 + .../tunnelinstanceiampolicy/zz_controller.go | 58 + .../zz_controller.go | 58 + .../zz_controller.go | 58 + .../zz_controller.go | 58 + .../iap/webiambinding/zz_controller.go | 58 + .../iap/webiammember/zz_controller.go | 58 + .../iap/webiampolicy/zz_controller.go | 58 + .../zz_controller.go | 58 + .../zz_controller.go | 58 + .../zz_controller.go | 58 + .../webtypecomputeiambinding/zz_controller.go | 58 + .../webtypecomputeiammember/zz_controller.go | 58 + .../webtypecomputeiampolicy/zz_controller.go | 58 + .../zz_controller.go | 58 + .../inboundsamlconfig/zz_controller.go | 58 + .../oauthidpconfig/zz_controller.go | 58 + .../identityplatform/tenant/zz_controller.go | 58 + .../zz_controller.go | 58 + .../tenantinboundsamlconfig/zz_controller.go | 58 + .../tenantoauthidpconfig/zz_controller.go | 58 + .../controller/kms/cryptokey/zz_controller.go | 58 + .../kms/cryptokeyiambinding/zz_controller.go | 58 + .../kms/cryptokeyiammember/zz_controller.go | 58 + .../kms/cryptokeyiampolicy/zz_controller.go | 58 + .../controller/kms/keyring/zz_controller.go | 58 + .../kms/keyringiambinding/zz_controller.go | 58 + .../kms/keyringiammember/zz_controller.go | 58 + .../kms/keyringiampolicy/zz_controller.go | 58 + .../kms/keyringimportjob/zz_controller.go | 58 + .../kms/secretciphertext/zz_controller.go | 58 + .../zz_controller.go | 58 + .../billingaccountexclusion/zz_controller.go | 58 + .../billingaccountsink/zz_controller.go | 58 + .../folderbucketconfig/zz_controller.go | 58 + .../logging/folderexclusion/zz_controller.go | 58 + .../logging/foldersink/zz_controller.go | 58 + .../logging/metric/zz_controller.go | 58 + .../organizationbucketconfig/zz_controller.go | 58 + .../organizationexclusion/zz_controller.go | 58 + .../logging/organizationsink/zz_controller.go | 58 + .../projectbucketconfig/zz_controller.go | 58 + .../logging/projectexclusion/zz_controller.go | 58 + .../logging/projectsink/zz_controller.go | 58 + .../memcache/instance/zz_controller.go | 58 + .../mlengine/model/zz_controller.go | 58 + .../monitoring/customservice/zz_controller.go | 58 + .../monitoring/dashboard/zz_controller.go | 58 + .../monitoring/group/zz_controller.go | 58 + .../metricdescriptor/zz_controller.go | 58 + .../monitoring/slo/zz_controller.go | 58 + .../connectivitytest/zz_controller.go | 58 + .../edgecachekeyset/zz_controller.go | 58 + .../edgecacheorigin/zz_controller.go | 58 + .../edgecacheservice/zz_controller.go | 58 + .../notebooks/environment/zz_controller.go | 58 + .../notebooks/instance/zz_controller.go | 58 + .../instanceiambinding/zz_controller.go | 58 + .../instanceiammember/zz_controller.go | 58 + .../instanceiampolicy/zz_controller.go | 58 + .../notebooks/location/zz_controller.go | 58 + .../orgpolicy/policy/zz_controller.go | 58 + .../osconfig/patchdeployment/zz_controller.go | 58 + .../oslogin/sshpublickey/zz_controller.go | 58 + .../privateca/capool/zz_controller.go | 58 + .../capooliambinding/zz_controller.go | 58 + .../capooliammember/zz_controller.go | 58 + .../capooliampolicy/zz_controller.go | 58 + .../privateca/certificate/zz_controller.go | 58 + .../certificateauthority/zz_controller.go | 58 + .../certificatetemplate/zz_controller.go | 58 + .../pubsub/litereservation/zz_controller.go | 58 + .../pubsub/litesubscription/zz_controller.go | 58 + .../pubsub/litetopic/zz_controller.go | 58 + .../controller/pubsub/schema/zz_controller.go | 58 + .../pubsub/subscription/zz_controller.go | 58 + .../subscriptioniambinding/zz_controller.go | 58 + .../subscriptioniammember/zz_controller.go | 58 + .../subscriptioniampolicy/zz_controller.go | 58 + .../controller/pubsub/topic/zz_controller.go | 58 + .../pubsub/topiciambinding/zz_controller.go | 58 + .../pubsub/topiciammember/zz_controller.go | 58 + .../pubsub/topiciampolicy/zz_controller.go | 58 + .../redis/instance/zz_controller.go | 58 + .../resourcemanager/lien/zz_controller.go | 58 + .../scc/notificationconfig/zz_controller.go | 58 + .../controller/scc/source/zz_controller.go | 58 + .../secretmanager/secret/zz_controller.go | 58 + .../secretiambinding/zz_controller.go | 58 + .../secretiammember/zz_controller.go | 58 + .../secretiampolicy/zz_controller.go | 58 + .../secretversion/zz_controller.go | 58 + .../connection/zz_controller.go | 58 + .../sourcerepo/repository/zz_controller.go | 58 + .../repositoryiambinding/zz_controller.go | 58 + .../repositoryiammember/zz_controller.go | 58 + .../repositoryiampolicy/zz_controller.go | 58 + .../spanner/database/zz_controller.go | 58 + .../databaseiambinding/zz_controller.go | 58 + .../databaseiammember/zz_controller.go | 58 + .../databaseiampolicy/zz_controller.go | 58 + .../spanner/instance/zz_controller.go | 58 + .../instanceiambinding/zz_controller.go | 58 + .../instanceiammember/zz_controller.go | 58 + .../instanceiampolicy/zz_controller.go | 58 + .../bucketaccesscontrol/zz_controller.go | 58 + .../storage/bucketacl/zz_controller.go | 58 + .../storage/bucketiambinding/zz_controller.go | 58 + .../storage/bucketiammember/zz_controller.go | 58 + .../storage/bucketiampolicy/zz_controller.go | 58 + .../storage/bucketobject/zz_controller.go | 58 + .../zz_controller.go | 58 + .../storage/defaultobjectacl/zz_controller.go | 58 + .../storage/hmackey/zz_controller.go | 58 + .../storage/notification/zz_controller.go | 58 + .../objectaccesscontrol/zz_controller.go | 58 + .../storage/objectacl/zz_controller.go | 58 + .../storagetransfer/job/zz_controller.go | 58 + .../tags/tagbinding/zz_controller.go | 58 + .../controller/tags/tagkey/zz_controller.go | 58 + .../tags/tagkeyiambinding/zz_controller.go | 58 + .../tags/tagkeyiammember/zz_controller.go | 58 + .../tags/tagkeyiampolicy/zz_controller.go | 58 + .../controller/tags/tagvalue/zz_controller.go | 58 + .../tags/tagvalueiambinding/zz_controller.go | 58 + .../tags/tagvalueiammember/zz_controller.go | 58 + .../tags/tagvalueiampolicy/zz_controller.go | 58 + internal/controller/tpu/node/zz_controller.go | 58 + .../vertexai/dataset/zz_controller.go | 58 + .../vpcaccess/connector/zz_controller.go | 58 + .../workflows/workflow/zz_controller.go | 58 + internal/controller/zz_setup.go | 836 +- ....gcp.jet.crossplane.io_foldersettings.yaml | 214 + ...et.crossplane.io_organizationsettings.yaml | 210 + ...gcp.jet.crossplane.io_projectsettings.yaml | 211 + ...t.crossplane.io_accesslevelconditions.yaml | 269 + ...er.gcp.jet.crossplane.io_accesslevels.yaml | 360 + ....gcp.jet.crossplane.io_accesspolicies.yaml | 180 + ...t.crossplane.io_gcpuseraccessbindings.yaml | 191 + ...ossplane.io_serviceperimeterresources.yaml | 178 + ...p.jet.crossplane.io_serviceperimeters.yaml | 794 + ...rectory.gcp.jet.crossplane.io_domains.yaml | 209 + ...ry.gcp.jet.crossplane.io_domaintrusts.yaml | 218 + ...jet.crossplane.io_envgroupattachments.yaml | 177 + ...pigee.gcp.jet.crossplane.io_envgroups.yaml | 179 + ...ee.gcp.jet.crossplane.io_environments.yaml | 180 + ...jet.crossplane.io_instanceattachments.yaml | 177 + ...pigee.gcp.jet.crossplane.io_instances.yaml | 200 + ...e.gcp.jet.crossplane.io_organizations.yaml | 205 + ...ne.gcp.jet.crossplane.io_applications.yaml | 250 + ...splane.io_applicationurldispatchrules.yaml | 198 + ....gcp.jet.crossplane.io_domainmappings.yaml | 211 + ...e.gcp.jet.crossplane.io_firewallrules.yaml | 188 + ...jet.crossplane.io_flexibleappversions.yaml | 817 + ....crossplane.io_servicenetworksettings.yaml | 187 + ...et.crossplane.io_servicesplittraffics.yaml | 205 + ...jet.crossplane.io_standardappversions.yaml | 509 + ...loads.gcp.jet.crossplane.io_workloads.yaml | 265 + ...gcp.jet.crossplane.io_datasetaccesses.yaml | 231 + ....jet.crossplane.io_datasetiambindings.yaml | 194 + ...p.jet.crossplane.io_datasetiammembers.yaml | 192 + ....jet.crossplane.io_datasetiampolicies.yaml | 175 + ...gquery.gcp.jet.crossplane.io_datasets.yaml | 319 + ...jet.crossplane.io_datatransferconfigs.yaml | 303 + .../bigquery.gcp.jet.crossplane.io_jobs.yaml | 830 + ...ry.gcp.jet.crossplane.io_reservations.yaml | 191 + ...gquery.gcp.jet.crossplane.io_routines.yaml | 255 + ...cp.jet.crossplane.io_tableiambindings.yaml | 197 + ...gcp.jet.crossplane.io_tableiammembers.yaml | 195 + ...cp.jet.crossplane.io_tableiampolicies.yaml | 178 + ...bigquery.gcp.jet.crossplane.io_tables.yaml | 494 + ...ble.gcp.jet.crossplane.io_appprofiles.yaml | 210 + ...ossplane.io_garbagecollectionpolicies.yaml | 215 + ...jet.crossplane.io_instanceiambindings.yaml | 195 + ....jet.crossplane.io_instanceiammembers.yaml | 192 + ...jet.crossplane.io_instanceiampolicies.yaml | 175 + ...table.gcp.jet.crossplane.io_instances.yaml | 232 + ...cp.jet.crossplane.io_tableiambindings.yaml | 197 + ...gcp.jet.crossplane.io_tableiammembers.yaml | 195 + ...cp.jet.crossplane.io_tableiampolicies.yaml | 178 + ...bigtable.gcp.jet.crossplane.io_tables.yaml | 197 + ....jet.crossplane.io_accountiambindings.yaml | 192 + ...p.jet.crossplane.io_accountiammembers.yaml | 190 + ....jet.crossplane.io_accountiampolicies.yaml | 173 + ...billing.gcp.jet.crossplane.io_budgets.yaml | 327 + ...jet.crossplane.io_attestoriambindings.yaml | 195 + ....jet.crossplane.io_attestoriammembers.yaml | 192 + ...jet.crossplane.io_attestoriampolicies.yaml | 175 + ...ation.gcp.jet.crossplane.io_attestors.yaml | 256 + ...zation.gcp.jet.crossplane.io_policies.yaml | 268 + ...set.gcp.jet.crossplane.io_folderfeeds.yaml | 263 + ...p.jet.crossplane.io_organizationfeeds.yaml | 261 + ...et.gcp.jet.crossplane.io_projectfeeds.yaml | 259 + ...dbuild.gcp.jet.crossplane.io_triggers.yaml | 803 + ...jet.crossplane.io_functioniambindings.yaml | 197 + ....jet.crossplane.io_functioniammembers.yaml | 194 + ...jet.crossplane.io_functioniampolicies.yaml | 177 + ...tions.gcp.jet.crossplane.io_functions.yaml | 308 + ...cp.jet.crossplane.io_groupmemberships.yaml | 215 + ...identity.gcp.jet.crossplane.io_groups.yaml | 225 + ...loudiot.gcp.jet.crossplane.io_devices.yaml | 264 + ...diot.gcp.jet.crossplane.io_registries.yaml | 231 + ....jet.crossplane.io_billingsubaccounts.yaml | 179 + ...t.crossplane.io_folderiamauditconfigs.yaml | 206 + ...p.jet.crossplane.io_folderiambindings.yaml | 192 + ...cp.jet.crossplane.io_folderiammembers.yaml | 190 + ...p.jet.crossplane.io_folderiampolicies.yaml | 173 + ...ssplane.io_folderorganizationpolicies.yaml | 261 + ...latform.gcp.jet.crossplane.io_folders.yaml | 187 + ...splane.io_organizationiamauditconfigs.yaml | 209 + ...crossplane.io_organizationiambindings.yaml | 196 + ...ssplane.io_organizationiamcustomroles.yaml | 199 + ....crossplane.io_organizationiammembers.yaml | 194 + ...crossplane.io_organizationiampolicies.yaml | 177 + ...et.crossplane.io_organizationpolicies.yaml | 257 + ...lane.io_projectdefaultserviceaccounts.yaml | 189 + ....crossplane.io_projectiamauditconfigs.yaml | 206 + ....jet.crossplane.io_projectiambindings.yaml | 192 + ...t.crossplane.io_projectiamcustomroles.yaml | 198 + ...p.jet.crossplane.io_projectiammembers.yaml | 190 + ....jet.crossplane.io_projectiampolicies.yaml | 173 + ...splane.io_projectorganizationpolicies.yaml | 260 + ...atform.gcp.jet.crossplane.io_projects.yaml | 211 + ...gcp.jet.crossplane.io_projectservices.yaml | 174 + ...ossplane.io_projectusageexportbuckets.yaml | 180 + ...ossplane.io_serviceaccountiambindings.yaml | 195 + ...rossplane.io_serviceaccountiammembers.yaml | 193 + ...ossplane.io_serviceaccountiampolicies.yaml | 176 + ....io_servicenetworkingpeereddnsdomains.yaml | 190 + ....gcp.jet.crossplane.io_domainmappings.yaml | 256 + ....jet.crossplane.io_serviceiambindings.yaml | 196 + ...p.jet.crossplane.io_serviceiammembers.yaml | 194 + ....jet.crossplane.io_serviceiampolicies.yaml | 177 + ...oudrun.gcp.jet.crossplane.io_services.yaml | 545 + ...dscheduler.gcp.jet.crossplane.io_jobs.yaml | 393 + ...oudtasks.gcp.jet.crossplane.io_queues.yaml | 276 + ...er.gcp.jet.crossplane.io_environments.yaml | 461 + ...e.gcp.jet.crossplane.io_attacheddisks.yaml | 202 + ...ute.gcp.jet.crossplane.io_autoscalers.yaml | 391 + ....gcp.jet.crossplane.io_backendbuckets.yaml | 272 + ...ssplane.io_backendbucketsignedurlkeys.yaml | 197 + ...gcp.jet.crossplane.io_backendservices.yaml | 770 + ...splane.io_backendservicesignedurlkeys.yaml | 197 + ...gcp.jet.crossplane.io_diskiambindings.yaml | 196 + ....gcp.jet.crossplane.io_diskiammembers.yaml | 194 + ...gcp.jet.crossplane.io_diskiampolicies.yaml | 177 + ...lane.io_diskresourcepolicyattachments.yaml | 183 + .../compute.gcp.jet.crossplane.io_disks.yaml | 358 + ...jet.crossplane.io_externalvpngateways.yaml | 208 + ...cp.jet.crossplane.io_firewallpolicies.yaml | 199 + ...ssplane.io_firewallpolicyassociations.yaml | 182 + ...jet.crossplane.io_firewallpolicyrules.yaml | 273 + ...gcp.jet.crossplane.io_forwardingrules.yaml | 347 + ...gcp.jet.crossplane.io_globaladdresses.yaml | 219 + ...t.crossplane.io_globalforwardingrules.yaml | 331 + ...splane.io_globalnetworkendpointgroups.yaml | 196 + ....crossplane.io_globalnetworkendpoints.yaml | 187 + ...e.gcp.jet.crossplane.io_havpngateways.yaml | 208 + ...te.gcp.jet.crossplane.io_healthchecks.yaml | 498 + ...cp.jet.crossplane.io_httphealthchecks.yaml | 221 + ...p.jet.crossplane.io_httpshealthchecks.yaml | 221 + ...cp.jet.crossplane.io_imageiambindings.yaml | 194 + ...gcp.jet.crossplane.io_imageiammembers.yaml | 192 + ...cp.jet.crossplane.io_imageiampolicies.yaml | 175 + .../compute.gcp.jet.crossplane.io_images.yaml | 271 + ...t.crossplane.io_instancefromtemplates.yaml | 683 + ...t.crossplane.io_instancegroupmanagers.yaml | 417 + ...crossplane.io_instancegroupnamedports.yaml | 187 + ....gcp.jet.crossplane.io_instancegroups.yaml | 217 + ...jet.crossplane.io_instanceiambindings.yaml | 197 + ....jet.crossplane.io_instanceiammembers.yaml | 194 + ...jet.crossplane.io_instanceiampolicies.yaml | 177 + ...p.jet.crossplane.io_instancetemplates.yaml | 596 + ...crossplane.io_interconnectattachments.yaml | 307 + ...t.crossplane.io_networkendpointgroups.yaml | 209 + ...cp.jet.crossplane.io_networkendpoints.yaml | 193 + ...splane.io_networkpeeringroutesconfigs.yaml | 186 + ...gcp.jet.crossplane.io_networkpeerings.yaml | 194 + ...pute.gcp.jet.crossplane.io_nodegroups.yaml | 241 + ...e.gcp.jet.crossplane.io_nodetemplates.yaml | 235 + ...cp.jet.crossplane.io_packetmirrorings.yaml | 276 + ....jet.crossplane.io_perinstanceconfigs.yaml | 233 + ...ssplane.io_projectdefaultnetworktiers.yaml | 178 + ...gcp.jet.crossplane.io_projectmetadata.yaml | 175 + ...et.crossplane.io_projectmetadataitems.yaml | 178 + ...p.jet.crossplane.io_regionautoscalers.yaml | 391 + ...t.crossplane.io_regionbackendservices.yaml | 809 + ...t.crossplane.io_regiondiskiambindings.yaml | 198 + ...et.crossplane.io_regiondiskiammembers.yaml | 195 + ...t.crossplane.io_regiondiskiampolicies.yaml | 178 + ...o_regiondiskresourcepolicyattachments.yaml | 183 + ...ute.gcp.jet.crossplane.io_regiondisks.yaml | 289 + ....jet.crossplane.io_regionhealthchecks.yaml | 502 + ...splane.io_regioninstancegroupmanagers.yaml | 444 + ...splane.io_regionnetworkendpointgroups.yaml | 276 + ...rossplane.io_regionperinstanceconfigs.yaml | 236 + ...t.crossplane.io_regionsslcertificates.yaml | 236 + ...crossplane.io_regiontargethttpproxies.yaml | 199 + ...rossplane.io_regiontargethttpsproxies.yaml | 207 + ...e.gcp.jet.crossplane.io_regionurlmaps.yaml | 1811 + ...te.gcp.jet.crossplane.io_reservations.yaml | 268 + ...cp.jet.crossplane.io_resourcepolicies.yaml | 386 + ...cp.jet.crossplane.io_routerinterfaces.yaml | 202 + ...ute.gcp.jet.crossplane.io_routerpeers.yaml | 259 + .../compute.gcp.jet.crossplane.io_routes.yaml | 245 + ...cp.jet.crossplane.io_securitypolicies.yaml | 268 + ....jet.crossplane.io_serviceattachments.yaml | 243 + ...t.crossplane.io_sharedvpchostprojects.yaml | 172 + ...rossplane.io_sharedvpcserviceprojects.yaml | 177 + ...mpute.gcp.jet.crossplane.io_snapshots.yaml | 285 + ...gcp.jet.crossplane.io_sslcertificates.yaml | 229 + ...ute.gcp.jet.crossplane.io_sslpolicies.yaml | 220 + ...t.crossplane.io_subnetworkiambindings.yaml | 198 + ...et.crossplane.io_subnetworkiammembers.yaml | 195 + ...t.crossplane.io_subnetworkiampolicies.yaml | 178 + ...p.jet.crossplane.io_targetgrpcproxies.yaml | 205 + ...p.jet.crossplane.io_targethttpproxies.yaml | 197 + ....jet.crossplane.io_targethttpsproxies.yaml | 218 + ...gcp.jet.crossplane.io_targetinstances.yaml | 201 + ...ute.gcp.jet.crossplane.io_targetpools.yaml | 210 + ...cp.jet.crossplane.io_targetsslproxies.yaml | 209 + ...cp.jet.crossplane.io_targettcpproxies.yaml | 201 + ...compute.gcp.jet.crossplane.io_urlmaps.yaml | 2705 ++ ...ute.gcp.jet.crossplane.io_vpngateways.yaml | 195 + ...pute.gcp.jet.crossplane.io_vpntunnels.yaml | 272 + ...iner.gcp.jet.crossplane.io_registries.yaml | 175 + ...ranalysis.gcp.jet.crossplane.io_notes.yaml | 244 + ...sis.gcp.jet.crossplane.io_occurrences.yaml | 245 + ...catalog.gcp.jet.crossplane.io_entries.yaml | 286 + ...t.crossplane.io_entrygroupiambindings.yaml | 198 + ...et.crossplane.io_entrygroupiammembers.yaml | 195 + ...t.crossplane.io_entrygroupiampolicies.yaml | 178 + ...log.gcp.jet.crossplane.io_entrygroups.yaml | 186 + ...atacatalog.gcp.jet.crossplane.io_tags.yaml | 219 + ....crossplane.io_tagtemplateiambindings.yaml | 198 + ...t.crossplane.io_tagtemplateiammembers.yaml | 196 + ....crossplane.io_tagtemplateiampolicies.yaml | 179 + ...og.gcp.jet.crossplane.io_tagtemplates.yaml | 255 + .../dataflow.gcp.jet.crossplane.io_jobs.yaml | 259 + ...jet.crossplane.io_deidentifytemplates.yaml | 794 + ...cp.jet.crossplane.io_inspecttemplates.yaml | 653 + ...ion.gcp.jet.crossplane.io_jobtriggers.yaml | 531 + ...gcp.jet.crossplane.io_storedinfotypes.yaml | 314 + ...jet.crossplane.io_autoscalingpolicies.yaml | 333 + ....jet.crossplane.io_clusteriambindings.yaml | 196 + ...p.jet.crossplane.io_clusteriammembers.yaml | 194 + ....jet.crossplane.io_clusteriampolicies.yaml | 177 + ...taproc.gcp.jet.crossplane.io_clusters.yaml | 663 + ....gcp.jet.crossplane.io_jobiambindings.yaml | 196 + ...c.gcp.jet.crossplane.io_jobiammembers.yaml | 194 + ....gcp.jet.crossplane.io_jobiampolicies.yaml | 177 + .../dataproc.gcp.jet.crossplane.io_jobs.yaml | 603 + ...p.jet.crossplane.io_workflowtemplates.yaml | 1784 + ...tastore.gcp.jet.crossplane.io_indices.yaml | 193 + ...ger.gcp.jet.crossplane.io_deployments.yaml | 261 + ...alogflow.gcp.jet.crossplane.io_agents.yaml | 244 + ...low.gcp.jet.crossplane.io_entitytypes.yaml | 215 + ...ow.gcp.jet.crossplane.io_fulfillments.yaml | 218 + ...logflow.gcp.jet.crossplane.io_intents.yaml | 242 + ...ogflowcx.gcp.jet.crossplane.io_agents.yaml | 235 + ...wcx.gcp.jet.crossplane.io_entitytypes.yaml | 249 + ...cx.gcp.jet.crossplane.io_environments.yaml | 199 + ...logflowcx.gcp.jet.crossplane.io_flows.yaml | 396 + ...gflowcx.gcp.jet.crossplane.io_intents.yaml | 298 + ...logflowcx.gcp.jet.crossplane.io_pages.yaml | 513 + ...flowcx.gcp.jet.crossplane.io_versions.yaml | 188 + ...ns.gcp.jet.crossplane.io_managedzones.yaml | 338 + .../dns.gcp.jet.crossplane.io_policies.yaml | 233 + .../dns.gcp.jet.crossplane.io_recordsets.yaml | 198 + ....jet.crossplane.io_serviceiambindings.yaml | 192 + ...p.jet.crossplane.io_serviceiammembers.yaml | 190 + ....jet.crossplane.io_serviceiampolicies.yaml | 173 + ...points.gcp.jet.crossplane.io_services.yaml | 224 + ...ntacts.gcp.jet.crossplane.io_contacts.yaml | 190 + ...entarc.gcp.jet.crossplane.io_triggers.yaml | 290 + ...store.gcp.jet.crossplane.io_instances.yaml | 240 + ...store.gcp.jet.crossplane.io_documents.yaml | 193 + ...restore.gcp.jet.crossplane.io_indices.yaml | 207 + ....jet.crossplane.io_gameserverclusters.yaml | 223 + ...p.jet.crossplane.io_gameserverconfigs.yaml | 271 + ...plane.io_gameserverdeploymentrollouts.yaml | 206 + ...t.crossplane.io_gameserverdeployments.yaml | 187 + ...services.gcp.jet.crossplane.io_realms.yaml | 193 + ...hub.gcp.jet.crossplane.io_memberships.yaml | 219 + ...crossplane.io_consentstoreiambindings.yaml | 197 + ....crossplane.io_consentstoreiammembers.yaml | 195 + ...crossplane.io_consentstoreiampolicies.yaml | 178 + ...e.gcp.jet.crossplane.io_consentstores.yaml | 200 + ....jet.crossplane.io_datasetiambindings.yaml | 192 + ...p.jet.crossplane.io_datasetiammembers.yaml | 190 + ....jet.crossplane.io_datasetiampolicies.yaml | 173 + ...thcare.gcp.jet.crossplane.io_datasets.yaml | 184 + ...t.crossplane.io_dicomstoreiambindings.yaml | 194 + ...et.crossplane.io_dicomstoreiammembers.yaml | 191 + ...t.crossplane.io_dicomstoreiampolicies.yaml | 174 + ...are.gcp.jet.crossplane.io_dicomstores.yaml | 214 + ...et.crossplane.io_fhirstoreiambindings.yaml | 193 + ...jet.crossplane.io_fhirstoreiammembers.yaml | 191 + ...et.crossplane.io_fhirstoreiampolicies.yaml | 174 + ...care.gcp.jet.crossplane.io_fhirstores.yaml | 341 + ...t.crossplane.io_hl7v2storeiambindings.yaml | 194 + ...et.crossplane.io_hl7v2storeiammembers.yaml | 191 + ...t.crossplane.io_hl7v2storeiampolicies.yaml | 174 + ...are.gcp.jet.crossplane.io_hl7v2stores.yaml | 288 + ...splane.io_appengineserviceiambindings.yaml | 200 + ...ssplane.io_appengineserviceiammembers.yaml | 198 + ...splane.io_appengineserviceiampolicies.yaml | 181 + ...splane.io_appengineversioniambindings.yaml | 203 + ...ssplane.io_appengineversioniammembers.yaml | 201 + ...splane.io_appengineversioniampolicies.yaml | 184 + .../iap.gcp.jet.crossplane.io_brands.yaml | 184 + .../iap.gcp.jet.crossplane.io_clients.yaml | 176 + ...p.jet.crossplane.io_tunneliambindings.yaml | 191 + ...cp.jet.crossplane.io_tunneliammembers.yaml | 189 + ...p.jet.crossplane.io_tunneliampolicies.yaml | 172 + ...ossplane.io_tunnelinstanceiambindings.yaml | 199 + ...rossplane.io_tunnelinstanceiammembers.yaml | 197 + ...ossplane.io_tunnelinstanceiampolicies.yaml | 180 + ...plane.io_webbackendserviceiambindings.yaml | 197 + ...splane.io_webbackendserviceiammembers.yaml | 195 + ...plane.io_webbackendserviceiampolicies.yaml | 178 + ....gcp.jet.crossplane.io_webiambindings.yaml | 191 + ...p.gcp.jet.crossplane.io_webiammembers.yaml | 189 + ....gcp.jet.crossplane.io_webiampolicies.yaml | 172 + ...splane.io_webtypeappengineiambindings.yaml | 197 + ...ssplane.io_webtypeappengineiammembers.yaml | 195 + ...splane.io_webtypeappengineiampolicies.yaml | 178 + ...ossplane.io_webtypecomputeiambindings.yaml | 194 + ...rossplane.io_webtypecomputeiammembers.yaml | 192 + ...ossplane.io_webtypecomputeiampolicies.yaml | 175 + ...ssplane.io_defaultsupportedidpconfigs.yaml | 190 + ....jet.crossplane.io_inboundsamlconfigs.yaml | 230 + ...gcp.jet.crossplane.io_oauthidpconfigs.yaml | 189 + ...e.io_tenantdefaultsupportedidpconfigs.yaml | 195 + ...rossplane.io_tenantinboundsamlconfigs.yaml | 241 + ...t.crossplane.io_tenantoauthidpconfigs.yaml | 197 + ...latform.gcp.jet.crossplane.io_tenants.yaml | 185 + ...et.crossplane.io_cryptokeyiambindings.yaml | 193 + ...jet.crossplane.io_cryptokeyiammembers.yaml | 191 + ...et.crossplane.io_cryptokeyiampolicies.yaml | 174 + .../kms.gcp.jet.crossplane.io_cryptokeys.yaml | 226 + ....jet.crossplane.io_keyringiambindings.yaml | 192 + ...p.jet.crossplane.io_keyringiammembers.yaml | 190 + ....jet.crossplane.io_keyringiampolicies.yaml | 173 + ...p.jet.crossplane.io_keyringimportjobs.yaml | 209 + .../kms.gcp.jet.crossplane.io_keyrings.yaml | 176 + ...p.jet.crossplane.io_secretciphertexts.yaml | 208 + ...splane.io_billingaccountbucketconfigs.yaml | 196 + ...rossplane.io_billingaccountexclusions.yaml | 187 + ...jet.crossplane.io_billingaccountsinks.yaml | 243 + ...jet.crossplane.io_folderbucketconfigs.yaml | 194 + ...cp.jet.crossplane.io_folderexclusions.yaml | 184 + ...ing.gcp.jet.crossplane.io_foldersinks.yaml | 249 + ...logging.gcp.jet.crossplane.io_metrics.yaml | 332 + ...ossplane.io_organizationbucketconfigs.yaml | 196 + ....crossplane.io_organizationexclusions.yaml | 186 + ...p.jet.crossplane.io_organizationsinks.yaml | 249 + ...et.crossplane.io_projectbucketconfigs.yaml | 194 + ...p.jet.crossplane.io_projectexclusions.yaml | 183 + ...ng.gcp.jet.crossplane.io_projectsinks.yaml | 250 + ...cache.gcp.jet.crossplane.io_instances.yaml | 259 + ...mlengine.gcp.jet.crossplane.io_models.yaml | 209 + ....gcp.jet.crossplane.io_customservices.yaml | 185 + ...ring.gcp.jet.crossplane.io_dashboards.yaml | 174 + ...nitoring.gcp.jet.crossplane.io_groups.yaml | 189 + ...p.jet.crossplane.io_metricdescriptors.yaml | 282 + ...onitoring.gcp.jet.crossplane.io_sloes.yaml | 649 + ...p.jet.crossplane.io_connectivitytests.yaml | 291 + ...cp.jet.crossplane.io_edgecachekeysets.yaml | 227 + ...cp.jet.crossplane.io_edgecacheorigins.yaml | 286 + ...p.jet.crossplane.io_edgecacheservices.yaml | 994 + ...ks.gcp.jet.crossplane.io_environments.yaml | 225 + ...jet.crossplane.io_instanceiambindings.yaml | 197 + ....jet.crossplane.io_instanceiammembers.yaml | 194 + ...jet.crossplane.io_instanceiampolicies.yaml | 177 + ...books.gcp.jet.crossplane.io_instances.yaml | 383 + ...books.gcp.jet.crossplane.io_locations.yaml | 171 + ...policy.gcp.jet.crossplane.io_policies.yaml | 289 + ...cp.jet.crossplane.io_patchdeployments.yaml | 792 + ...n.gcp.jet.crossplane.io_sshpublickeys.yaml | 182 + ...p.jet.crossplane.io_capooliambindings.yaml | 196 + ...cp.jet.crossplane.io_capooliammembers.yaml | 194 + ...p.jet.crossplane.io_capooliampolicies.yaml | 177 + ...ivateca.gcp.jet.crossplane.io_capools.yaml | 559 + ....crossplane.io_certificateauthorities.yaml | 559 + ...ca.gcp.jet.crossplane.io_certificates.yaml | 729 + ...et.crossplane.io_certificatetemplates.yaml | 476 + ...cp.jet.crossplane.io_litereservations.yaml | 181 + ...p.jet.crossplane.io_litesubscriptions.yaml | 195 + ...bsub.gcp.jet.crossplane.io_litetopics.yaml | 239 + .../pubsub.gcp.jet.crossplane.io_schemas.yaml | 182 + ...crossplane.io_subscriptioniambindings.yaml | 196 + ....crossplane.io_subscriptioniammembers.yaml | 194 + ...crossplane.io_subscriptioniampolicies.yaml | 177 + ...b.gcp.jet.crossplane.io_subscriptions.yaml | 377 + ...cp.jet.crossplane.io_topiciambindings.yaml | 194 + ...gcp.jet.crossplane.io_topiciammembers.yaml | 192 + ...cp.jet.crossplane.io_topiciampolicies.yaml | 175 + .../pubsub.gcp.jet.crossplane.io_topics.yaml | 225 + ...redis.gcp.jet.crossplane.io_instances.yaml | 275 + ...cemanager.gcp.jet.crossplane.io_liens.yaml | 197 + ...jet.crossplane.io_notificationconfigs.yaml | 215 + .../scc.gcp.jet.crossplane.io_sources.yaml | 184 + ...p.jet.crossplane.io_secretiambindings.yaml | 194 + ...cp.jet.crossplane.io_secretiammembers.yaml | 192 + ...p.jet.crossplane.io_secretiampolicies.yaml | 175 + ...manager.gcp.jet.crossplane.io_secrets.yaml | 291 + ....gcp.jet.crossplane.io_secretversions.yaml | 196 + ...ing.gcp.jet.crossplane.io_connections.yaml | 187 + ...po.gcp.jet.crossplane.io_repositories.yaml | 204 + ...t.crossplane.io_repositoryiambindings.yaml | 196 + ...et.crossplane.io_repositoryiammembers.yaml | 193 + ...t.crossplane.io_repositoryiampolicies.yaml | 176 + ...jet.crossplane.io_databaseiambindings.yaml | 198 + ....jet.crossplane.io_databaseiammembers.yaml | 195 + ...jet.crossplane.io_databaseiampolicies.yaml | 178 + ...anner.gcp.jet.crossplane.io_databases.yaml | 203 + ...jet.crossplane.io_instanceiambindings.yaml | 195 + ....jet.crossplane.io_instanceiammembers.yaml | 192 + ...jet.crossplane.io_instanceiampolicies.yaml | 175 + ...anner.gcp.jet.crossplane.io_instances.yaml | 211 + ...et.crossplane.io_bucketaccesscontrols.yaml | 188 + ...rage.gcp.jet.crossplane.io_bucketacls.yaml | 183 + ...p.jet.crossplane.io_bucketiambindings.yaml | 192 + ...cp.jet.crossplane.io_bucketiammembers.yaml | 190 + ...p.jet.crossplane.io_bucketiampolicies.yaml | 173 + ...e.gcp.jet.crossplane.io_bucketobjects.yaml | 284 + ...splane.io_defaultobjectaccesscontrols.yaml | 202 + ...p.jet.crossplane.io_defaultobjectacls.yaml | 172 + ...torage.gcp.jet.crossplane.io_hmackeys.yaml | 183 + ...e.gcp.jet.crossplane.io_notifications.yaml | 206 + ...et.crossplane.io_objectaccesscontrols.yaml | 202 + ...rage.gcp.jet.crossplane.io_objectacls.yaml | 177 + ...getransfer.gcp.jet.crossplane.io_jobs.yaml | 504 + ...ags.gcp.jet.crossplane.io_tagbindings.yaml | 177 + ...p.jet.crossplane.io_tagkeyiambindings.yaml | 192 + ...cp.jet.crossplane.io_tagkeyiammembers.yaml | 190 + ...p.jet.crossplane.io_tagkeyiampolicies.yaml | 173 + .../tags.gcp.jet.crossplane.io_tagkeys.yaml | 190 + ...jet.crossplane.io_tagvalueiambindings.yaml | 193 + ....jet.crossplane.io_tagvalueiammembers.yaml | 190 + ...jet.crossplane.io_tagvalueiampolicies.yaml | 173 + .../tags.gcp.jet.crossplane.io_tagvalues.yaml | 191 + .../crds/tpu.gcp.jet.crossplane.io_nodes.yaml | 241 + ...rtexai.gcp.jet.crossplane.io_datasets.yaml | 210 + ...cess.gcp.jet.crossplane.io_connectors.yaml | 197 + ...flows.gcp.jet.crossplane.io_workflows.yaml | 201 + 1948 files changed, 404973 insertions(+), 115 deletions(-) create mode 100755 apis/accessapproval/v1alpha1/zz_foldersettings_terraformed.go create mode 100755 apis/accessapproval/v1alpha1/zz_foldersettings_types.go create mode 100644 apis/accessapproval/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/accessapproval/v1alpha1/zz_generated.managed.go create mode 100644 apis/accessapproval/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/accessapproval/v1alpha1/zz_groupversion_info.go create mode 100755 apis/accessapproval/v1alpha1/zz_organizationsettings_terraformed.go create mode 100755 apis/accessapproval/v1alpha1/zz_organizationsettings_types.go create mode 100755 apis/accessapproval/v1alpha1/zz_projectsettings_terraformed.go create mode 100755 apis/accessapproval/v1alpha1/zz_projectsettings_types.go create mode 100755 apis/accesscontextmanager/v1alpha1/zz_accesslevel_terraformed.go create mode 100755 apis/accesscontextmanager/v1alpha1/zz_accesslevel_types.go create mode 100755 apis/accesscontextmanager/v1alpha1/zz_accesslevelcondition_terraformed.go create mode 100755 apis/accesscontextmanager/v1alpha1/zz_accesslevelcondition_types.go create mode 100755 apis/accesscontextmanager/v1alpha1/zz_accesspolicy_terraformed.go create mode 100755 apis/accesscontextmanager/v1alpha1/zz_accesspolicy_types.go create mode 100755 apis/accesscontextmanager/v1alpha1/zz_gcpuseraccessbinding_terraformed.go create mode 100755 apis/accesscontextmanager/v1alpha1/zz_gcpuseraccessbinding_types.go create mode 100644 apis/accesscontextmanager/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/accesscontextmanager/v1alpha1/zz_generated.managed.go create mode 100644 apis/accesscontextmanager/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/accesscontextmanager/v1alpha1/zz_groupversion_info.go create mode 100755 apis/accesscontextmanager/v1alpha1/zz_serviceperimeter_terraformed.go create mode 100755 apis/accesscontextmanager/v1alpha1/zz_serviceperimeter_types.go create mode 100755 apis/accesscontextmanager/v1alpha1/zz_serviceperimeterresource_terraformed.go create mode 100755 apis/accesscontextmanager/v1alpha1/zz_serviceperimeterresource_types.go create mode 100755 apis/activedirectory/v1alpha1/zz_domain_terraformed.go create mode 100755 apis/activedirectory/v1alpha1/zz_domain_types.go create mode 100755 apis/activedirectory/v1alpha1/zz_domaintrust_terraformed.go create mode 100755 apis/activedirectory/v1alpha1/zz_domaintrust_types.go create mode 100644 apis/activedirectory/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/activedirectory/v1alpha1/zz_generated.managed.go create mode 100644 apis/activedirectory/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/activedirectory/v1alpha1/zz_groupversion_info.go create mode 100755 apis/apigee/v1alpha1/zz_envgroup_terraformed.go create mode 100755 apis/apigee/v1alpha1/zz_envgroup_types.go create mode 100755 apis/apigee/v1alpha1/zz_envgroupattachment_terraformed.go create mode 100755 apis/apigee/v1alpha1/zz_envgroupattachment_types.go create mode 100755 apis/apigee/v1alpha1/zz_environment_terraformed.go create mode 100755 apis/apigee/v1alpha1/zz_environment_types.go create mode 100644 apis/apigee/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/apigee/v1alpha1/zz_generated.managed.go create mode 100644 apis/apigee/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/apigee/v1alpha1/zz_groupversion_info.go create mode 100755 apis/apigee/v1alpha1/zz_instance_terraformed.go create mode 100755 apis/apigee/v1alpha1/zz_instance_types.go create mode 100755 apis/apigee/v1alpha1/zz_instanceattachment_terraformed.go create mode 100755 apis/apigee/v1alpha1/zz_instanceattachment_types.go create mode 100755 apis/apigee/v1alpha1/zz_organization_terraformed.go create mode 100755 apis/apigee/v1alpha1/zz_organization_types.go create mode 100755 apis/appengine/v1alpha1/zz_application_terraformed.go create mode 100755 apis/appengine/v1alpha1/zz_application_types.go create mode 100755 apis/appengine/v1alpha1/zz_applicationurldispatchrules_terraformed.go create mode 100755 apis/appengine/v1alpha1/zz_applicationurldispatchrules_types.go create mode 100755 apis/appengine/v1alpha1/zz_domainmapping_terraformed.go create mode 100755 apis/appengine/v1alpha1/zz_domainmapping_types.go create mode 100755 apis/appengine/v1alpha1/zz_firewallrule_terraformed.go create mode 100755 apis/appengine/v1alpha1/zz_firewallrule_types.go create mode 100755 apis/appengine/v1alpha1/zz_flexibleappversion_terraformed.go create mode 100755 apis/appengine/v1alpha1/zz_flexibleappversion_types.go create mode 100644 apis/appengine/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/appengine/v1alpha1/zz_generated.managed.go create mode 100644 apis/appengine/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/appengine/v1alpha1/zz_groupversion_info.go create mode 100755 apis/appengine/v1alpha1/zz_servicenetworksettings_terraformed.go create mode 100755 apis/appengine/v1alpha1/zz_servicenetworksettings_types.go create mode 100755 apis/appengine/v1alpha1/zz_servicesplittraffic_terraformed.go create mode 100755 apis/appengine/v1alpha1/zz_servicesplittraffic_types.go create mode 100755 apis/appengine/v1alpha1/zz_standardappversion_terraformed.go create mode 100755 apis/appengine/v1alpha1/zz_standardappversion_types.go create mode 100644 apis/assuredworkloads/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/assuredworkloads/v1alpha1/zz_generated.managed.go create mode 100644 apis/assuredworkloads/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/assuredworkloads/v1alpha1/zz_groupversion_info.go create mode 100755 apis/assuredworkloads/v1alpha1/zz_workload_terraformed.go create mode 100755 apis/assuredworkloads/v1alpha1/zz_workload_types.go create mode 100755 apis/bigquery/v1alpha1/zz_dataset_terraformed.go create mode 100755 apis/bigquery/v1alpha1/zz_dataset_types.go create mode 100755 apis/bigquery/v1alpha1/zz_datasetaccess_terraformed.go create mode 100755 apis/bigquery/v1alpha1/zz_datasetaccess_types.go create mode 100755 apis/bigquery/v1alpha1/zz_datasetiambinding_terraformed.go create mode 100755 apis/bigquery/v1alpha1/zz_datasetiambinding_types.go create mode 100755 apis/bigquery/v1alpha1/zz_datasetiammember_terraformed.go create mode 100755 apis/bigquery/v1alpha1/zz_datasetiammember_types.go create mode 100755 apis/bigquery/v1alpha1/zz_datasetiampolicy_terraformed.go create mode 100755 apis/bigquery/v1alpha1/zz_datasetiampolicy_types.go create mode 100755 apis/bigquery/v1alpha1/zz_datatransferconfig_terraformed.go create mode 100755 apis/bigquery/v1alpha1/zz_datatransferconfig_types.go create mode 100644 apis/bigquery/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/bigquery/v1alpha1/zz_generated.managed.go create mode 100644 apis/bigquery/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/bigquery/v1alpha1/zz_groupversion_info.go create mode 100755 apis/bigquery/v1alpha1/zz_job_terraformed.go create mode 100755 apis/bigquery/v1alpha1/zz_job_types.go create mode 100755 apis/bigquery/v1alpha1/zz_reservation_terraformed.go create mode 100755 apis/bigquery/v1alpha1/zz_reservation_types.go create mode 100755 apis/bigquery/v1alpha1/zz_routine_terraformed.go create mode 100755 apis/bigquery/v1alpha1/zz_routine_types.go create mode 100755 apis/bigquery/v1alpha1/zz_table_terraformed.go create mode 100755 apis/bigquery/v1alpha1/zz_table_types.go create mode 100755 apis/bigquery/v1alpha1/zz_tableiambinding_terraformed.go create mode 100755 apis/bigquery/v1alpha1/zz_tableiambinding_types.go create mode 100755 apis/bigquery/v1alpha1/zz_tableiammember_terraformed.go create mode 100755 apis/bigquery/v1alpha1/zz_tableiammember_types.go create mode 100755 apis/bigquery/v1alpha1/zz_tableiampolicy_terraformed.go create mode 100755 apis/bigquery/v1alpha1/zz_tableiampolicy_types.go create mode 100755 apis/bigtable/v1alpha1/zz_appprofile_terraformed.go create mode 100755 apis/bigtable/v1alpha1/zz_appprofile_types.go create mode 100755 apis/bigtable/v1alpha1/zz_garbagecollectionpolicy_terraformed.go create mode 100755 apis/bigtable/v1alpha1/zz_garbagecollectionpolicy_types.go create mode 100644 apis/bigtable/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/bigtable/v1alpha1/zz_generated.managed.go create mode 100644 apis/bigtable/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/bigtable/v1alpha1/zz_groupversion_info.go create mode 100755 apis/bigtable/v1alpha1/zz_instance_terraformed.go create mode 100755 apis/bigtable/v1alpha1/zz_instance_types.go create mode 100755 apis/bigtable/v1alpha1/zz_instanceiambinding_terraformed.go create mode 100755 apis/bigtable/v1alpha1/zz_instanceiambinding_types.go create mode 100755 apis/bigtable/v1alpha1/zz_instanceiammember_terraformed.go create mode 100755 apis/bigtable/v1alpha1/zz_instanceiammember_types.go create mode 100755 apis/bigtable/v1alpha1/zz_instanceiampolicy_terraformed.go create mode 100755 apis/bigtable/v1alpha1/zz_instanceiampolicy_types.go create mode 100755 apis/bigtable/v1alpha1/zz_table_terraformed.go create mode 100755 apis/bigtable/v1alpha1/zz_table_types.go create mode 100755 apis/bigtable/v1alpha1/zz_tableiambinding_terraformed.go create mode 100755 apis/bigtable/v1alpha1/zz_tableiambinding_types.go create mode 100755 apis/bigtable/v1alpha1/zz_tableiammember_terraformed.go create mode 100755 apis/bigtable/v1alpha1/zz_tableiammember_types.go create mode 100755 apis/bigtable/v1alpha1/zz_tableiampolicy_terraformed.go create mode 100755 apis/bigtable/v1alpha1/zz_tableiampolicy_types.go create mode 100755 apis/billing/v1alpha1/zz_accountiambinding_terraformed.go create mode 100755 apis/billing/v1alpha1/zz_accountiambinding_types.go create mode 100755 apis/billing/v1alpha1/zz_accountiammember_terraformed.go create mode 100755 apis/billing/v1alpha1/zz_accountiammember_types.go create mode 100755 apis/billing/v1alpha1/zz_accountiampolicy_terraformed.go create mode 100755 apis/billing/v1alpha1/zz_accountiampolicy_types.go create mode 100755 apis/billing/v1alpha1/zz_budget_terraformed.go create mode 100755 apis/billing/v1alpha1/zz_budget_types.go create mode 100644 apis/billing/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/billing/v1alpha1/zz_generated.managed.go create mode 100644 apis/billing/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/billing/v1alpha1/zz_groupversion_info.go create mode 100755 apis/binaryauthorization/v1alpha1/zz_attestor_terraformed.go create mode 100755 apis/binaryauthorization/v1alpha1/zz_attestor_types.go create mode 100755 apis/binaryauthorization/v1alpha1/zz_attestoriambinding_terraformed.go create mode 100755 apis/binaryauthorization/v1alpha1/zz_attestoriambinding_types.go create mode 100755 apis/binaryauthorization/v1alpha1/zz_attestoriammember_terraformed.go create mode 100755 apis/binaryauthorization/v1alpha1/zz_attestoriammember_types.go create mode 100755 apis/binaryauthorization/v1alpha1/zz_attestoriampolicy_terraformed.go create mode 100755 apis/binaryauthorization/v1alpha1/zz_attestoriampolicy_types.go create mode 100644 apis/binaryauthorization/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/binaryauthorization/v1alpha1/zz_generated.managed.go create mode 100644 apis/binaryauthorization/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/binaryauthorization/v1alpha1/zz_groupversion_info.go create mode 100755 apis/binaryauthorization/v1alpha1/zz_policy_terraformed.go create mode 100755 apis/binaryauthorization/v1alpha1/zz_policy_types.go create mode 100755 apis/cloudasset/v1alpha1/zz_folderfeed_terraformed.go create mode 100755 apis/cloudasset/v1alpha1/zz_folderfeed_types.go create mode 100644 apis/cloudasset/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/cloudasset/v1alpha1/zz_generated.managed.go create mode 100644 apis/cloudasset/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/cloudasset/v1alpha1/zz_groupversion_info.go create mode 100755 apis/cloudasset/v1alpha1/zz_organizationfeed_terraformed.go create mode 100755 apis/cloudasset/v1alpha1/zz_organizationfeed_types.go create mode 100755 apis/cloudasset/v1alpha1/zz_projectfeed_terraformed.go create mode 100755 apis/cloudasset/v1alpha1/zz_projectfeed_types.go create mode 100644 apis/cloudbuild/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/cloudbuild/v1alpha1/zz_generated.managed.go create mode 100644 apis/cloudbuild/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/cloudbuild/v1alpha1/zz_groupversion_info.go create mode 100755 apis/cloudbuild/v1alpha1/zz_trigger_terraformed.go create mode 100755 apis/cloudbuild/v1alpha1/zz_trigger_types.go create mode 100755 apis/cloudfunctions/v1alpha1/zz_function_terraformed.go create mode 100755 apis/cloudfunctions/v1alpha1/zz_function_types.go create mode 100755 apis/cloudfunctions/v1alpha1/zz_functioniambinding_terraformed.go create mode 100755 apis/cloudfunctions/v1alpha1/zz_functioniambinding_types.go create mode 100755 apis/cloudfunctions/v1alpha1/zz_functioniammember_terraformed.go create mode 100755 apis/cloudfunctions/v1alpha1/zz_functioniammember_types.go create mode 100755 apis/cloudfunctions/v1alpha1/zz_functioniampolicy_terraformed.go create mode 100755 apis/cloudfunctions/v1alpha1/zz_functioniampolicy_types.go create mode 100644 apis/cloudfunctions/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/cloudfunctions/v1alpha1/zz_generated.managed.go create mode 100644 apis/cloudfunctions/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/cloudfunctions/v1alpha1/zz_groupversion_info.go create mode 100644 apis/cloudidentity/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/cloudidentity/v1alpha1/zz_generated.managed.go create mode 100644 apis/cloudidentity/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/cloudidentity/v1alpha1/zz_group_terraformed.go create mode 100755 apis/cloudidentity/v1alpha1/zz_group_types.go create mode 100755 apis/cloudidentity/v1alpha1/zz_groupmembership_terraformed.go create mode 100755 apis/cloudidentity/v1alpha1/zz_groupmembership_types.go create mode 100755 apis/cloudidentity/v1alpha1/zz_groupversion_info.go create mode 100755 apis/cloudiot/v1alpha1/zz_device_terraformed.go create mode 100755 apis/cloudiot/v1alpha1/zz_device_types.go create mode 100644 apis/cloudiot/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/cloudiot/v1alpha1/zz_generated.managed.go create mode 100644 apis/cloudiot/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/cloudiot/v1alpha1/zz_groupversion_info.go create mode 100755 apis/cloudiot/v1alpha1/zz_registry_terraformed.go create mode 100755 apis/cloudiot/v1alpha1/zz_registry_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_billingsubaccount_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_billingsubaccount_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_folder_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_folder_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_folderiamauditconfig_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_folderiamauditconfig_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_folderiambinding_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_folderiambinding_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_folderiammember_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_folderiammember_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_folderiampolicy_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_folderiampolicy_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_folderorganizationpolicy_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_folderorganizationpolicy_types.go create mode 100644 apis/cloudplatform/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/cloudplatform/v1alpha1/zz_generated.managed.go create mode 100644 apis/cloudplatform/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/cloudplatform/v1alpha1/zz_groupversion_info.go create mode 100755 apis/cloudplatform/v1alpha1/zz_organizationiamauditconfig_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_organizationiamauditconfig_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_organizationiambinding_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_organizationiambinding_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_organizationiamcustomrole_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_organizationiamcustomrole_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_organizationiammember_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_organizationiammember_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_organizationiampolicy_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_organizationiampolicy_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_organizationpolicy_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_organizationpolicy_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectdefaultserviceaccounts_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectdefaultserviceaccounts_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectiamauditconfig_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectiamauditconfig_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectiambinding_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectiambinding_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectiamcustomrole_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectiamcustomrole_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectiammember_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectiammember_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectiampolicy_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectiampolicy_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectorganizationpolicy_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectorganizationpolicy_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectservice_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectservice_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectusageexportbucket_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_projectusageexportbucket_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_serviceaccountiambinding_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_serviceaccountiambinding_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_serviceaccountiammember_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_serviceaccountiammember_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_serviceaccountiampolicy_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_serviceaccountiampolicy_types.go create mode 100755 apis/cloudplatform/v1alpha1/zz_servicenetworkingpeereddnsdomain_terraformed.go create mode 100755 apis/cloudplatform/v1alpha1/zz_servicenetworkingpeereddnsdomain_types.go create mode 100755 apis/cloudplatform/v1alpha2/zz_project_terraformed.go create mode 100755 apis/cloudplatform/v1alpha2/zz_project_types.go create mode 100755 apis/cloudrun/v1alpha1/zz_domainmapping_terraformed.go create mode 100755 apis/cloudrun/v1alpha1/zz_domainmapping_types.go create mode 100644 apis/cloudrun/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/cloudrun/v1alpha1/zz_generated.managed.go create mode 100644 apis/cloudrun/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/cloudrun/v1alpha1/zz_groupversion_info.go create mode 100755 apis/cloudrun/v1alpha1/zz_service_terraformed.go create mode 100755 apis/cloudrun/v1alpha1/zz_service_types.go create mode 100755 apis/cloudrun/v1alpha1/zz_serviceiambinding_terraformed.go create mode 100755 apis/cloudrun/v1alpha1/zz_serviceiambinding_types.go create mode 100755 apis/cloudrun/v1alpha1/zz_serviceiammember_terraformed.go create mode 100755 apis/cloudrun/v1alpha1/zz_serviceiammember_types.go create mode 100755 apis/cloudrun/v1alpha1/zz_serviceiampolicy_terraformed.go create mode 100755 apis/cloudrun/v1alpha1/zz_serviceiampolicy_types.go create mode 100644 apis/cloudscheduler/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/cloudscheduler/v1alpha1/zz_generated.managed.go create mode 100644 apis/cloudscheduler/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/cloudscheduler/v1alpha1/zz_groupversion_info.go create mode 100755 apis/cloudscheduler/v1alpha1/zz_job_terraformed.go create mode 100755 apis/cloudscheduler/v1alpha1/zz_job_types.go create mode 100644 apis/cloudtasks/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/cloudtasks/v1alpha1/zz_generated.managed.go create mode 100644 apis/cloudtasks/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/cloudtasks/v1alpha1/zz_groupversion_info.go create mode 100755 apis/cloudtasks/v1alpha1/zz_queue_terraformed.go create mode 100755 apis/cloudtasks/v1alpha1/zz_queue_types.go create mode 100755 apis/composer/v1alpha1/zz_environment_terraformed.go create mode 100755 apis/composer/v1alpha1/zz_environment_types.go create mode 100644 apis/composer/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/composer/v1alpha1/zz_generated.managed.go create mode 100644 apis/composer/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/composer/v1alpha1/zz_groupversion_info.go create mode 100755 apis/compute/v1alpha1/zz_attacheddisk_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_attacheddisk_types.go create mode 100755 apis/compute/v1alpha1/zz_autoscaler_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_autoscaler_types.go create mode 100755 apis/compute/v1alpha1/zz_backendbucket_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_backendbucket_types.go create mode 100755 apis/compute/v1alpha1/zz_backendbucketsignedurlkey_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_backendbucketsignedurlkey_types.go create mode 100755 apis/compute/v1alpha1/zz_backendservice_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_backendservice_types.go create mode 100755 apis/compute/v1alpha1/zz_backendservicesignedurlkey_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_backendservicesignedurlkey_types.go create mode 100755 apis/compute/v1alpha1/zz_disk_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_disk_types.go create mode 100755 apis/compute/v1alpha1/zz_diskiambinding_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_diskiambinding_types.go create mode 100755 apis/compute/v1alpha1/zz_diskiammember_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_diskiammember_types.go create mode 100755 apis/compute/v1alpha1/zz_diskiampolicy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_diskiampolicy_types.go create mode 100755 apis/compute/v1alpha1/zz_diskresourcepolicyattachment_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_diskresourcepolicyattachment_types.go create mode 100755 apis/compute/v1alpha1/zz_externalvpngateway_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_externalvpngateway_types.go create mode 100755 apis/compute/v1alpha1/zz_firewallpolicy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_firewallpolicy_types.go create mode 100755 apis/compute/v1alpha1/zz_firewallpolicyassociation_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_firewallpolicyassociation_types.go create mode 100755 apis/compute/v1alpha1/zz_firewallpolicyrule_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_firewallpolicyrule_types.go create mode 100755 apis/compute/v1alpha1/zz_forwardingrule_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_forwardingrule_types.go create mode 100644 apis/compute/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/compute/v1alpha1/zz_generated.managed.go create mode 100644 apis/compute/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/compute/v1alpha1/zz_globaladdress_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_globaladdress_types.go create mode 100755 apis/compute/v1alpha1/zz_globalforwardingrule_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_globalforwardingrule_types.go create mode 100755 apis/compute/v1alpha1/zz_globalnetworkendpoint_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_globalnetworkendpoint_types.go create mode 100755 apis/compute/v1alpha1/zz_globalnetworkendpointgroup_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_globalnetworkendpointgroup_types.go create mode 100755 apis/compute/v1alpha1/zz_groupversion_info.go create mode 100755 apis/compute/v1alpha1/zz_havpngateway_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_havpngateway_types.go create mode 100755 apis/compute/v1alpha1/zz_healthcheck_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_healthcheck_types.go create mode 100755 apis/compute/v1alpha1/zz_httphealthcheck_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_httphealthcheck_types.go create mode 100755 apis/compute/v1alpha1/zz_httpshealthcheck_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_httpshealthcheck_types.go create mode 100755 apis/compute/v1alpha1/zz_image_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_image_types.go create mode 100755 apis/compute/v1alpha1/zz_imageiambinding_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_imageiambinding_types.go create mode 100755 apis/compute/v1alpha1/zz_imageiammember_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_imageiammember_types.go create mode 100755 apis/compute/v1alpha1/zz_imageiampolicy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_imageiampolicy_types.go create mode 100755 apis/compute/v1alpha1/zz_instancegroup_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_instancegroup_types.go create mode 100755 apis/compute/v1alpha1/zz_instancegroupmanager_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_instancegroupmanager_types.go create mode 100755 apis/compute/v1alpha1/zz_instancegroupnamedport_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_instancegroupnamedport_types.go create mode 100755 apis/compute/v1alpha1/zz_instanceiambinding_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_instanceiambinding_types.go create mode 100755 apis/compute/v1alpha1/zz_instanceiammember_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_instanceiammember_types.go create mode 100755 apis/compute/v1alpha1/zz_instanceiampolicy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_instanceiampolicy_types.go create mode 100755 apis/compute/v1alpha1/zz_interconnectattachment_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_interconnectattachment_types.go create mode 100755 apis/compute/v1alpha1/zz_networkendpoint_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_networkendpoint_types.go create mode 100755 apis/compute/v1alpha1/zz_networkendpointgroup_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_networkendpointgroup_types.go create mode 100755 apis/compute/v1alpha1/zz_networkpeering_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_networkpeering_types.go create mode 100755 apis/compute/v1alpha1/zz_networkpeeringroutesconfig_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_networkpeeringroutesconfig_types.go create mode 100755 apis/compute/v1alpha1/zz_nodegroup_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_nodegroup_types.go create mode 100755 apis/compute/v1alpha1/zz_nodetemplate_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_nodetemplate_types.go create mode 100755 apis/compute/v1alpha1/zz_packetmirroring_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_packetmirroring_types.go create mode 100755 apis/compute/v1alpha1/zz_perinstanceconfig_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_perinstanceconfig_types.go create mode 100755 apis/compute/v1alpha1/zz_projectdefaultnetworktier_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_projectdefaultnetworktier_types.go create mode 100755 apis/compute/v1alpha1/zz_projectmetadata_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_projectmetadata_types.go create mode 100755 apis/compute/v1alpha1/zz_projectmetadataitem_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_projectmetadataitem_types.go create mode 100755 apis/compute/v1alpha1/zz_regionautoscaler_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regionautoscaler_types.go create mode 100755 apis/compute/v1alpha1/zz_regionbackendservice_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regionbackendservice_types.go create mode 100755 apis/compute/v1alpha1/zz_regiondisk_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regiondisk_types.go create mode 100755 apis/compute/v1alpha1/zz_regiondiskiambinding_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regiondiskiambinding_types.go create mode 100755 apis/compute/v1alpha1/zz_regiondiskiammember_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regiondiskiammember_types.go create mode 100755 apis/compute/v1alpha1/zz_regiondiskiampolicy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regiondiskiampolicy_types.go create mode 100755 apis/compute/v1alpha1/zz_regiondiskresourcepolicyattachment_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regiondiskresourcepolicyattachment_types.go create mode 100755 apis/compute/v1alpha1/zz_regionhealthcheck_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regionhealthcheck_types.go create mode 100755 apis/compute/v1alpha1/zz_regioninstancegroupmanager_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regioninstancegroupmanager_types.go create mode 100755 apis/compute/v1alpha1/zz_regionnetworkendpointgroup_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regionnetworkendpointgroup_types.go create mode 100755 apis/compute/v1alpha1/zz_regionperinstanceconfig_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regionperinstanceconfig_types.go create mode 100755 apis/compute/v1alpha1/zz_regionsslcertificate_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regionsslcertificate_types.go create mode 100755 apis/compute/v1alpha1/zz_regiontargethttpproxy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regiontargethttpproxy_types.go create mode 100755 apis/compute/v1alpha1/zz_regiontargethttpsproxy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regiontargethttpsproxy_types.go create mode 100755 apis/compute/v1alpha1/zz_regionurlmap_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_regionurlmap_types.go create mode 100755 apis/compute/v1alpha1/zz_reservation_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_reservation_types.go create mode 100755 apis/compute/v1alpha1/zz_resourcepolicy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_resourcepolicy_types.go create mode 100755 apis/compute/v1alpha1/zz_route_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_route_types.go create mode 100755 apis/compute/v1alpha1/zz_routerinterface_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_routerinterface_types.go create mode 100755 apis/compute/v1alpha1/zz_routerpeer_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_routerpeer_types.go create mode 100755 apis/compute/v1alpha1/zz_securitypolicy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_securitypolicy_types.go create mode 100755 apis/compute/v1alpha1/zz_serviceattachment_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_serviceattachment_types.go create mode 100755 apis/compute/v1alpha1/zz_sharedvpchostproject_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_sharedvpchostproject_types.go create mode 100755 apis/compute/v1alpha1/zz_sharedvpcserviceproject_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_sharedvpcserviceproject_types.go create mode 100755 apis/compute/v1alpha1/zz_snapshot_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_snapshot_types.go create mode 100755 apis/compute/v1alpha1/zz_sslcertificate_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_sslcertificate_types.go create mode 100755 apis/compute/v1alpha1/zz_sslpolicy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_sslpolicy_types.go create mode 100755 apis/compute/v1alpha1/zz_subnetworkiambinding_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_subnetworkiambinding_types.go create mode 100755 apis/compute/v1alpha1/zz_subnetworkiammember_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_subnetworkiammember_types.go create mode 100755 apis/compute/v1alpha1/zz_subnetworkiampolicy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_subnetworkiampolicy_types.go create mode 100755 apis/compute/v1alpha1/zz_targetgrpcproxy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_targetgrpcproxy_types.go create mode 100755 apis/compute/v1alpha1/zz_targethttpproxy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_targethttpproxy_types.go create mode 100755 apis/compute/v1alpha1/zz_targethttpsproxy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_targethttpsproxy_types.go create mode 100755 apis/compute/v1alpha1/zz_targetinstance_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_targetinstance_types.go create mode 100755 apis/compute/v1alpha1/zz_targetpool_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_targetpool_types.go create mode 100755 apis/compute/v1alpha1/zz_targetsslproxy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_targetsslproxy_types.go create mode 100755 apis/compute/v1alpha1/zz_targettcpproxy_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_targettcpproxy_types.go create mode 100755 apis/compute/v1alpha1/zz_urlmap_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_urlmap_types.go create mode 100755 apis/compute/v1alpha1/zz_vpngateway_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_vpngateway_types.go create mode 100755 apis/compute/v1alpha1/zz_vpntunnel_terraformed.go create mode 100755 apis/compute/v1alpha1/zz_vpntunnel_types.go create mode 100755 apis/compute/v1alpha2/zz_instancefromtemplate_terraformed.go create mode 100755 apis/compute/v1alpha2/zz_instancefromtemplate_types.go create mode 100755 apis/compute/v1alpha2/zz_instancetemplate_terraformed.go create mode 100755 apis/compute/v1alpha2/zz_instancetemplate_types.go create mode 100644 apis/container/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/container/v1alpha1/zz_generated.managed.go create mode 100644 apis/container/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/container/v1alpha1/zz_groupversion_info.go create mode 100755 apis/container/v1alpha1/zz_registry_terraformed.go create mode 100755 apis/container/v1alpha1/zz_registry_types.go create mode 100644 apis/containeranalysis/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/containeranalysis/v1alpha1/zz_generated.managed.go create mode 100644 apis/containeranalysis/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/containeranalysis/v1alpha1/zz_groupversion_info.go create mode 100755 apis/containeranalysis/v1alpha1/zz_note_terraformed.go create mode 100755 apis/containeranalysis/v1alpha1/zz_note_types.go create mode 100755 apis/containeranalysis/v1alpha1/zz_occurrence_terraformed.go create mode 100755 apis/containeranalysis/v1alpha1/zz_occurrence_types.go create mode 100755 apis/datacatalog/v1alpha1/zz_entry_terraformed.go create mode 100755 apis/datacatalog/v1alpha1/zz_entry_types.go create mode 100755 apis/datacatalog/v1alpha1/zz_entrygroup_terraformed.go create mode 100755 apis/datacatalog/v1alpha1/zz_entrygroup_types.go create mode 100755 apis/datacatalog/v1alpha1/zz_entrygroupiambinding_terraformed.go create mode 100755 apis/datacatalog/v1alpha1/zz_entrygroupiambinding_types.go create mode 100755 apis/datacatalog/v1alpha1/zz_entrygroupiammember_terraformed.go create mode 100755 apis/datacatalog/v1alpha1/zz_entrygroupiammember_types.go create mode 100755 apis/datacatalog/v1alpha1/zz_entrygroupiampolicy_terraformed.go create mode 100755 apis/datacatalog/v1alpha1/zz_entrygroupiampolicy_types.go create mode 100644 apis/datacatalog/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/datacatalog/v1alpha1/zz_generated.managed.go create mode 100644 apis/datacatalog/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/datacatalog/v1alpha1/zz_groupversion_info.go create mode 100755 apis/datacatalog/v1alpha1/zz_tag_terraformed.go create mode 100755 apis/datacatalog/v1alpha1/zz_tag_types.go create mode 100755 apis/datacatalog/v1alpha1/zz_tagtemplate_terraformed.go create mode 100755 apis/datacatalog/v1alpha1/zz_tagtemplate_types.go create mode 100755 apis/datacatalog/v1alpha1/zz_tagtemplateiambinding_terraformed.go create mode 100755 apis/datacatalog/v1alpha1/zz_tagtemplateiambinding_types.go create mode 100755 apis/datacatalog/v1alpha1/zz_tagtemplateiammember_terraformed.go create mode 100755 apis/datacatalog/v1alpha1/zz_tagtemplateiammember_types.go create mode 100755 apis/datacatalog/v1alpha1/zz_tagtemplateiampolicy_terraformed.go create mode 100755 apis/datacatalog/v1alpha1/zz_tagtemplateiampolicy_types.go create mode 100644 apis/dataflow/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/dataflow/v1alpha1/zz_generated.managed.go create mode 100644 apis/dataflow/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/dataflow/v1alpha1/zz_groupversion_info.go create mode 100755 apis/dataflow/v1alpha1/zz_job_terraformed.go create mode 100755 apis/dataflow/v1alpha1/zz_job_types.go create mode 100755 apis/datalossprevention/v1alpha1/zz_deidentifytemplate_terraformed.go create mode 100755 apis/datalossprevention/v1alpha1/zz_deidentifytemplate_types.go create mode 100644 apis/datalossprevention/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/datalossprevention/v1alpha1/zz_generated.managed.go create mode 100644 apis/datalossprevention/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/datalossprevention/v1alpha1/zz_groupversion_info.go create mode 100755 apis/datalossprevention/v1alpha1/zz_inspecttemplate_terraformed.go create mode 100755 apis/datalossprevention/v1alpha1/zz_inspecttemplate_types.go create mode 100755 apis/datalossprevention/v1alpha1/zz_jobtrigger_terraformed.go create mode 100755 apis/datalossprevention/v1alpha1/zz_jobtrigger_types.go create mode 100755 apis/datalossprevention/v1alpha1/zz_storedinfotype_terraformed.go create mode 100755 apis/datalossprevention/v1alpha1/zz_storedinfotype_types.go create mode 100755 apis/dataproc/v1alpha1/zz_autoscalingpolicy_terraformed.go create mode 100755 apis/dataproc/v1alpha1/zz_autoscalingpolicy_types.go create mode 100755 apis/dataproc/v1alpha1/zz_cluster_terraformed.go create mode 100755 apis/dataproc/v1alpha1/zz_cluster_types.go create mode 100755 apis/dataproc/v1alpha1/zz_clusteriambinding_terraformed.go create mode 100755 apis/dataproc/v1alpha1/zz_clusteriambinding_types.go create mode 100755 apis/dataproc/v1alpha1/zz_clusteriammember_terraformed.go create mode 100755 apis/dataproc/v1alpha1/zz_clusteriammember_types.go create mode 100755 apis/dataproc/v1alpha1/zz_clusteriampolicy_terraformed.go create mode 100755 apis/dataproc/v1alpha1/zz_clusteriampolicy_types.go create mode 100644 apis/dataproc/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/dataproc/v1alpha1/zz_generated.managed.go create mode 100644 apis/dataproc/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/dataproc/v1alpha1/zz_groupversion_info.go create mode 100755 apis/dataproc/v1alpha1/zz_job_terraformed.go create mode 100755 apis/dataproc/v1alpha1/zz_job_types.go create mode 100755 apis/dataproc/v1alpha1/zz_jobiambinding_terraformed.go create mode 100755 apis/dataproc/v1alpha1/zz_jobiambinding_types.go create mode 100755 apis/dataproc/v1alpha1/zz_jobiammember_terraformed.go create mode 100755 apis/dataproc/v1alpha1/zz_jobiammember_types.go create mode 100755 apis/dataproc/v1alpha1/zz_jobiampolicy_terraformed.go create mode 100755 apis/dataproc/v1alpha1/zz_jobiampolicy_types.go create mode 100755 apis/dataproc/v1alpha1/zz_workflowtemplate_terraformed.go create mode 100755 apis/dataproc/v1alpha1/zz_workflowtemplate_types.go create mode 100644 apis/datastore/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/datastore/v1alpha1/zz_generated.managed.go create mode 100644 apis/datastore/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/datastore/v1alpha1/zz_groupversion_info.go create mode 100755 apis/datastore/v1alpha1/zz_index_terraformed.go create mode 100755 apis/datastore/v1alpha1/zz_index_types.go create mode 100755 apis/deploymentmanager/v1alpha1/zz_deployment_terraformed.go create mode 100755 apis/deploymentmanager/v1alpha1/zz_deployment_types.go create mode 100644 apis/deploymentmanager/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/deploymentmanager/v1alpha1/zz_generated.managed.go create mode 100644 apis/deploymentmanager/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/deploymentmanager/v1alpha1/zz_groupversion_info.go create mode 100755 apis/dialogflow/v1alpha1/zz_agent_terraformed.go create mode 100755 apis/dialogflow/v1alpha1/zz_agent_types.go create mode 100755 apis/dialogflow/v1alpha1/zz_entitytype_terraformed.go create mode 100755 apis/dialogflow/v1alpha1/zz_entitytype_types.go create mode 100755 apis/dialogflow/v1alpha1/zz_fulfillment_terraformed.go create mode 100755 apis/dialogflow/v1alpha1/zz_fulfillment_types.go create mode 100644 apis/dialogflow/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/dialogflow/v1alpha1/zz_generated.managed.go create mode 100644 apis/dialogflow/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/dialogflow/v1alpha1/zz_groupversion_info.go create mode 100755 apis/dialogflow/v1alpha1/zz_intent_terraformed.go create mode 100755 apis/dialogflow/v1alpha1/zz_intent_types.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_agent_terraformed.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_agent_types.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_entitytype_terraformed.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_entitytype_types.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_environment_terraformed.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_environment_types.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_flow_terraformed.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_flow_types.go create mode 100644 apis/dialogflowcx/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/dialogflowcx/v1alpha1/zz_generated.managed.go create mode 100644 apis/dialogflowcx/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_groupversion_info.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_intent_terraformed.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_intent_types.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_page_terraformed.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_page_types.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_version_terraformed.go create mode 100755 apis/dialogflowcx/v1alpha1/zz_version_types.go create mode 100644 apis/dns/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/dns/v1alpha1/zz_generated.managed.go create mode 100644 apis/dns/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/dns/v1alpha1/zz_groupversion_info.go create mode 100755 apis/dns/v1alpha1/zz_managedzone_terraformed.go create mode 100755 apis/dns/v1alpha1/zz_managedzone_types.go create mode 100755 apis/dns/v1alpha1/zz_policy_terraformed.go create mode 100755 apis/dns/v1alpha1/zz_policy_types.go create mode 100755 apis/dns/v1alpha1/zz_recordset_terraformed.go create mode 100755 apis/dns/v1alpha1/zz_recordset_types.go create mode 100644 apis/endpoints/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/endpoints/v1alpha1/zz_generated.managed.go create mode 100644 apis/endpoints/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/endpoints/v1alpha1/zz_groupversion_info.go create mode 100755 apis/endpoints/v1alpha1/zz_service_terraformed.go create mode 100755 apis/endpoints/v1alpha1/zz_service_types.go create mode 100755 apis/endpoints/v1alpha1/zz_serviceiambinding_terraformed.go create mode 100755 apis/endpoints/v1alpha1/zz_serviceiambinding_types.go create mode 100755 apis/endpoints/v1alpha1/zz_serviceiammember_terraformed.go create mode 100755 apis/endpoints/v1alpha1/zz_serviceiammember_types.go create mode 100755 apis/endpoints/v1alpha1/zz_serviceiampolicy_terraformed.go create mode 100755 apis/endpoints/v1alpha1/zz_serviceiampolicy_types.go create mode 100755 apis/essentialcontacts/v1alpha1/zz_contact_terraformed.go create mode 100755 apis/essentialcontacts/v1alpha1/zz_contact_types.go create mode 100644 apis/essentialcontacts/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/essentialcontacts/v1alpha1/zz_generated.managed.go create mode 100644 apis/essentialcontacts/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/essentialcontacts/v1alpha1/zz_groupversion_info.go create mode 100644 apis/eventarc/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/eventarc/v1alpha1/zz_generated.managed.go create mode 100644 apis/eventarc/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/eventarc/v1alpha1/zz_groupversion_info.go create mode 100755 apis/eventarc/v1alpha1/zz_trigger_terraformed.go create mode 100755 apis/eventarc/v1alpha1/zz_trigger_types.go create mode 100644 apis/filestore/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/filestore/v1alpha1/zz_generated.managed.go create mode 100644 apis/filestore/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/filestore/v1alpha1/zz_groupversion_info.go create mode 100755 apis/filestore/v1alpha1/zz_instance_terraformed.go create mode 100755 apis/filestore/v1alpha1/zz_instance_types.go create mode 100755 apis/firestore/v1alpha1/zz_document_terraformed.go create mode 100755 apis/firestore/v1alpha1/zz_document_types.go create mode 100644 apis/firestore/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/firestore/v1alpha1/zz_generated.managed.go create mode 100644 apis/firestore/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/firestore/v1alpha1/zz_groupversion_info.go create mode 100755 apis/firestore/v1alpha1/zz_index_terraformed.go create mode 100755 apis/firestore/v1alpha1/zz_index_types.go create mode 100755 apis/gameservices/v1alpha1/zz_gameservercluster_terraformed.go create mode 100755 apis/gameservices/v1alpha1/zz_gameservercluster_types.go create mode 100755 apis/gameservices/v1alpha1/zz_gameserverconfig_terraformed.go create mode 100755 apis/gameservices/v1alpha1/zz_gameserverconfig_types.go create mode 100755 apis/gameservices/v1alpha1/zz_gameserverdeployment_terraformed.go create mode 100755 apis/gameservices/v1alpha1/zz_gameserverdeployment_types.go create mode 100755 apis/gameservices/v1alpha1/zz_gameserverdeploymentrollout_terraformed.go create mode 100755 apis/gameservices/v1alpha1/zz_gameserverdeploymentrollout_types.go create mode 100644 apis/gameservices/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/gameservices/v1alpha1/zz_generated.managed.go create mode 100644 apis/gameservices/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/gameservices/v1alpha1/zz_groupversion_info.go create mode 100755 apis/gameservices/v1alpha1/zz_realm_terraformed.go create mode 100755 apis/gameservices/v1alpha1/zz_realm_types.go create mode 100644 apis/gkehub/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/gkehub/v1alpha1/zz_generated.managed.go create mode 100644 apis/gkehub/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/gkehub/v1alpha1/zz_groupversion_info.go create mode 100755 apis/gkehub/v1alpha1/zz_membership_terraformed.go create mode 100755 apis/gkehub/v1alpha1/zz_membership_types.go create mode 100755 apis/healthcare/v1alpha1/zz_consentstore_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_consentstore_types.go create mode 100755 apis/healthcare/v1alpha1/zz_consentstoreiambinding_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_consentstoreiambinding_types.go create mode 100755 apis/healthcare/v1alpha1/zz_consentstoreiammember_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_consentstoreiammember_types.go create mode 100755 apis/healthcare/v1alpha1/zz_consentstoreiampolicy_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_consentstoreiampolicy_types.go create mode 100755 apis/healthcare/v1alpha1/zz_dataset_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_dataset_types.go create mode 100755 apis/healthcare/v1alpha1/zz_datasetiambinding_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_datasetiambinding_types.go create mode 100755 apis/healthcare/v1alpha1/zz_datasetiammember_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_datasetiammember_types.go create mode 100755 apis/healthcare/v1alpha1/zz_datasetiampolicy_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_datasetiampolicy_types.go create mode 100755 apis/healthcare/v1alpha1/zz_dicomstore_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_dicomstore_types.go create mode 100755 apis/healthcare/v1alpha1/zz_dicomstoreiambinding_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_dicomstoreiambinding_types.go create mode 100755 apis/healthcare/v1alpha1/zz_dicomstoreiammember_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_dicomstoreiammember_types.go create mode 100755 apis/healthcare/v1alpha1/zz_dicomstoreiampolicy_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_dicomstoreiampolicy_types.go create mode 100755 apis/healthcare/v1alpha1/zz_fhirstore_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_fhirstore_types.go create mode 100755 apis/healthcare/v1alpha1/zz_fhirstoreiambinding_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_fhirstoreiambinding_types.go create mode 100755 apis/healthcare/v1alpha1/zz_fhirstoreiammember_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_fhirstoreiammember_types.go create mode 100755 apis/healthcare/v1alpha1/zz_fhirstoreiampolicy_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_fhirstoreiampolicy_types.go create mode 100644 apis/healthcare/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/healthcare/v1alpha1/zz_generated.managed.go create mode 100644 apis/healthcare/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/healthcare/v1alpha1/zz_groupversion_info.go create mode 100755 apis/healthcare/v1alpha1/zz_hl7v2store_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_hl7v2store_types.go create mode 100755 apis/healthcare/v1alpha1/zz_hl7v2storeiambinding_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_hl7v2storeiambinding_types.go create mode 100755 apis/healthcare/v1alpha1/zz_hl7v2storeiammember_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_hl7v2storeiammember_types.go create mode 100755 apis/healthcare/v1alpha1/zz_hl7v2storeiampolicy_terraformed.go create mode 100755 apis/healthcare/v1alpha1/zz_hl7v2storeiampolicy_types.go create mode 100755 apis/iap/v1alpha1/zz_appengineserviceiambinding_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_appengineserviceiambinding_types.go create mode 100755 apis/iap/v1alpha1/zz_appengineserviceiammember_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_appengineserviceiammember_types.go create mode 100755 apis/iap/v1alpha1/zz_appengineserviceiampolicy_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_appengineserviceiampolicy_types.go create mode 100755 apis/iap/v1alpha1/zz_appengineversioniambinding_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_appengineversioniambinding_types.go create mode 100755 apis/iap/v1alpha1/zz_appengineversioniammember_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_appengineversioniammember_types.go create mode 100755 apis/iap/v1alpha1/zz_appengineversioniampolicy_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_appengineversioniampolicy_types.go create mode 100755 apis/iap/v1alpha1/zz_brand_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_brand_types.go create mode 100755 apis/iap/v1alpha1/zz_client_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_client_types.go create mode 100644 apis/iap/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/iap/v1alpha1/zz_generated.managed.go create mode 100644 apis/iap/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/iap/v1alpha1/zz_groupversion_info.go create mode 100755 apis/iap/v1alpha1/zz_tunneliambinding_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_tunneliambinding_types.go create mode 100755 apis/iap/v1alpha1/zz_tunneliammember_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_tunneliammember_types.go create mode 100755 apis/iap/v1alpha1/zz_tunneliampolicy_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_tunneliampolicy_types.go create mode 100755 apis/iap/v1alpha1/zz_tunnelinstanceiambinding_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_tunnelinstanceiambinding_types.go create mode 100755 apis/iap/v1alpha1/zz_tunnelinstanceiammember_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_tunnelinstanceiammember_types.go create mode 100755 apis/iap/v1alpha1/zz_tunnelinstanceiampolicy_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_tunnelinstanceiampolicy_types.go create mode 100755 apis/iap/v1alpha1/zz_webbackendserviceiambinding_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_webbackendserviceiambinding_types.go create mode 100755 apis/iap/v1alpha1/zz_webbackendserviceiammember_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_webbackendserviceiammember_types.go create mode 100755 apis/iap/v1alpha1/zz_webbackendserviceiampolicy_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_webbackendserviceiampolicy_types.go create mode 100755 apis/iap/v1alpha1/zz_webiambinding_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_webiambinding_types.go create mode 100755 apis/iap/v1alpha1/zz_webiammember_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_webiammember_types.go create mode 100755 apis/iap/v1alpha1/zz_webiampolicy_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_webiampolicy_types.go create mode 100755 apis/iap/v1alpha1/zz_webtypeappengineiambinding_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_webtypeappengineiambinding_types.go create mode 100755 apis/iap/v1alpha1/zz_webtypeappengineiammember_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_webtypeappengineiammember_types.go create mode 100755 apis/iap/v1alpha1/zz_webtypeappengineiampolicy_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_webtypeappengineiampolicy_types.go create mode 100755 apis/iap/v1alpha1/zz_webtypecomputeiambinding_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_webtypecomputeiambinding_types.go create mode 100755 apis/iap/v1alpha1/zz_webtypecomputeiammember_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_webtypecomputeiammember_types.go create mode 100755 apis/iap/v1alpha1/zz_webtypecomputeiampolicy_terraformed.go create mode 100755 apis/iap/v1alpha1/zz_webtypecomputeiampolicy_types.go create mode 100755 apis/identityplatform/v1alpha1/zz_defaultsupportedidpconfig_terraformed.go create mode 100755 apis/identityplatform/v1alpha1/zz_defaultsupportedidpconfig_types.go create mode 100644 apis/identityplatform/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/identityplatform/v1alpha1/zz_generated.managed.go create mode 100644 apis/identityplatform/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/identityplatform/v1alpha1/zz_groupversion_info.go create mode 100755 apis/identityplatform/v1alpha1/zz_inboundsamlconfig_terraformed.go create mode 100755 apis/identityplatform/v1alpha1/zz_inboundsamlconfig_types.go create mode 100755 apis/identityplatform/v1alpha1/zz_oauthidpconfig_terraformed.go create mode 100755 apis/identityplatform/v1alpha1/zz_oauthidpconfig_types.go create mode 100755 apis/identityplatform/v1alpha1/zz_tenant_terraformed.go create mode 100755 apis/identityplatform/v1alpha1/zz_tenant_types.go create mode 100755 apis/identityplatform/v1alpha1/zz_tenantdefaultsupportedidpconfig_terraformed.go create mode 100755 apis/identityplatform/v1alpha1/zz_tenantdefaultsupportedidpconfig_types.go create mode 100755 apis/identityplatform/v1alpha1/zz_tenantinboundsamlconfig_terraformed.go create mode 100755 apis/identityplatform/v1alpha1/zz_tenantinboundsamlconfig_types.go create mode 100755 apis/identityplatform/v1alpha1/zz_tenantoauthidpconfig_terraformed.go create mode 100755 apis/identityplatform/v1alpha1/zz_tenantoauthidpconfig_types.go create mode 100755 apis/kms/v1alpha1/zz_cryptokey_terraformed.go create mode 100755 apis/kms/v1alpha1/zz_cryptokey_types.go create mode 100755 apis/kms/v1alpha1/zz_cryptokeyiambinding_terraformed.go create mode 100755 apis/kms/v1alpha1/zz_cryptokeyiambinding_types.go create mode 100755 apis/kms/v1alpha1/zz_cryptokeyiammember_terraformed.go create mode 100755 apis/kms/v1alpha1/zz_cryptokeyiammember_types.go create mode 100755 apis/kms/v1alpha1/zz_cryptokeyiampolicy_terraformed.go create mode 100755 apis/kms/v1alpha1/zz_cryptokeyiampolicy_types.go create mode 100644 apis/kms/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/kms/v1alpha1/zz_generated.managed.go create mode 100644 apis/kms/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/kms/v1alpha1/zz_groupversion_info.go create mode 100755 apis/kms/v1alpha1/zz_keyring_terraformed.go create mode 100755 apis/kms/v1alpha1/zz_keyring_types.go create mode 100755 apis/kms/v1alpha1/zz_keyringiambinding_terraformed.go create mode 100755 apis/kms/v1alpha1/zz_keyringiambinding_types.go create mode 100755 apis/kms/v1alpha1/zz_keyringiammember_terraformed.go create mode 100755 apis/kms/v1alpha1/zz_keyringiammember_types.go create mode 100755 apis/kms/v1alpha1/zz_keyringiampolicy_terraformed.go create mode 100755 apis/kms/v1alpha1/zz_keyringiampolicy_types.go create mode 100755 apis/kms/v1alpha1/zz_keyringimportjob_terraformed.go create mode 100755 apis/kms/v1alpha1/zz_keyringimportjob_types.go create mode 100755 apis/kms/v1alpha1/zz_secretciphertext_terraformed.go create mode 100755 apis/kms/v1alpha1/zz_secretciphertext_types.go create mode 100755 apis/logging/v1alpha1/zz_billingaccountbucketconfig_terraformed.go create mode 100755 apis/logging/v1alpha1/zz_billingaccountbucketconfig_types.go create mode 100755 apis/logging/v1alpha1/zz_billingaccountexclusion_terraformed.go create mode 100755 apis/logging/v1alpha1/zz_billingaccountexclusion_types.go create mode 100755 apis/logging/v1alpha1/zz_billingaccountsink_terraformed.go create mode 100755 apis/logging/v1alpha1/zz_billingaccountsink_types.go create mode 100755 apis/logging/v1alpha1/zz_folderbucketconfig_terraformed.go create mode 100755 apis/logging/v1alpha1/zz_folderbucketconfig_types.go create mode 100755 apis/logging/v1alpha1/zz_folderexclusion_terraformed.go create mode 100755 apis/logging/v1alpha1/zz_folderexclusion_types.go create mode 100755 apis/logging/v1alpha1/zz_foldersink_terraformed.go create mode 100755 apis/logging/v1alpha1/zz_foldersink_types.go create mode 100644 apis/logging/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/logging/v1alpha1/zz_generated.managed.go create mode 100644 apis/logging/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/logging/v1alpha1/zz_groupversion_info.go create mode 100755 apis/logging/v1alpha1/zz_metric_terraformed.go create mode 100755 apis/logging/v1alpha1/zz_metric_types.go create mode 100755 apis/logging/v1alpha1/zz_organizationbucketconfig_terraformed.go create mode 100755 apis/logging/v1alpha1/zz_organizationbucketconfig_types.go create mode 100755 apis/logging/v1alpha1/zz_organizationexclusion_terraformed.go create mode 100755 apis/logging/v1alpha1/zz_organizationexclusion_types.go create mode 100755 apis/logging/v1alpha1/zz_organizationsink_terraformed.go create mode 100755 apis/logging/v1alpha1/zz_organizationsink_types.go create mode 100755 apis/logging/v1alpha1/zz_projectbucketconfig_terraformed.go create mode 100755 apis/logging/v1alpha1/zz_projectbucketconfig_types.go create mode 100755 apis/logging/v1alpha1/zz_projectexclusion_terraformed.go create mode 100755 apis/logging/v1alpha1/zz_projectexclusion_types.go create mode 100755 apis/logging/v1alpha1/zz_projectsink_terraformed.go create mode 100755 apis/logging/v1alpha1/zz_projectsink_types.go create mode 100644 apis/memcache/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/memcache/v1alpha1/zz_generated.managed.go create mode 100644 apis/memcache/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/memcache/v1alpha1/zz_groupversion_info.go create mode 100755 apis/memcache/v1alpha1/zz_instance_terraformed.go create mode 100755 apis/memcache/v1alpha1/zz_instance_types.go create mode 100644 apis/mlengine/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/mlengine/v1alpha1/zz_generated.managed.go create mode 100644 apis/mlengine/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/mlengine/v1alpha1/zz_groupversion_info.go create mode 100755 apis/mlengine/v1alpha1/zz_model_terraformed.go create mode 100755 apis/mlengine/v1alpha1/zz_model_types.go create mode 100755 apis/monitoring/v1alpha1/zz_customservice_terraformed.go create mode 100755 apis/monitoring/v1alpha1/zz_customservice_types.go create mode 100755 apis/monitoring/v1alpha1/zz_dashboard_terraformed.go create mode 100755 apis/monitoring/v1alpha1/zz_dashboard_types.go create mode 100644 apis/monitoring/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/monitoring/v1alpha1/zz_generated.managed.go create mode 100644 apis/monitoring/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/monitoring/v1alpha1/zz_group_terraformed.go create mode 100755 apis/monitoring/v1alpha1/zz_group_types.go create mode 100755 apis/monitoring/v1alpha1/zz_groupversion_info.go create mode 100755 apis/monitoring/v1alpha1/zz_metricdescriptor_terraformed.go create mode 100755 apis/monitoring/v1alpha1/zz_metricdescriptor_types.go create mode 100755 apis/monitoring/v1alpha1/zz_slo_terraformed.go create mode 100755 apis/monitoring/v1alpha1/zz_slo_types.go create mode 100755 apis/networkmanagement/v1alpha1/zz_connectivitytest_terraformed.go create mode 100755 apis/networkmanagement/v1alpha1/zz_connectivitytest_types.go create mode 100644 apis/networkmanagement/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/networkmanagement/v1alpha1/zz_generated.managed.go create mode 100644 apis/networkmanagement/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/networkmanagement/v1alpha1/zz_groupversion_info.go create mode 100755 apis/networkservices/v1alpha1/zz_edgecachekeyset_terraformed.go create mode 100755 apis/networkservices/v1alpha1/zz_edgecachekeyset_types.go create mode 100755 apis/networkservices/v1alpha1/zz_edgecacheorigin_terraformed.go create mode 100755 apis/networkservices/v1alpha1/zz_edgecacheorigin_types.go create mode 100755 apis/networkservices/v1alpha1/zz_edgecacheservice_terraformed.go create mode 100755 apis/networkservices/v1alpha1/zz_edgecacheservice_types.go create mode 100644 apis/networkservices/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/networkservices/v1alpha1/zz_generated.managed.go create mode 100644 apis/networkservices/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/networkservices/v1alpha1/zz_groupversion_info.go create mode 100755 apis/notebooks/v1alpha1/zz_environment_terraformed.go create mode 100755 apis/notebooks/v1alpha1/zz_environment_types.go create mode 100644 apis/notebooks/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/notebooks/v1alpha1/zz_generated.managed.go create mode 100644 apis/notebooks/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/notebooks/v1alpha1/zz_groupversion_info.go create mode 100755 apis/notebooks/v1alpha1/zz_instance_terraformed.go create mode 100755 apis/notebooks/v1alpha1/zz_instance_types.go create mode 100755 apis/notebooks/v1alpha1/zz_instanceiambinding_terraformed.go create mode 100755 apis/notebooks/v1alpha1/zz_instanceiambinding_types.go create mode 100755 apis/notebooks/v1alpha1/zz_instanceiammember_terraformed.go create mode 100755 apis/notebooks/v1alpha1/zz_instanceiammember_types.go create mode 100755 apis/notebooks/v1alpha1/zz_instanceiampolicy_terraformed.go create mode 100755 apis/notebooks/v1alpha1/zz_instanceiampolicy_types.go create mode 100755 apis/notebooks/v1alpha1/zz_location_terraformed.go create mode 100755 apis/notebooks/v1alpha1/zz_location_types.go create mode 100644 apis/orgpolicy/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/orgpolicy/v1alpha1/zz_generated.managed.go create mode 100644 apis/orgpolicy/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/orgpolicy/v1alpha1/zz_groupversion_info.go create mode 100755 apis/orgpolicy/v1alpha1/zz_policy_terraformed.go create mode 100755 apis/orgpolicy/v1alpha1/zz_policy_types.go create mode 100644 apis/osconfig/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/osconfig/v1alpha1/zz_generated.managed.go create mode 100644 apis/osconfig/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/osconfig/v1alpha1/zz_groupversion_info.go create mode 100755 apis/osconfig/v1alpha1/zz_patchdeployment_terraformed.go create mode 100755 apis/osconfig/v1alpha1/zz_patchdeployment_types.go create mode 100644 apis/oslogin/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/oslogin/v1alpha1/zz_generated.managed.go create mode 100644 apis/oslogin/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/oslogin/v1alpha1/zz_groupversion_info.go create mode 100755 apis/oslogin/v1alpha1/zz_sshpublickey_terraformed.go create mode 100755 apis/oslogin/v1alpha1/zz_sshpublickey_types.go create mode 100755 apis/privateca/v1alpha1/zz_capool_terraformed.go create mode 100755 apis/privateca/v1alpha1/zz_capool_types.go create mode 100755 apis/privateca/v1alpha1/zz_capooliambinding_terraformed.go create mode 100755 apis/privateca/v1alpha1/zz_capooliambinding_types.go create mode 100755 apis/privateca/v1alpha1/zz_capooliammember_terraformed.go create mode 100755 apis/privateca/v1alpha1/zz_capooliammember_types.go create mode 100755 apis/privateca/v1alpha1/zz_capooliampolicy_terraformed.go create mode 100755 apis/privateca/v1alpha1/zz_capooliampolicy_types.go create mode 100755 apis/privateca/v1alpha1/zz_certificate_terraformed.go create mode 100755 apis/privateca/v1alpha1/zz_certificate_types.go create mode 100755 apis/privateca/v1alpha1/zz_certificateauthority_terraformed.go create mode 100755 apis/privateca/v1alpha1/zz_certificateauthority_types.go create mode 100755 apis/privateca/v1alpha1/zz_certificatetemplate_terraformed.go create mode 100755 apis/privateca/v1alpha1/zz_certificatetemplate_types.go create mode 100644 apis/privateca/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/privateca/v1alpha1/zz_generated.managed.go create mode 100644 apis/privateca/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/privateca/v1alpha1/zz_groupversion_info.go create mode 100644 apis/pubsub/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/pubsub/v1alpha1/zz_generated.managed.go create mode 100644 apis/pubsub/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/pubsub/v1alpha1/zz_groupversion_info.go create mode 100755 apis/pubsub/v1alpha1/zz_litereservation_terraformed.go create mode 100755 apis/pubsub/v1alpha1/zz_litereservation_types.go create mode 100755 apis/pubsub/v1alpha1/zz_litesubscription_terraformed.go create mode 100755 apis/pubsub/v1alpha1/zz_litesubscription_types.go create mode 100755 apis/pubsub/v1alpha1/zz_litetopic_terraformed.go create mode 100755 apis/pubsub/v1alpha1/zz_litetopic_types.go create mode 100755 apis/pubsub/v1alpha1/zz_schema_terraformed.go create mode 100755 apis/pubsub/v1alpha1/zz_schema_types.go create mode 100755 apis/pubsub/v1alpha1/zz_subscription_terraformed.go create mode 100755 apis/pubsub/v1alpha1/zz_subscription_types.go create mode 100755 apis/pubsub/v1alpha1/zz_subscriptioniambinding_terraformed.go create mode 100755 apis/pubsub/v1alpha1/zz_subscriptioniambinding_types.go create mode 100755 apis/pubsub/v1alpha1/zz_subscriptioniammember_terraformed.go create mode 100755 apis/pubsub/v1alpha1/zz_subscriptioniammember_types.go create mode 100755 apis/pubsub/v1alpha1/zz_subscriptioniampolicy_terraformed.go create mode 100755 apis/pubsub/v1alpha1/zz_subscriptioniampolicy_types.go create mode 100755 apis/pubsub/v1alpha1/zz_topic_terraformed.go create mode 100755 apis/pubsub/v1alpha1/zz_topic_types.go create mode 100755 apis/pubsub/v1alpha1/zz_topiciambinding_terraformed.go create mode 100755 apis/pubsub/v1alpha1/zz_topiciambinding_types.go create mode 100755 apis/pubsub/v1alpha1/zz_topiciammember_terraformed.go create mode 100755 apis/pubsub/v1alpha1/zz_topiciammember_types.go create mode 100755 apis/pubsub/v1alpha1/zz_topiciampolicy_terraformed.go create mode 100755 apis/pubsub/v1alpha1/zz_topiciampolicy_types.go create mode 100644 apis/redis/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/redis/v1alpha1/zz_generated.managed.go create mode 100644 apis/redis/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/redis/v1alpha1/zz_groupversion_info.go create mode 100755 apis/redis/v1alpha1/zz_instance_terraformed.go create mode 100755 apis/redis/v1alpha1/zz_instance_types.go create mode 100644 apis/resourcemanager/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/resourcemanager/v1alpha1/zz_generated.managed.go create mode 100644 apis/resourcemanager/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/resourcemanager/v1alpha1/zz_groupversion_info.go create mode 100755 apis/resourcemanager/v1alpha1/zz_lien_terraformed.go create mode 100755 apis/resourcemanager/v1alpha1/zz_lien_types.go create mode 100644 apis/scc/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/scc/v1alpha1/zz_generated.managed.go create mode 100644 apis/scc/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/scc/v1alpha1/zz_groupversion_info.go create mode 100755 apis/scc/v1alpha1/zz_notificationconfig_terraformed.go create mode 100755 apis/scc/v1alpha1/zz_notificationconfig_types.go create mode 100755 apis/scc/v1alpha1/zz_source_terraformed.go create mode 100755 apis/scc/v1alpha1/zz_source_types.go create mode 100644 apis/secretmanager/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/secretmanager/v1alpha1/zz_generated.managed.go create mode 100644 apis/secretmanager/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/secretmanager/v1alpha1/zz_groupversion_info.go create mode 100755 apis/secretmanager/v1alpha1/zz_secret_terraformed.go create mode 100755 apis/secretmanager/v1alpha1/zz_secret_types.go create mode 100755 apis/secretmanager/v1alpha1/zz_secretiambinding_terraformed.go create mode 100755 apis/secretmanager/v1alpha1/zz_secretiambinding_types.go create mode 100755 apis/secretmanager/v1alpha1/zz_secretiammember_terraformed.go create mode 100755 apis/secretmanager/v1alpha1/zz_secretiammember_types.go create mode 100755 apis/secretmanager/v1alpha1/zz_secretiampolicy_terraformed.go create mode 100755 apis/secretmanager/v1alpha1/zz_secretiampolicy_types.go create mode 100755 apis/secretmanager/v1alpha1/zz_secretversion_terraformed.go create mode 100755 apis/secretmanager/v1alpha1/zz_secretversion_types.go create mode 100755 apis/servicenetworking/v1alpha1/zz_connection_terraformed.go create mode 100755 apis/servicenetworking/v1alpha1/zz_connection_types.go create mode 100644 apis/servicenetworking/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/servicenetworking/v1alpha1/zz_generated.managed.go create mode 100644 apis/servicenetworking/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/servicenetworking/v1alpha1/zz_groupversion_info.go create mode 100644 apis/sourcerepo/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/sourcerepo/v1alpha1/zz_generated.managed.go create mode 100644 apis/sourcerepo/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/sourcerepo/v1alpha1/zz_groupversion_info.go create mode 100755 apis/sourcerepo/v1alpha1/zz_repository_terraformed.go create mode 100755 apis/sourcerepo/v1alpha1/zz_repository_types.go create mode 100755 apis/sourcerepo/v1alpha1/zz_repositoryiambinding_terraformed.go create mode 100755 apis/sourcerepo/v1alpha1/zz_repositoryiambinding_types.go create mode 100755 apis/sourcerepo/v1alpha1/zz_repositoryiammember_terraformed.go create mode 100755 apis/sourcerepo/v1alpha1/zz_repositoryiammember_types.go create mode 100755 apis/sourcerepo/v1alpha1/zz_repositoryiampolicy_terraformed.go create mode 100755 apis/sourcerepo/v1alpha1/zz_repositoryiampolicy_types.go create mode 100755 apis/spanner/v1alpha1/zz_database_terraformed.go create mode 100755 apis/spanner/v1alpha1/zz_database_types.go create mode 100755 apis/spanner/v1alpha1/zz_databaseiambinding_terraformed.go create mode 100755 apis/spanner/v1alpha1/zz_databaseiambinding_types.go create mode 100755 apis/spanner/v1alpha1/zz_databaseiammember_terraformed.go create mode 100755 apis/spanner/v1alpha1/zz_databaseiammember_types.go create mode 100755 apis/spanner/v1alpha1/zz_databaseiampolicy_terraformed.go create mode 100755 apis/spanner/v1alpha1/zz_databaseiampolicy_types.go create mode 100644 apis/spanner/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/spanner/v1alpha1/zz_generated.managed.go create mode 100644 apis/spanner/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/spanner/v1alpha1/zz_groupversion_info.go create mode 100755 apis/spanner/v1alpha1/zz_instance_terraformed.go create mode 100755 apis/spanner/v1alpha1/zz_instance_types.go create mode 100755 apis/spanner/v1alpha1/zz_instanceiambinding_terraformed.go create mode 100755 apis/spanner/v1alpha1/zz_instanceiambinding_types.go create mode 100755 apis/spanner/v1alpha1/zz_instanceiammember_terraformed.go create mode 100755 apis/spanner/v1alpha1/zz_instanceiammember_types.go create mode 100755 apis/spanner/v1alpha1/zz_instanceiampolicy_terraformed.go create mode 100755 apis/spanner/v1alpha1/zz_instanceiampolicy_types.go create mode 100755 apis/storage/v1alpha1/zz_bucketaccesscontrol_terraformed.go create mode 100755 apis/storage/v1alpha1/zz_bucketaccesscontrol_types.go create mode 100755 apis/storage/v1alpha1/zz_bucketacl_terraformed.go create mode 100755 apis/storage/v1alpha1/zz_bucketacl_types.go create mode 100755 apis/storage/v1alpha1/zz_bucketiambinding_terraformed.go create mode 100755 apis/storage/v1alpha1/zz_bucketiambinding_types.go create mode 100755 apis/storage/v1alpha1/zz_bucketiammember_terraformed.go create mode 100755 apis/storage/v1alpha1/zz_bucketiammember_types.go create mode 100755 apis/storage/v1alpha1/zz_bucketiampolicy_terraformed.go create mode 100755 apis/storage/v1alpha1/zz_bucketiampolicy_types.go create mode 100755 apis/storage/v1alpha1/zz_defaultobjectaccesscontrol_terraformed.go create mode 100755 apis/storage/v1alpha1/zz_defaultobjectaccesscontrol_types.go create mode 100755 apis/storage/v1alpha1/zz_defaultobjectacl_terraformed.go create mode 100755 apis/storage/v1alpha1/zz_defaultobjectacl_types.go create mode 100644 apis/storage/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/storage/v1alpha1/zz_generated.managed.go create mode 100644 apis/storage/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/storage/v1alpha1/zz_groupversion_info.go create mode 100755 apis/storage/v1alpha1/zz_hmackey_terraformed.go create mode 100755 apis/storage/v1alpha1/zz_hmackey_types.go create mode 100755 apis/storage/v1alpha1/zz_notification_terraformed.go create mode 100755 apis/storage/v1alpha1/zz_notification_types.go create mode 100755 apis/storage/v1alpha1/zz_objectaccesscontrol_terraformed.go create mode 100755 apis/storage/v1alpha1/zz_objectaccesscontrol_types.go create mode 100755 apis/storage/v1alpha1/zz_objectacl_terraformed.go create mode 100755 apis/storage/v1alpha1/zz_objectacl_types.go create mode 100755 apis/storage/v1alpha2/zz_bucketobject_terraformed.go create mode 100755 apis/storage/v1alpha2/zz_bucketobject_types.go create mode 100644 apis/storagetransfer/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/storagetransfer/v1alpha1/zz_generated.managed.go create mode 100644 apis/storagetransfer/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/storagetransfer/v1alpha1/zz_groupversion_info.go create mode 100755 apis/storagetransfer/v1alpha1/zz_job_terraformed.go create mode 100755 apis/storagetransfer/v1alpha1/zz_job_types.go create mode 100644 apis/tags/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/tags/v1alpha1/zz_generated.managed.go create mode 100644 apis/tags/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/tags/v1alpha1/zz_groupversion_info.go create mode 100755 apis/tags/v1alpha1/zz_tagbinding_terraformed.go create mode 100755 apis/tags/v1alpha1/zz_tagbinding_types.go create mode 100755 apis/tags/v1alpha1/zz_tagkey_terraformed.go create mode 100755 apis/tags/v1alpha1/zz_tagkey_types.go create mode 100755 apis/tags/v1alpha1/zz_tagkeyiambinding_terraformed.go create mode 100755 apis/tags/v1alpha1/zz_tagkeyiambinding_types.go create mode 100755 apis/tags/v1alpha1/zz_tagkeyiammember_terraformed.go create mode 100755 apis/tags/v1alpha1/zz_tagkeyiammember_types.go create mode 100755 apis/tags/v1alpha1/zz_tagkeyiampolicy_terraformed.go create mode 100755 apis/tags/v1alpha1/zz_tagkeyiampolicy_types.go create mode 100755 apis/tags/v1alpha1/zz_tagvalue_terraformed.go create mode 100755 apis/tags/v1alpha1/zz_tagvalue_types.go create mode 100755 apis/tags/v1alpha1/zz_tagvalueiambinding_terraformed.go create mode 100755 apis/tags/v1alpha1/zz_tagvalueiambinding_types.go create mode 100755 apis/tags/v1alpha1/zz_tagvalueiammember_terraformed.go create mode 100755 apis/tags/v1alpha1/zz_tagvalueiammember_types.go create mode 100755 apis/tags/v1alpha1/zz_tagvalueiampolicy_terraformed.go create mode 100755 apis/tags/v1alpha1/zz_tagvalueiampolicy_types.go create mode 100644 apis/tpu/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/tpu/v1alpha1/zz_generated.managed.go create mode 100644 apis/tpu/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/tpu/v1alpha1/zz_groupversion_info.go create mode 100755 apis/tpu/v1alpha1/zz_node_terraformed.go create mode 100755 apis/tpu/v1alpha1/zz_node_types.go create mode 100755 apis/vertexai/v1alpha1/zz_dataset_terraformed.go create mode 100755 apis/vertexai/v1alpha1/zz_dataset_types.go create mode 100644 apis/vertexai/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/vertexai/v1alpha1/zz_generated.managed.go create mode 100644 apis/vertexai/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/vertexai/v1alpha1/zz_groupversion_info.go create mode 100755 apis/vpcaccess/v1alpha1/zz_connector_terraformed.go create mode 100755 apis/vpcaccess/v1alpha1/zz_connector_types.go create mode 100644 apis/vpcaccess/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/vpcaccess/v1alpha1/zz_generated.managed.go create mode 100644 apis/vpcaccess/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/vpcaccess/v1alpha1/zz_groupversion_info.go create mode 100644 apis/workflows/v1alpha1/zz_generated.deepcopy.go create mode 100644 apis/workflows/v1alpha1/zz_generated.managed.go create mode 100644 apis/workflows/v1alpha1/zz_generated.managedlist.go create mode 100755 apis/workflows/v1alpha1/zz_groupversion_info.go create mode 100755 apis/workflows/v1alpha1/zz_workflow_terraformed.go create mode 100755 apis/workflows/v1alpha1/zz_workflow_types.go create mode 100755 internal/controller/accessapproval/foldersettings/zz_controller.go create mode 100755 internal/controller/accessapproval/organizationsettings/zz_controller.go create mode 100755 internal/controller/accessapproval/projectsettings/zz_controller.go create mode 100755 internal/controller/accesscontextmanager/accesslevel/zz_controller.go create mode 100755 internal/controller/accesscontextmanager/accesslevelcondition/zz_controller.go create mode 100755 internal/controller/accesscontextmanager/accesspolicy/zz_controller.go create mode 100755 internal/controller/accesscontextmanager/gcpuseraccessbinding/zz_controller.go create mode 100755 internal/controller/accesscontextmanager/serviceperimeter/zz_controller.go create mode 100755 internal/controller/accesscontextmanager/serviceperimeterresource/zz_controller.go create mode 100755 internal/controller/activedirectory/domain/zz_controller.go create mode 100755 internal/controller/activedirectory/domaintrust/zz_controller.go create mode 100755 internal/controller/apigee/envgroup/zz_controller.go create mode 100755 internal/controller/apigee/envgroupattachment/zz_controller.go create mode 100755 internal/controller/apigee/environment/zz_controller.go create mode 100755 internal/controller/apigee/instance/zz_controller.go create mode 100755 internal/controller/apigee/instanceattachment/zz_controller.go create mode 100755 internal/controller/apigee/organization/zz_controller.go create mode 100755 internal/controller/appengine/application/zz_controller.go create mode 100755 internal/controller/appengine/applicationurldispatchrules/zz_controller.go create mode 100755 internal/controller/appengine/domainmapping/zz_controller.go create mode 100755 internal/controller/appengine/firewallrule/zz_controller.go create mode 100755 internal/controller/appengine/flexibleappversion/zz_controller.go create mode 100755 internal/controller/appengine/servicenetworksettings/zz_controller.go create mode 100755 internal/controller/appengine/servicesplittraffic/zz_controller.go create mode 100755 internal/controller/appengine/standardappversion/zz_controller.go create mode 100755 internal/controller/assuredworkloads/workload/zz_controller.go create mode 100755 internal/controller/bigquery/dataset/zz_controller.go create mode 100755 internal/controller/bigquery/datasetaccess/zz_controller.go create mode 100755 internal/controller/bigquery/datasetiambinding/zz_controller.go create mode 100755 internal/controller/bigquery/datasetiammember/zz_controller.go create mode 100755 internal/controller/bigquery/datasetiampolicy/zz_controller.go create mode 100755 internal/controller/bigquery/datatransferconfig/zz_controller.go create mode 100755 internal/controller/bigquery/job/zz_controller.go create mode 100755 internal/controller/bigquery/reservation/zz_controller.go create mode 100755 internal/controller/bigquery/routine/zz_controller.go create mode 100755 internal/controller/bigquery/table/zz_controller.go create mode 100755 internal/controller/bigquery/tableiambinding/zz_controller.go create mode 100755 internal/controller/bigquery/tableiammember/zz_controller.go create mode 100755 internal/controller/bigquery/tableiampolicy/zz_controller.go create mode 100755 internal/controller/bigtable/appprofile/zz_controller.go create mode 100755 internal/controller/bigtable/garbagecollectionpolicy/zz_controller.go create mode 100755 internal/controller/bigtable/instance/zz_controller.go create mode 100755 internal/controller/bigtable/instanceiambinding/zz_controller.go create mode 100755 internal/controller/bigtable/instanceiammember/zz_controller.go create mode 100755 internal/controller/bigtable/instanceiampolicy/zz_controller.go create mode 100755 internal/controller/bigtable/table/zz_controller.go create mode 100755 internal/controller/bigtable/tableiambinding/zz_controller.go create mode 100755 internal/controller/bigtable/tableiammember/zz_controller.go create mode 100755 internal/controller/bigtable/tableiampolicy/zz_controller.go create mode 100755 internal/controller/billing/accountiambinding/zz_controller.go create mode 100755 internal/controller/billing/accountiammember/zz_controller.go create mode 100755 internal/controller/billing/accountiampolicy/zz_controller.go create mode 100755 internal/controller/billing/budget/zz_controller.go create mode 100755 internal/controller/binaryauthorization/attestor/zz_controller.go create mode 100755 internal/controller/binaryauthorization/attestoriambinding/zz_controller.go create mode 100755 internal/controller/binaryauthorization/attestoriammember/zz_controller.go create mode 100755 internal/controller/binaryauthorization/attestoriampolicy/zz_controller.go create mode 100755 internal/controller/binaryauthorization/policy/zz_controller.go create mode 100755 internal/controller/cloudasset/folderfeed/zz_controller.go create mode 100755 internal/controller/cloudasset/organizationfeed/zz_controller.go create mode 100755 internal/controller/cloudasset/projectfeed/zz_controller.go create mode 100755 internal/controller/cloudbuild/trigger/zz_controller.go create mode 100755 internal/controller/cloudfunctions/function/zz_controller.go create mode 100755 internal/controller/cloudfunctions/functioniambinding/zz_controller.go create mode 100755 internal/controller/cloudfunctions/functioniammember/zz_controller.go create mode 100755 internal/controller/cloudfunctions/functioniampolicy/zz_controller.go create mode 100755 internal/controller/cloudidentity/group/zz_controller.go create mode 100755 internal/controller/cloudidentity/groupmembership/zz_controller.go create mode 100755 internal/controller/cloudiot/device/zz_controller.go create mode 100755 internal/controller/cloudiot/registry/zz_controller.go create mode 100755 internal/controller/cloudplatform/billingsubaccount/zz_controller.go create mode 100755 internal/controller/cloudplatform/folder/zz_controller.go create mode 100755 internal/controller/cloudplatform/folderiamauditconfig/zz_controller.go create mode 100755 internal/controller/cloudplatform/folderiambinding/zz_controller.go create mode 100755 internal/controller/cloudplatform/folderiammember/zz_controller.go create mode 100755 internal/controller/cloudplatform/folderiampolicy/zz_controller.go create mode 100755 internal/controller/cloudplatform/folderorganizationpolicy/zz_controller.go create mode 100755 internal/controller/cloudplatform/organizationiamauditconfig/zz_controller.go create mode 100755 internal/controller/cloudplatform/organizationiambinding/zz_controller.go create mode 100755 internal/controller/cloudplatform/organizationiamcustomrole/zz_controller.go create mode 100755 internal/controller/cloudplatform/organizationiammember/zz_controller.go create mode 100755 internal/controller/cloudplatform/organizationiampolicy/zz_controller.go create mode 100755 internal/controller/cloudplatform/organizationpolicy/zz_controller.go create mode 100755 internal/controller/cloudplatform/project/zz_controller.go create mode 100755 internal/controller/cloudplatform/projectdefaultserviceaccounts/zz_controller.go create mode 100755 internal/controller/cloudplatform/projectiamauditconfig/zz_controller.go create mode 100755 internal/controller/cloudplatform/projectiambinding/zz_controller.go create mode 100755 internal/controller/cloudplatform/projectiamcustomrole/zz_controller.go create mode 100755 internal/controller/cloudplatform/projectiammember/zz_controller.go create mode 100755 internal/controller/cloudplatform/projectiampolicy/zz_controller.go create mode 100755 internal/controller/cloudplatform/projectorganizationpolicy/zz_controller.go create mode 100755 internal/controller/cloudplatform/projectservice/zz_controller.go create mode 100755 internal/controller/cloudplatform/projectusageexportbucket/zz_controller.go create mode 100755 internal/controller/cloudplatform/serviceaccountiambinding/zz_controller.go create mode 100755 internal/controller/cloudplatform/serviceaccountiammember/zz_controller.go create mode 100755 internal/controller/cloudplatform/serviceaccountiampolicy/zz_controller.go create mode 100755 internal/controller/cloudplatform/servicenetworkingpeereddnsdomain/zz_controller.go create mode 100755 internal/controller/cloudrun/domainmapping/zz_controller.go create mode 100755 internal/controller/cloudrun/service/zz_controller.go create mode 100755 internal/controller/cloudrun/serviceiambinding/zz_controller.go create mode 100755 internal/controller/cloudrun/serviceiammember/zz_controller.go create mode 100755 internal/controller/cloudrun/serviceiampolicy/zz_controller.go create mode 100755 internal/controller/cloudscheduler/job/zz_controller.go create mode 100755 internal/controller/cloudtasks/queue/zz_controller.go create mode 100755 internal/controller/composer/environment/zz_controller.go create mode 100755 internal/controller/compute/attacheddisk/zz_controller.go create mode 100755 internal/controller/compute/autoscaler/zz_controller.go create mode 100755 internal/controller/compute/backendbucket/zz_controller.go create mode 100755 internal/controller/compute/backendbucketsignedurlkey/zz_controller.go create mode 100755 internal/controller/compute/backendservice/zz_controller.go create mode 100755 internal/controller/compute/backendservicesignedurlkey/zz_controller.go create mode 100755 internal/controller/compute/disk/zz_controller.go create mode 100755 internal/controller/compute/diskiambinding/zz_controller.go create mode 100755 internal/controller/compute/diskiammember/zz_controller.go create mode 100755 internal/controller/compute/diskiampolicy/zz_controller.go create mode 100755 internal/controller/compute/diskresourcepolicyattachment/zz_controller.go create mode 100755 internal/controller/compute/externalvpngateway/zz_controller.go create mode 100755 internal/controller/compute/firewallpolicy/zz_controller.go create mode 100755 internal/controller/compute/firewallpolicyassociation/zz_controller.go create mode 100755 internal/controller/compute/firewallpolicyrule/zz_controller.go create mode 100755 internal/controller/compute/forwardingrule/zz_controller.go create mode 100755 internal/controller/compute/globaladdress/zz_controller.go create mode 100755 internal/controller/compute/globalforwardingrule/zz_controller.go create mode 100755 internal/controller/compute/globalnetworkendpoint/zz_controller.go create mode 100755 internal/controller/compute/globalnetworkendpointgroup/zz_controller.go create mode 100755 internal/controller/compute/havpngateway/zz_controller.go create mode 100755 internal/controller/compute/healthcheck/zz_controller.go create mode 100755 internal/controller/compute/httphealthcheck/zz_controller.go create mode 100755 internal/controller/compute/httpshealthcheck/zz_controller.go create mode 100755 internal/controller/compute/image/zz_controller.go create mode 100755 internal/controller/compute/imageiambinding/zz_controller.go create mode 100755 internal/controller/compute/imageiammember/zz_controller.go create mode 100755 internal/controller/compute/imageiampolicy/zz_controller.go create mode 100755 internal/controller/compute/instancefromtemplate/zz_controller.go create mode 100755 internal/controller/compute/instancegroup/zz_controller.go create mode 100755 internal/controller/compute/instancegroupmanager/zz_controller.go create mode 100755 internal/controller/compute/instancegroupnamedport/zz_controller.go create mode 100755 internal/controller/compute/instanceiambinding/zz_controller.go create mode 100755 internal/controller/compute/instanceiammember/zz_controller.go create mode 100755 internal/controller/compute/instanceiampolicy/zz_controller.go create mode 100755 internal/controller/compute/instancetemplate/zz_controller.go create mode 100755 internal/controller/compute/interconnectattachment/zz_controller.go create mode 100755 internal/controller/compute/networkendpoint/zz_controller.go create mode 100755 internal/controller/compute/networkendpointgroup/zz_controller.go create mode 100755 internal/controller/compute/networkpeering/zz_controller.go create mode 100755 internal/controller/compute/networkpeeringroutesconfig/zz_controller.go create mode 100755 internal/controller/compute/nodegroup/zz_controller.go create mode 100755 internal/controller/compute/nodetemplate/zz_controller.go create mode 100755 internal/controller/compute/packetmirroring/zz_controller.go create mode 100755 internal/controller/compute/perinstanceconfig/zz_controller.go create mode 100755 internal/controller/compute/projectdefaultnetworktier/zz_controller.go create mode 100755 internal/controller/compute/projectmetadata/zz_controller.go create mode 100755 internal/controller/compute/projectmetadataitem/zz_controller.go create mode 100755 internal/controller/compute/regionautoscaler/zz_controller.go create mode 100755 internal/controller/compute/regionbackendservice/zz_controller.go create mode 100755 internal/controller/compute/regiondisk/zz_controller.go create mode 100755 internal/controller/compute/regiondiskiambinding/zz_controller.go create mode 100755 internal/controller/compute/regiondiskiammember/zz_controller.go create mode 100755 internal/controller/compute/regiondiskiampolicy/zz_controller.go create mode 100755 internal/controller/compute/regiondiskresourcepolicyattachment/zz_controller.go create mode 100755 internal/controller/compute/regionhealthcheck/zz_controller.go create mode 100755 internal/controller/compute/regioninstancegroupmanager/zz_controller.go create mode 100755 internal/controller/compute/regionnetworkendpointgroup/zz_controller.go create mode 100755 internal/controller/compute/regionperinstanceconfig/zz_controller.go create mode 100755 internal/controller/compute/regionsslcertificate/zz_controller.go create mode 100755 internal/controller/compute/regiontargethttpproxy/zz_controller.go create mode 100755 internal/controller/compute/regiontargethttpsproxy/zz_controller.go create mode 100755 internal/controller/compute/regionurlmap/zz_controller.go create mode 100755 internal/controller/compute/reservation/zz_controller.go create mode 100755 internal/controller/compute/resourcepolicy/zz_controller.go create mode 100755 internal/controller/compute/route/zz_controller.go create mode 100755 internal/controller/compute/routerinterface/zz_controller.go create mode 100755 internal/controller/compute/routerpeer/zz_controller.go create mode 100755 internal/controller/compute/securitypolicy/zz_controller.go create mode 100755 internal/controller/compute/serviceattachment/zz_controller.go create mode 100755 internal/controller/compute/sharedvpchostproject/zz_controller.go create mode 100755 internal/controller/compute/sharedvpcserviceproject/zz_controller.go create mode 100755 internal/controller/compute/snapshot/zz_controller.go create mode 100755 internal/controller/compute/sslcertificate/zz_controller.go create mode 100755 internal/controller/compute/sslpolicy/zz_controller.go create mode 100755 internal/controller/compute/subnetworkiambinding/zz_controller.go create mode 100755 internal/controller/compute/subnetworkiammember/zz_controller.go create mode 100755 internal/controller/compute/subnetworkiampolicy/zz_controller.go create mode 100755 internal/controller/compute/targetgrpcproxy/zz_controller.go create mode 100755 internal/controller/compute/targethttpproxy/zz_controller.go create mode 100755 internal/controller/compute/targethttpsproxy/zz_controller.go create mode 100755 internal/controller/compute/targetinstance/zz_controller.go create mode 100755 internal/controller/compute/targetpool/zz_controller.go create mode 100755 internal/controller/compute/targetsslproxy/zz_controller.go create mode 100755 internal/controller/compute/targettcpproxy/zz_controller.go create mode 100755 internal/controller/compute/urlmap/zz_controller.go create mode 100755 internal/controller/compute/vpngateway/zz_controller.go create mode 100755 internal/controller/compute/vpntunnel/zz_controller.go create mode 100755 internal/controller/container/registry/zz_controller.go create mode 100755 internal/controller/containeranalysis/note/zz_controller.go create mode 100755 internal/controller/containeranalysis/occurrence/zz_controller.go create mode 100755 internal/controller/datacatalog/entry/zz_controller.go create mode 100755 internal/controller/datacatalog/entrygroup/zz_controller.go create mode 100755 internal/controller/datacatalog/entrygroupiambinding/zz_controller.go create mode 100755 internal/controller/datacatalog/entrygroupiammember/zz_controller.go create mode 100755 internal/controller/datacatalog/entrygroupiampolicy/zz_controller.go create mode 100755 internal/controller/datacatalog/tag/zz_controller.go create mode 100755 internal/controller/datacatalog/tagtemplate/zz_controller.go create mode 100755 internal/controller/datacatalog/tagtemplateiambinding/zz_controller.go create mode 100755 internal/controller/datacatalog/tagtemplateiammember/zz_controller.go create mode 100755 internal/controller/datacatalog/tagtemplateiampolicy/zz_controller.go create mode 100755 internal/controller/dataflow/job/zz_controller.go create mode 100755 internal/controller/datalossprevention/deidentifytemplate/zz_controller.go create mode 100755 internal/controller/datalossprevention/inspecttemplate/zz_controller.go create mode 100755 internal/controller/datalossprevention/jobtrigger/zz_controller.go create mode 100755 internal/controller/datalossprevention/storedinfotype/zz_controller.go create mode 100755 internal/controller/dataproc/autoscalingpolicy/zz_controller.go create mode 100755 internal/controller/dataproc/cluster/zz_controller.go create mode 100755 internal/controller/dataproc/clusteriambinding/zz_controller.go create mode 100755 internal/controller/dataproc/clusteriammember/zz_controller.go create mode 100755 internal/controller/dataproc/clusteriampolicy/zz_controller.go create mode 100755 internal/controller/dataproc/job/zz_controller.go create mode 100755 internal/controller/dataproc/jobiambinding/zz_controller.go create mode 100755 internal/controller/dataproc/jobiammember/zz_controller.go create mode 100755 internal/controller/dataproc/jobiampolicy/zz_controller.go create mode 100755 internal/controller/dataproc/workflowtemplate/zz_controller.go create mode 100755 internal/controller/datastore/index/zz_controller.go create mode 100755 internal/controller/deploymentmanager/deployment/zz_controller.go create mode 100755 internal/controller/dialogflow/agent/zz_controller.go create mode 100755 internal/controller/dialogflow/entitytype/zz_controller.go create mode 100755 internal/controller/dialogflow/fulfillment/zz_controller.go create mode 100755 internal/controller/dialogflow/intent/zz_controller.go create mode 100755 internal/controller/dialogflowcx/agent/zz_controller.go create mode 100755 internal/controller/dialogflowcx/entitytype/zz_controller.go create mode 100755 internal/controller/dialogflowcx/environment/zz_controller.go create mode 100755 internal/controller/dialogflowcx/flow/zz_controller.go create mode 100755 internal/controller/dialogflowcx/intent/zz_controller.go create mode 100755 internal/controller/dialogflowcx/page/zz_controller.go create mode 100755 internal/controller/dialogflowcx/version/zz_controller.go create mode 100755 internal/controller/dns/managedzone/zz_controller.go create mode 100755 internal/controller/dns/policy/zz_controller.go create mode 100755 internal/controller/dns/recordset/zz_controller.go create mode 100755 internal/controller/endpoints/service/zz_controller.go create mode 100755 internal/controller/endpoints/serviceiambinding/zz_controller.go create mode 100755 internal/controller/endpoints/serviceiammember/zz_controller.go create mode 100755 internal/controller/endpoints/serviceiampolicy/zz_controller.go create mode 100755 internal/controller/essentialcontacts/contact/zz_controller.go create mode 100755 internal/controller/eventarc/trigger/zz_controller.go create mode 100755 internal/controller/filestore/instance/zz_controller.go create mode 100755 internal/controller/firestore/document/zz_controller.go create mode 100755 internal/controller/firestore/index/zz_controller.go create mode 100755 internal/controller/gameservices/gameservercluster/zz_controller.go create mode 100755 internal/controller/gameservices/gameserverconfig/zz_controller.go create mode 100755 internal/controller/gameservices/gameserverdeployment/zz_controller.go create mode 100755 internal/controller/gameservices/gameserverdeploymentrollout/zz_controller.go create mode 100755 internal/controller/gameservices/realm/zz_controller.go create mode 100755 internal/controller/gkehub/membership/zz_controller.go create mode 100755 internal/controller/healthcare/consentstore/zz_controller.go create mode 100755 internal/controller/healthcare/consentstoreiambinding/zz_controller.go create mode 100755 internal/controller/healthcare/consentstoreiammember/zz_controller.go create mode 100755 internal/controller/healthcare/consentstoreiampolicy/zz_controller.go create mode 100755 internal/controller/healthcare/dataset/zz_controller.go create mode 100755 internal/controller/healthcare/datasetiambinding/zz_controller.go create mode 100755 internal/controller/healthcare/datasetiammember/zz_controller.go create mode 100755 internal/controller/healthcare/datasetiampolicy/zz_controller.go create mode 100755 internal/controller/healthcare/dicomstore/zz_controller.go create mode 100755 internal/controller/healthcare/dicomstoreiambinding/zz_controller.go create mode 100755 internal/controller/healthcare/dicomstoreiammember/zz_controller.go create mode 100755 internal/controller/healthcare/dicomstoreiampolicy/zz_controller.go create mode 100755 internal/controller/healthcare/fhirstore/zz_controller.go create mode 100755 internal/controller/healthcare/fhirstoreiambinding/zz_controller.go create mode 100755 internal/controller/healthcare/fhirstoreiammember/zz_controller.go create mode 100755 internal/controller/healthcare/fhirstoreiampolicy/zz_controller.go create mode 100755 internal/controller/healthcare/hl7v2store/zz_controller.go create mode 100755 internal/controller/healthcare/hl7v2storeiambinding/zz_controller.go create mode 100755 internal/controller/healthcare/hl7v2storeiammember/zz_controller.go create mode 100755 internal/controller/healthcare/hl7v2storeiampolicy/zz_controller.go create mode 100755 internal/controller/iap/appengineserviceiambinding/zz_controller.go create mode 100755 internal/controller/iap/appengineserviceiammember/zz_controller.go create mode 100755 internal/controller/iap/appengineserviceiampolicy/zz_controller.go create mode 100755 internal/controller/iap/appengineversioniambinding/zz_controller.go create mode 100755 internal/controller/iap/appengineversioniammember/zz_controller.go create mode 100755 internal/controller/iap/appengineversioniampolicy/zz_controller.go create mode 100755 internal/controller/iap/brand/zz_controller.go create mode 100755 internal/controller/iap/client/zz_controller.go create mode 100755 internal/controller/iap/tunneliambinding/zz_controller.go create mode 100755 internal/controller/iap/tunneliammember/zz_controller.go create mode 100755 internal/controller/iap/tunneliampolicy/zz_controller.go create mode 100755 internal/controller/iap/tunnelinstanceiambinding/zz_controller.go create mode 100755 internal/controller/iap/tunnelinstanceiammember/zz_controller.go create mode 100755 internal/controller/iap/tunnelinstanceiampolicy/zz_controller.go create mode 100755 internal/controller/iap/webbackendserviceiambinding/zz_controller.go create mode 100755 internal/controller/iap/webbackendserviceiammember/zz_controller.go create mode 100755 internal/controller/iap/webbackendserviceiampolicy/zz_controller.go create mode 100755 internal/controller/iap/webiambinding/zz_controller.go create mode 100755 internal/controller/iap/webiammember/zz_controller.go create mode 100755 internal/controller/iap/webiampolicy/zz_controller.go create mode 100755 internal/controller/iap/webtypeappengineiambinding/zz_controller.go create mode 100755 internal/controller/iap/webtypeappengineiammember/zz_controller.go create mode 100755 internal/controller/iap/webtypeappengineiampolicy/zz_controller.go create mode 100755 internal/controller/iap/webtypecomputeiambinding/zz_controller.go create mode 100755 internal/controller/iap/webtypecomputeiammember/zz_controller.go create mode 100755 internal/controller/iap/webtypecomputeiampolicy/zz_controller.go create mode 100755 internal/controller/identityplatform/defaultsupportedidpconfig/zz_controller.go create mode 100755 internal/controller/identityplatform/inboundsamlconfig/zz_controller.go create mode 100755 internal/controller/identityplatform/oauthidpconfig/zz_controller.go create mode 100755 internal/controller/identityplatform/tenant/zz_controller.go create mode 100755 internal/controller/identityplatform/tenantdefaultsupportedidpconfig/zz_controller.go create mode 100755 internal/controller/identityplatform/tenantinboundsamlconfig/zz_controller.go create mode 100755 internal/controller/identityplatform/tenantoauthidpconfig/zz_controller.go create mode 100755 internal/controller/kms/cryptokey/zz_controller.go create mode 100755 internal/controller/kms/cryptokeyiambinding/zz_controller.go create mode 100755 internal/controller/kms/cryptokeyiammember/zz_controller.go create mode 100755 internal/controller/kms/cryptokeyiampolicy/zz_controller.go create mode 100755 internal/controller/kms/keyring/zz_controller.go create mode 100755 internal/controller/kms/keyringiambinding/zz_controller.go create mode 100755 internal/controller/kms/keyringiammember/zz_controller.go create mode 100755 internal/controller/kms/keyringiampolicy/zz_controller.go create mode 100755 internal/controller/kms/keyringimportjob/zz_controller.go create mode 100755 internal/controller/kms/secretciphertext/zz_controller.go create mode 100755 internal/controller/logging/billingaccountbucketconfig/zz_controller.go create mode 100755 internal/controller/logging/billingaccountexclusion/zz_controller.go create mode 100755 internal/controller/logging/billingaccountsink/zz_controller.go create mode 100755 internal/controller/logging/folderbucketconfig/zz_controller.go create mode 100755 internal/controller/logging/folderexclusion/zz_controller.go create mode 100755 internal/controller/logging/foldersink/zz_controller.go create mode 100755 internal/controller/logging/metric/zz_controller.go create mode 100755 internal/controller/logging/organizationbucketconfig/zz_controller.go create mode 100755 internal/controller/logging/organizationexclusion/zz_controller.go create mode 100755 internal/controller/logging/organizationsink/zz_controller.go create mode 100755 internal/controller/logging/projectbucketconfig/zz_controller.go create mode 100755 internal/controller/logging/projectexclusion/zz_controller.go create mode 100755 internal/controller/logging/projectsink/zz_controller.go create mode 100755 internal/controller/memcache/instance/zz_controller.go create mode 100755 internal/controller/mlengine/model/zz_controller.go create mode 100755 internal/controller/monitoring/customservice/zz_controller.go create mode 100755 internal/controller/monitoring/dashboard/zz_controller.go create mode 100755 internal/controller/monitoring/group/zz_controller.go create mode 100755 internal/controller/monitoring/metricdescriptor/zz_controller.go create mode 100755 internal/controller/monitoring/slo/zz_controller.go create mode 100755 internal/controller/networkmanagement/connectivitytest/zz_controller.go create mode 100755 internal/controller/networkservices/edgecachekeyset/zz_controller.go create mode 100755 internal/controller/networkservices/edgecacheorigin/zz_controller.go create mode 100755 internal/controller/networkservices/edgecacheservice/zz_controller.go create mode 100755 internal/controller/notebooks/environment/zz_controller.go create mode 100755 internal/controller/notebooks/instance/zz_controller.go create mode 100755 internal/controller/notebooks/instanceiambinding/zz_controller.go create mode 100755 internal/controller/notebooks/instanceiammember/zz_controller.go create mode 100755 internal/controller/notebooks/instanceiampolicy/zz_controller.go create mode 100755 internal/controller/notebooks/location/zz_controller.go create mode 100755 internal/controller/orgpolicy/policy/zz_controller.go create mode 100755 internal/controller/osconfig/patchdeployment/zz_controller.go create mode 100755 internal/controller/oslogin/sshpublickey/zz_controller.go create mode 100755 internal/controller/privateca/capool/zz_controller.go create mode 100755 internal/controller/privateca/capooliambinding/zz_controller.go create mode 100755 internal/controller/privateca/capooliammember/zz_controller.go create mode 100755 internal/controller/privateca/capooliampolicy/zz_controller.go create mode 100755 internal/controller/privateca/certificate/zz_controller.go create mode 100755 internal/controller/privateca/certificateauthority/zz_controller.go create mode 100755 internal/controller/privateca/certificatetemplate/zz_controller.go create mode 100755 internal/controller/pubsub/litereservation/zz_controller.go create mode 100755 internal/controller/pubsub/litesubscription/zz_controller.go create mode 100755 internal/controller/pubsub/litetopic/zz_controller.go create mode 100755 internal/controller/pubsub/schema/zz_controller.go create mode 100755 internal/controller/pubsub/subscription/zz_controller.go create mode 100755 internal/controller/pubsub/subscriptioniambinding/zz_controller.go create mode 100755 internal/controller/pubsub/subscriptioniammember/zz_controller.go create mode 100755 internal/controller/pubsub/subscriptioniampolicy/zz_controller.go create mode 100755 internal/controller/pubsub/topic/zz_controller.go create mode 100755 internal/controller/pubsub/topiciambinding/zz_controller.go create mode 100755 internal/controller/pubsub/topiciammember/zz_controller.go create mode 100755 internal/controller/pubsub/topiciampolicy/zz_controller.go create mode 100755 internal/controller/redis/instance/zz_controller.go create mode 100755 internal/controller/resourcemanager/lien/zz_controller.go create mode 100755 internal/controller/scc/notificationconfig/zz_controller.go create mode 100755 internal/controller/scc/source/zz_controller.go create mode 100755 internal/controller/secretmanager/secret/zz_controller.go create mode 100755 internal/controller/secretmanager/secretiambinding/zz_controller.go create mode 100755 internal/controller/secretmanager/secretiammember/zz_controller.go create mode 100755 internal/controller/secretmanager/secretiampolicy/zz_controller.go create mode 100755 internal/controller/secretmanager/secretversion/zz_controller.go create mode 100755 internal/controller/servicenetworking/connection/zz_controller.go create mode 100755 internal/controller/sourcerepo/repository/zz_controller.go create mode 100755 internal/controller/sourcerepo/repositoryiambinding/zz_controller.go create mode 100755 internal/controller/sourcerepo/repositoryiammember/zz_controller.go create mode 100755 internal/controller/sourcerepo/repositoryiampolicy/zz_controller.go create mode 100755 internal/controller/spanner/database/zz_controller.go create mode 100755 internal/controller/spanner/databaseiambinding/zz_controller.go create mode 100755 internal/controller/spanner/databaseiammember/zz_controller.go create mode 100755 internal/controller/spanner/databaseiampolicy/zz_controller.go create mode 100755 internal/controller/spanner/instance/zz_controller.go create mode 100755 internal/controller/spanner/instanceiambinding/zz_controller.go create mode 100755 internal/controller/spanner/instanceiammember/zz_controller.go create mode 100755 internal/controller/spanner/instanceiampolicy/zz_controller.go create mode 100755 internal/controller/storage/bucketaccesscontrol/zz_controller.go create mode 100755 internal/controller/storage/bucketacl/zz_controller.go create mode 100755 internal/controller/storage/bucketiambinding/zz_controller.go create mode 100755 internal/controller/storage/bucketiammember/zz_controller.go create mode 100755 internal/controller/storage/bucketiampolicy/zz_controller.go create mode 100755 internal/controller/storage/bucketobject/zz_controller.go create mode 100755 internal/controller/storage/defaultobjectaccesscontrol/zz_controller.go create mode 100755 internal/controller/storage/defaultobjectacl/zz_controller.go create mode 100755 internal/controller/storage/hmackey/zz_controller.go create mode 100755 internal/controller/storage/notification/zz_controller.go create mode 100755 internal/controller/storage/objectaccesscontrol/zz_controller.go create mode 100755 internal/controller/storage/objectacl/zz_controller.go create mode 100755 internal/controller/storagetransfer/job/zz_controller.go create mode 100755 internal/controller/tags/tagbinding/zz_controller.go create mode 100755 internal/controller/tags/tagkey/zz_controller.go create mode 100755 internal/controller/tags/tagkeyiambinding/zz_controller.go create mode 100755 internal/controller/tags/tagkeyiammember/zz_controller.go create mode 100755 internal/controller/tags/tagkeyiampolicy/zz_controller.go create mode 100755 internal/controller/tags/tagvalue/zz_controller.go create mode 100755 internal/controller/tags/tagvalueiambinding/zz_controller.go create mode 100755 internal/controller/tags/tagvalueiammember/zz_controller.go create mode 100755 internal/controller/tags/tagvalueiampolicy/zz_controller.go create mode 100755 internal/controller/tpu/node/zz_controller.go create mode 100755 internal/controller/vertexai/dataset/zz_controller.go create mode 100755 internal/controller/vpcaccess/connector/zz_controller.go create mode 100755 internal/controller/workflows/workflow/zz_controller.go create mode 100644 package/crds/accessapproval.gcp.jet.crossplane.io_foldersettings.yaml create mode 100644 package/crds/accessapproval.gcp.jet.crossplane.io_organizationsettings.yaml create mode 100644 package/crds/accessapproval.gcp.jet.crossplane.io_projectsettings.yaml create mode 100644 package/crds/accesscontextmanager.gcp.jet.crossplane.io_accesslevelconditions.yaml create mode 100644 package/crds/accesscontextmanager.gcp.jet.crossplane.io_accesslevels.yaml create mode 100644 package/crds/accesscontextmanager.gcp.jet.crossplane.io_accesspolicies.yaml create mode 100644 package/crds/accesscontextmanager.gcp.jet.crossplane.io_gcpuseraccessbindings.yaml create mode 100644 package/crds/accesscontextmanager.gcp.jet.crossplane.io_serviceperimeterresources.yaml create mode 100644 package/crds/accesscontextmanager.gcp.jet.crossplane.io_serviceperimeters.yaml create mode 100644 package/crds/activedirectory.gcp.jet.crossplane.io_domains.yaml create mode 100644 package/crds/activedirectory.gcp.jet.crossplane.io_domaintrusts.yaml create mode 100644 package/crds/apigee.gcp.jet.crossplane.io_envgroupattachments.yaml create mode 100644 package/crds/apigee.gcp.jet.crossplane.io_envgroups.yaml create mode 100644 package/crds/apigee.gcp.jet.crossplane.io_environments.yaml create mode 100644 package/crds/apigee.gcp.jet.crossplane.io_instanceattachments.yaml create mode 100644 package/crds/apigee.gcp.jet.crossplane.io_instances.yaml create mode 100644 package/crds/apigee.gcp.jet.crossplane.io_organizations.yaml create mode 100644 package/crds/appengine.gcp.jet.crossplane.io_applications.yaml create mode 100644 package/crds/appengine.gcp.jet.crossplane.io_applicationurldispatchrules.yaml create mode 100644 package/crds/appengine.gcp.jet.crossplane.io_domainmappings.yaml create mode 100644 package/crds/appengine.gcp.jet.crossplane.io_firewallrules.yaml create mode 100644 package/crds/appengine.gcp.jet.crossplane.io_flexibleappversions.yaml create mode 100644 package/crds/appengine.gcp.jet.crossplane.io_servicenetworksettings.yaml create mode 100644 package/crds/appengine.gcp.jet.crossplane.io_servicesplittraffics.yaml create mode 100644 package/crds/appengine.gcp.jet.crossplane.io_standardappversions.yaml create mode 100644 package/crds/assuredworkloads.gcp.jet.crossplane.io_workloads.yaml create mode 100644 package/crds/bigquery.gcp.jet.crossplane.io_datasetaccesses.yaml create mode 100644 package/crds/bigquery.gcp.jet.crossplane.io_datasetiambindings.yaml create mode 100644 package/crds/bigquery.gcp.jet.crossplane.io_datasetiammembers.yaml create mode 100644 package/crds/bigquery.gcp.jet.crossplane.io_datasetiampolicies.yaml create mode 100644 package/crds/bigquery.gcp.jet.crossplane.io_datasets.yaml create mode 100644 package/crds/bigquery.gcp.jet.crossplane.io_datatransferconfigs.yaml create mode 100644 package/crds/bigquery.gcp.jet.crossplane.io_jobs.yaml create mode 100644 package/crds/bigquery.gcp.jet.crossplane.io_reservations.yaml create mode 100644 package/crds/bigquery.gcp.jet.crossplane.io_routines.yaml create mode 100644 package/crds/bigquery.gcp.jet.crossplane.io_tableiambindings.yaml create mode 100644 package/crds/bigquery.gcp.jet.crossplane.io_tableiammembers.yaml create mode 100644 package/crds/bigquery.gcp.jet.crossplane.io_tableiampolicies.yaml create mode 100644 package/crds/bigquery.gcp.jet.crossplane.io_tables.yaml create mode 100644 package/crds/bigtable.gcp.jet.crossplane.io_appprofiles.yaml create mode 100644 package/crds/bigtable.gcp.jet.crossplane.io_garbagecollectionpolicies.yaml create mode 100644 package/crds/bigtable.gcp.jet.crossplane.io_instanceiambindings.yaml create mode 100644 package/crds/bigtable.gcp.jet.crossplane.io_instanceiammembers.yaml create mode 100644 package/crds/bigtable.gcp.jet.crossplane.io_instanceiampolicies.yaml create mode 100644 package/crds/bigtable.gcp.jet.crossplane.io_instances.yaml create mode 100644 package/crds/bigtable.gcp.jet.crossplane.io_tableiambindings.yaml create mode 100644 package/crds/bigtable.gcp.jet.crossplane.io_tableiammembers.yaml create mode 100644 package/crds/bigtable.gcp.jet.crossplane.io_tableiampolicies.yaml create mode 100644 package/crds/bigtable.gcp.jet.crossplane.io_tables.yaml create mode 100644 package/crds/billing.gcp.jet.crossplane.io_accountiambindings.yaml create mode 100644 package/crds/billing.gcp.jet.crossplane.io_accountiammembers.yaml create mode 100644 package/crds/billing.gcp.jet.crossplane.io_accountiampolicies.yaml create mode 100644 package/crds/billing.gcp.jet.crossplane.io_budgets.yaml create mode 100644 package/crds/binaryauthorization.gcp.jet.crossplane.io_attestoriambindings.yaml create mode 100644 package/crds/binaryauthorization.gcp.jet.crossplane.io_attestoriammembers.yaml create mode 100644 package/crds/binaryauthorization.gcp.jet.crossplane.io_attestoriampolicies.yaml create mode 100644 package/crds/binaryauthorization.gcp.jet.crossplane.io_attestors.yaml create mode 100644 package/crds/binaryauthorization.gcp.jet.crossplane.io_policies.yaml create mode 100644 package/crds/cloudasset.gcp.jet.crossplane.io_folderfeeds.yaml create mode 100644 package/crds/cloudasset.gcp.jet.crossplane.io_organizationfeeds.yaml create mode 100644 package/crds/cloudasset.gcp.jet.crossplane.io_projectfeeds.yaml create mode 100644 package/crds/cloudbuild.gcp.jet.crossplane.io_triggers.yaml create mode 100644 package/crds/cloudfunctions.gcp.jet.crossplane.io_functioniambindings.yaml create mode 100644 package/crds/cloudfunctions.gcp.jet.crossplane.io_functioniammembers.yaml create mode 100644 package/crds/cloudfunctions.gcp.jet.crossplane.io_functioniampolicies.yaml create mode 100644 package/crds/cloudfunctions.gcp.jet.crossplane.io_functions.yaml create mode 100644 package/crds/cloudidentity.gcp.jet.crossplane.io_groupmemberships.yaml create mode 100644 package/crds/cloudidentity.gcp.jet.crossplane.io_groups.yaml create mode 100644 package/crds/cloudiot.gcp.jet.crossplane.io_devices.yaml create mode 100644 package/crds/cloudiot.gcp.jet.crossplane.io_registries.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_billingsubaccounts.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_folderiamauditconfigs.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_folderiambindings.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_folderiammembers.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_folderiampolicies.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_folderorganizationpolicies.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_folders.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiamauditconfigs.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiambindings.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiamcustomroles.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiammembers.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiampolicies.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_organizationpolicies.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_projectdefaultserviceaccounts.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_projectiamauditconfigs.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_projectiambindings.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_projectiamcustomroles.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_projectiammembers.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_projectiampolicies.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_projectorganizationpolicies.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_projects.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_projectservices.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_projectusageexportbuckets.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_serviceaccountiambindings.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_serviceaccountiammembers.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_serviceaccountiampolicies.yaml create mode 100644 package/crds/cloudplatform.gcp.jet.crossplane.io_servicenetworkingpeereddnsdomains.yaml create mode 100644 package/crds/cloudrun.gcp.jet.crossplane.io_domainmappings.yaml create mode 100644 package/crds/cloudrun.gcp.jet.crossplane.io_serviceiambindings.yaml create mode 100644 package/crds/cloudrun.gcp.jet.crossplane.io_serviceiammembers.yaml create mode 100644 package/crds/cloudrun.gcp.jet.crossplane.io_serviceiampolicies.yaml create mode 100644 package/crds/cloudrun.gcp.jet.crossplane.io_services.yaml create mode 100644 package/crds/cloudscheduler.gcp.jet.crossplane.io_jobs.yaml create mode 100644 package/crds/cloudtasks.gcp.jet.crossplane.io_queues.yaml create mode 100644 package/crds/composer.gcp.jet.crossplane.io_environments.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_attacheddisks.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_autoscalers.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_backendbuckets.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_backendbucketsignedurlkeys.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_backendservices.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_backendservicesignedurlkeys.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_diskiambindings.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_diskiammembers.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_diskiampolicies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_diskresourcepolicyattachments.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_disks.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_externalvpngateways.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_firewallpolicies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_firewallpolicyassociations.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_firewallpolicyrules.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_forwardingrules.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_globaladdresses.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_globalforwardingrules.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_globalnetworkendpointgroups.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_globalnetworkendpoints.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_havpngateways.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_healthchecks.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_httphealthchecks.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_httpshealthchecks.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_imageiambindings.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_imageiammembers.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_imageiampolicies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_images.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_instancefromtemplates.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_instancegroupmanagers.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_instancegroupnamedports.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_instancegroups.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_instanceiambindings.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_instanceiammembers.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_instanceiampolicies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_instancetemplates.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_interconnectattachments.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_networkendpointgroups.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_networkendpoints.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_networkpeeringroutesconfigs.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_networkpeerings.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_nodegroups.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_nodetemplates.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_packetmirrorings.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_perinstanceconfigs.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_projectdefaultnetworktiers.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_projectmetadata.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_projectmetadataitems.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regionautoscalers.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regionbackendservices.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regiondiskiambindings.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regiondiskiammembers.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regiondiskiampolicies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regiondiskresourcepolicyattachments.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regiondisks.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regionhealthchecks.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regioninstancegroupmanagers.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regionnetworkendpointgroups.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regionperinstanceconfigs.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regionsslcertificates.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regiontargethttpproxies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regiontargethttpsproxies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_regionurlmaps.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_reservations.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_resourcepolicies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_routerinterfaces.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_routerpeers.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_routes.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_securitypolicies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_serviceattachments.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_sharedvpchostprojects.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_sharedvpcserviceprojects.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_snapshots.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_sslcertificates.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_sslpolicies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_subnetworkiambindings.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_subnetworkiammembers.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_subnetworkiampolicies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_targetgrpcproxies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_targethttpproxies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_targethttpsproxies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_targetinstances.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_targetpools.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_targetsslproxies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_targettcpproxies.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_urlmaps.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_vpngateways.yaml create mode 100644 package/crds/compute.gcp.jet.crossplane.io_vpntunnels.yaml create mode 100644 package/crds/container.gcp.jet.crossplane.io_registries.yaml create mode 100644 package/crds/containeranalysis.gcp.jet.crossplane.io_notes.yaml create mode 100644 package/crds/containeranalysis.gcp.jet.crossplane.io_occurrences.yaml create mode 100644 package/crds/datacatalog.gcp.jet.crossplane.io_entries.yaml create mode 100644 package/crds/datacatalog.gcp.jet.crossplane.io_entrygroupiambindings.yaml create mode 100644 package/crds/datacatalog.gcp.jet.crossplane.io_entrygroupiammembers.yaml create mode 100644 package/crds/datacatalog.gcp.jet.crossplane.io_entrygroupiampolicies.yaml create mode 100644 package/crds/datacatalog.gcp.jet.crossplane.io_entrygroups.yaml create mode 100644 package/crds/datacatalog.gcp.jet.crossplane.io_tags.yaml create mode 100644 package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplateiambindings.yaml create mode 100644 package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplateiammembers.yaml create mode 100644 package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplateiampolicies.yaml create mode 100644 package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplates.yaml create mode 100644 package/crds/dataflow.gcp.jet.crossplane.io_jobs.yaml create mode 100644 package/crds/datalossprevention.gcp.jet.crossplane.io_deidentifytemplates.yaml create mode 100644 package/crds/datalossprevention.gcp.jet.crossplane.io_inspecttemplates.yaml create mode 100644 package/crds/datalossprevention.gcp.jet.crossplane.io_jobtriggers.yaml create mode 100644 package/crds/datalossprevention.gcp.jet.crossplane.io_storedinfotypes.yaml create mode 100644 package/crds/dataproc.gcp.jet.crossplane.io_autoscalingpolicies.yaml create mode 100644 package/crds/dataproc.gcp.jet.crossplane.io_clusteriambindings.yaml create mode 100644 package/crds/dataproc.gcp.jet.crossplane.io_clusteriammembers.yaml create mode 100644 package/crds/dataproc.gcp.jet.crossplane.io_clusteriampolicies.yaml create mode 100644 package/crds/dataproc.gcp.jet.crossplane.io_clusters.yaml create mode 100644 package/crds/dataproc.gcp.jet.crossplane.io_jobiambindings.yaml create mode 100644 package/crds/dataproc.gcp.jet.crossplane.io_jobiammembers.yaml create mode 100644 package/crds/dataproc.gcp.jet.crossplane.io_jobiampolicies.yaml create mode 100644 package/crds/dataproc.gcp.jet.crossplane.io_jobs.yaml create mode 100644 package/crds/dataproc.gcp.jet.crossplane.io_workflowtemplates.yaml create mode 100644 package/crds/datastore.gcp.jet.crossplane.io_indices.yaml create mode 100644 package/crds/deploymentmanager.gcp.jet.crossplane.io_deployments.yaml create mode 100644 package/crds/dialogflow.gcp.jet.crossplane.io_agents.yaml create mode 100644 package/crds/dialogflow.gcp.jet.crossplane.io_entitytypes.yaml create mode 100644 package/crds/dialogflow.gcp.jet.crossplane.io_fulfillments.yaml create mode 100644 package/crds/dialogflow.gcp.jet.crossplane.io_intents.yaml create mode 100644 package/crds/dialogflowcx.gcp.jet.crossplane.io_agents.yaml create mode 100644 package/crds/dialogflowcx.gcp.jet.crossplane.io_entitytypes.yaml create mode 100644 package/crds/dialogflowcx.gcp.jet.crossplane.io_environments.yaml create mode 100644 package/crds/dialogflowcx.gcp.jet.crossplane.io_flows.yaml create mode 100644 package/crds/dialogflowcx.gcp.jet.crossplane.io_intents.yaml create mode 100644 package/crds/dialogflowcx.gcp.jet.crossplane.io_pages.yaml create mode 100644 package/crds/dialogflowcx.gcp.jet.crossplane.io_versions.yaml create mode 100644 package/crds/dns.gcp.jet.crossplane.io_managedzones.yaml create mode 100644 package/crds/dns.gcp.jet.crossplane.io_policies.yaml create mode 100644 package/crds/dns.gcp.jet.crossplane.io_recordsets.yaml create mode 100644 package/crds/endpoints.gcp.jet.crossplane.io_serviceiambindings.yaml create mode 100644 package/crds/endpoints.gcp.jet.crossplane.io_serviceiammembers.yaml create mode 100644 package/crds/endpoints.gcp.jet.crossplane.io_serviceiampolicies.yaml create mode 100644 package/crds/endpoints.gcp.jet.crossplane.io_services.yaml create mode 100644 package/crds/essentialcontacts.gcp.jet.crossplane.io_contacts.yaml create mode 100644 package/crds/eventarc.gcp.jet.crossplane.io_triggers.yaml create mode 100644 package/crds/filestore.gcp.jet.crossplane.io_instances.yaml create mode 100644 package/crds/firestore.gcp.jet.crossplane.io_documents.yaml create mode 100644 package/crds/firestore.gcp.jet.crossplane.io_indices.yaml create mode 100644 package/crds/gameservices.gcp.jet.crossplane.io_gameserverclusters.yaml create mode 100644 package/crds/gameservices.gcp.jet.crossplane.io_gameserverconfigs.yaml create mode 100644 package/crds/gameservices.gcp.jet.crossplane.io_gameserverdeploymentrollouts.yaml create mode 100644 package/crds/gameservices.gcp.jet.crossplane.io_gameserverdeployments.yaml create mode 100644 package/crds/gameservices.gcp.jet.crossplane.io_realms.yaml create mode 100644 package/crds/gkehub.gcp.jet.crossplane.io_memberships.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_consentstoreiambindings.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_consentstoreiammembers.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_consentstoreiampolicies.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_consentstores.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_datasetiambindings.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_datasetiammembers.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_datasetiampolicies.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_datasets.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_dicomstoreiambindings.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_dicomstoreiammembers.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_dicomstoreiampolicies.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_dicomstores.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_fhirstoreiambindings.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_fhirstoreiammembers.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_fhirstoreiampolicies.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_fhirstores.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_hl7v2storeiambindings.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_hl7v2storeiammembers.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_hl7v2storeiampolicies.yaml create mode 100644 package/crds/healthcare.gcp.jet.crossplane.io_hl7v2stores.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_appengineserviceiambindings.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_appengineserviceiammembers.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_appengineserviceiampolicies.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_appengineversioniambindings.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_appengineversioniammembers.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_appengineversioniampolicies.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_brands.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_clients.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_tunneliambindings.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_tunneliammembers.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_tunneliampolicies.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_tunnelinstanceiambindings.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_tunnelinstanceiammembers.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_tunnelinstanceiampolicies.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_webbackendserviceiambindings.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_webbackendserviceiammembers.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_webbackendserviceiampolicies.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_webiambindings.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_webiammembers.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_webiampolicies.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_webtypeappengineiambindings.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_webtypeappengineiammembers.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_webtypeappengineiampolicies.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_webtypecomputeiambindings.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_webtypecomputeiammembers.yaml create mode 100644 package/crds/iap.gcp.jet.crossplane.io_webtypecomputeiampolicies.yaml create mode 100644 package/crds/identityplatform.gcp.jet.crossplane.io_defaultsupportedidpconfigs.yaml create mode 100644 package/crds/identityplatform.gcp.jet.crossplane.io_inboundsamlconfigs.yaml create mode 100644 package/crds/identityplatform.gcp.jet.crossplane.io_oauthidpconfigs.yaml create mode 100644 package/crds/identityplatform.gcp.jet.crossplane.io_tenantdefaultsupportedidpconfigs.yaml create mode 100644 package/crds/identityplatform.gcp.jet.crossplane.io_tenantinboundsamlconfigs.yaml create mode 100644 package/crds/identityplatform.gcp.jet.crossplane.io_tenantoauthidpconfigs.yaml create mode 100644 package/crds/identityplatform.gcp.jet.crossplane.io_tenants.yaml create mode 100644 package/crds/kms.gcp.jet.crossplane.io_cryptokeyiambindings.yaml create mode 100644 package/crds/kms.gcp.jet.crossplane.io_cryptokeyiammembers.yaml create mode 100644 package/crds/kms.gcp.jet.crossplane.io_cryptokeyiampolicies.yaml create mode 100644 package/crds/kms.gcp.jet.crossplane.io_cryptokeys.yaml create mode 100644 package/crds/kms.gcp.jet.crossplane.io_keyringiambindings.yaml create mode 100644 package/crds/kms.gcp.jet.crossplane.io_keyringiammembers.yaml create mode 100644 package/crds/kms.gcp.jet.crossplane.io_keyringiampolicies.yaml create mode 100644 package/crds/kms.gcp.jet.crossplane.io_keyringimportjobs.yaml create mode 100644 package/crds/kms.gcp.jet.crossplane.io_keyrings.yaml create mode 100644 package/crds/kms.gcp.jet.crossplane.io_secretciphertexts.yaml create mode 100644 package/crds/logging.gcp.jet.crossplane.io_billingaccountbucketconfigs.yaml create mode 100644 package/crds/logging.gcp.jet.crossplane.io_billingaccountexclusions.yaml create mode 100644 package/crds/logging.gcp.jet.crossplane.io_billingaccountsinks.yaml create mode 100644 package/crds/logging.gcp.jet.crossplane.io_folderbucketconfigs.yaml create mode 100644 package/crds/logging.gcp.jet.crossplane.io_folderexclusions.yaml create mode 100644 package/crds/logging.gcp.jet.crossplane.io_foldersinks.yaml create mode 100644 package/crds/logging.gcp.jet.crossplane.io_metrics.yaml create mode 100644 package/crds/logging.gcp.jet.crossplane.io_organizationbucketconfigs.yaml create mode 100644 package/crds/logging.gcp.jet.crossplane.io_organizationexclusions.yaml create mode 100644 package/crds/logging.gcp.jet.crossplane.io_organizationsinks.yaml create mode 100644 package/crds/logging.gcp.jet.crossplane.io_projectbucketconfigs.yaml create mode 100644 package/crds/logging.gcp.jet.crossplane.io_projectexclusions.yaml create mode 100644 package/crds/logging.gcp.jet.crossplane.io_projectsinks.yaml create mode 100644 package/crds/memcache.gcp.jet.crossplane.io_instances.yaml create mode 100644 package/crds/mlengine.gcp.jet.crossplane.io_models.yaml create mode 100644 package/crds/monitoring.gcp.jet.crossplane.io_customservices.yaml create mode 100644 package/crds/monitoring.gcp.jet.crossplane.io_dashboards.yaml create mode 100644 package/crds/monitoring.gcp.jet.crossplane.io_groups.yaml create mode 100644 package/crds/monitoring.gcp.jet.crossplane.io_metricdescriptors.yaml create mode 100644 package/crds/monitoring.gcp.jet.crossplane.io_sloes.yaml create mode 100644 package/crds/networkmanagement.gcp.jet.crossplane.io_connectivitytests.yaml create mode 100644 package/crds/networkservices.gcp.jet.crossplane.io_edgecachekeysets.yaml create mode 100644 package/crds/networkservices.gcp.jet.crossplane.io_edgecacheorigins.yaml create mode 100644 package/crds/networkservices.gcp.jet.crossplane.io_edgecacheservices.yaml create mode 100644 package/crds/notebooks.gcp.jet.crossplane.io_environments.yaml create mode 100644 package/crds/notebooks.gcp.jet.crossplane.io_instanceiambindings.yaml create mode 100644 package/crds/notebooks.gcp.jet.crossplane.io_instanceiammembers.yaml create mode 100644 package/crds/notebooks.gcp.jet.crossplane.io_instanceiampolicies.yaml create mode 100644 package/crds/notebooks.gcp.jet.crossplane.io_instances.yaml create mode 100644 package/crds/notebooks.gcp.jet.crossplane.io_locations.yaml create mode 100644 package/crds/orgpolicy.gcp.jet.crossplane.io_policies.yaml create mode 100644 package/crds/osconfig.gcp.jet.crossplane.io_patchdeployments.yaml create mode 100644 package/crds/oslogin.gcp.jet.crossplane.io_sshpublickeys.yaml create mode 100644 package/crds/privateca.gcp.jet.crossplane.io_capooliambindings.yaml create mode 100644 package/crds/privateca.gcp.jet.crossplane.io_capooliammembers.yaml create mode 100644 package/crds/privateca.gcp.jet.crossplane.io_capooliampolicies.yaml create mode 100644 package/crds/privateca.gcp.jet.crossplane.io_capools.yaml create mode 100644 package/crds/privateca.gcp.jet.crossplane.io_certificateauthorities.yaml create mode 100644 package/crds/privateca.gcp.jet.crossplane.io_certificates.yaml create mode 100644 package/crds/privateca.gcp.jet.crossplane.io_certificatetemplates.yaml create mode 100644 package/crds/pubsub.gcp.jet.crossplane.io_litereservations.yaml create mode 100644 package/crds/pubsub.gcp.jet.crossplane.io_litesubscriptions.yaml create mode 100644 package/crds/pubsub.gcp.jet.crossplane.io_litetopics.yaml create mode 100644 package/crds/pubsub.gcp.jet.crossplane.io_schemas.yaml create mode 100644 package/crds/pubsub.gcp.jet.crossplane.io_subscriptioniambindings.yaml create mode 100644 package/crds/pubsub.gcp.jet.crossplane.io_subscriptioniammembers.yaml create mode 100644 package/crds/pubsub.gcp.jet.crossplane.io_subscriptioniampolicies.yaml create mode 100644 package/crds/pubsub.gcp.jet.crossplane.io_subscriptions.yaml create mode 100644 package/crds/pubsub.gcp.jet.crossplane.io_topiciambindings.yaml create mode 100644 package/crds/pubsub.gcp.jet.crossplane.io_topiciammembers.yaml create mode 100644 package/crds/pubsub.gcp.jet.crossplane.io_topiciampolicies.yaml create mode 100644 package/crds/pubsub.gcp.jet.crossplane.io_topics.yaml create mode 100644 package/crds/redis.gcp.jet.crossplane.io_instances.yaml create mode 100644 package/crds/resourcemanager.gcp.jet.crossplane.io_liens.yaml create mode 100644 package/crds/scc.gcp.jet.crossplane.io_notificationconfigs.yaml create mode 100644 package/crds/scc.gcp.jet.crossplane.io_sources.yaml create mode 100644 package/crds/secretmanager.gcp.jet.crossplane.io_secretiambindings.yaml create mode 100644 package/crds/secretmanager.gcp.jet.crossplane.io_secretiammembers.yaml create mode 100644 package/crds/secretmanager.gcp.jet.crossplane.io_secretiampolicies.yaml create mode 100644 package/crds/secretmanager.gcp.jet.crossplane.io_secrets.yaml create mode 100644 package/crds/secretmanager.gcp.jet.crossplane.io_secretversions.yaml create mode 100644 package/crds/servicenetworking.gcp.jet.crossplane.io_connections.yaml create mode 100644 package/crds/sourcerepo.gcp.jet.crossplane.io_repositories.yaml create mode 100644 package/crds/sourcerepo.gcp.jet.crossplane.io_repositoryiambindings.yaml create mode 100644 package/crds/sourcerepo.gcp.jet.crossplane.io_repositoryiammembers.yaml create mode 100644 package/crds/sourcerepo.gcp.jet.crossplane.io_repositoryiampolicies.yaml create mode 100644 package/crds/spanner.gcp.jet.crossplane.io_databaseiambindings.yaml create mode 100644 package/crds/spanner.gcp.jet.crossplane.io_databaseiammembers.yaml create mode 100644 package/crds/spanner.gcp.jet.crossplane.io_databaseiampolicies.yaml create mode 100644 package/crds/spanner.gcp.jet.crossplane.io_databases.yaml create mode 100644 package/crds/spanner.gcp.jet.crossplane.io_instanceiambindings.yaml create mode 100644 package/crds/spanner.gcp.jet.crossplane.io_instanceiammembers.yaml create mode 100644 package/crds/spanner.gcp.jet.crossplane.io_instanceiampolicies.yaml create mode 100644 package/crds/spanner.gcp.jet.crossplane.io_instances.yaml create mode 100644 package/crds/storage.gcp.jet.crossplane.io_bucketaccesscontrols.yaml create mode 100644 package/crds/storage.gcp.jet.crossplane.io_bucketacls.yaml create mode 100644 package/crds/storage.gcp.jet.crossplane.io_bucketiambindings.yaml create mode 100644 package/crds/storage.gcp.jet.crossplane.io_bucketiammembers.yaml create mode 100644 package/crds/storage.gcp.jet.crossplane.io_bucketiampolicies.yaml create mode 100644 package/crds/storage.gcp.jet.crossplane.io_bucketobjects.yaml create mode 100644 package/crds/storage.gcp.jet.crossplane.io_defaultobjectaccesscontrols.yaml create mode 100644 package/crds/storage.gcp.jet.crossplane.io_defaultobjectacls.yaml create mode 100644 package/crds/storage.gcp.jet.crossplane.io_hmackeys.yaml create mode 100644 package/crds/storage.gcp.jet.crossplane.io_notifications.yaml create mode 100644 package/crds/storage.gcp.jet.crossplane.io_objectaccesscontrols.yaml create mode 100644 package/crds/storage.gcp.jet.crossplane.io_objectacls.yaml create mode 100644 package/crds/storagetransfer.gcp.jet.crossplane.io_jobs.yaml create mode 100644 package/crds/tags.gcp.jet.crossplane.io_tagbindings.yaml create mode 100644 package/crds/tags.gcp.jet.crossplane.io_tagkeyiambindings.yaml create mode 100644 package/crds/tags.gcp.jet.crossplane.io_tagkeyiammembers.yaml create mode 100644 package/crds/tags.gcp.jet.crossplane.io_tagkeyiampolicies.yaml create mode 100644 package/crds/tags.gcp.jet.crossplane.io_tagkeys.yaml create mode 100644 package/crds/tags.gcp.jet.crossplane.io_tagvalueiambindings.yaml create mode 100644 package/crds/tags.gcp.jet.crossplane.io_tagvalueiammembers.yaml create mode 100644 package/crds/tags.gcp.jet.crossplane.io_tagvalueiampolicies.yaml create mode 100644 package/crds/tags.gcp.jet.crossplane.io_tagvalues.yaml create mode 100644 package/crds/tpu.gcp.jet.crossplane.io_nodes.yaml create mode 100644 package/crds/vertexai.gcp.jet.crossplane.io_datasets.yaml create mode 100644 package/crds/vpcaccess.gcp.jet.crossplane.io_connectors.yaml create mode 100644 package/crds/workflows.gcp.jet.crossplane.io_workflows.yaml diff --git a/apis/accessapproval/v1alpha1/zz_foldersettings_terraformed.go b/apis/accessapproval/v1alpha1/zz_foldersettings_terraformed.go new file mode 100755 index 00000000..ed008513 --- /dev/null +++ b/apis/accessapproval/v1alpha1/zz_foldersettings_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FolderSettings +func (mg *FolderSettings) GetTerraformResourceType() string { + return "google_folder_access_approval_settings" +} + +// GetConnectionDetailsMapping for this FolderSettings +func (tr *FolderSettings) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FolderSettings +func (tr *FolderSettings) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FolderSettings +func (tr *FolderSettings) SetObservation(obs map[string]interface{}) 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 FolderSettings +func (tr *FolderSettings) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FolderSettings +func (tr *FolderSettings) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FolderSettings +func (tr *FolderSettings) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FolderSettings using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FolderSettings) LateInitialize(attrs []byte) (bool, error) { + params := &FolderSettingsParameters{} + 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 *FolderSettings) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/accessapproval/v1alpha1/zz_foldersettings_types.go b/apis/accessapproval/v1alpha1/zz_foldersettings_types.go new file mode 100755 index 00000000..c9a78a88 --- /dev/null +++ b/apis/accessapproval/v1alpha1/zz_foldersettings_types.go @@ -0,0 +1,141 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EnrolledServicesObservation struct { +} + +type EnrolledServicesParameters struct { + + // The product for which Access Approval will be enrolled. Allowed values are listed (case-sensitive): + // * all + // * App Engine + // * BigQuery + // * Cloud Bigtable + // * Cloud Key Management Service + // * Compute Engine + // * Cloud Dataflow + // * Cloud Identity and Access Management + // * Cloud Pub/Sub + // * Cloud Storage + // * Persistent Disk + // + // Note: These values are supported as input, but considered a legacy format: + // * all + // * appengine.googleapis.com + // * bigquery.googleapis.com + // * bigtable.googleapis.com + // * cloudkms.googleapis.com + // * compute.googleapis.com + // * dataflow.googleapis.com + // * iam.googleapis.com + // * pubsub.googleapis.com + // * storage.googleapis.com + // +kubebuilder:validation:Required + CloudProduct *string `json:"cloudProduct" tf:"cloud_product,omitempty"` + + // The enrollment level of the service. Default value: "BLOCK_ALL" Possible values: ["BLOCK_ALL"] + // +kubebuilder:validation:Optional + EnrollmentLevel *string `json:"enrollmentLevel,omitempty" tf:"enrollment_level,omitempty"` +} + +type FolderSettingsObservation struct { + EnrolledAncestor *bool `json:"enrolledAncestor,omitempty" tf:"enrolled_ancestor,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type FolderSettingsParameters struct { + + // A list of Google Cloud Services for which the given resource has Access Approval enrolled. + // Access requests for the resource given by name against any of these services contained here will be required + // to have explicit approval. Enrollment can only be done on an all or nothing basis. + // + // A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. + // +kubebuilder:validation:Required + EnrolledServices []EnrolledServicesParameters `json:"enrolledServices" tf:"enrolled_services,omitempty"` + + // ID of the folder of the access approval settings. + // +kubebuilder:validation:Required + FolderID *string `json:"folderId" tf:"folder_id,omitempty"` + + // A list of email addresses to which notifications relating to approval requests should be sent. + // Notifications relating to a resource will be sent to all emails in the settings of ancestor + // resources of that resource. A maximum of 50 email addresses are allowed. + // +kubebuilder:validation:Optional + NotificationEmails []*string `json:"notificationEmails,omitempty" tf:"notification_emails,omitempty"` +} + +// FolderSettingsSpec defines the desired state of FolderSettings +type FolderSettingsSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FolderSettingsParameters `json:"forProvider"` +} + +// FolderSettingsStatus defines the observed state of FolderSettings. +type FolderSettingsStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FolderSettingsObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderSettings is the Schema for the FolderSettingss 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,gcpjet} +type FolderSettings struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FolderSettingsSpec `json:"spec"` + Status FolderSettingsStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderSettingsList contains a list of FolderSettingss +type FolderSettingsList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FolderSettings `json:"items"` +} + +// Repository type metadata. +var ( + FolderSettings_Kind = "FolderSettings" + FolderSettings_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FolderSettings_Kind}.String() + FolderSettings_KindAPIVersion = FolderSettings_Kind + "." + CRDGroupVersion.String() + FolderSettings_GroupVersionKind = CRDGroupVersion.WithKind(FolderSettings_Kind) +) + +func init() { + SchemeBuilder.Register(&FolderSettings{}, &FolderSettingsList{}) +} diff --git a/apis/accessapproval/v1alpha1/zz_generated.deepcopy.go b/apis/accessapproval/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..ded38afe --- /dev/null +++ b/apis/accessapproval/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,633 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnrolledServicesObservation) DeepCopyInto(out *EnrolledServicesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnrolledServicesObservation. +func (in *EnrolledServicesObservation) DeepCopy() *EnrolledServicesObservation { + if in == nil { + return nil + } + out := new(EnrolledServicesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnrolledServicesParameters) DeepCopyInto(out *EnrolledServicesParameters) { + *out = *in + if in.CloudProduct != nil { + in, out := &in.CloudProduct, &out.CloudProduct + *out = new(string) + **out = **in + } + if in.EnrollmentLevel != nil { + in, out := &in.EnrollmentLevel, &out.EnrollmentLevel + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnrolledServicesParameters. +func (in *EnrolledServicesParameters) DeepCopy() *EnrolledServicesParameters { + if in == nil { + return nil + } + out := new(EnrolledServicesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderSettings) DeepCopyInto(out *FolderSettings) { + *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 FolderSettings. +func (in *FolderSettings) DeepCopy() *FolderSettings { + if in == nil { + return nil + } + out := new(FolderSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderSettings) 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 *FolderSettingsList) DeepCopyInto(out *FolderSettingsList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FolderSettings, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderSettingsList. +func (in *FolderSettingsList) DeepCopy() *FolderSettingsList { + if in == nil { + return nil + } + out := new(FolderSettingsList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderSettingsList) 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 *FolderSettingsObservation) DeepCopyInto(out *FolderSettingsObservation) { + *out = *in + if in.EnrolledAncestor != nil { + in, out := &in.EnrolledAncestor, &out.EnrolledAncestor + *out = new(bool) + **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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderSettingsObservation. +func (in *FolderSettingsObservation) DeepCopy() *FolderSettingsObservation { + if in == nil { + return nil + } + out := new(FolderSettingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderSettingsParameters) DeepCopyInto(out *FolderSettingsParameters) { + *out = *in + if in.EnrolledServices != nil { + in, out := &in.EnrolledServices, &out.EnrolledServices + *out = make([]EnrolledServicesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FolderID != nil { + in, out := &in.FolderID, &out.FolderID + *out = new(string) + **out = **in + } + if in.NotificationEmails != nil { + in, out := &in.NotificationEmails, &out.NotificationEmails + *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 FolderSettingsParameters. +func (in *FolderSettingsParameters) DeepCopy() *FolderSettingsParameters { + if in == nil { + return nil + } + out := new(FolderSettingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderSettingsSpec) DeepCopyInto(out *FolderSettingsSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderSettingsSpec. +func (in *FolderSettingsSpec) DeepCopy() *FolderSettingsSpec { + if in == nil { + return nil + } + out := new(FolderSettingsSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderSettingsStatus) DeepCopyInto(out *FolderSettingsStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderSettingsStatus. +func (in *FolderSettingsStatus) DeepCopy() *FolderSettingsStatus { + if in == nil { + return nil + } + out := new(FolderSettingsStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSettings) DeepCopyInto(out *OrganizationSettings) { + *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 OrganizationSettings. +func (in *OrganizationSettings) DeepCopy() *OrganizationSettings { + if in == nil { + return nil + } + out := new(OrganizationSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationSettings) 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 *OrganizationSettingsEnrolledServicesObservation) DeepCopyInto(out *OrganizationSettingsEnrolledServicesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSettingsEnrolledServicesObservation. +func (in *OrganizationSettingsEnrolledServicesObservation) DeepCopy() *OrganizationSettingsEnrolledServicesObservation { + if in == nil { + return nil + } + out := new(OrganizationSettingsEnrolledServicesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSettingsEnrolledServicesParameters) DeepCopyInto(out *OrganizationSettingsEnrolledServicesParameters) { + *out = *in + if in.CloudProduct != nil { + in, out := &in.CloudProduct, &out.CloudProduct + *out = new(string) + **out = **in + } + if in.EnrollmentLevel != nil { + in, out := &in.EnrollmentLevel, &out.EnrollmentLevel + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSettingsEnrolledServicesParameters. +func (in *OrganizationSettingsEnrolledServicesParameters) DeepCopy() *OrganizationSettingsEnrolledServicesParameters { + if in == nil { + return nil + } + out := new(OrganizationSettingsEnrolledServicesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSettingsList) DeepCopyInto(out *OrganizationSettingsList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OrganizationSettings, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSettingsList. +func (in *OrganizationSettingsList) DeepCopy() *OrganizationSettingsList { + if in == nil { + return nil + } + out := new(OrganizationSettingsList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationSettingsList) 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 *OrganizationSettingsObservation) DeepCopyInto(out *OrganizationSettingsObservation) { + *out = *in + if in.EnrolledAncestor != nil { + in, out := &in.EnrolledAncestor, &out.EnrolledAncestor + *out = new(bool) + **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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSettingsObservation. +func (in *OrganizationSettingsObservation) DeepCopy() *OrganizationSettingsObservation { + if in == nil { + return nil + } + out := new(OrganizationSettingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSettingsParameters) DeepCopyInto(out *OrganizationSettingsParameters) { + *out = *in + if in.EnrolledServices != nil { + in, out := &in.EnrolledServices, &out.EnrolledServices + *out = make([]OrganizationSettingsEnrolledServicesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NotificationEmails != nil { + in, out := &in.NotificationEmails, &out.NotificationEmails + *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.OrganizationID != nil { + in, out := &in.OrganizationID, &out.OrganizationID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSettingsParameters. +func (in *OrganizationSettingsParameters) DeepCopy() *OrganizationSettingsParameters { + if in == nil { + return nil + } + out := new(OrganizationSettingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSettingsSpec) DeepCopyInto(out *OrganizationSettingsSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSettingsSpec. +func (in *OrganizationSettingsSpec) DeepCopy() *OrganizationSettingsSpec { + if in == nil { + return nil + } + out := new(OrganizationSettingsSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSettingsStatus) DeepCopyInto(out *OrganizationSettingsStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSettingsStatus. +func (in *OrganizationSettingsStatus) DeepCopy() *OrganizationSettingsStatus { + if in == nil { + return nil + } + out := new(OrganizationSettingsStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSettings) DeepCopyInto(out *ProjectSettings) { + *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 ProjectSettings. +func (in *ProjectSettings) DeepCopy() *ProjectSettings { + if in == nil { + return nil + } + out := new(ProjectSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectSettings) 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 *ProjectSettingsEnrolledServicesObservation) DeepCopyInto(out *ProjectSettingsEnrolledServicesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSettingsEnrolledServicesObservation. +func (in *ProjectSettingsEnrolledServicesObservation) DeepCopy() *ProjectSettingsEnrolledServicesObservation { + if in == nil { + return nil + } + out := new(ProjectSettingsEnrolledServicesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSettingsEnrolledServicesParameters) DeepCopyInto(out *ProjectSettingsEnrolledServicesParameters) { + *out = *in + if in.CloudProduct != nil { + in, out := &in.CloudProduct, &out.CloudProduct + *out = new(string) + **out = **in + } + if in.EnrollmentLevel != nil { + in, out := &in.EnrollmentLevel, &out.EnrollmentLevel + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSettingsEnrolledServicesParameters. +func (in *ProjectSettingsEnrolledServicesParameters) DeepCopy() *ProjectSettingsEnrolledServicesParameters { + if in == nil { + return nil + } + out := new(ProjectSettingsEnrolledServicesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSettingsList) DeepCopyInto(out *ProjectSettingsList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectSettings, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSettingsList. +func (in *ProjectSettingsList) DeepCopy() *ProjectSettingsList { + if in == nil { + return nil + } + out := new(ProjectSettingsList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectSettingsList) 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 *ProjectSettingsObservation) DeepCopyInto(out *ProjectSettingsObservation) { + *out = *in + if in.EnrolledAncestor != nil { + in, out := &in.EnrolledAncestor, &out.EnrolledAncestor + *out = new(bool) + **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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSettingsObservation. +func (in *ProjectSettingsObservation) DeepCopy() *ProjectSettingsObservation { + if in == nil { + return nil + } + out := new(ProjectSettingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSettingsParameters) DeepCopyInto(out *ProjectSettingsParameters) { + *out = *in + if in.EnrolledServices != nil { + in, out := &in.EnrolledServices, &out.EnrolledServices + *out = make([]ProjectSettingsEnrolledServicesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NotificationEmails != nil { + in, out := &in.NotificationEmails, &out.NotificationEmails + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSettingsParameters. +func (in *ProjectSettingsParameters) DeepCopy() *ProjectSettingsParameters { + if in == nil { + return nil + } + out := new(ProjectSettingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSettingsSpec) DeepCopyInto(out *ProjectSettingsSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSettingsSpec. +func (in *ProjectSettingsSpec) DeepCopy() *ProjectSettingsSpec { + if in == nil { + return nil + } + out := new(ProjectSettingsSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSettingsStatus) DeepCopyInto(out *ProjectSettingsStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSettingsStatus. +func (in *ProjectSettingsStatus) DeepCopy() *ProjectSettingsStatus { + if in == nil { + return nil + } + out := new(ProjectSettingsStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/accessapproval/v1alpha1/zz_generated.managed.go b/apis/accessapproval/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..71be59e2 --- /dev/null +++ b/apis/accessapproval/v1alpha1/zz_generated.managed.go @@ -0,0 +1,188 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this FolderSettings. +func (mg *FolderSettings) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FolderSettings. +func (mg *FolderSettings) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FolderSettings. +func (mg *FolderSettings) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FolderSettings. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FolderSettings) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FolderSettings. +func (mg *FolderSettings) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FolderSettings. +func (mg *FolderSettings) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FolderSettings. +func (mg *FolderSettings) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FolderSettings. +func (mg *FolderSettings) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FolderSettings. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FolderSettings) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FolderSettings. +func (mg *FolderSettings) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this OrganizationSettings. +func (mg *OrganizationSettings) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this OrganizationSettings. +func (mg *OrganizationSettings) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this OrganizationSettings. +func (mg *OrganizationSettings) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this OrganizationSettings. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *OrganizationSettings) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this OrganizationSettings. +func (mg *OrganizationSettings) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this OrganizationSettings. +func (mg *OrganizationSettings) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this OrganizationSettings. +func (mg *OrganizationSettings) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this OrganizationSettings. +func (mg *OrganizationSettings) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this OrganizationSettings. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *OrganizationSettings) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this OrganizationSettings. +func (mg *OrganizationSettings) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectSettings. +func (mg *ProjectSettings) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectSettings. +func (mg *ProjectSettings) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectSettings. +func (mg *ProjectSettings) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectSettings. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectSettings) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectSettings. +func (mg *ProjectSettings) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectSettings. +func (mg *ProjectSettings) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectSettings. +func (mg *ProjectSettings) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectSettings. +func (mg *ProjectSettings) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectSettings. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectSettings) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectSettings. +func (mg *ProjectSettings) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/accessapproval/v1alpha1/zz_generated.managedlist.go b/apis/accessapproval/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..b32206f9 --- /dev/null +++ b/apis/accessapproval/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,47 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this FolderSettingsList. +func (l *FolderSettingsList) 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 OrganizationSettingsList. +func (l *OrganizationSettingsList) 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 ProjectSettingsList. +func (l *ProjectSettingsList) 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/accessapproval/v1alpha1/zz_groupversion_info.go b/apis/accessapproval/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..624661d8 --- /dev/null +++ b/apis/accessapproval/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=accessapproval.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "accessapproval.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/accessapproval/v1alpha1/zz_organizationsettings_terraformed.go b/apis/accessapproval/v1alpha1/zz_organizationsettings_terraformed.go new file mode 100755 index 00000000..36ac1d40 --- /dev/null +++ b/apis/accessapproval/v1alpha1/zz_organizationsettings_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this OrganizationSettings +func (mg *OrganizationSettings) GetTerraformResourceType() string { + return "google_organization_access_approval_settings" +} + +// GetConnectionDetailsMapping for this OrganizationSettings +func (tr *OrganizationSettings) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this OrganizationSettings +func (tr *OrganizationSettings) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this OrganizationSettings +func (tr *OrganizationSettings) SetObservation(obs map[string]interface{}) 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 OrganizationSettings +func (tr *OrganizationSettings) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this OrganizationSettings +func (tr *OrganizationSettings) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this OrganizationSettings +func (tr *OrganizationSettings) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this OrganizationSettings using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *OrganizationSettings) LateInitialize(attrs []byte) (bool, error) { + params := &OrganizationSettingsParameters{} + 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 *OrganizationSettings) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/accessapproval/v1alpha1/zz_organizationsettings_types.go b/apis/accessapproval/v1alpha1/zz_organizationsettings_types.go new file mode 100755 index 00000000..275faf33 --- /dev/null +++ b/apis/accessapproval/v1alpha1/zz_organizationsettings_types.go @@ -0,0 +1,128 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 OrganizationSettingsEnrolledServicesObservation struct { +} + +type OrganizationSettingsEnrolledServicesParameters struct { + + // The product for which Access Approval will be enrolled. Allowed values are listed (case-sensitive): + // all + // appengine.googleapis.com + // bigquery.googleapis.com + // bigtable.googleapis.com + // cloudkms.googleapis.com + // compute.googleapis.com + // dataflow.googleapis.com + // iam.googleapis.com + // pubsub.googleapis.com + // storage.googleapis.com + // +kubebuilder:validation:Required + CloudProduct *string `json:"cloudProduct" tf:"cloud_product,omitempty"` + + // The enrollment level of the service. Default value: "BLOCK_ALL" Possible values: ["BLOCK_ALL"] + // +kubebuilder:validation:Optional + EnrollmentLevel *string `json:"enrollmentLevel,omitempty" tf:"enrollment_level,omitempty"` +} + +type OrganizationSettingsObservation struct { + EnrolledAncestor *bool `json:"enrolledAncestor,omitempty" tf:"enrolled_ancestor,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type OrganizationSettingsParameters struct { + + // A list of Google Cloud Services for which the given resource has Access Approval enrolled. + // Access requests for the resource given by name against any of these services contained here will be required + // to have explicit approval. Enrollment can be done for individual services. + // + // A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. + // +kubebuilder:validation:Required + EnrolledServices []OrganizationSettingsEnrolledServicesParameters `json:"enrolledServices" tf:"enrolled_services,omitempty"` + + // A list of email addresses to which notifications relating to approval requests should be sent. + // Notifications relating to a resource will be sent to all emails in the settings of ancestor + // resources of that resource. A maximum of 50 email addresses are allowed. + // +kubebuilder:validation:Optional + NotificationEmails []*string `json:"notificationEmails,omitempty" tf:"notification_emails,omitempty"` + + // ID of the organization of the access approval settings. + // +kubebuilder:validation:Required + OrganizationID *string `json:"organizationId" tf:"organization_id,omitempty"` +} + +// OrganizationSettingsSpec defines the desired state of OrganizationSettings +type OrganizationSettingsSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider OrganizationSettingsParameters `json:"forProvider"` +} + +// OrganizationSettingsStatus defines the observed state of OrganizationSettings. +type OrganizationSettingsStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider OrganizationSettingsObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationSettings is the Schema for the OrganizationSettingss 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,gcpjet} +type OrganizationSettings struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec OrganizationSettingsSpec `json:"spec"` + Status OrganizationSettingsStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationSettingsList contains a list of OrganizationSettingss +type OrganizationSettingsList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []OrganizationSettings `json:"items"` +} + +// Repository type metadata. +var ( + OrganizationSettings_Kind = "OrganizationSettings" + OrganizationSettings_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: OrganizationSettings_Kind}.String() + OrganizationSettings_KindAPIVersion = OrganizationSettings_Kind + "." + CRDGroupVersion.String() + OrganizationSettings_GroupVersionKind = CRDGroupVersion.WithKind(OrganizationSettings_Kind) +) + +func init() { + SchemeBuilder.Register(&OrganizationSettings{}, &OrganizationSettingsList{}) +} diff --git a/apis/accessapproval/v1alpha1/zz_projectsettings_terraformed.go b/apis/accessapproval/v1alpha1/zz_projectsettings_terraformed.go new file mode 100755 index 00000000..343b90fd --- /dev/null +++ b/apis/accessapproval/v1alpha1/zz_projectsettings_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectSettings +func (mg *ProjectSettings) GetTerraformResourceType() string { + return "google_project_access_approval_settings" +} + +// GetConnectionDetailsMapping for this ProjectSettings +func (tr *ProjectSettings) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectSettings +func (tr *ProjectSettings) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectSettings +func (tr *ProjectSettings) SetObservation(obs map[string]interface{}) 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 ProjectSettings +func (tr *ProjectSettings) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectSettings +func (tr *ProjectSettings) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectSettings +func (tr *ProjectSettings) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectSettings using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectSettings) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectSettingsParameters{} + 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 *ProjectSettings) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/accessapproval/v1alpha1/zz_projectsettings_types.go b/apis/accessapproval/v1alpha1/zz_projectsettings_types.go new file mode 100755 index 00000000..7b7bbbd1 --- /dev/null +++ b/apis/accessapproval/v1alpha1/zz_projectsettings_types.go @@ -0,0 +1,132 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectSettingsEnrolledServicesObservation struct { +} + +type ProjectSettingsEnrolledServicesParameters struct { + + // The product for which Access Approval will be enrolled. Allowed values are listed (case-sensitive): + // all + // appengine.googleapis.com + // bigquery.googleapis.com + // bigtable.googleapis.com + // cloudkms.googleapis.com + // compute.googleapis.com + // dataflow.googleapis.com + // iam.googleapis.com + // pubsub.googleapis.com + // storage.googleapis.com + // +kubebuilder:validation:Required + CloudProduct *string `json:"cloudProduct" tf:"cloud_product,omitempty"` + + // The enrollment level of the service. Default value: "BLOCK_ALL" Possible values: ["BLOCK_ALL"] + // +kubebuilder:validation:Optional + EnrollmentLevel *string `json:"enrollmentLevel,omitempty" tf:"enrollment_level,omitempty"` +} + +type ProjectSettingsObservation struct { + EnrolledAncestor *bool `json:"enrolledAncestor,omitempty" tf:"enrolled_ancestor,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type ProjectSettingsParameters struct { + + // A list of Google Cloud Services for which the given resource has Access Approval enrolled. + // Access requests for the resource given by name against any of these services contained here will be required + // to have explicit approval. Enrollment can only be done on an all or nothing basis. + // + // A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. + // +kubebuilder:validation:Required + EnrolledServices []ProjectSettingsEnrolledServicesParameters `json:"enrolledServices" tf:"enrolled_services,omitempty"` + + // A list of email addresses to which notifications relating to approval requests should be sent. + // Notifications relating to a resource will be sent to all emails in the settings of ancestor + // resources of that resource. A maximum of 50 email addresses are allowed. + // +kubebuilder:validation:Optional + NotificationEmails []*string `json:"notificationEmails,omitempty" tf:"notification_emails,omitempty"` + + // Deprecated in favor of 'project_id' + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // ID of the project of the access approval settings. + // +kubebuilder:validation:Required + ProjectID *string `json:"projectId" tf:"project_id,omitempty"` +} + +// ProjectSettingsSpec defines the desired state of ProjectSettings +type ProjectSettingsSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectSettingsParameters `json:"forProvider"` +} + +// ProjectSettingsStatus defines the observed state of ProjectSettings. +type ProjectSettingsStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectSettingsObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectSettings is the Schema for the ProjectSettingss 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,gcpjet} +type ProjectSettings struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectSettingsSpec `json:"spec"` + Status ProjectSettingsStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectSettingsList contains a list of ProjectSettingss +type ProjectSettingsList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectSettings `json:"items"` +} + +// Repository type metadata. +var ( + ProjectSettings_Kind = "ProjectSettings" + ProjectSettings_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectSettings_Kind}.String() + ProjectSettings_KindAPIVersion = ProjectSettings_Kind + "." + CRDGroupVersion.String() + ProjectSettings_GroupVersionKind = CRDGroupVersion.WithKind(ProjectSettings_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectSettings{}, &ProjectSettingsList{}) +} diff --git a/apis/accesscontextmanager/v1alpha1/zz_accesslevel_terraformed.go b/apis/accesscontextmanager/v1alpha1/zz_accesslevel_terraformed.go new file mode 100755 index 00000000..d6c48974 --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_accesslevel_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AccessLevel +func (mg *AccessLevel) GetTerraformResourceType() string { + return "google_access_context_manager_access_level" +} + +// GetConnectionDetailsMapping for this AccessLevel +func (tr *AccessLevel) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AccessLevel +func (tr *AccessLevel) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AccessLevel +func (tr *AccessLevel) SetObservation(obs map[string]interface{}) 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 AccessLevel +func (tr *AccessLevel) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AccessLevel +func (tr *AccessLevel) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AccessLevel +func (tr *AccessLevel) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AccessLevel using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AccessLevel) LateInitialize(attrs []byte) (bool, error) { + params := &AccessLevelParameters{} + 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 *AccessLevel) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/accesscontextmanager/v1alpha1/zz_accesslevel_types.go b/apis/accesscontextmanager/v1alpha1/zz_accesslevel_types.go new file mode 100755 index 00000000..5ebcccfd --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_accesslevel_types.go @@ -0,0 +1,272 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AccessLevelObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AccessLevelParameters struct { + + // A set of predefined conditions for the access level and a combining function. + // +kubebuilder:validation:Optional + Basic []BasicParameters `json:"basic,omitempty" tf:"basic,omitempty"` + + // Custom access level conditions are set using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request. + // See CEL spec at: https://github.com/google/cel-spec. + // +kubebuilder:validation:Optional + Custom []CustomParameters `json:"custom,omitempty" tf:"custom,omitempty"` + + // Description of the AccessLevel and its use. Does not affect behavior. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Resource name for the Access Level. The short_name component must begin + // with a letter and only include alphanumeric and '_'. + // Format: accessPolicies/{policy_id}/accessLevels/{short_name} + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The AccessPolicy this AccessLevel lives in. + // Format: accessPolicies/{policy_id} + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` + + // Human readable title. Must be unique within the Policy. + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type BasicObservation struct { +} + +type BasicParameters struct { + + // How the conditions list should be combined to determine if a request + // is granted this AccessLevel. If AND is used, each Condition in + // conditions must be satisfied for the AccessLevel to be applied. If + // OR is used, at least one Condition in conditions must be satisfied + // for the AccessLevel to be applied. Default value: "AND" Possible values: ["AND", "OR"] + // +kubebuilder:validation:Optional + CombiningFunction *string `json:"combiningFunction,omitempty" tf:"combining_function,omitempty"` + + // A set of requirements for the AccessLevel to be granted. + // +kubebuilder:validation:Required + Conditions []ConditionsParameters `json:"conditions" tf:"conditions,omitempty"` +} + +type ConditionsObservation struct { +} + +type ConditionsParameters struct { + + // Device specific restrictions, all restrictions must hold for + // the Condition to be true. If not specified, all devices are + // allowed. + // +kubebuilder:validation:Optional + DevicePolicy []DevicePolicyParameters `json:"devicePolicy,omitempty" tf:"device_policy,omitempty"` + + // A list of CIDR block IP subnetwork specification. May be IPv4 + // or IPv6. + // Note that for a CIDR IP address block, the specified IP address + // portion must be properly truncated (i.e. all the host bits must + // be zero) or the input is considered malformed. For example, + // "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly, + // for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32" + // is not. The originating IP of a request must be in one of the + // listed subnets in order for this Condition to be true. + // If empty, all IP addresses are allowed. + // +kubebuilder:validation:Optional + IPSubnetworks []*string `json:"ipSubnetworks,omitempty" tf:"ip_subnetworks,omitempty"` + + // An allowed list of members (users, service accounts). + // Using groups is not supported yet. + // + // The signed-in user originating the request must be a part of one + // of the provided members. If not specified, a request may come + // from any user (logged in/not logged in, not present in any + // groups, etc.). + // Formats: 'user:{emailid}', 'serviceAccount:{emailid}' + // +kubebuilder:validation:Optional + Members []*string `json:"members,omitempty" tf:"members,omitempty"` + + // Whether to negate the Condition. If true, the Condition becomes + // a NAND over its non-empty fields, each field must be false for + // the Condition overall to be satisfied. Defaults to false. + // +kubebuilder:validation:Optional + Negate *bool `json:"negate,omitempty" tf:"negate,omitempty"` + + // The request must originate from one of the provided + // countries/regions. + // Format: A valid ISO 3166-1 alpha-2 code. + // +kubebuilder:validation:Optional + Regions []*string `json:"regions,omitempty" tf:"regions,omitempty"` + + // A list of other access levels defined in the same Policy, + // referenced by resource name. Referencing an AccessLevel which + // does not exist is an error. All access levels listed must be + // granted for the Condition to be true. + // Format: accessPolicies/{policy_id}/accessLevels/{short_name} + // +kubebuilder:validation:Optional + RequiredAccessLevels []*string `json:"requiredAccessLevels,omitempty" tf:"required_access_levels,omitempty"` +} + +type CustomObservation struct { +} + +type CustomParameters struct { + + // Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. + // This page details the objects and attributes that are used to the build the CEL expressions for + // custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec. + // +kubebuilder:validation:Required + Expr []ExprParameters `json:"expr" tf:"expr,omitempty"` +} + +type DevicePolicyObservation struct { +} + +type DevicePolicyParameters struct { + + // A list of allowed device management levels. + // An empty list allows all management levels. Possible values: ["MANAGEMENT_UNSPECIFIED", "NONE", "BASIC", "COMPLETE"] + // +kubebuilder:validation:Optional + AllowedDeviceManagementLevels []*string `json:"allowedDeviceManagementLevels,omitempty" tf:"allowed_device_management_levels,omitempty"` + + // A list of allowed encryptions statuses. + // An empty list allows all statuses. Possible values: ["ENCRYPTION_UNSPECIFIED", "ENCRYPTION_UNSUPPORTED", "UNENCRYPTED", "ENCRYPTED"] + // +kubebuilder:validation:Optional + AllowedEncryptionStatuses []*string `json:"allowedEncryptionStatuses,omitempty" tf:"allowed_encryption_statuses,omitempty"` + + // A list of allowed OS versions. + // An empty list allows all types and all versions. + // +kubebuilder:validation:Optional + OsConstraints []OsConstraintsParameters `json:"osConstraints,omitempty" tf:"os_constraints,omitempty"` + + // Whether the device needs to be approved by the customer admin. + // +kubebuilder:validation:Optional + RequireAdminApproval *bool `json:"requireAdminApproval,omitempty" tf:"require_admin_approval,omitempty"` + + // Whether the device needs to be corp owned. + // +kubebuilder:validation:Optional + RequireCorpOwned *bool `json:"requireCorpOwned,omitempty" tf:"require_corp_owned,omitempty"` + + // Whether or not screenlock is required for the DevicePolicy + // to be true. Defaults to false. + // +kubebuilder:validation:Optional + RequireScreenLock *bool `json:"requireScreenLock,omitempty" tf:"require_screen_lock,omitempty"` +} + +type ExprObservation struct { +} + +type ExprParameters struct { + + // Description of the expression + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Textual representation of an expression in Common Expression Language syntax. + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // String indicating the location of the expression for error reporting, e.g. a file name and a position in the file + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // Title for the expression, i.e. a short string describing its purpose. + // +kubebuilder:validation:Optional + Title *string `json:"title,omitempty" tf:"title,omitempty"` +} + +type OsConstraintsObservation struct { +} + +type OsConstraintsParameters struct { + + // The minimum allowed OS version. If not set, any version + // of this OS satisfies the constraint. + // Format: "major.minor.patch" such as "10.5.301", "9.2.1". + // +kubebuilder:validation:Optional + MinimumVersion *string `json:"minimumVersion,omitempty" tf:"minimum_version,omitempty"` + + // The operating system type of the device. Possible values: ["OS_UNSPECIFIED", "DESKTOP_MAC", "DESKTOP_WINDOWS", "DESKTOP_LINUX", "DESKTOP_CHROME_OS", "ANDROID", "IOS"] + // +kubebuilder:validation:Required + OsType *string `json:"osType" tf:"os_type,omitempty"` + + // If you specify DESKTOP_CHROME_OS for osType, you can optionally include requireVerifiedChromeOs to require Chrome Verified Access. + // +kubebuilder:validation:Optional + RequireVerifiedChromeOs *bool `json:"requireVerifiedChromeOs,omitempty" tf:"require_verified_chrome_os,omitempty"` +} + +// AccessLevelSpec defines the desired state of AccessLevel +type AccessLevelSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AccessLevelParameters `json:"forProvider"` +} + +// AccessLevelStatus defines the observed state of AccessLevel. +type AccessLevelStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AccessLevelObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AccessLevel is the Schema for the AccessLevels 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,gcpjet} +type AccessLevel struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AccessLevelSpec `json:"spec"` + Status AccessLevelStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AccessLevelList contains a list of AccessLevels +type AccessLevelList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AccessLevel `json:"items"` +} + +// Repository type metadata. +var ( + AccessLevel_Kind = "AccessLevel" + AccessLevel_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AccessLevel_Kind}.String() + AccessLevel_KindAPIVersion = AccessLevel_Kind + "." + CRDGroupVersion.String() + AccessLevel_GroupVersionKind = CRDGroupVersion.WithKind(AccessLevel_Kind) +) + +func init() { + SchemeBuilder.Register(&AccessLevel{}, &AccessLevelList{}) +} diff --git a/apis/accesscontextmanager/v1alpha1/zz_accesslevelcondition_terraformed.go b/apis/accesscontextmanager/v1alpha1/zz_accesslevelcondition_terraformed.go new file mode 100755 index 00000000..14175d69 --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_accesslevelcondition_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AccessLevelCondition +func (mg *AccessLevelCondition) GetTerraformResourceType() string { + return "google_access_context_manager_access_level_condition" +} + +// GetConnectionDetailsMapping for this AccessLevelCondition +func (tr *AccessLevelCondition) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AccessLevelCondition +func (tr *AccessLevelCondition) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AccessLevelCondition +func (tr *AccessLevelCondition) SetObservation(obs map[string]interface{}) 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 AccessLevelCondition +func (tr *AccessLevelCondition) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AccessLevelCondition +func (tr *AccessLevelCondition) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AccessLevelCondition +func (tr *AccessLevelCondition) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AccessLevelCondition using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AccessLevelCondition) LateInitialize(attrs []byte) (bool, error) { + params := &AccessLevelConditionParameters{} + 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 *AccessLevelCondition) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/accesscontextmanager/v1alpha1/zz_accesslevelcondition_types.go b/apis/accesscontextmanager/v1alpha1/zz_accesslevelcondition_types.go new file mode 100755 index 00000000..97c028b6 --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_accesslevelcondition_types.go @@ -0,0 +1,186 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AccessLevelConditionDevicePolicyObservation struct { +} + +type AccessLevelConditionDevicePolicyParameters struct { + + // A list of allowed device management levels. + // An empty list allows all management levels. Possible values: ["MANAGEMENT_UNSPECIFIED", "NONE", "BASIC", "COMPLETE"] + // +kubebuilder:validation:Optional + AllowedDeviceManagementLevels []*string `json:"allowedDeviceManagementLevels,omitempty" tf:"allowed_device_management_levels,omitempty"` + + // A list of allowed encryptions statuses. + // An empty list allows all statuses. Possible values: ["ENCRYPTION_UNSPECIFIED", "ENCRYPTION_UNSUPPORTED", "UNENCRYPTED", "ENCRYPTED"] + // +kubebuilder:validation:Optional + AllowedEncryptionStatuses []*string `json:"allowedEncryptionStatuses,omitempty" tf:"allowed_encryption_statuses,omitempty"` + + // A list of allowed OS versions. + // An empty list allows all types and all versions. + // +kubebuilder:validation:Optional + OsConstraints []DevicePolicyOsConstraintsParameters `json:"osConstraints,omitempty" tf:"os_constraints,omitempty"` + + // Whether the device needs to be approved by the customer admin. + // +kubebuilder:validation:Optional + RequireAdminApproval *bool `json:"requireAdminApproval,omitempty" tf:"require_admin_approval,omitempty"` + + // Whether the device needs to be corp owned. + // +kubebuilder:validation:Optional + RequireCorpOwned *bool `json:"requireCorpOwned,omitempty" tf:"require_corp_owned,omitempty"` + + // Whether or not screenlock is required for the DevicePolicy + // to be true. Defaults to false. + // +kubebuilder:validation:Optional + RequireScreenLock *bool `json:"requireScreenLock,omitempty" tf:"require_screen_lock,omitempty"` +} + +type AccessLevelConditionObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AccessLevelConditionParameters struct { + + // The name of the Access Level to add this condition to. + // +kubebuilder:validation:Required + AccessLevel *string `json:"accessLevel" tf:"access_level,omitempty"` + + // Device specific restrictions, all restrictions must hold for + // the Condition to be true. If not specified, all devices are + // allowed. + // +kubebuilder:validation:Optional + DevicePolicy []AccessLevelConditionDevicePolicyParameters `json:"devicePolicy,omitempty" tf:"device_policy,omitempty"` + + // A list of CIDR block IP subnetwork specification. May be IPv4 + // or IPv6. + // Note that for a CIDR IP address block, the specified IP address + // portion must be properly truncated (i.e. all the host bits must + // be zero) or the input is considered malformed. For example, + // "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly, + // for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32" + // is not. The originating IP of a request must be in one of the + // listed subnets in order for this Condition to be true. + // If empty, all IP addresses are allowed. + // +kubebuilder:validation:Optional + IPSubnetworks []*string `json:"ipSubnetworks,omitempty" tf:"ip_subnetworks,omitempty"` + + // An allowed list of members (users, service accounts). + // Using groups is not supported yet. + // + // The signed-in user originating the request must be a part of one + // of the provided members. If not specified, a request may come + // from any user (logged in/not logged in, not present in any + // groups, etc.). + // Formats: 'user:{emailid}', 'serviceAccount:{emailid}' + // +kubebuilder:validation:Optional + Members []*string `json:"members,omitempty" tf:"members,omitempty"` + + // Whether to negate the Condition. If true, the Condition becomes + // a NAND over its non-empty fields, each field must be false for + // the Condition overall to be satisfied. Defaults to false. + // +kubebuilder:validation:Optional + Negate *bool `json:"negate,omitempty" tf:"negate,omitempty"` + + // The request must originate from one of the provided + // countries/regions. + // Format: A valid ISO 3166-1 alpha-2 code. + // +kubebuilder:validation:Optional + Regions []*string `json:"regions,omitempty" tf:"regions,omitempty"` + + // A list of other access levels defined in the same Policy, + // referenced by resource name. Referencing an AccessLevel which + // does not exist is an error. All access levels listed must be + // granted for the Condition to be true. + // Format: accessPolicies/{policy_id}/accessLevels/{short_name} + // +kubebuilder:validation:Optional + RequiredAccessLevels []*string `json:"requiredAccessLevels,omitempty" tf:"required_access_levels,omitempty"` +} + +type DevicePolicyOsConstraintsObservation struct { +} + +type DevicePolicyOsConstraintsParameters struct { + + // The minimum allowed OS version. If not set, any version + // of this OS satisfies the constraint. + // Format: "major.minor.patch" such as "10.5.301", "9.2.1". + // +kubebuilder:validation:Optional + MinimumVersion *string `json:"minimumVersion,omitempty" tf:"minimum_version,omitempty"` + + // The operating system type of the device. Possible values: ["OS_UNSPECIFIED", "DESKTOP_MAC", "DESKTOP_WINDOWS", "DESKTOP_LINUX", "DESKTOP_CHROME_OS", "ANDROID", "IOS"] + // +kubebuilder:validation:Required + OsType *string `json:"osType" tf:"os_type,omitempty"` +} + +// AccessLevelConditionSpec defines the desired state of AccessLevelCondition +type AccessLevelConditionSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AccessLevelConditionParameters `json:"forProvider"` +} + +// AccessLevelConditionStatus defines the observed state of AccessLevelCondition. +type AccessLevelConditionStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AccessLevelConditionObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AccessLevelCondition is the Schema for the AccessLevelConditions 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,gcpjet} +type AccessLevelCondition struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AccessLevelConditionSpec `json:"spec"` + Status AccessLevelConditionStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AccessLevelConditionList contains a list of AccessLevelConditions +type AccessLevelConditionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AccessLevelCondition `json:"items"` +} + +// Repository type metadata. +var ( + AccessLevelCondition_Kind = "AccessLevelCondition" + AccessLevelCondition_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AccessLevelCondition_Kind}.String() + AccessLevelCondition_KindAPIVersion = AccessLevelCondition_Kind + "." + CRDGroupVersion.String() + AccessLevelCondition_GroupVersionKind = CRDGroupVersion.WithKind(AccessLevelCondition_Kind) +) + +func init() { + SchemeBuilder.Register(&AccessLevelCondition{}, &AccessLevelConditionList{}) +} diff --git a/apis/accesscontextmanager/v1alpha1/zz_accesspolicy_terraformed.go b/apis/accesscontextmanager/v1alpha1/zz_accesspolicy_terraformed.go new file mode 100755 index 00000000..4589740f --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_accesspolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AccessPolicy +func (mg *AccessPolicy) GetTerraformResourceType() string { + return "google_access_context_manager_access_policy" +} + +// GetConnectionDetailsMapping for this AccessPolicy +func (tr *AccessPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AccessPolicy +func (tr *AccessPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AccessPolicy +func (tr *AccessPolicy) SetObservation(obs map[string]interface{}) 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 AccessPolicy +func (tr *AccessPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AccessPolicy +func (tr *AccessPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AccessPolicy +func (tr *AccessPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AccessPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AccessPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &AccessPolicyParameters{} + 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 *AccessPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/accesscontextmanager/v1alpha1/zz_accesspolicy_types.go b/apis/accesscontextmanager/v1alpha1/zz_accesspolicy_types.go new file mode 100755 index 00000000..58847a23 --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_accesspolicy_types.go @@ -0,0 +1,97 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AccessPolicyObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type AccessPolicyParameters struct { + + // The parent of this AccessPolicy in the Cloud Resource Hierarchy. + // Format: organizations/{organization_id} + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` + + // Human readable title. Does not affect behavior. + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +// AccessPolicySpec defines the desired state of AccessPolicy +type AccessPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AccessPolicyParameters `json:"forProvider"` +} + +// AccessPolicyStatus defines the observed state of AccessPolicy. +type AccessPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AccessPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AccessPolicy is the Schema for the AccessPolicys 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,gcpjet} +type AccessPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AccessPolicySpec `json:"spec"` + Status AccessPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AccessPolicyList contains a list of AccessPolicys +type AccessPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AccessPolicy `json:"items"` +} + +// Repository type metadata. +var ( + AccessPolicy_Kind = "AccessPolicy" + AccessPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AccessPolicy_Kind}.String() + AccessPolicy_KindAPIVersion = AccessPolicy_Kind + "." + CRDGroupVersion.String() + AccessPolicy_GroupVersionKind = CRDGroupVersion.WithKind(AccessPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&AccessPolicy{}, &AccessPolicyList{}) +} diff --git a/apis/accesscontextmanager/v1alpha1/zz_gcpuseraccessbinding_terraformed.go b/apis/accesscontextmanager/v1alpha1/zz_gcpuseraccessbinding_terraformed.go new file mode 100755 index 00000000..ad4fa5f1 --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_gcpuseraccessbinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this GCPUserAccessBinding +func (mg *GCPUserAccessBinding) GetTerraformResourceType() string { + return "google_access_context_manager_gcp_user_access_binding" +} + +// GetConnectionDetailsMapping for this GCPUserAccessBinding +func (tr *GCPUserAccessBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this GCPUserAccessBinding +func (tr *GCPUserAccessBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this GCPUserAccessBinding +func (tr *GCPUserAccessBinding) SetObservation(obs map[string]interface{}) 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 GCPUserAccessBinding +func (tr *GCPUserAccessBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this GCPUserAccessBinding +func (tr *GCPUserAccessBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this GCPUserAccessBinding +func (tr *GCPUserAccessBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this GCPUserAccessBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *GCPUserAccessBinding) LateInitialize(attrs []byte) (bool, error) { + params := &GCPUserAccessBindingParameters{} + 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 *GCPUserAccessBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/accesscontextmanager/v1alpha1/zz_gcpuseraccessbinding_types.go b/apis/accesscontextmanager/v1alpha1/zz_gcpuseraccessbinding_types.go new file mode 100755 index 00000000..b6db57ef --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_gcpuseraccessbinding_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 GCPUserAccessBindingObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type GCPUserAccessBindingParameters struct { + + // Required. Access level that a user must have to be granted access. Only one access level is supported, not multiple. This repeated field must have exactly one element. Example: "accessPolicies/9522/accessLevels/device_trusted" + // +kubebuilder:validation:Required + AccessLevels []*string `json:"accessLevels" tf:"access_levels,omitempty"` + + // Required. Immutable. Google Group id whose members are subject to this binding's restrictions. See "id" in the G Suite Directory API's Groups resource. If a group's email address/alias is changed, this resource will continue to point at the changed group. This field does not accept group email addresses or aliases. Example: "01d520gv4vjcrht" + // +kubebuilder:validation:Required + GroupKey *string `json:"groupKey" tf:"group_key,omitempty"` + + // Required. ID of the parent organization. + // +kubebuilder:validation:Required + OrganizationID *string `json:"organizationId" tf:"organization_id,omitempty"` +} + +// GCPUserAccessBindingSpec defines the desired state of GCPUserAccessBinding +type GCPUserAccessBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider GCPUserAccessBindingParameters `json:"forProvider"` +} + +// GCPUserAccessBindingStatus defines the observed state of GCPUserAccessBinding. +type GCPUserAccessBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider GCPUserAccessBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// GCPUserAccessBinding is the Schema for the GCPUserAccessBindings 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,gcpjet} +type GCPUserAccessBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec GCPUserAccessBindingSpec `json:"spec"` + Status GCPUserAccessBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// GCPUserAccessBindingList contains a list of GCPUserAccessBindings +type GCPUserAccessBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GCPUserAccessBinding `json:"items"` +} + +// Repository type metadata. +var ( + GCPUserAccessBinding_Kind = "GCPUserAccessBinding" + GCPUserAccessBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: GCPUserAccessBinding_Kind}.String() + GCPUserAccessBinding_KindAPIVersion = GCPUserAccessBinding_Kind + "." + CRDGroupVersion.String() + GCPUserAccessBinding_GroupVersionKind = CRDGroupVersion.WithKind(GCPUserAccessBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&GCPUserAccessBinding{}, &GCPUserAccessBindingList{}) +} diff --git a/apis/accesscontextmanager/v1alpha1/zz_generated.deepcopy.go b/apis/accesscontextmanager/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..56c2b1a4 --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,2685 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessLevel) DeepCopyInto(out *AccessLevel) { + *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 AccessLevel. +func (in *AccessLevel) DeepCopy() *AccessLevel { + if in == nil { + return nil + } + out := new(AccessLevel) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AccessLevel) 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 *AccessLevelCondition) DeepCopyInto(out *AccessLevelCondition) { + *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 AccessLevelCondition. +func (in *AccessLevelCondition) DeepCopy() *AccessLevelCondition { + if in == nil { + return nil + } + out := new(AccessLevelCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AccessLevelCondition) 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 *AccessLevelConditionDevicePolicyObservation) DeepCopyInto(out *AccessLevelConditionDevicePolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLevelConditionDevicePolicyObservation. +func (in *AccessLevelConditionDevicePolicyObservation) DeepCopy() *AccessLevelConditionDevicePolicyObservation { + if in == nil { + return nil + } + out := new(AccessLevelConditionDevicePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessLevelConditionDevicePolicyParameters) DeepCopyInto(out *AccessLevelConditionDevicePolicyParameters) { + *out = *in + if in.AllowedDeviceManagementLevels != nil { + in, out := &in.AllowedDeviceManagementLevels, &out.AllowedDeviceManagementLevels + *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.AllowedEncryptionStatuses != nil { + in, out := &in.AllowedEncryptionStatuses, &out.AllowedEncryptionStatuses + *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.OsConstraints != nil { + in, out := &in.OsConstraints, &out.OsConstraints + *out = make([]DevicePolicyOsConstraintsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequireAdminApproval != nil { + in, out := &in.RequireAdminApproval, &out.RequireAdminApproval + *out = new(bool) + **out = **in + } + if in.RequireCorpOwned != nil { + in, out := &in.RequireCorpOwned, &out.RequireCorpOwned + *out = new(bool) + **out = **in + } + if in.RequireScreenLock != nil { + in, out := &in.RequireScreenLock, &out.RequireScreenLock + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLevelConditionDevicePolicyParameters. +func (in *AccessLevelConditionDevicePolicyParameters) DeepCopy() *AccessLevelConditionDevicePolicyParameters { + if in == nil { + return nil + } + out := new(AccessLevelConditionDevicePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessLevelConditionList) DeepCopyInto(out *AccessLevelConditionList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AccessLevelCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLevelConditionList. +func (in *AccessLevelConditionList) DeepCopy() *AccessLevelConditionList { + if in == nil { + return nil + } + out := new(AccessLevelConditionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AccessLevelConditionList) 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 *AccessLevelConditionObservation) DeepCopyInto(out *AccessLevelConditionObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLevelConditionObservation. +func (in *AccessLevelConditionObservation) DeepCopy() *AccessLevelConditionObservation { + if in == nil { + return nil + } + out := new(AccessLevelConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessLevelConditionParameters) DeepCopyInto(out *AccessLevelConditionParameters) { + *out = *in + if in.AccessLevel != nil { + in, out := &in.AccessLevel, &out.AccessLevel + *out = new(string) + **out = **in + } + if in.DevicePolicy != nil { + in, out := &in.DevicePolicy, &out.DevicePolicy + *out = make([]AccessLevelConditionDevicePolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IPSubnetworks != nil { + in, out := &in.IPSubnetworks, &out.IPSubnetworks + *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.Members != nil { + in, out := &in.Members, &out.Members + *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.Negate != nil { + in, out := &in.Negate, &out.Negate + *out = new(bool) + **out = **in + } + if in.Regions != nil { + in, out := &in.Regions, &out.Regions + *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.RequiredAccessLevels != nil { + in, out := &in.RequiredAccessLevels, &out.RequiredAccessLevels + *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 AccessLevelConditionParameters. +func (in *AccessLevelConditionParameters) DeepCopy() *AccessLevelConditionParameters { + if in == nil { + return nil + } + out := new(AccessLevelConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessLevelConditionSpec) DeepCopyInto(out *AccessLevelConditionSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLevelConditionSpec. +func (in *AccessLevelConditionSpec) DeepCopy() *AccessLevelConditionSpec { + if in == nil { + return nil + } + out := new(AccessLevelConditionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessLevelConditionStatus) DeepCopyInto(out *AccessLevelConditionStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLevelConditionStatus. +func (in *AccessLevelConditionStatus) DeepCopy() *AccessLevelConditionStatus { + if in == nil { + return nil + } + out := new(AccessLevelConditionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessLevelList) DeepCopyInto(out *AccessLevelList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AccessLevel, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLevelList. +func (in *AccessLevelList) DeepCopy() *AccessLevelList { + if in == nil { + return nil + } + out := new(AccessLevelList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AccessLevelList) 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 *AccessLevelObservation) DeepCopyInto(out *AccessLevelObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLevelObservation. +func (in *AccessLevelObservation) DeepCopy() *AccessLevelObservation { + if in == nil { + return nil + } + out := new(AccessLevelObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessLevelParameters) DeepCopyInto(out *AccessLevelParameters) { + *out = *in + if in.Basic != nil { + in, out := &in.Basic, &out.Basic + *out = make([]BasicParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Custom != nil { + in, out := &in.Custom, &out.Custom + *out = make([]CustomParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLevelParameters. +func (in *AccessLevelParameters) DeepCopy() *AccessLevelParameters { + if in == nil { + return nil + } + out := new(AccessLevelParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessLevelSpec) DeepCopyInto(out *AccessLevelSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLevelSpec. +func (in *AccessLevelSpec) DeepCopy() *AccessLevelSpec { + if in == nil { + return nil + } + out := new(AccessLevelSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessLevelStatus) DeepCopyInto(out *AccessLevelStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessLevelStatus. +func (in *AccessLevelStatus) DeepCopy() *AccessLevelStatus { + if in == nil { + return nil + } + out := new(AccessLevelStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessPolicy) DeepCopyInto(out *AccessPolicy) { + *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 AccessPolicy. +func (in *AccessPolicy) DeepCopy() *AccessPolicy { + if in == nil { + return nil + } + out := new(AccessPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AccessPolicy) 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 *AccessPolicyList) DeepCopyInto(out *AccessPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AccessPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessPolicyList. +func (in *AccessPolicyList) DeepCopy() *AccessPolicyList { + if in == nil { + return nil + } + out := new(AccessPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AccessPolicyList) 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 *AccessPolicyObservation) DeepCopyInto(out *AccessPolicyObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *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.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessPolicyObservation. +func (in *AccessPolicyObservation) DeepCopy() *AccessPolicyObservation { + if in == nil { + return nil + } + out := new(AccessPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessPolicyParameters) DeepCopyInto(out *AccessPolicyParameters) { + *out = *in + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessPolicyParameters. +func (in *AccessPolicyParameters) DeepCopy() *AccessPolicyParameters { + if in == nil { + return nil + } + out := new(AccessPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessPolicySpec) DeepCopyInto(out *AccessPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessPolicySpec. +func (in *AccessPolicySpec) DeepCopy() *AccessPolicySpec { + if in == nil { + return nil + } + out := new(AccessPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessPolicyStatus) DeepCopyInto(out *AccessPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessPolicyStatus. +func (in *AccessPolicyStatus) DeepCopy() *AccessPolicyStatus { + if in == nil { + return nil + } + out := new(AccessPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicObservation) DeepCopyInto(out *BasicObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicObservation. +func (in *BasicObservation) DeepCopy() *BasicObservation { + if in == nil { + return nil + } + out := new(BasicObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicParameters) DeepCopyInto(out *BasicParameters) { + *out = *in + if in.CombiningFunction != nil { + in, out := &in.CombiningFunction, &out.CombiningFunction + *out = new(string) + **out = **in + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]ConditionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicParameters. +func (in *BasicParameters) DeepCopy() *BasicParameters { + if in == nil { + return nil + } + out := new(BasicParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionsObservation) DeepCopyInto(out *ConditionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionsObservation. +func (in *ConditionsObservation) DeepCopy() *ConditionsObservation { + if in == nil { + return nil + } + out := new(ConditionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionsParameters) DeepCopyInto(out *ConditionsParameters) { + *out = *in + if in.DevicePolicy != nil { + in, out := &in.DevicePolicy, &out.DevicePolicy + *out = make([]DevicePolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IPSubnetworks != nil { + in, out := &in.IPSubnetworks, &out.IPSubnetworks + *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.Members != nil { + in, out := &in.Members, &out.Members + *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.Negate != nil { + in, out := &in.Negate, &out.Negate + *out = new(bool) + **out = **in + } + if in.Regions != nil { + in, out := &in.Regions, &out.Regions + *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.RequiredAccessLevels != nil { + in, out := &in.RequiredAccessLevels, &out.RequiredAccessLevels + *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 ConditionsParameters. +func (in *ConditionsParameters) DeepCopy() *ConditionsParameters { + if in == nil { + return nil + } + out := new(ConditionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomObservation) DeepCopyInto(out *CustomObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomObservation. +func (in *CustomObservation) DeepCopy() *CustomObservation { + if in == nil { + return nil + } + out := new(CustomObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomParameters) DeepCopyInto(out *CustomParameters) { + *out = *in + if in.Expr != nil { + in, out := &in.Expr, &out.Expr + *out = make([]ExprParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomParameters. +func (in *CustomParameters) DeepCopy() *CustomParameters { + if in == nil { + return nil + } + out := new(CustomParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DevicePolicyObservation) DeepCopyInto(out *DevicePolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevicePolicyObservation. +func (in *DevicePolicyObservation) DeepCopy() *DevicePolicyObservation { + if in == nil { + return nil + } + out := new(DevicePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DevicePolicyOsConstraintsObservation) DeepCopyInto(out *DevicePolicyOsConstraintsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevicePolicyOsConstraintsObservation. +func (in *DevicePolicyOsConstraintsObservation) DeepCopy() *DevicePolicyOsConstraintsObservation { + if in == nil { + return nil + } + out := new(DevicePolicyOsConstraintsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DevicePolicyOsConstraintsParameters) DeepCopyInto(out *DevicePolicyOsConstraintsParameters) { + *out = *in + if in.MinimumVersion != nil { + in, out := &in.MinimumVersion, &out.MinimumVersion + *out = new(string) + **out = **in + } + if in.OsType != nil { + in, out := &in.OsType, &out.OsType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevicePolicyOsConstraintsParameters. +func (in *DevicePolicyOsConstraintsParameters) DeepCopy() *DevicePolicyOsConstraintsParameters { + if in == nil { + return nil + } + out := new(DevicePolicyOsConstraintsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DevicePolicyParameters) DeepCopyInto(out *DevicePolicyParameters) { + *out = *in + if in.AllowedDeviceManagementLevels != nil { + in, out := &in.AllowedDeviceManagementLevels, &out.AllowedDeviceManagementLevels + *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.AllowedEncryptionStatuses != nil { + in, out := &in.AllowedEncryptionStatuses, &out.AllowedEncryptionStatuses + *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.OsConstraints != nil { + in, out := &in.OsConstraints, &out.OsConstraints + *out = make([]OsConstraintsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequireAdminApproval != nil { + in, out := &in.RequireAdminApproval, &out.RequireAdminApproval + *out = new(bool) + **out = **in + } + if in.RequireCorpOwned != nil { + in, out := &in.RequireCorpOwned, &out.RequireCorpOwned + *out = new(bool) + **out = **in + } + if in.RequireScreenLock != nil { + in, out := &in.RequireScreenLock, &out.RequireScreenLock + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DevicePolicyParameters. +func (in *DevicePolicyParameters) DeepCopy() *DevicePolicyParameters { + if in == nil { + return nil + } + out := new(DevicePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressFromObservation) DeepCopyInto(out *EgressFromObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressFromObservation. +func (in *EgressFromObservation) DeepCopy() *EgressFromObservation { + if in == nil { + return nil + } + out := new(EgressFromObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressFromParameters) DeepCopyInto(out *EgressFromParameters) { + *out = *in + if in.Identities != nil { + in, out := &in.Identities, &out.Identities + *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.IdentityType != nil { + in, out := &in.IdentityType, &out.IdentityType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressFromParameters. +func (in *EgressFromParameters) DeepCopy() *EgressFromParameters { + if in == nil { + return nil + } + out := new(EgressFromParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressPoliciesEgressFromObservation) DeepCopyInto(out *EgressPoliciesEgressFromObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressPoliciesEgressFromObservation. +func (in *EgressPoliciesEgressFromObservation) DeepCopy() *EgressPoliciesEgressFromObservation { + if in == nil { + return nil + } + out := new(EgressPoliciesEgressFromObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressPoliciesEgressFromParameters) DeepCopyInto(out *EgressPoliciesEgressFromParameters) { + *out = *in + if in.Identities != nil { + in, out := &in.Identities, &out.Identities + *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.IdentityType != nil { + in, out := &in.IdentityType, &out.IdentityType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressPoliciesEgressFromParameters. +func (in *EgressPoliciesEgressFromParameters) DeepCopy() *EgressPoliciesEgressFromParameters { + if in == nil { + return nil + } + out := new(EgressPoliciesEgressFromParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressPoliciesEgressToObservation) DeepCopyInto(out *EgressPoliciesEgressToObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressPoliciesEgressToObservation. +func (in *EgressPoliciesEgressToObservation) DeepCopy() *EgressPoliciesEgressToObservation { + if in == nil { + return nil + } + out := new(EgressPoliciesEgressToObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressPoliciesEgressToParameters) DeepCopyInto(out *EgressPoliciesEgressToParameters) { + *out = *in + if in.Operations != nil { + in, out := &in.Operations, &out.Operations + *out = make([]EgressToOperationsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *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 EgressPoliciesEgressToParameters. +func (in *EgressPoliciesEgressToParameters) DeepCopy() *EgressPoliciesEgressToParameters { + if in == nil { + return nil + } + out := new(EgressPoliciesEgressToParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressPoliciesObservation) DeepCopyInto(out *EgressPoliciesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressPoliciesObservation. +func (in *EgressPoliciesObservation) DeepCopy() *EgressPoliciesObservation { + if in == nil { + return nil + } + out := new(EgressPoliciesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressPoliciesParameters) DeepCopyInto(out *EgressPoliciesParameters) { + *out = *in + if in.EgressFrom != nil { + in, out := &in.EgressFrom, &out.EgressFrom + *out = make([]EgressFromParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EgressTo != nil { + in, out := &in.EgressTo, &out.EgressTo + *out = make([]EgressToParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressPoliciesParameters. +func (in *EgressPoliciesParameters) DeepCopy() *EgressPoliciesParameters { + if in == nil { + return nil + } + out := new(EgressPoliciesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressToObservation) DeepCopyInto(out *EgressToObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressToObservation. +func (in *EgressToObservation) DeepCopy() *EgressToObservation { + if in == nil { + return nil + } + out := new(EgressToObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressToOperationsMethodSelectorsObservation) DeepCopyInto(out *EgressToOperationsMethodSelectorsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressToOperationsMethodSelectorsObservation. +func (in *EgressToOperationsMethodSelectorsObservation) DeepCopy() *EgressToOperationsMethodSelectorsObservation { + if in == nil { + return nil + } + out := new(EgressToOperationsMethodSelectorsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressToOperationsMethodSelectorsParameters) DeepCopyInto(out *EgressToOperationsMethodSelectorsParameters) { + *out = *in + if in.Method != nil { + in, out := &in.Method, &out.Method + *out = new(string) + **out = **in + } + if in.Permission != nil { + in, out := &in.Permission, &out.Permission + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressToOperationsMethodSelectorsParameters. +func (in *EgressToOperationsMethodSelectorsParameters) DeepCopy() *EgressToOperationsMethodSelectorsParameters { + if in == nil { + return nil + } + out := new(EgressToOperationsMethodSelectorsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressToOperationsObservation) DeepCopyInto(out *EgressToOperationsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressToOperationsObservation. +func (in *EgressToOperationsObservation) DeepCopy() *EgressToOperationsObservation { + if in == nil { + return nil + } + out := new(EgressToOperationsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressToOperationsParameters) DeepCopyInto(out *EgressToOperationsParameters) { + *out = *in + if in.MethodSelectors != nil { + in, out := &in.MethodSelectors, &out.MethodSelectors + *out = make([]EgressToOperationsMethodSelectorsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressToOperationsParameters. +func (in *EgressToOperationsParameters) DeepCopy() *EgressToOperationsParameters { + if in == nil { + return nil + } + out := new(EgressToOperationsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressToParameters) DeepCopyInto(out *EgressToParameters) { + *out = *in + if in.Operations != nil { + in, out := &in.Operations, &out.Operations + *out = make([]OperationsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *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 EgressToParameters. +func (in *EgressToParameters) DeepCopy() *EgressToParameters { + if in == nil { + return nil + } + out := new(EgressToParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExprObservation) DeepCopyInto(out *ExprObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExprObservation. +func (in *ExprObservation) DeepCopy() *ExprObservation { + if in == nil { + return nil + } + out := new(ExprObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExprParameters) DeepCopyInto(out *ExprParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExprParameters. +func (in *ExprParameters) DeepCopy() *ExprParameters { + if in == nil { + return nil + } + out := new(ExprParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GCPUserAccessBinding) DeepCopyInto(out *GCPUserAccessBinding) { + *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 GCPUserAccessBinding. +func (in *GCPUserAccessBinding) DeepCopy() *GCPUserAccessBinding { + if in == nil { + return nil + } + out := new(GCPUserAccessBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GCPUserAccessBinding) 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 *GCPUserAccessBindingList) DeepCopyInto(out *GCPUserAccessBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GCPUserAccessBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPUserAccessBindingList. +func (in *GCPUserAccessBindingList) DeepCopy() *GCPUserAccessBindingList { + if in == nil { + return nil + } + out := new(GCPUserAccessBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GCPUserAccessBindingList) 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 *GCPUserAccessBindingObservation) DeepCopyInto(out *GCPUserAccessBindingObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPUserAccessBindingObservation. +func (in *GCPUserAccessBindingObservation) DeepCopy() *GCPUserAccessBindingObservation { + if in == nil { + return nil + } + out := new(GCPUserAccessBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GCPUserAccessBindingParameters) DeepCopyInto(out *GCPUserAccessBindingParameters) { + *out = *in + if in.AccessLevels != nil { + in, out := &in.AccessLevels, &out.AccessLevels + *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.GroupKey != nil { + in, out := &in.GroupKey, &out.GroupKey + *out = new(string) + **out = **in + } + if in.OrganizationID != nil { + in, out := &in.OrganizationID, &out.OrganizationID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPUserAccessBindingParameters. +func (in *GCPUserAccessBindingParameters) DeepCopy() *GCPUserAccessBindingParameters { + if in == nil { + return nil + } + out := new(GCPUserAccessBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GCPUserAccessBindingSpec) DeepCopyInto(out *GCPUserAccessBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPUserAccessBindingSpec. +func (in *GCPUserAccessBindingSpec) DeepCopy() *GCPUserAccessBindingSpec { + if in == nil { + return nil + } + out := new(GCPUserAccessBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GCPUserAccessBindingStatus) DeepCopyInto(out *GCPUserAccessBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPUserAccessBindingStatus. +func (in *GCPUserAccessBindingStatus) DeepCopy() *GCPUserAccessBindingStatus { + if in == nil { + return nil + } + out := new(GCPUserAccessBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressFromObservation) DeepCopyInto(out *IngressFromObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressFromObservation. +func (in *IngressFromObservation) DeepCopy() *IngressFromObservation { + if in == nil { + return nil + } + out := new(IngressFromObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressFromParameters) DeepCopyInto(out *IngressFromParameters) { + *out = *in + if in.Identities != nil { + in, out := &in.Identities, &out.Identities + *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.IdentityType != nil { + in, out := &in.IdentityType, &out.IdentityType + *out = new(string) + **out = **in + } + if in.Sources != nil { + in, out := &in.Sources, &out.Sources + *out = make([]SourcesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressFromParameters. +func (in *IngressFromParameters) DeepCopy() *IngressFromParameters { + if in == nil { + return nil + } + out := new(IngressFromParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressFromSourcesObservation) DeepCopyInto(out *IngressFromSourcesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressFromSourcesObservation. +func (in *IngressFromSourcesObservation) DeepCopy() *IngressFromSourcesObservation { + if in == nil { + return nil + } + out := new(IngressFromSourcesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressFromSourcesParameters) DeepCopyInto(out *IngressFromSourcesParameters) { + *out = *in + if in.AccessLevel != nil { + in, out := &in.AccessLevel, &out.AccessLevel + *out = new(string) + **out = **in + } + if in.Resource != nil { + in, out := &in.Resource, &out.Resource + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressFromSourcesParameters. +func (in *IngressFromSourcesParameters) DeepCopy() *IngressFromSourcesParameters { + if in == nil { + return nil + } + out := new(IngressFromSourcesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressPoliciesIngressFromObservation) DeepCopyInto(out *IngressPoliciesIngressFromObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressPoliciesIngressFromObservation. +func (in *IngressPoliciesIngressFromObservation) DeepCopy() *IngressPoliciesIngressFromObservation { + if in == nil { + return nil + } + out := new(IngressPoliciesIngressFromObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressPoliciesIngressFromParameters) DeepCopyInto(out *IngressPoliciesIngressFromParameters) { + *out = *in + if in.Identities != nil { + in, out := &in.Identities, &out.Identities + *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.IdentityType != nil { + in, out := &in.IdentityType, &out.IdentityType + *out = new(string) + **out = **in + } + if in.Sources != nil { + in, out := &in.Sources, &out.Sources + *out = make([]IngressFromSourcesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressPoliciesIngressFromParameters. +func (in *IngressPoliciesIngressFromParameters) DeepCopy() *IngressPoliciesIngressFromParameters { + if in == nil { + return nil + } + out := new(IngressPoliciesIngressFromParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressPoliciesIngressToObservation) DeepCopyInto(out *IngressPoliciesIngressToObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressPoliciesIngressToObservation. +func (in *IngressPoliciesIngressToObservation) DeepCopy() *IngressPoliciesIngressToObservation { + if in == nil { + return nil + } + out := new(IngressPoliciesIngressToObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressPoliciesIngressToOperationsObservation) DeepCopyInto(out *IngressPoliciesIngressToOperationsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressPoliciesIngressToOperationsObservation. +func (in *IngressPoliciesIngressToOperationsObservation) DeepCopy() *IngressPoliciesIngressToOperationsObservation { + if in == nil { + return nil + } + out := new(IngressPoliciesIngressToOperationsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressPoliciesIngressToOperationsParameters) DeepCopyInto(out *IngressPoliciesIngressToOperationsParameters) { + *out = *in + if in.MethodSelectors != nil { + in, out := &in.MethodSelectors, &out.MethodSelectors + *out = make([]IngressToOperationsMethodSelectorsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressPoliciesIngressToOperationsParameters. +func (in *IngressPoliciesIngressToOperationsParameters) DeepCopy() *IngressPoliciesIngressToOperationsParameters { + if in == nil { + return nil + } + out := new(IngressPoliciesIngressToOperationsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressPoliciesIngressToParameters) DeepCopyInto(out *IngressPoliciesIngressToParameters) { + *out = *in + if in.Operations != nil { + in, out := &in.Operations, &out.Operations + *out = make([]IngressPoliciesIngressToOperationsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *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 IngressPoliciesIngressToParameters. +func (in *IngressPoliciesIngressToParameters) DeepCopy() *IngressPoliciesIngressToParameters { + if in == nil { + return nil + } + out := new(IngressPoliciesIngressToParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressPoliciesObservation) DeepCopyInto(out *IngressPoliciesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressPoliciesObservation. +func (in *IngressPoliciesObservation) DeepCopy() *IngressPoliciesObservation { + if in == nil { + return nil + } + out := new(IngressPoliciesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressPoliciesParameters) DeepCopyInto(out *IngressPoliciesParameters) { + *out = *in + if in.IngressFrom != nil { + in, out := &in.IngressFrom, &out.IngressFrom + *out = make([]IngressFromParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IngressTo != nil { + in, out := &in.IngressTo, &out.IngressTo + *out = make([]IngressToParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressPoliciesParameters. +func (in *IngressPoliciesParameters) DeepCopy() *IngressPoliciesParameters { + if in == nil { + return nil + } + out := new(IngressPoliciesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressToObservation) DeepCopyInto(out *IngressToObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressToObservation. +func (in *IngressToObservation) DeepCopy() *IngressToObservation { + if in == nil { + return nil + } + out := new(IngressToObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressToOperationsMethodSelectorsObservation) DeepCopyInto(out *IngressToOperationsMethodSelectorsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressToOperationsMethodSelectorsObservation. +func (in *IngressToOperationsMethodSelectorsObservation) DeepCopy() *IngressToOperationsMethodSelectorsObservation { + if in == nil { + return nil + } + out := new(IngressToOperationsMethodSelectorsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressToOperationsMethodSelectorsParameters) DeepCopyInto(out *IngressToOperationsMethodSelectorsParameters) { + *out = *in + if in.Method != nil { + in, out := &in.Method, &out.Method + *out = new(string) + **out = **in + } + if in.Permission != nil { + in, out := &in.Permission, &out.Permission + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressToOperationsMethodSelectorsParameters. +func (in *IngressToOperationsMethodSelectorsParameters) DeepCopy() *IngressToOperationsMethodSelectorsParameters { + if in == nil { + return nil + } + out := new(IngressToOperationsMethodSelectorsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressToOperationsObservation) DeepCopyInto(out *IngressToOperationsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressToOperationsObservation. +func (in *IngressToOperationsObservation) DeepCopy() *IngressToOperationsObservation { + if in == nil { + return nil + } + out := new(IngressToOperationsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressToOperationsParameters) DeepCopyInto(out *IngressToOperationsParameters) { + *out = *in + if in.MethodSelectors != nil { + in, out := &in.MethodSelectors, &out.MethodSelectors + *out = make([]OperationsMethodSelectorsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressToOperationsParameters. +func (in *IngressToOperationsParameters) DeepCopy() *IngressToOperationsParameters { + if in == nil { + return nil + } + out := new(IngressToOperationsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressToParameters) DeepCopyInto(out *IngressToParameters) { + *out = *in + if in.Operations != nil { + in, out := &in.Operations, &out.Operations + *out = make([]IngressToOperationsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *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 IngressToParameters. +func (in *IngressToParameters) DeepCopy() *IngressToParameters { + if in == nil { + return nil + } + out := new(IngressToParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MethodSelectorsObservation) DeepCopyInto(out *MethodSelectorsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MethodSelectorsObservation. +func (in *MethodSelectorsObservation) DeepCopy() *MethodSelectorsObservation { + if in == nil { + return nil + } + out := new(MethodSelectorsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MethodSelectorsParameters) DeepCopyInto(out *MethodSelectorsParameters) { + *out = *in + if in.Method != nil { + in, out := &in.Method, &out.Method + *out = new(string) + **out = **in + } + if in.Permission != nil { + in, out := &in.Permission, &out.Permission + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MethodSelectorsParameters. +func (in *MethodSelectorsParameters) DeepCopy() *MethodSelectorsParameters { + if in == nil { + return nil + } + out := new(MethodSelectorsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperationsMethodSelectorsObservation) DeepCopyInto(out *OperationsMethodSelectorsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperationsMethodSelectorsObservation. +func (in *OperationsMethodSelectorsObservation) DeepCopy() *OperationsMethodSelectorsObservation { + if in == nil { + return nil + } + out := new(OperationsMethodSelectorsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperationsMethodSelectorsParameters) DeepCopyInto(out *OperationsMethodSelectorsParameters) { + *out = *in + if in.Method != nil { + in, out := &in.Method, &out.Method + *out = new(string) + **out = **in + } + if in.Permission != nil { + in, out := &in.Permission, &out.Permission + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperationsMethodSelectorsParameters. +func (in *OperationsMethodSelectorsParameters) DeepCopy() *OperationsMethodSelectorsParameters { + if in == nil { + return nil + } + out := new(OperationsMethodSelectorsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperationsObservation) DeepCopyInto(out *OperationsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperationsObservation. +func (in *OperationsObservation) DeepCopy() *OperationsObservation { + if in == nil { + return nil + } + out := new(OperationsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperationsParameters) DeepCopyInto(out *OperationsParameters) { + *out = *in + if in.MethodSelectors != nil { + in, out := &in.MethodSelectors, &out.MethodSelectors + *out = make([]MethodSelectorsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperationsParameters. +func (in *OperationsParameters) DeepCopy() *OperationsParameters { + if in == nil { + return nil + } + out := new(OperationsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OsConstraintsObservation) DeepCopyInto(out *OsConstraintsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsConstraintsObservation. +func (in *OsConstraintsObservation) DeepCopy() *OsConstraintsObservation { + if in == nil { + return nil + } + out := new(OsConstraintsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OsConstraintsParameters) DeepCopyInto(out *OsConstraintsParameters) { + *out = *in + if in.MinimumVersion != nil { + in, out := &in.MinimumVersion, &out.MinimumVersion + *out = new(string) + **out = **in + } + if in.OsType != nil { + in, out := &in.OsType, &out.OsType + *out = new(string) + **out = **in + } + if in.RequireVerifiedChromeOs != nil { + in, out := &in.RequireVerifiedChromeOs, &out.RequireVerifiedChromeOs + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OsConstraintsParameters. +func (in *OsConstraintsParameters) DeepCopy() *OsConstraintsParameters { + if in == nil { + return nil + } + out := new(OsConstraintsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServicePerimeter) DeepCopyInto(out *ServicePerimeter) { + *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 ServicePerimeter. +func (in *ServicePerimeter) DeepCopy() *ServicePerimeter { + if in == nil { + return nil + } + out := new(ServicePerimeter) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServicePerimeter) 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 *ServicePerimeterList) DeepCopyInto(out *ServicePerimeterList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServicePerimeter, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePerimeterList. +func (in *ServicePerimeterList) DeepCopy() *ServicePerimeterList { + if in == nil { + return nil + } + out := new(ServicePerimeterList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServicePerimeterList) 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 *ServicePerimeterObservation) DeepCopyInto(out *ServicePerimeterObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePerimeterObservation. +func (in *ServicePerimeterObservation) DeepCopy() *ServicePerimeterObservation { + if in == nil { + return nil + } + out := new(ServicePerimeterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServicePerimeterParameters) DeepCopyInto(out *ServicePerimeterParameters) { + *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.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.PerimeterType != nil { + in, out := &in.PerimeterType, &out.PerimeterType + *out = new(string) + **out = **in + } + if in.Spec != nil { + in, out := &in.Spec, &out.Spec + *out = make([]SpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = make([]StatusParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } + if in.UseExplicitDryRunSpec != nil { + in, out := &in.UseExplicitDryRunSpec, &out.UseExplicitDryRunSpec + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePerimeterParameters. +func (in *ServicePerimeterParameters) DeepCopy() *ServicePerimeterParameters { + if in == nil { + return nil + } + out := new(ServicePerimeterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServicePerimeterResource) DeepCopyInto(out *ServicePerimeterResource) { + *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 ServicePerimeterResource. +func (in *ServicePerimeterResource) DeepCopy() *ServicePerimeterResource { + if in == nil { + return nil + } + out := new(ServicePerimeterResource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServicePerimeterResource) 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 *ServicePerimeterResourceList) DeepCopyInto(out *ServicePerimeterResourceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServicePerimeterResource, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePerimeterResourceList. +func (in *ServicePerimeterResourceList) DeepCopy() *ServicePerimeterResourceList { + if in == nil { + return nil + } + out := new(ServicePerimeterResourceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServicePerimeterResourceList) 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 *ServicePerimeterResourceObservation) DeepCopyInto(out *ServicePerimeterResourceObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePerimeterResourceObservation. +func (in *ServicePerimeterResourceObservation) DeepCopy() *ServicePerimeterResourceObservation { + if in == nil { + return nil + } + out := new(ServicePerimeterResourceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServicePerimeterResourceParameters) DeepCopyInto(out *ServicePerimeterResourceParameters) { + *out = *in + if in.PerimeterName != nil { + in, out := &in.PerimeterName, &out.PerimeterName + *out = new(string) + **out = **in + } + if in.Resource != nil { + in, out := &in.Resource, &out.Resource + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePerimeterResourceParameters. +func (in *ServicePerimeterResourceParameters) DeepCopy() *ServicePerimeterResourceParameters { + if in == nil { + return nil + } + out := new(ServicePerimeterResourceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServicePerimeterResourceSpec) DeepCopyInto(out *ServicePerimeterResourceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePerimeterResourceSpec. +func (in *ServicePerimeterResourceSpec) DeepCopy() *ServicePerimeterResourceSpec { + if in == nil { + return nil + } + out := new(ServicePerimeterResourceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServicePerimeterResourceStatus) DeepCopyInto(out *ServicePerimeterResourceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePerimeterResourceStatus. +func (in *ServicePerimeterResourceStatus) DeepCopy() *ServicePerimeterResourceStatus { + if in == nil { + return nil + } + out := new(ServicePerimeterResourceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServicePerimeterSpec) DeepCopyInto(out *ServicePerimeterSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePerimeterSpec. +func (in *ServicePerimeterSpec) DeepCopy() *ServicePerimeterSpec { + if in == nil { + return nil + } + out := new(ServicePerimeterSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServicePerimeterStatus) DeepCopyInto(out *ServicePerimeterStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePerimeterStatus. +func (in *ServicePerimeterStatus) DeepCopy() *ServicePerimeterStatus { + if in == nil { + return nil + } + out := new(ServicePerimeterStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourcesObservation) DeepCopyInto(out *SourcesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourcesObservation. +func (in *SourcesObservation) DeepCopy() *SourcesObservation { + if in == nil { + return nil + } + out := new(SourcesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourcesParameters) DeepCopyInto(out *SourcesParameters) { + *out = *in + if in.AccessLevel != nil { + in, out := &in.AccessLevel, &out.AccessLevel + *out = new(string) + **out = **in + } + if in.Resource != nil { + in, out := &in.Resource, &out.Resource + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourcesParameters. +func (in *SourcesParameters) DeepCopy() *SourcesParameters { + if in == nil { + return nil + } + out := new(SourcesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecObservation) DeepCopyInto(out *SpecObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecObservation. +func (in *SpecObservation) DeepCopy() *SpecObservation { + if in == nil { + return nil + } + out := new(SpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecParameters) DeepCopyInto(out *SpecParameters) { + *out = *in + if in.AccessLevels != nil { + in, out := &in.AccessLevels, &out.AccessLevels + *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.EgressPolicies != nil { + in, out := &in.EgressPolicies, &out.EgressPolicies + *out = make([]EgressPoliciesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IngressPolicies != nil { + in, out := &in.IngressPolicies, &out.IngressPolicies + *out = make([]IngressPoliciesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *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.RestrictedServices != nil { + in, out := &in.RestrictedServices, &out.RestrictedServices + *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.VPCAccessibleServices != nil { + in, out := &in.VPCAccessibleServices, &out.VPCAccessibleServices + *out = make([]VPCAccessibleServicesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecParameters. +func (in *SpecParameters) DeepCopy() *SpecParameters { + if in == nil { + return nil + } + out := new(SpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusEgressPoliciesObservation) DeepCopyInto(out *StatusEgressPoliciesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusEgressPoliciesObservation. +func (in *StatusEgressPoliciesObservation) DeepCopy() *StatusEgressPoliciesObservation { + if in == nil { + return nil + } + out := new(StatusEgressPoliciesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusEgressPoliciesParameters) DeepCopyInto(out *StatusEgressPoliciesParameters) { + *out = *in + if in.EgressFrom != nil { + in, out := &in.EgressFrom, &out.EgressFrom + *out = make([]EgressPoliciesEgressFromParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EgressTo != nil { + in, out := &in.EgressTo, &out.EgressTo + *out = make([]EgressPoliciesEgressToParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusEgressPoliciesParameters. +func (in *StatusEgressPoliciesParameters) DeepCopy() *StatusEgressPoliciesParameters { + if in == nil { + return nil + } + out := new(StatusEgressPoliciesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusIngressPoliciesObservation) DeepCopyInto(out *StatusIngressPoliciesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusIngressPoliciesObservation. +func (in *StatusIngressPoliciesObservation) DeepCopy() *StatusIngressPoliciesObservation { + if in == nil { + return nil + } + out := new(StatusIngressPoliciesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusIngressPoliciesParameters) DeepCopyInto(out *StatusIngressPoliciesParameters) { + *out = *in + if in.IngressFrom != nil { + in, out := &in.IngressFrom, &out.IngressFrom + *out = make([]IngressPoliciesIngressFromParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IngressTo != nil { + in, out := &in.IngressTo, &out.IngressTo + *out = make([]IngressPoliciesIngressToParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusIngressPoliciesParameters. +func (in *StatusIngressPoliciesParameters) DeepCopy() *StatusIngressPoliciesParameters { + if in == nil { + return nil + } + out := new(StatusIngressPoliciesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusObservation) DeepCopyInto(out *StatusObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusObservation. +func (in *StatusObservation) DeepCopy() *StatusObservation { + if in == nil { + return nil + } + out := new(StatusObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusParameters) DeepCopyInto(out *StatusParameters) { + *out = *in + if in.AccessLevels != nil { + in, out := &in.AccessLevels, &out.AccessLevels + *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.EgressPolicies != nil { + in, out := &in.EgressPolicies, &out.EgressPolicies + *out = make([]StatusEgressPoliciesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IngressPolicies != nil { + in, out := &in.IngressPolicies, &out.IngressPolicies + *out = make([]StatusIngressPoliciesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *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.RestrictedServices != nil { + in, out := &in.RestrictedServices, &out.RestrictedServices + *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.VPCAccessibleServices != nil { + in, out := &in.VPCAccessibleServices, &out.VPCAccessibleServices + *out = make([]StatusVPCAccessibleServicesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusParameters. +func (in *StatusParameters) DeepCopy() *StatusParameters { + if in == nil { + return nil + } + out := new(StatusParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusVPCAccessibleServicesObservation) DeepCopyInto(out *StatusVPCAccessibleServicesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusVPCAccessibleServicesObservation. +func (in *StatusVPCAccessibleServicesObservation) DeepCopy() *StatusVPCAccessibleServicesObservation { + if in == nil { + return nil + } + out := new(StatusVPCAccessibleServicesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusVPCAccessibleServicesParameters) DeepCopyInto(out *StatusVPCAccessibleServicesParameters) { + *out = *in + if in.AllowedServices != nil { + in, out := &in.AllowedServices, &out.AllowedServices + *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.EnableRestriction != nil { + in, out := &in.EnableRestriction, &out.EnableRestriction + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusVPCAccessibleServicesParameters. +func (in *StatusVPCAccessibleServicesParameters) DeepCopy() *StatusVPCAccessibleServicesParameters { + if in == nil { + return nil + } + out := new(StatusVPCAccessibleServicesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPCAccessibleServicesObservation) DeepCopyInto(out *VPCAccessibleServicesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCAccessibleServicesObservation. +func (in *VPCAccessibleServicesObservation) DeepCopy() *VPCAccessibleServicesObservation { + if in == nil { + return nil + } + out := new(VPCAccessibleServicesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPCAccessibleServicesParameters) DeepCopyInto(out *VPCAccessibleServicesParameters) { + *out = *in + if in.AllowedServices != nil { + in, out := &in.AllowedServices, &out.AllowedServices + *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.EnableRestriction != nil { + in, out := &in.EnableRestriction, &out.EnableRestriction + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCAccessibleServicesParameters. +func (in *VPCAccessibleServicesParameters) DeepCopy() *VPCAccessibleServicesParameters { + if in == nil { + return nil + } + out := new(VPCAccessibleServicesParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/accesscontextmanager/v1alpha1/zz_generated.managed.go b/apis/accesscontextmanager/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..10f87411 --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_generated.managed.go @@ -0,0 +1,356 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this AccessLevel. +func (mg *AccessLevel) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AccessLevel. +func (mg *AccessLevel) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AccessLevel. +func (mg *AccessLevel) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AccessLevel. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AccessLevel) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AccessLevel. +func (mg *AccessLevel) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AccessLevel. +func (mg *AccessLevel) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AccessLevel. +func (mg *AccessLevel) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AccessLevel. +func (mg *AccessLevel) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AccessLevel. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AccessLevel) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AccessLevel. +func (mg *AccessLevel) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this AccessLevelCondition. +func (mg *AccessLevelCondition) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AccessLevelCondition. +func (mg *AccessLevelCondition) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AccessLevelCondition. +func (mg *AccessLevelCondition) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AccessLevelCondition. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AccessLevelCondition) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AccessLevelCondition. +func (mg *AccessLevelCondition) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AccessLevelCondition. +func (mg *AccessLevelCondition) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AccessLevelCondition. +func (mg *AccessLevelCondition) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AccessLevelCondition. +func (mg *AccessLevelCondition) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AccessLevelCondition. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AccessLevelCondition) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AccessLevelCondition. +func (mg *AccessLevelCondition) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this AccessPolicy. +func (mg *AccessPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AccessPolicy. +func (mg *AccessPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AccessPolicy. +func (mg *AccessPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AccessPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AccessPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AccessPolicy. +func (mg *AccessPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AccessPolicy. +func (mg *AccessPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AccessPolicy. +func (mg *AccessPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AccessPolicy. +func (mg *AccessPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AccessPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AccessPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AccessPolicy. +func (mg *AccessPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this GCPUserAccessBinding. +func (mg *GCPUserAccessBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this GCPUserAccessBinding. +func (mg *GCPUserAccessBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this GCPUserAccessBinding. +func (mg *GCPUserAccessBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this GCPUserAccessBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *GCPUserAccessBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this GCPUserAccessBinding. +func (mg *GCPUserAccessBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this GCPUserAccessBinding. +func (mg *GCPUserAccessBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this GCPUserAccessBinding. +func (mg *GCPUserAccessBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this GCPUserAccessBinding. +func (mg *GCPUserAccessBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this GCPUserAccessBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *GCPUserAccessBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this GCPUserAccessBinding. +func (mg *GCPUserAccessBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServicePerimeter. +func (mg *ServicePerimeter) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServicePerimeter. +func (mg *ServicePerimeter) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServicePerimeter. +func (mg *ServicePerimeter) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServicePerimeter. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServicePerimeter) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServicePerimeter. +func (mg *ServicePerimeter) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServicePerimeter. +func (mg *ServicePerimeter) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServicePerimeter. +func (mg *ServicePerimeter) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServicePerimeter. +func (mg *ServicePerimeter) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServicePerimeter. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServicePerimeter) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServicePerimeter. +func (mg *ServicePerimeter) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServicePerimeterResource. +func (mg *ServicePerimeterResource) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServicePerimeterResource. +func (mg *ServicePerimeterResource) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServicePerimeterResource. +func (mg *ServicePerimeterResource) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServicePerimeterResource. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServicePerimeterResource) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServicePerimeterResource. +func (mg *ServicePerimeterResource) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServicePerimeterResource. +func (mg *ServicePerimeterResource) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServicePerimeterResource. +func (mg *ServicePerimeterResource) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServicePerimeterResource. +func (mg *ServicePerimeterResource) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServicePerimeterResource. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServicePerimeterResource) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServicePerimeterResource. +func (mg *ServicePerimeterResource) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/accesscontextmanager/v1alpha1/zz_generated.managedlist.go b/apis/accesscontextmanager/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..29cabb43 --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,74 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this AccessLevelConditionList. +func (l *AccessLevelConditionList) 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 AccessLevelList. +func (l *AccessLevelList) 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 AccessPolicyList. +func (l *AccessPolicyList) 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 GCPUserAccessBindingList. +func (l *GCPUserAccessBindingList) 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 ServicePerimeterList. +func (l *ServicePerimeterList) 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 ServicePerimeterResourceList. +func (l *ServicePerimeterResourceList) 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/accesscontextmanager/v1alpha1/zz_groupversion_info.go b/apis/accesscontextmanager/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..5623c79b --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=accesscontextmanager.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "accesscontextmanager.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/accesscontextmanager/v1alpha1/zz_serviceperimeter_terraformed.go b/apis/accesscontextmanager/v1alpha1/zz_serviceperimeter_terraformed.go new file mode 100755 index 00000000..5d5c7db6 --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_serviceperimeter_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServicePerimeter +func (mg *ServicePerimeter) GetTerraformResourceType() string { + return "google_access_context_manager_service_perimeter" +} + +// GetConnectionDetailsMapping for this ServicePerimeter +func (tr *ServicePerimeter) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServicePerimeter +func (tr *ServicePerimeter) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServicePerimeter +func (tr *ServicePerimeter) SetObservation(obs map[string]interface{}) 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 ServicePerimeter +func (tr *ServicePerimeter) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServicePerimeter +func (tr *ServicePerimeter) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServicePerimeter +func (tr *ServicePerimeter) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServicePerimeter using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServicePerimeter) LateInitialize(attrs []byte) (bool, error) { + params := &ServicePerimeterParameters{} + 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 *ServicePerimeter) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/accesscontextmanager/v1alpha1/zz_serviceperimeter_types.go b/apis/accesscontextmanager/v1alpha1/zz_serviceperimeter_types.go new file mode 100755 index 00000000..37c286c3 --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_serviceperimeter_types.go @@ -0,0 +1,706 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EgressFromObservation struct { +} + +type EgressFromParameters struct { + + // A list of identities that are allowed access through this 'EgressPolicy'. + // Should be in the format of email address. The email address should + // represent individual user or service account only. + // +kubebuilder:validation:Optional + Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"` + + // Specifies the type of identities that are allowed access to outside the + // perimeter. If left unspecified, then members of 'identities' field will + // be allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"] + // +kubebuilder:validation:Optional + IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"` +} + +type EgressPoliciesEgressFromObservation struct { +} + +type EgressPoliciesEgressFromParameters struct { + + // A list of identities that are allowed access through this 'EgressPolicy'. + // Should be in the format of email address. The email address should + // represent individual user or service account only. + // +kubebuilder:validation:Optional + Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"` + + // Specifies the type of identities that are allowed access to outside the + // perimeter. If left unspecified, then members of 'identities' field will + // be allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"] + // +kubebuilder:validation:Optional + IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"` +} + +type EgressPoliciesEgressToObservation struct { +} + +type EgressPoliciesEgressToParameters struct { + + // A list of 'ApiOperations' that this egress rule applies to. A request matches + // if it contains an operation/service in this list. + // +kubebuilder:validation:Optional + Operations []EgressToOperationsParameters `json:"operations,omitempty" tf:"operations,omitempty"` + + // A list of resources, currently only projects in the form + // 'projects/', that match this to stanza. A request matches + // if it contains a resource in this list. If * is specified for resources, + // then this 'EgressTo' rule will authorize access to all resources outside + // the perimeter. + // +kubebuilder:validation:Optional + Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"` +} + +type EgressPoliciesObservation struct { +} + +type EgressPoliciesParameters struct { + + // Defines conditions on the source of a request causing this 'EgressPolicy' to apply. + // +kubebuilder:validation:Optional + EgressFrom []EgressFromParameters `json:"egressFrom,omitempty" tf:"egress_from,omitempty"` + + // Defines the conditions on the 'ApiOperation' and destination resources that + // cause this 'EgressPolicy' to apply. + // +kubebuilder:validation:Optional + EgressTo []EgressToParameters `json:"egressTo,omitempty" tf:"egress_to,omitempty"` +} + +type EgressToObservation struct { +} + +type EgressToOperationsMethodSelectorsObservation struct { +} + +type EgressToOperationsMethodSelectorsParameters struct { + + // Value for 'method' should be a valid method name for the corresponding + // 'serviceName' in 'ApiOperation'. If '*' used as value for method, + // then ALL methods and permissions are allowed. + // +kubebuilder:validation:Optional + Method *string `json:"method,omitempty" tf:"method,omitempty"` + + // Value for permission should be a valid Cloud IAM permission for the + // corresponding 'serviceName' in 'ApiOperation'. + // +kubebuilder:validation:Optional + Permission *string `json:"permission,omitempty" tf:"permission,omitempty"` +} + +type EgressToOperationsObservation struct { +} + +type EgressToOperationsParameters struct { + + // API methods or permissions to allow. Method or permission must belong + // to the service specified by 'serviceName' field. A single MethodSelector + // entry with '*' specified for the 'method' field will allow all methods + // AND permissions for the service specified in 'serviceName'. + // +kubebuilder:validation:Optional + MethodSelectors []EgressToOperationsMethodSelectorsParameters `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"` + + // The name of the API whose methods or permissions the 'IngressPolicy' or + // 'EgressPolicy' want to allow. A single 'ApiOperation' with serviceName + // field set to '*' will allow all methods AND permissions for all services. + // +kubebuilder:validation:Optional + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` +} + +type EgressToParameters struct { + + // A list of 'ApiOperations' that this egress rule applies to. A request matches + // if it contains an operation/service in this list. + // +kubebuilder:validation:Optional + Operations []OperationsParameters `json:"operations,omitempty" tf:"operations,omitempty"` + + // A list of resources, currently only projects in the form + // 'projects/', that match this to stanza. A request matches + // if it contains a resource in this list. If * is specified for resources, + // then this 'EgressTo' rule will authorize access to all resources outside + // the perimeter. + // +kubebuilder:validation:Optional + Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"` +} + +type IngressFromObservation struct { +} + +type IngressFromParameters struct { + + // A list of identities that are allowed access through this ingress policy. + // Should be in the format of email address. The email address should represent + // individual user or service account only. + // +kubebuilder:validation:Optional + Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"` + + // Specifies the type of identities that are allowed access from outside the + // perimeter. If left unspecified, then members of 'identities' field will be + // allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"] + // +kubebuilder:validation:Optional + IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"` + + // Sources that this 'IngressPolicy' authorizes access from. + // +kubebuilder:validation:Optional + Sources []SourcesParameters `json:"sources,omitempty" tf:"sources,omitempty"` +} + +type IngressFromSourcesObservation struct { +} + +type IngressFromSourcesParameters struct { + + // An 'AccessLevel' resource name that allow resources within the + // 'ServicePerimeters' to be accessed from the internet. 'AccessLevels' listed + // must be in the same policy as this 'ServicePerimeter'. Referencing a nonexistent + // 'AccessLevel' will cause an error. If no 'AccessLevel' names are listed, + // resources within the perimeter can only be accessed via Google Cloud calls + // with request origins within the perimeter. + // Example 'accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.' + // If * is specified, then all IngressSources will be allowed. + // +kubebuilder:validation:Optional + AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"` + + // A Google Cloud resource that is allowed to ingress the perimeter. + // Requests from these resources will be allowed to access perimeter data. + // Currently only projects are allowed. Format 'projects/{project_number}' + // The project may be in any Google Cloud organization, not just the + // organization that the perimeter is defined in. '*' is not allowed, the case + // of allowing all Google Cloud resources only is not supported. + // +kubebuilder:validation:Optional + Resource *string `json:"resource,omitempty" tf:"resource,omitempty"` +} + +type IngressPoliciesIngressFromObservation struct { +} + +type IngressPoliciesIngressFromParameters struct { + + // A list of identities that are allowed access through this ingress policy. + // Should be in the format of email address. The email address should represent + // individual user or service account only. + // +kubebuilder:validation:Optional + Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"` + + // Specifies the type of identities that are allowed access from outside the + // perimeter. If left unspecified, then members of 'identities' field will be + // allowed access. Possible values: ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"] + // +kubebuilder:validation:Optional + IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"` + + // Sources that this 'IngressPolicy' authorizes access from. + // +kubebuilder:validation:Optional + Sources []IngressFromSourcesParameters `json:"sources,omitempty" tf:"sources,omitempty"` +} + +type IngressPoliciesIngressToObservation struct { +} + +type IngressPoliciesIngressToOperationsObservation struct { +} + +type IngressPoliciesIngressToOperationsParameters struct { + + // API methods or permissions to allow. Method or permission must belong to + // the service specified by serviceName field. A single 'MethodSelector' entry + // with '*' specified for the method field will allow all methods AND + // permissions for the service specified in 'serviceName'. + // +kubebuilder:validation:Optional + MethodSelectors []IngressToOperationsMethodSelectorsParameters `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"` + + // The name of the API whose methods or permissions the 'IngressPolicy' or + // 'EgressPolicy' want to allow. A single 'ApiOperation' with 'serviceName' + // field set to '*' will allow all methods AND permissions for all services. + // +kubebuilder:validation:Optional + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` +} + +type IngressPoliciesIngressToParameters struct { + + // A list of 'ApiOperations' the sources specified in corresponding 'IngressFrom' + // are allowed to perform in this 'ServicePerimeter'. + // +kubebuilder:validation:Optional + Operations []IngressPoliciesIngressToOperationsParameters `json:"operations,omitempty" tf:"operations,omitempty"` + + // A list of resources, currently only projects in the form + // 'projects/', protected by this 'ServicePerimeter' + // that are allowed to be accessed by sources defined in the + // corresponding 'IngressFrom'. A request matches if it contains + // a resource in this list. If '*' is specified for resources, + // then this 'IngressTo' rule will authorize access to all + // resources inside the perimeter, provided that the request + // also matches the 'operations' field. + // +kubebuilder:validation:Optional + Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"` +} + +type IngressPoliciesObservation struct { +} + +type IngressPoliciesParameters struct { + + // Defines the conditions on the source of a request causing this 'IngressPolicy' + // to apply. + // +kubebuilder:validation:Optional + IngressFrom []IngressFromParameters `json:"ingressFrom,omitempty" tf:"ingress_from,omitempty"` + + // Defines the conditions on the 'ApiOperation' and request destination that cause + // this 'IngressPolicy' to apply. + // +kubebuilder:validation:Optional + IngressTo []IngressToParameters `json:"ingressTo,omitempty" tf:"ingress_to,omitempty"` +} + +type IngressToObservation struct { +} + +type IngressToOperationsMethodSelectorsObservation struct { +} + +type IngressToOperationsMethodSelectorsParameters struct { + + // Value for method should be a valid method name for the corresponding + // serviceName in 'ApiOperation'. If '*' used as value for 'method', then + // ALL methods and permissions are allowed. + // +kubebuilder:validation:Optional + Method *string `json:"method,omitempty" tf:"method,omitempty"` + + // Value for permission should be a valid Cloud IAM permission for the + // corresponding 'serviceName' in 'ApiOperation'. + // +kubebuilder:validation:Optional + Permission *string `json:"permission,omitempty" tf:"permission,omitempty"` +} + +type IngressToOperationsObservation struct { +} + +type IngressToOperationsParameters struct { + + // API methods or permissions to allow. Method or permission must belong to + // the service specified by serviceName field. A single 'MethodSelector' entry + // with '*' specified for the method field will allow all methods AND + // permissions for the service specified in 'serviceName'. + // +kubebuilder:validation:Optional + MethodSelectors []OperationsMethodSelectorsParameters `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"` + + // The name of the API whose methods or permissions the 'IngressPolicy' or + // 'EgressPolicy' want to allow. A single 'ApiOperation' with 'serviceName' + // field set to '*' will allow all methods AND permissions for all services. + // +kubebuilder:validation:Optional + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` +} + +type IngressToParameters struct { + + // A list of 'ApiOperations' the sources specified in corresponding 'IngressFrom' + // are allowed to perform in this 'ServicePerimeter'. + // +kubebuilder:validation:Optional + Operations []IngressToOperationsParameters `json:"operations,omitempty" tf:"operations,omitempty"` + + // A list of resources, currently only projects in the form + // 'projects/', protected by this 'ServicePerimeter' + // that are allowed to be accessed by sources defined in the + // corresponding 'IngressFrom'. A request matches if it contains + // a resource in this list. If '*' is specified for resources, + // then this 'IngressTo' rule will authorize access to all + // resources inside the perimeter, provided that the request + // also matches the 'operations' field. + // +kubebuilder:validation:Optional + Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"` +} + +type MethodSelectorsObservation struct { +} + +type MethodSelectorsParameters struct { + + // Value for 'method' should be a valid method name for the corresponding + // 'serviceName' in 'ApiOperation'. If '*' used as value for method, + // then ALL methods and permissions are allowed. + // +kubebuilder:validation:Optional + Method *string `json:"method,omitempty" tf:"method,omitempty"` + + // Value for permission should be a valid Cloud IAM permission for the + // corresponding 'serviceName' in 'ApiOperation'. + // +kubebuilder:validation:Optional + Permission *string `json:"permission,omitempty" tf:"permission,omitempty"` +} + +type OperationsMethodSelectorsObservation struct { +} + +type OperationsMethodSelectorsParameters struct { + + // Value for method should be a valid method name for the corresponding + // serviceName in 'ApiOperation'. If '*' used as value for 'method', then + // ALL methods and permissions are allowed. + // +kubebuilder:validation:Optional + Method *string `json:"method,omitempty" tf:"method,omitempty"` + + // Value for permission should be a valid Cloud IAM permission for the + // corresponding 'serviceName' in 'ApiOperation'. + // +kubebuilder:validation:Optional + Permission *string `json:"permission,omitempty" tf:"permission,omitempty"` +} + +type OperationsObservation struct { +} + +type OperationsParameters struct { + + // API methods or permissions to allow. Method or permission must belong + // to the service specified by 'serviceName' field. A single MethodSelector + // entry with '*' specified for the 'method' field will allow all methods + // AND permissions for the service specified in 'serviceName'. + // +kubebuilder:validation:Optional + MethodSelectors []MethodSelectorsParameters `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"` + + // The name of the API whose methods or permissions the 'IngressPolicy' or + // 'EgressPolicy' want to allow. A single 'ApiOperation' with serviceName + // field set to '*' will allow all methods AND permissions for all services. + // +kubebuilder:validation:Optional + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` +} + +type ServicePerimeterObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type ServicePerimeterParameters struct { + + // Description of the ServicePerimeter and its use. Does not affect + // behavior. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Resource name for the ServicePerimeter. The short_name component must + // begin with a letter and only include alphanumeric and '_'. + // Format: accessPolicies/{policy_id}/servicePerimeters/{short_name} + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The AccessPolicy this ServicePerimeter lives in. + // Format: accessPolicies/{policy_id} + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` + + // Specifies the type of the Perimeter. There are two types: regular and + // bridge. Regular Service Perimeter contains resources, access levels, + // and restricted services. Every resource can be in at most + // ONE regular Service Perimeter. + // + // In addition to being in a regular service perimeter, a resource can also + // be in zero or more perimeter bridges. A perimeter bridge only contains + // resources. Cross project operations are permitted if all effected + // resources share some perimeter (whether bridge or regular). Perimeter + // Bridge does not contain access levels or services: those are governed + // entirely by the regular perimeter that resource is in. + // + // Perimeter Bridges are typically useful when building more complex + // topologies with many independent perimeters that need to share some data + // with a common perimeter, but should not be able to share data among + // themselves. Default value: "PERIMETER_TYPE_REGULAR" Possible values: ["PERIMETER_TYPE_REGULAR", "PERIMETER_TYPE_BRIDGE"] + // +kubebuilder:validation:Optional + PerimeterType *string `json:"perimeterType,omitempty" tf:"perimeter_type,omitempty"` + + // Proposed (or dry run) ServicePerimeter configuration. + // This configuration allows to specify and test ServicePerimeter configuration + // without enforcing actual access restrictions. Only allowed to be set when + // the 'useExplicitDryRunSpec' flag is set. + // +kubebuilder:validation:Optional + Spec []SpecParameters `json:"spec,omitempty" tf:"spec,omitempty"` + + // ServicePerimeter configuration. Specifies sets of resources, + // restricted services and access levels that determine + // perimeter content and boundaries. + // +kubebuilder:validation:Optional + Status []StatusParameters `json:"status,omitempty" tf:"status,omitempty"` + + // Human readable title. Must be unique within the Policy. + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` + + // Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists + // for all Service Perimeters, and that spec is identical to the status for those + // Service Perimeters. When this flag is set, it inhibits the generation of the + // implicit spec, thereby allowing the user to explicitly provide a + // configuration ("spec") to use in a dry-run version of the Service Perimeter. + // This allows the user to test changes to the enforced config ("status") without + // actually enforcing them. This testing is done through analyzing the differences + // between currently enforced and suggested restrictions. useExplicitDryRunSpec must + // bet set to True if any of the fields in the spec are set to non-default values. + // +kubebuilder:validation:Optional + UseExplicitDryRunSpec *bool `json:"useExplicitDryRunSpec,omitempty" tf:"use_explicit_dry_run_spec,omitempty"` +} + +type SourcesObservation struct { +} + +type SourcesParameters struct { + + // An 'AccessLevel' resource name that allow resources within the + // 'ServicePerimeters' to be accessed from the internet. 'AccessLevels' listed + // must be in the same policy as this 'ServicePerimeter'. Referencing a nonexistent + // 'AccessLevel' will cause an error. If no 'AccessLevel' names are listed, + // resources within the perimeter can only be accessed via Google Cloud calls + // with request origins within the perimeter. + // Example 'accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.' + // If * is specified, then all IngressSources will be allowed. + // +kubebuilder:validation:Optional + AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"` + + // A Google Cloud resource that is allowed to ingress the perimeter. + // Requests from these resources will be allowed to access perimeter data. + // Currently only projects are allowed. Format 'projects/{project_number}' + // The project may be in any Google Cloud organization, not just the + // organization that the perimeter is defined in. '*' is not allowed, the case + // of allowing all Google Cloud resources only is not supported. + // +kubebuilder:validation:Optional + Resource *string `json:"resource,omitempty" tf:"resource,omitempty"` +} + +type SpecObservation struct { +} + +type SpecParameters struct { + + // A list of AccessLevel resource names that allow resources within + // the ServicePerimeter to be accessed from the internet. + // AccessLevels listed must be in the same policy as this + // ServicePerimeter. Referencing a nonexistent AccessLevel is a + // syntax error. If no AccessLevel names are listed, resources within + // the perimeter can only be accessed via GCP calls with request + // origins within the perimeter. For Service Perimeter Bridge, must + // be empty. + // + // Format: accessPolicies/{policy_id}/accessLevels/{access_level_name} + // +kubebuilder:validation:Optional + AccessLevels []*string `json:"accessLevels,omitempty" tf:"access_levels,omitempty"` + + // List of EgressPolicies to apply to the perimeter. A perimeter may + // have multiple EgressPolicies, each of which is evaluated separately. + // Access is granted if any EgressPolicy grants it. Must be empty for + // a perimeter bridge. + // +kubebuilder:validation:Optional + EgressPolicies []EgressPoliciesParameters `json:"egressPolicies,omitempty" tf:"egress_policies,omitempty"` + + // List of 'IngressPolicies' to apply to the perimeter. A perimeter may + // have multiple 'IngressPolicies', each of which is evaluated + // separately. Access is granted if any 'Ingress Policy' grants it. + // Must be empty for a perimeter bridge. + // +kubebuilder:validation:Optional + IngressPolicies []IngressPoliciesParameters `json:"ingressPolicies,omitempty" tf:"ingress_policies,omitempty"` + + // A list of GCP resources that are inside of the service perimeter. + // Currently only projects are allowed. + // Format: projects/{project_number} + // +kubebuilder:validation:Optional + Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"` + + // GCP services that are subject to the Service Perimeter + // restrictions. Must contain a list of services. For example, if + // 'storage.googleapis.com' is specified, access to the storage + // buckets inside the perimeter must meet the perimeter's access + // restrictions. + // +kubebuilder:validation:Optional + RestrictedServices []*string `json:"restrictedServices,omitempty" tf:"restricted_services,omitempty"` + + // Specifies how APIs are allowed to communicate within the Service + // Perimeter. + // +kubebuilder:validation:Optional + VPCAccessibleServices []VPCAccessibleServicesParameters `json:"vpcAccessibleServices,omitempty" tf:"vpc_accessible_services,omitempty"` +} + +type StatusEgressPoliciesObservation struct { +} + +type StatusEgressPoliciesParameters struct { + + // Defines conditions on the source of a request causing this 'EgressPolicy' to apply. + // +kubebuilder:validation:Optional + EgressFrom []EgressPoliciesEgressFromParameters `json:"egressFrom,omitempty" tf:"egress_from,omitempty"` + + // Defines the conditions on the 'ApiOperation' and destination resources that + // cause this 'EgressPolicy' to apply. + // +kubebuilder:validation:Optional + EgressTo []EgressPoliciesEgressToParameters `json:"egressTo,omitempty" tf:"egress_to,omitempty"` +} + +type StatusIngressPoliciesObservation struct { +} + +type StatusIngressPoliciesParameters struct { + + // Defines the conditions on the source of a request causing this 'IngressPolicy' + // to apply. + // +kubebuilder:validation:Optional + IngressFrom []IngressPoliciesIngressFromParameters `json:"ingressFrom,omitempty" tf:"ingress_from,omitempty"` + + // Defines the conditions on the 'ApiOperation' and request destination that cause + // this 'IngressPolicy' to apply. + // +kubebuilder:validation:Optional + IngressTo []IngressPoliciesIngressToParameters `json:"ingressTo,omitempty" tf:"ingress_to,omitempty"` +} + +type StatusObservation struct { +} + +type StatusParameters struct { + + // A list of AccessLevel resource names that allow resources within + // the ServicePerimeter to be accessed from the internet. + // AccessLevels listed must be in the same policy as this + // ServicePerimeter. Referencing a nonexistent AccessLevel is a + // syntax error. If no AccessLevel names are listed, resources within + // the perimeter can only be accessed via GCP calls with request + // origins within the perimeter. For Service Perimeter Bridge, must + // be empty. + // + // Format: accessPolicies/{policy_id}/accessLevels/{access_level_name} + // +kubebuilder:validation:Optional + AccessLevels []*string `json:"accessLevels,omitempty" tf:"access_levels,omitempty"` + + // List of EgressPolicies to apply to the perimeter. A perimeter may + // have multiple EgressPolicies, each of which is evaluated separately. + // Access is granted if any EgressPolicy grants it. Must be empty for + // a perimeter bridge. + // +kubebuilder:validation:Optional + EgressPolicies []StatusEgressPoliciesParameters `json:"egressPolicies,omitempty" tf:"egress_policies,omitempty"` + + // List of 'IngressPolicies' to apply to the perimeter. A perimeter may + // have multiple 'IngressPolicies', each of which is evaluated + // separately. Access is granted if any 'Ingress Policy' grants it. + // Must be empty for a perimeter bridge. + // +kubebuilder:validation:Optional + IngressPolicies []StatusIngressPoliciesParameters `json:"ingressPolicies,omitempty" tf:"ingress_policies,omitempty"` + + // A list of GCP resources that are inside of the service perimeter. + // Currently only projects are allowed. + // Format: projects/{project_number} + // +kubebuilder:validation:Optional + Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"` + + // GCP services that are subject to the Service Perimeter + // restrictions. Must contain a list of services. For example, if + // 'storage.googleapis.com' is specified, access to the storage + // buckets inside the perimeter must meet the perimeter's access + // restrictions. + // +kubebuilder:validation:Optional + RestrictedServices []*string `json:"restrictedServices,omitempty" tf:"restricted_services,omitempty"` + + // Specifies how APIs are allowed to communicate within the Service + // Perimeter. + // +kubebuilder:validation:Optional + VPCAccessibleServices []StatusVPCAccessibleServicesParameters `json:"vpcAccessibleServices,omitempty" tf:"vpc_accessible_services,omitempty"` +} + +type StatusVPCAccessibleServicesObservation struct { +} + +type StatusVPCAccessibleServicesParameters struct { + + // The list of APIs usable within the Service Perimeter. + // Must be empty unless 'enableRestriction' is True. + // +kubebuilder:validation:Optional + AllowedServices []*string `json:"allowedServices,omitempty" tf:"allowed_services,omitempty"` + + // Whether to restrict API calls within the Service Perimeter to the + // list of APIs specified in 'allowedServices'. + // +kubebuilder:validation:Optional + EnableRestriction *bool `json:"enableRestriction,omitempty" tf:"enable_restriction,omitempty"` +} + +type VPCAccessibleServicesObservation struct { +} + +type VPCAccessibleServicesParameters struct { + + // The list of APIs usable within the Service Perimeter. + // Must be empty unless 'enableRestriction' is True. + // +kubebuilder:validation:Optional + AllowedServices []*string `json:"allowedServices,omitempty" tf:"allowed_services,omitempty"` + + // Whether to restrict API calls within the Service Perimeter to the + // list of APIs specified in 'allowedServices'. + // +kubebuilder:validation:Optional + EnableRestriction *bool `json:"enableRestriction,omitempty" tf:"enable_restriction,omitempty"` +} + +// ServicePerimeterSpec defines the desired state of ServicePerimeter +type ServicePerimeterSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServicePerimeterParameters `json:"forProvider"` +} + +// ServicePerimeterStatus defines the observed state of ServicePerimeter. +type ServicePerimeterStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServicePerimeterObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServicePerimeter is the Schema for the ServicePerimeters 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,gcpjet} +type ServicePerimeter struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServicePerimeterSpec `json:"spec"` + Status ServicePerimeterStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServicePerimeterList contains a list of ServicePerimeters +type ServicePerimeterList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServicePerimeter `json:"items"` +} + +// Repository type metadata. +var ( + ServicePerimeter_Kind = "ServicePerimeter" + ServicePerimeter_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServicePerimeter_Kind}.String() + ServicePerimeter_KindAPIVersion = ServicePerimeter_Kind + "." + CRDGroupVersion.String() + ServicePerimeter_GroupVersionKind = CRDGroupVersion.WithKind(ServicePerimeter_Kind) +) + +func init() { + SchemeBuilder.Register(&ServicePerimeter{}, &ServicePerimeterList{}) +} diff --git a/apis/accesscontextmanager/v1alpha1/zz_serviceperimeterresource_terraformed.go b/apis/accesscontextmanager/v1alpha1/zz_serviceperimeterresource_terraformed.go new file mode 100755 index 00000000..893fc9d5 --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_serviceperimeterresource_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServicePerimeterResource +func (mg *ServicePerimeterResource) GetTerraformResourceType() string { + return "google_access_context_manager_service_perimeter_resource" +} + +// GetConnectionDetailsMapping for this ServicePerimeterResource +func (tr *ServicePerimeterResource) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServicePerimeterResource +func (tr *ServicePerimeterResource) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServicePerimeterResource +func (tr *ServicePerimeterResource) SetObservation(obs map[string]interface{}) 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 ServicePerimeterResource +func (tr *ServicePerimeterResource) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServicePerimeterResource +func (tr *ServicePerimeterResource) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServicePerimeterResource +func (tr *ServicePerimeterResource) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServicePerimeterResource using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServicePerimeterResource) LateInitialize(attrs []byte) (bool, error) { + params := &ServicePerimeterResourceParameters{} + 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 *ServicePerimeterResource) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/accesscontextmanager/v1alpha1/zz_serviceperimeterresource_types.go b/apis/accesscontextmanager/v1alpha1/zz_serviceperimeterresource_types.go new file mode 100755 index 00000000..445bbe1f --- /dev/null +++ b/apis/accesscontextmanager/v1alpha1/zz_serviceperimeterresource_types.go @@ -0,0 +1,92 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ServicePerimeterResourceObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ServicePerimeterResourceParameters struct { + + // The name of the Service Perimeter to add this resource to. + // +kubebuilder:validation:Required + PerimeterName *string `json:"perimeterName" tf:"perimeter_name,omitempty"` + + // A GCP resource that is inside of the service perimeter. + // Currently only projects are allowed. + // Format: projects/{project_number} + // +kubebuilder:validation:Required + Resource *string `json:"resource" tf:"resource,omitempty"` +} + +// ServicePerimeterResourceSpec defines the desired state of ServicePerimeterResource +type ServicePerimeterResourceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServicePerimeterResourceParameters `json:"forProvider"` +} + +// ServicePerimeterResourceStatus defines the observed state of ServicePerimeterResource. +type ServicePerimeterResourceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServicePerimeterResourceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServicePerimeterResource is the Schema for the ServicePerimeterResources 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,gcpjet} +type ServicePerimeterResource struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServicePerimeterResourceSpec `json:"spec"` + Status ServicePerimeterResourceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServicePerimeterResourceList contains a list of ServicePerimeterResources +type ServicePerimeterResourceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServicePerimeterResource `json:"items"` +} + +// Repository type metadata. +var ( + ServicePerimeterResource_Kind = "ServicePerimeterResource" + ServicePerimeterResource_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServicePerimeterResource_Kind}.String() + ServicePerimeterResource_KindAPIVersion = ServicePerimeterResource_Kind + "." + CRDGroupVersion.String() + ServicePerimeterResource_GroupVersionKind = CRDGroupVersion.WithKind(ServicePerimeterResource_Kind) +) + +func init() { + SchemeBuilder.Register(&ServicePerimeterResource{}, &ServicePerimeterResourceList{}) +} diff --git a/apis/activedirectory/v1alpha1/zz_domain_terraformed.go b/apis/activedirectory/v1alpha1/zz_domain_terraformed.go new file mode 100755 index 00000000..6792fab7 --- /dev/null +++ b/apis/activedirectory/v1alpha1/zz_domain_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Domain +func (mg *Domain) GetTerraformResourceType() string { + return "google_active_directory_domain" +} + +// GetConnectionDetailsMapping for this Domain +func (tr *Domain) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Domain +func (tr *Domain) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Domain +func (tr *Domain) SetObservation(obs map[string]interface{}) 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 Domain +func (tr *Domain) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Domain +func (tr *Domain) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Domain +func (tr *Domain) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Domain using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Domain) LateInitialize(attrs []byte) (bool, error) { + params := &DomainParameters{} + 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 *Domain) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/activedirectory/v1alpha1/zz_domain_types.go b/apis/activedirectory/v1alpha1/zz_domain_types.go new file mode 100755 index 00000000..a44b8e21 --- /dev/null +++ b/apis/activedirectory/v1alpha1/zz_domain_types.go @@ -0,0 +1,118 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DomainObservation struct { + Fqdn *string `json:"fqdn,omitempty" tf:"fqdn,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type DomainParameters struct { + + // The name of delegated administrator account used to perform Active Directory operations. + // If not specified, setupadmin will be used. + // +kubebuilder:validation:Optional + Admin *string `json:"admin,omitempty" tf:"admin,omitempty"` + + // The full names of the Google Compute Engine networks the domain instance is connected to. The domain is only available on networks listed in authorizedNetworks. + // If CIDR subnets overlap between networks, domain creation will fail. + // +kubebuilder:validation:Optional + AuthorizedNetworks []*string `json:"authorizedNetworks,omitempty" tf:"authorized_networks,omitempty"` + + // The fully qualified domain name. e.g. mydomain.myorganization.com, with the restrictions, + // https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains. + // +kubebuilder:validation:Required + DomainName *string `json:"domainName" tf:"domain_name,omitempty"` + + // Resource labels that can contain user-provided metadata + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Locations where domain needs to be provisioned. [regions][compute/docs/regions-zones/] + // e.g. us-west1 or us-east4 Service supports up to 4 locations at once. Each location will use a /26 block. + // +kubebuilder:validation:Required + Locations []*string `json:"locations" tf:"locations,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The CIDR range of internal addresses that are reserved for this domain. Reserved networks must be /24 or larger. + // Ranges must be unique and non-overlapping with existing subnets in authorizedNetworks + // +kubebuilder:validation:Required + ReservedIPRange *string `json:"reservedIpRange" tf:"reserved_ip_range,omitempty"` +} + +// DomainSpec defines the desired state of Domain +type DomainSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DomainParameters `json:"forProvider"` +} + +// DomainStatus defines the observed state of Domain. +type DomainStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DomainObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Domain is the Schema for the Domains 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,gcpjet} +type Domain struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DomainSpec `json:"spec"` + Status DomainStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DomainList contains a list of Domains +type DomainList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Domain `json:"items"` +} + +// Repository type metadata. +var ( + Domain_Kind = "Domain" + Domain_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Domain_Kind}.String() + Domain_KindAPIVersion = Domain_Kind + "." + CRDGroupVersion.String() + Domain_GroupVersionKind = CRDGroupVersion.WithKind(Domain_Kind) +) + +func init() { + SchemeBuilder.Register(&Domain{}, &DomainList{}) +} diff --git a/apis/activedirectory/v1alpha1/zz_domaintrust_terraformed.go b/apis/activedirectory/v1alpha1/zz_domaintrust_terraformed.go new file mode 100755 index 00000000..180cb996 --- /dev/null +++ b/apis/activedirectory/v1alpha1/zz_domaintrust_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DomainTrust +func (mg *DomainTrust) GetTerraformResourceType() string { + return "google_active_directory_domain_trust" +} + +// GetConnectionDetailsMapping for this DomainTrust +func (tr *DomainTrust) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"trust_handshake_secret": "spec.forProvider.trustHandshakeSecretSecretRef"} +} + +// GetObservation of this DomainTrust +func (tr *DomainTrust) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DomainTrust +func (tr *DomainTrust) SetObservation(obs map[string]interface{}) 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 DomainTrust +func (tr *DomainTrust) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DomainTrust +func (tr *DomainTrust) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DomainTrust +func (tr *DomainTrust) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DomainTrust using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DomainTrust) LateInitialize(attrs []byte) (bool, error) { + params := &DomainTrustParameters{} + 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 *DomainTrust) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/activedirectory/v1alpha1/zz_domaintrust_types.go b/apis/activedirectory/v1alpha1/zz_domaintrust_types.go new file mode 100755 index 00000000..e2e64209 --- /dev/null +++ b/apis/activedirectory/v1alpha1/zz_domaintrust_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DomainTrustObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DomainTrustParameters struct { + + // The fully qualified domain name. e.g. mydomain.myorganization.com, with the restrictions, + // https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains. + // +kubebuilder:validation:Required + Domain *string `json:"domain" tf:"domain,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Whether the trusted side has forest/domain wide access or selective access to an approved set of resources. + // +kubebuilder:validation:Optional + SelectiveAuthentication *bool `json:"selectiveAuthentication,omitempty" tf:"selective_authentication,omitempty"` + + // The target DNS server IP addresses which can resolve the remote domain involved in the trust. + // +kubebuilder:validation:Required + TargetDNSIPAddresses []*string `json:"targetDnsIpAddresses" tf:"target_dns_ip_addresses,omitempty"` + + // The fully qualified target domain name which will be in trust with the current domain. + // +kubebuilder:validation:Required + TargetDomainName *string `json:"targetDomainName" tf:"target_domain_name,omitempty"` + + // The trust direction, which decides if the current domain is trusted, trusting, or both. Possible values: ["INBOUND", "OUTBOUND", "BIDIRECTIONAL"] + // +kubebuilder:validation:Required + TrustDirection *string `json:"trustDirection" tf:"trust_direction,omitempty"` + + // The trust secret used for the handshake with the target domain. This will not be stored. + // +kubebuilder:validation:Required + TrustHandshakeSecretSecretRef v1.SecretKeySelector `json:"trustHandshakeSecretSecretRef" tf:"-"` + + // The type of trust represented by the trust resource. Possible values: ["FOREST", "EXTERNAL"] + // +kubebuilder:validation:Required + TrustType *string `json:"trustType" tf:"trust_type,omitempty"` +} + +// DomainTrustSpec defines the desired state of DomainTrust +type DomainTrustSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DomainTrustParameters `json:"forProvider"` +} + +// DomainTrustStatus defines the observed state of DomainTrust. +type DomainTrustStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DomainTrustObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DomainTrust is the Schema for the DomainTrusts 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,gcpjet} +type DomainTrust struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DomainTrustSpec `json:"spec"` + Status DomainTrustStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DomainTrustList contains a list of DomainTrusts +type DomainTrustList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DomainTrust `json:"items"` +} + +// Repository type metadata. +var ( + DomainTrust_Kind = "DomainTrust" + DomainTrust_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DomainTrust_Kind}.String() + DomainTrust_KindAPIVersion = DomainTrust_Kind + "." + CRDGroupVersion.String() + DomainTrust_GroupVersionKind = CRDGroupVersion.WithKind(DomainTrust_Kind) +) + +func init() { + SchemeBuilder.Register(&DomainTrust{}, &DomainTrustList{}) +} diff --git a/apis/activedirectory/v1alpha1/zz_generated.deepcopy.go b/apis/activedirectory/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..2da4d73a --- /dev/null +++ b/apis/activedirectory/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,390 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Domain) DeepCopyInto(out *Domain) { + *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 Domain. +func (in *Domain) DeepCopy() *Domain { + if in == nil { + return nil + } + out := new(Domain) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Domain) 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 *DomainList) DeepCopyInto(out *DomainList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Domain, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainList. +func (in *DomainList) DeepCopy() *DomainList { + if in == nil { + return nil + } + out := new(DomainList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DomainList) 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 *DomainObservation) DeepCopyInto(out *DomainObservation) { + *out = *in + if in.Fqdn != nil { + in, out := &in.Fqdn, &out.Fqdn + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainObservation. +func (in *DomainObservation) DeepCopy() *DomainObservation { + if in == nil { + return nil + } + out := new(DomainObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainParameters) DeepCopyInto(out *DomainParameters) { + *out = *in + if in.Admin != nil { + in, out := &in.Admin, &out.Admin + *out = new(string) + **out = **in + } + if in.AuthorizedNetworks != nil { + in, out := &in.AuthorizedNetworks, &out.AuthorizedNetworks + *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.DomainName != nil { + in, out := &in.DomainName, &out.DomainName + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Locations != nil { + in, out := &in.Locations, &out.Locations + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ReservedIPRange != nil { + in, out := &in.ReservedIPRange, &out.ReservedIPRange + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainParameters. +func (in *DomainParameters) DeepCopy() *DomainParameters { + if in == nil { + return nil + } + out := new(DomainParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainSpec) DeepCopyInto(out *DomainSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainSpec. +func (in *DomainSpec) DeepCopy() *DomainSpec { + if in == nil { + return nil + } + out := new(DomainSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainStatus) DeepCopyInto(out *DomainStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainStatus. +func (in *DomainStatus) DeepCopy() *DomainStatus { + if in == nil { + return nil + } + out := new(DomainStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainTrust) DeepCopyInto(out *DomainTrust) { + *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 DomainTrust. +func (in *DomainTrust) DeepCopy() *DomainTrust { + if in == nil { + return nil + } + out := new(DomainTrust) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DomainTrust) 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 *DomainTrustList) DeepCopyInto(out *DomainTrustList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DomainTrust, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainTrustList. +func (in *DomainTrustList) DeepCopy() *DomainTrustList { + if in == nil { + return nil + } + out := new(DomainTrustList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DomainTrustList) 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 *DomainTrustObservation) DeepCopyInto(out *DomainTrustObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainTrustObservation. +func (in *DomainTrustObservation) DeepCopy() *DomainTrustObservation { + if in == nil { + return nil + } + out := new(DomainTrustObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainTrustParameters) DeepCopyInto(out *DomainTrustParameters) { + *out = *in + if in.Domain != nil { + in, out := &in.Domain, &out.Domain + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SelectiveAuthentication != nil { + in, out := &in.SelectiveAuthentication, &out.SelectiveAuthentication + *out = new(bool) + **out = **in + } + if in.TargetDNSIPAddresses != nil { + in, out := &in.TargetDNSIPAddresses, &out.TargetDNSIPAddresses + *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.TargetDomainName != nil { + in, out := &in.TargetDomainName, &out.TargetDomainName + *out = new(string) + **out = **in + } + if in.TrustDirection != nil { + in, out := &in.TrustDirection, &out.TrustDirection + *out = new(string) + **out = **in + } + out.TrustHandshakeSecretSecretRef = in.TrustHandshakeSecretSecretRef + if in.TrustType != nil { + in, out := &in.TrustType, &out.TrustType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainTrustParameters. +func (in *DomainTrustParameters) DeepCopy() *DomainTrustParameters { + if in == nil { + return nil + } + out := new(DomainTrustParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainTrustSpec) DeepCopyInto(out *DomainTrustSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainTrustSpec. +func (in *DomainTrustSpec) DeepCopy() *DomainTrustSpec { + if in == nil { + return nil + } + out := new(DomainTrustSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainTrustStatus) DeepCopyInto(out *DomainTrustStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainTrustStatus. +func (in *DomainTrustStatus) DeepCopy() *DomainTrustStatus { + if in == nil { + return nil + } + out := new(DomainTrustStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/activedirectory/v1alpha1/zz_generated.managed.go b/apis/activedirectory/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..34941c92 --- /dev/null +++ b/apis/activedirectory/v1alpha1/zz_generated.managed.go @@ -0,0 +1,132 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Domain. +func (mg *Domain) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Domain. +func (mg *Domain) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Domain. +func (mg *Domain) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Domain. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Domain) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Domain. +func (mg *Domain) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Domain. +func (mg *Domain) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Domain. +func (mg *Domain) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Domain. +func (mg *Domain) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Domain. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Domain) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Domain. +func (mg *Domain) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DomainTrust. +func (mg *DomainTrust) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DomainTrust. +func (mg *DomainTrust) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DomainTrust. +func (mg *DomainTrust) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DomainTrust. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DomainTrust) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DomainTrust. +func (mg *DomainTrust) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DomainTrust. +func (mg *DomainTrust) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DomainTrust. +func (mg *DomainTrust) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DomainTrust. +func (mg *DomainTrust) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DomainTrust. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DomainTrust) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DomainTrust. +func (mg *DomainTrust) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/activedirectory/v1alpha1/zz_generated.managedlist.go b/apis/activedirectory/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..48a8ca24 --- /dev/null +++ b/apis/activedirectory/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,38 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this DomainList. +func (l *DomainList) 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 DomainTrustList. +func (l *DomainTrustList) 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/activedirectory/v1alpha1/zz_groupversion_info.go b/apis/activedirectory/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..e8561a54 --- /dev/null +++ b/apis/activedirectory/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=activedirectory.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "activedirectory.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/apigee/v1alpha1/zz_envgroup_terraformed.go b/apis/apigee/v1alpha1/zz_envgroup_terraformed.go new file mode 100755 index 00000000..6e7dcebe --- /dev/null +++ b/apis/apigee/v1alpha1/zz_envgroup_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Envgroup +func (mg *Envgroup) GetTerraformResourceType() string { + return "google_apigee_envgroup" +} + +// GetConnectionDetailsMapping for this Envgroup +func (tr *Envgroup) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Envgroup +func (tr *Envgroup) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Envgroup +func (tr *Envgroup) SetObservation(obs map[string]interface{}) 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 Envgroup +func (tr *Envgroup) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Envgroup +func (tr *Envgroup) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Envgroup +func (tr *Envgroup) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Envgroup using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Envgroup) LateInitialize(attrs []byte) (bool, error) { + params := &EnvgroupParameters{} + 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 *Envgroup) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/apigee/v1alpha1/zz_envgroup_types.go b/apis/apigee/v1alpha1/zz_envgroup_types.go new file mode 100755 index 00000000..b5362b06 --- /dev/null +++ b/apis/apigee/v1alpha1/zz_envgroup_types.go @@ -0,0 +1,95 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EnvgroupObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type EnvgroupParameters struct { + + // Hostnames of the environment group. + // +kubebuilder:validation:Optional + Hostnames []*string `json:"hostnames,omitempty" tf:"hostnames,omitempty"` + + // The resource ID of the environment group. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The Apigee Organization associated with the Apigee environment group, + // in the format 'organizations/{{org_name}}'. + // +kubebuilder:validation:Required + OrgID *string `json:"orgId" tf:"org_id,omitempty"` +} + +// EnvgroupSpec defines the desired state of Envgroup +type EnvgroupSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EnvgroupParameters `json:"forProvider"` +} + +// EnvgroupStatus defines the observed state of Envgroup. +type EnvgroupStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EnvgroupObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Envgroup is the Schema for the Envgroups 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,gcpjet} +type Envgroup struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EnvgroupSpec `json:"spec"` + Status EnvgroupStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EnvgroupList contains a list of Envgroups +type EnvgroupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Envgroup `json:"items"` +} + +// Repository type metadata. +var ( + Envgroup_Kind = "Envgroup" + Envgroup_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Envgroup_Kind}.String() + Envgroup_KindAPIVersion = Envgroup_Kind + "." + CRDGroupVersion.String() + Envgroup_GroupVersionKind = CRDGroupVersion.WithKind(Envgroup_Kind) +) + +func init() { + SchemeBuilder.Register(&Envgroup{}, &EnvgroupList{}) +} diff --git a/apis/apigee/v1alpha1/zz_envgroupattachment_terraformed.go b/apis/apigee/v1alpha1/zz_envgroupattachment_terraformed.go new file mode 100755 index 00000000..7a473963 --- /dev/null +++ b/apis/apigee/v1alpha1/zz_envgroupattachment_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this EnvgroupAttachment +func (mg *EnvgroupAttachment) GetTerraformResourceType() string { + return "google_apigee_envgroup_attachment" +} + +// GetConnectionDetailsMapping for this EnvgroupAttachment +func (tr *EnvgroupAttachment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this EnvgroupAttachment +func (tr *EnvgroupAttachment) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this EnvgroupAttachment +func (tr *EnvgroupAttachment) SetObservation(obs map[string]interface{}) 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 EnvgroupAttachment +func (tr *EnvgroupAttachment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this EnvgroupAttachment +func (tr *EnvgroupAttachment) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this EnvgroupAttachment +func (tr *EnvgroupAttachment) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this EnvgroupAttachment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *EnvgroupAttachment) LateInitialize(attrs []byte) (bool, error) { + params := &EnvgroupAttachmentParameters{} + 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 *EnvgroupAttachment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/apigee/v1alpha1/zz_envgroupattachment_types.go b/apis/apigee/v1alpha1/zz_envgroupattachment_types.go new file mode 100755 index 00000000..915cc04f --- /dev/null +++ b/apis/apigee/v1alpha1/zz_envgroupattachment_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EnvgroupAttachmentObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type EnvgroupAttachmentParameters struct { + + // The Apigee environment group associated with the Apigee environment, + // in the format 'organizations/{{org_name}}/envgroups/{{envgroup_name}}'. + // +kubebuilder:validation:Required + EnvgroupID *string `json:"envgroupId" tf:"envgroup_id,omitempty"` + + // The resource ID of the environment. + // +kubebuilder:validation:Required + Environment *string `json:"environment" tf:"environment,omitempty"` +} + +// EnvgroupAttachmentSpec defines the desired state of EnvgroupAttachment +type EnvgroupAttachmentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EnvgroupAttachmentParameters `json:"forProvider"` +} + +// EnvgroupAttachmentStatus defines the observed state of EnvgroupAttachment. +type EnvgroupAttachmentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EnvgroupAttachmentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// EnvgroupAttachment is the Schema for the EnvgroupAttachments 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,gcpjet} +type EnvgroupAttachment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EnvgroupAttachmentSpec `json:"spec"` + Status EnvgroupAttachmentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EnvgroupAttachmentList contains a list of EnvgroupAttachments +type EnvgroupAttachmentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []EnvgroupAttachment `json:"items"` +} + +// Repository type metadata. +var ( + EnvgroupAttachment_Kind = "EnvgroupAttachment" + EnvgroupAttachment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: EnvgroupAttachment_Kind}.String() + EnvgroupAttachment_KindAPIVersion = EnvgroupAttachment_Kind + "." + CRDGroupVersion.String() + EnvgroupAttachment_GroupVersionKind = CRDGroupVersion.WithKind(EnvgroupAttachment_Kind) +) + +func init() { + SchemeBuilder.Register(&EnvgroupAttachment{}, &EnvgroupAttachmentList{}) +} diff --git a/apis/apigee/v1alpha1/zz_environment_terraformed.go b/apis/apigee/v1alpha1/zz_environment_terraformed.go new file mode 100755 index 00000000..7edc5e17 --- /dev/null +++ b/apis/apigee/v1alpha1/zz_environment_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Environment +func (mg *Environment) GetTerraformResourceType() string { + return "google_apigee_environment" +} + +// GetConnectionDetailsMapping for this Environment +func (tr *Environment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Environment +func (tr *Environment) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Environment +func (tr *Environment) SetObservation(obs map[string]interface{}) 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 Environment +func (tr *Environment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Environment +func (tr *Environment) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Environment +func (tr *Environment) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Environment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Environment) LateInitialize(attrs []byte) (bool, error) { + params := &EnvironmentParameters{} + 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 *Environment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/apigee/v1alpha1/zz_environment_types.go b/apis/apigee/v1alpha1/zz_environment_types.go new file mode 100755 index 00000000..238f03a5 --- /dev/null +++ b/apis/apigee/v1alpha1/zz_environment_types.go @@ -0,0 +1,99 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EnvironmentObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type EnvironmentParameters struct { + + // Description of the environment. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Display name of the environment. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // The resource ID of the environment. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The Apigee Organization associated with the Apigee environment, + // in the format 'organizations/{{org_name}}'. + // +kubebuilder:validation:Required + OrgID *string `json:"orgId" tf:"org_id,omitempty"` +} + +// EnvironmentSpec defines the desired state of Environment +type EnvironmentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EnvironmentParameters `json:"forProvider"` +} + +// EnvironmentStatus defines the observed state of Environment. +type EnvironmentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EnvironmentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Environment is the Schema for the Environments 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,gcpjet} +type Environment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EnvironmentSpec `json:"spec"` + Status EnvironmentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EnvironmentList contains a list of Environments +type EnvironmentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Environment `json:"items"` +} + +// Repository type metadata. +var ( + Environment_Kind = "Environment" + Environment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Environment_Kind}.String() + Environment_KindAPIVersion = Environment_Kind + "." + CRDGroupVersion.String() + Environment_GroupVersionKind = CRDGroupVersion.WithKind(Environment_Kind) +) + +func init() { + SchemeBuilder.Register(&Environment{}, &EnvironmentList{}) +} diff --git a/apis/apigee/v1alpha1/zz_generated.deepcopy.go b/apis/apigee/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..65407778 --- /dev/null +++ b/apis/apigee/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,959 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Envgroup) DeepCopyInto(out *Envgroup) { + *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 Envgroup. +func (in *Envgroup) DeepCopy() *Envgroup { + if in == nil { + return nil + } + out := new(Envgroup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Envgroup) 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 *EnvgroupAttachment) DeepCopyInto(out *EnvgroupAttachment) { + *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 EnvgroupAttachment. +func (in *EnvgroupAttachment) DeepCopy() *EnvgroupAttachment { + if in == nil { + return nil + } + out := new(EnvgroupAttachment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EnvgroupAttachment) 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 *EnvgroupAttachmentList) DeepCopyInto(out *EnvgroupAttachmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]EnvgroupAttachment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvgroupAttachmentList. +func (in *EnvgroupAttachmentList) DeepCopy() *EnvgroupAttachmentList { + if in == nil { + return nil + } + out := new(EnvgroupAttachmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EnvgroupAttachmentList) 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 *EnvgroupAttachmentObservation) DeepCopyInto(out *EnvgroupAttachmentObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvgroupAttachmentObservation. +func (in *EnvgroupAttachmentObservation) DeepCopy() *EnvgroupAttachmentObservation { + if in == nil { + return nil + } + out := new(EnvgroupAttachmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvgroupAttachmentParameters) DeepCopyInto(out *EnvgroupAttachmentParameters) { + *out = *in + if in.EnvgroupID != nil { + in, out := &in.EnvgroupID, &out.EnvgroupID + *out = new(string) + **out = **in + } + if in.Environment != nil { + in, out := &in.Environment, &out.Environment + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvgroupAttachmentParameters. +func (in *EnvgroupAttachmentParameters) DeepCopy() *EnvgroupAttachmentParameters { + if in == nil { + return nil + } + out := new(EnvgroupAttachmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvgroupAttachmentSpec) DeepCopyInto(out *EnvgroupAttachmentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvgroupAttachmentSpec. +func (in *EnvgroupAttachmentSpec) DeepCopy() *EnvgroupAttachmentSpec { + if in == nil { + return nil + } + out := new(EnvgroupAttachmentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvgroupAttachmentStatus) DeepCopyInto(out *EnvgroupAttachmentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvgroupAttachmentStatus. +func (in *EnvgroupAttachmentStatus) DeepCopy() *EnvgroupAttachmentStatus { + if in == nil { + return nil + } + out := new(EnvgroupAttachmentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvgroupList) DeepCopyInto(out *EnvgroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Envgroup, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvgroupList. +func (in *EnvgroupList) DeepCopy() *EnvgroupList { + if in == nil { + return nil + } + out := new(EnvgroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EnvgroupList) 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 *EnvgroupObservation) DeepCopyInto(out *EnvgroupObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvgroupObservation. +func (in *EnvgroupObservation) DeepCopy() *EnvgroupObservation { + if in == nil { + return nil + } + out := new(EnvgroupObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvgroupParameters) DeepCopyInto(out *EnvgroupParameters) { + *out = *in + if in.Hostnames != nil { + in, out := &in.Hostnames, &out.Hostnames + *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.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.OrgID != nil { + in, out := &in.OrgID, &out.OrgID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvgroupParameters. +func (in *EnvgroupParameters) DeepCopy() *EnvgroupParameters { + if in == nil { + return nil + } + out := new(EnvgroupParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvgroupSpec) DeepCopyInto(out *EnvgroupSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvgroupSpec. +func (in *EnvgroupSpec) DeepCopy() *EnvgroupSpec { + if in == nil { + return nil + } + out := new(EnvgroupSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvgroupStatus) DeepCopyInto(out *EnvgroupStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvgroupStatus. +func (in *EnvgroupStatus) DeepCopy() *EnvgroupStatus { + if in == nil { + return nil + } + out := new(EnvgroupStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Environment) DeepCopyInto(out *Environment) { + *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 Environment. +func (in *Environment) DeepCopy() *Environment { + if in == nil { + return nil + } + out := new(Environment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Environment) 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 *EnvironmentList) DeepCopyInto(out *EnvironmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Environment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentList. +func (in *EnvironmentList) DeepCopy() *EnvironmentList { + if in == nil { + return nil + } + out := new(EnvironmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EnvironmentList) 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 *EnvironmentObservation) DeepCopyInto(out *EnvironmentObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentObservation. +func (in *EnvironmentObservation) DeepCopy() *EnvironmentObservation { + if in == nil { + return nil + } + out := new(EnvironmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentParameters) DeepCopyInto(out *EnvironmentParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.OrgID != nil { + in, out := &in.OrgID, &out.OrgID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentParameters. +func (in *EnvironmentParameters) DeepCopy() *EnvironmentParameters { + if in == nil { + return nil + } + out := new(EnvironmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentSpec) DeepCopyInto(out *EnvironmentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentSpec. +func (in *EnvironmentSpec) DeepCopy() *EnvironmentSpec { + if in == nil { + return nil + } + out := new(EnvironmentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentStatus) DeepCopyInto(out *EnvironmentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentStatus. +func (in *EnvironmentStatus) DeepCopy() *EnvironmentStatus { + if in == nil { + return nil + } + out := new(EnvironmentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Instance) DeepCopyInto(out *Instance) { + *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 Instance. +func (in *Instance) DeepCopy() *Instance { + if in == nil { + return nil + } + out := new(Instance) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Instance) 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 *InstanceAttachment) DeepCopyInto(out *InstanceAttachment) { + *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 InstanceAttachment. +func (in *InstanceAttachment) DeepCopy() *InstanceAttachment { + if in == nil { + return nil + } + out := new(InstanceAttachment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceAttachment) 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 *InstanceAttachmentList) DeepCopyInto(out *InstanceAttachmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceAttachment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceAttachmentList. +func (in *InstanceAttachmentList) DeepCopy() *InstanceAttachmentList { + if in == nil { + return nil + } + out := new(InstanceAttachmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceAttachmentList) 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 *InstanceAttachmentObservation) DeepCopyInto(out *InstanceAttachmentObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceAttachmentObservation. +func (in *InstanceAttachmentObservation) DeepCopy() *InstanceAttachmentObservation { + if in == nil { + return nil + } + out := new(InstanceAttachmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceAttachmentParameters) DeepCopyInto(out *InstanceAttachmentParameters) { + *out = *in + if in.Environment != nil { + in, out := &in.Environment, &out.Environment + *out = new(string) + **out = **in + } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceAttachmentParameters. +func (in *InstanceAttachmentParameters) DeepCopy() *InstanceAttachmentParameters { + if in == nil { + return nil + } + out := new(InstanceAttachmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceAttachmentSpec) DeepCopyInto(out *InstanceAttachmentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceAttachmentSpec. +func (in *InstanceAttachmentSpec) DeepCopy() *InstanceAttachmentSpec { + if in == nil { + return nil + } + out := new(InstanceAttachmentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceAttachmentStatus) DeepCopyInto(out *InstanceAttachmentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceAttachmentStatus. +func (in *InstanceAttachmentStatus) DeepCopy() *InstanceAttachmentStatus { + if in == nil { + return nil + } + out := new(InstanceAttachmentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceList) DeepCopyInto(out *InstanceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Instance, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList. +func (in *InstanceList) DeepCopy() *InstanceList { + if in == nil { + return nil + } + out := new(InstanceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceList) 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 *InstanceObservation) DeepCopyInto(out *InstanceObservation) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceObservation. +func (in *InstanceObservation) DeepCopy() *InstanceObservation { + if in == nil { + return nil + } + out := new(InstanceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DiskEncryptionKeyName != nil { + in, out := &in.DiskEncryptionKeyName, &out.DiskEncryptionKeyName + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.OrgID != nil { + in, out := &in.OrgID, &out.OrgID + *out = new(string) + **out = **in + } + if in.PeeringCidrRange != nil { + in, out := &in.PeeringCidrRange, &out.PeeringCidrRange + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceParameters. +func (in *InstanceParameters) DeepCopy() *InstanceParameters { + if in == nil { + return nil + } + out := new(InstanceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec. +func (in *InstanceSpec) DeepCopy() *InstanceSpec { + if in == nil { + return nil + } + out := new(InstanceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus. +func (in *InstanceStatus) DeepCopy() *InstanceStatus { + if in == nil { + return nil + } + out := new(InstanceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Organization) DeepCopyInto(out *Organization) { + *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 Organization. +func (in *Organization) DeepCopy() *Organization { + if in == nil { + return nil + } + out := new(Organization) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Organization) 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 *OrganizationList) DeepCopyInto(out *OrganizationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Organization, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationList. +func (in *OrganizationList) DeepCopy() *OrganizationList { + if in == nil { + return nil + } + out := new(OrganizationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationList) 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 *OrganizationObservation) DeepCopyInto(out *OrganizationObservation) { + *out = *in + if in.CACertificate != nil { + in, out := &in.CACertificate, &out.CACertificate + *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.SubscriptionType != nil { + in, out := &in.SubscriptionType, &out.SubscriptionType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationObservation. +func (in *OrganizationObservation) DeepCopy() *OrganizationObservation { + if in == nil { + return nil + } + out := new(OrganizationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationParameters) DeepCopyInto(out *OrganizationParameters) { + *out = *in + if in.AnalyticsRegion != nil { + in, out := &in.AnalyticsRegion, &out.AnalyticsRegion + *out = new(string) + **out = **in + } + if in.AuthorizedNetwork != nil { + in, out := &in.AuthorizedNetwork, &out.AuthorizedNetwork + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.RuntimeDatabaseEncryptionKeyName != nil { + in, out := &in.RuntimeDatabaseEncryptionKeyName, &out.RuntimeDatabaseEncryptionKeyName + *out = new(string) + **out = **in + } + if in.RuntimeType != nil { + in, out := &in.RuntimeType, &out.RuntimeType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationParameters. +func (in *OrganizationParameters) DeepCopy() *OrganizationParameters { + if in == nil { + return nil + } + out := new(OrganizationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSpec) DeepCopyInto(out *OrganizationSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSpec. +func (in *OrganizationSpec) DeepCopy() *OrganizationSpec { + if in == nil { + return nil + } + out := new(OrganizationSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationStatus) DeepCopyInto(out *OrganizationStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationStatus. +func (in *OrganizationStatus) DeepCopy() *OrganizationStatus { + if in == nil { + return nil + } + out := new(OrganizationStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/apigee/v1alpha1/zz_generated.managed.go b/apis/apigee/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..2551d640 --- /dev/null +++ b/apis/apigee/v1alpha1/zz_generated.managed.go @@ -0,0 +1,356 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Envgroup. +func (mg *Envgroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Envgroup. +func (mg *Envgroup) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Envgroup. +func (mg *Envgroup) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Envgroup. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Envgroup) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Envgroup. +func (mg *Envgroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Envgroup. +func (mg *Envgroup) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Envgroup. +func (mg *Envgroup) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Envgroup. +func (mg *Envgroup) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Envgroup. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Envgroup) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Envgroup. +func (mg *Envgroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this EnvgroupAttachment. +func (mg *EnvgroupAttachment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this EnvgroupAttachment. +func (mg *EnvgroupAttachment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this EnvgroupAttachment. +func (mg *EnvgroupAttachment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this EnvgroupAttachment. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *EnvgroupAttachment) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this EnvgroupAttachment. +func (mg *EnvgroupAttachment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this EnvgroupAttachment. +func (mg *EnvgroupAttachment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this EnvgroupAttachment. +func (mg *EnvgroupAttachment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this EnvgroupAttachment. +func (mg *EnvgroupAttachment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this EnvgroupAttachment. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *EnvgroupAttachment) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this EnvgroupAttachment. +func (mg *EnvgroupAttachment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Environment. +func (mg *Environment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Environment. +func (mg *Environment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Environment. +func (mg *Environment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Environment. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Environment) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Environment. +func (mg *Environment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Environment. +func (mg *Environment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Environment. +func (mg *Environment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Environment. +func (mg *Environment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Environment. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Environment) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Environment. +func (mg *Environment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Instance. +func (mg *Instance) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Instance. +func (mg *Instance) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Instance. +func (mg *Instance) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Instance. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Instance) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Instance. +func (mg *Instance) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Instance. +func (mg *Instance) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Instance. +func (mg *Instance) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Instance. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Instance) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceAttachment. +func (mg *InstanceAttachment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceAttachment. +func (mg *InstanceAttachment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceAttachment. +func (mg *InstanceAttachment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceAttachment. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceAttachment) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceAttachment. +func (mg *InstanceAttachment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceAttachment. +func (mg *InstanceAttachment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceAttachment. +func (mg *InstanceAttachment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceAttachment. +func (mg *InstanceAttachment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceAttachment. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceAttachment) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceAttachment. +func (mg *InstanceAttachment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Organization. +func (mg *Organization) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Organization. +func (mg *Organization) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Organization. +func (mg *Organization) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Organization. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Organization) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Organization. +func (mg *Organization) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Organization. +func (mg *Organization) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Organization. +func (mg *Organization) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Organization. +func (mg *Organization) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Organization. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Organization) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Organization. +func (mg *Organization) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/apigee/v1alpha1/zz_generated.managedlist.go b/apis/apigee/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..f9c168d8 --- /dev/null +++ b/apis/apigee/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,74 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this EnvgroupAttachmentList. +func (l *EnvgroupAttachmentList) 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 EnvgroupList. +func (l *EnvgroupList) 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 EnvironmentList. +func (l *EnvironmentList) 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 InstanceAttachmentList. +func (l *InstanceAttachmentList) 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 InstanceList. +func (l *InstanceList) 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 OrganizationList. +func (l *OrganizationList) 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/apigee/v1alpha1/zz_groupversion_info.go b/apis/apigee/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..b6289cab --- /dev/null +++ b/apis/apigee/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=apigee.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "apigee.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/apigee/v1alpha1/zz_instance_terraformed.go b/apis/apigee/v1alpha1/zz_instance_terraformed.go new file mode 100755 index 00000000..6c552e3f --- /dev/null +++ b/apis/apigee/v1alpha1/zz_instance_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Instance +func (mg *Instance) GetTerraformResourceType() string { + return "google_apigee_instance" +} + +// GetConnectionDetailsMapping for this Instance +func (tr *Instance) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Instance +func (tr *Instance) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Instance +func (tr *Instance) SetObservation(obs map[string]interface{}) 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 Instance +func (tr *Instance) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Instance +func (tr *Instance) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Instance +func (tr *Instance) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Instance using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Instance) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceParameters{} + 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 *Instance) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/apigee/v1alpha1/zz_instance_types.go b/apis/apigee/v1alpha1/zz_instance_types.go new file mode 100755 index 00000000..1393392f --- /dev/null +++ b/apis/apigee/v1alpha1/zz_instance_types.go @@ -0,0 +1,118 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceObservation struct { + Host *string `json:"host,omitempty" tf:"host,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Port *string `json:"port,omitempty" tf:"port,omitempty"` +} + +type InstanceParameters struct { + + // Description of the instance. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Customer Managed Encryption Key (CMEK) used for disk and volume encryption. Required for Apigee paid subscriptions only. + // Use the following format: 'projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)' + // +kubebuilder:validation:Optional + DiskEncryptionKeyName *string `json:"diskEncryptionKeyName,omitempty" tf:"disk_encryption_key_name,omitempty"` + + // Display name of the instance. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // Compute Engine location where the instance resides. For trial organization + // subscriptions, the location must be a Compute Engine zone. For paid organization + // subscriptions, it should correspond to a Compute Engine region. + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // Resource ID of the instance. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The Apigee Organization associated with the Apigee instance, + // in the format 'organizations/{{org_name}}'. + // +kubebuilder:validation:Required + OrgID *string `json:"orgId" tf:"org_id,omitempty"` + + // The size of the CIDR block range that will be reserved by the instance. Possible values: ["SLASH_16", "SLASH_20", "SLASH_22"] + // +kubebuilder:validation:Optional + PeeringCidrRange *string `json:"peeringCidrRange,omitempty" tf:"peering_cidr_range,omitempty"` +} + +// InstanceSpec defines the desired state of Instance +type InstanceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceParameters `json:"forProvider"` +} + +// InstanceStatus defines the observed state of Instance. +type InstanceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Instance is the Schema for the Instances 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,gcpjet} +type Instance struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceSpec `json:"spec"` + Status InstanceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceList contains a list of Instances +type InstanceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Instance `json:"items"` +} + +// Repository type metadata. +var ( + Instance_Kind = "Instance" + Instance_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Instance_Kind}.String() + Instance_KindAPIVersion = Instance_Kind + "." + CRDGroupVersion.String() + Instance_GroupVersionKind = CRDGroupVersion.WithKind(Instance_Kind) +) + +func init() { + SchemeBuilder.Register(&Instance{}, &InstanceList{}) +} diff --git a/apis/apigee/v1alpha1/zz_instanceattachment_terraformed.go b/apis/apigee/v1alpha1/zz_instanceattachment_terraformed.go new file mode 100755 index 00000000..ebb7992a --- /dev/null +++ b/apis/apigee/v1alpha1/zz_instanceattachment_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceAttachment +func (mg *InstanceAttachment) GetTerraformResourceType() string { + return "google_apigee_instance_attachment" +} + +// GetConnectionDetailsMapping for this InstanceAttachment +func (tr *InstanceAttachment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceAttachment +func (tr *InstanceAttachment) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceAttachment +func (tr *InstanceAttachment) SetObservation(obs map[string]interface{}) 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 InstanceAttachment +func (tr *InstanceAttachment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceAttachment +func (tr *InstanceAttachment) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceAttachment +func (tr *InstanceAttachment) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceAttachment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceAttachment) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceAttachmentParameters{} + 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 *InstanceAttachment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/apigee/v1alpha1/zz_instanceattachment_types.go b/apis/apigee/v1alpha1/zz_instanceattachment_types.go new file mode 100755 index 00000000..1dec73ef --- /dev/null +++ b/apis/apigee/v1alpha1/zz_instanceattachment_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceAttachmentObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type InstanceAttachmentParameters struct { + + // The resource ID of the environment. + // +kubebuilder:validation:Required + Environment *string `json:"environment" tf:"environment,omitempty"` + + // The Apigee instance associated with the Apigee environment, + // in the format 'organisations/{{org_name}}/instances/{{instance_name}}'. + // +kubebuilder:validation:Required + InstanceID *string `json:"instanceId" tf:"instance_id,omitempty"` +} + +// InstanceAttachmentSpec defines the desired state of InstanceAttachment +type InstanceAttachmentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceAttachmentParameters `json:"forProvider"` +} + +// InstanceAttachmentStatus defines the observed state of InstanceAttachment. +type InstanceAttachmentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceAttachmentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceAttachment is the Schema for the InstanceAttachments 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,gcpjet} +type InstanceAttachment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceAttachmentSpec `json:"spec"` + Status InstanceAttachmentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceAttachmentList contains a list of InstanceAttachments +type InstanceAttachmentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceAttachment `json:"items"` +} + +// Repository type metadata. +var ( + InstanceAttachment_Kind = "InstanceAttachment" + InstanceAttachment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceAttachment_Kind}.String() + InstanceAttachment_KindAPIVersion = InstanceAttachment_Kind + "." + CRDGroupVersion.String() + InstanceAttachment_GroupVersionKind = CRDGroupVersion.WithKind(InstanceAttachment_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceAttachment{}, &InstanceAttachmentList{}) +} diff --git a/apis/apigee/v1alpha1/zz_organization_terraformed.go b/apis/apigee/v1alpha1/zz_organization_terraformed.go new file mode 100755 index 00000000..ac3531de --- /dev/null +++ b/apis/apigee/v1alpha1/zz_organization_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Organization +func (mg *Organization) GetTerraformResourceType() string { + return "google_apigee_organization" +} + +// GetConnectionDetailsMapping for this Organization +func (tr *Organization) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Organization +func (tr *Organization) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Organization +func (tr *Organization) SetObservation(obs map[string]interface{}) 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 Organization +func (tr *Organization) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Organization +func (tr *Organization) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Organization +func (tr *Organization) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Organization using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Organization) LateInitialize(attrs []byte) (bool, error) { + params := &OrganizationParameters{} + 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 *Organization) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/apigee/v1alpha1/zz_organization_types.go b/apis/apigee/v1alpha1/zz_organization_types.go new file mode 100755 index 00000000..69e3e849 --- /dev/null +++ b/apis/apigee/v1alpha1/zz_organization_types.go @@ -0,0 +1,121 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 OrganizationObservation struct { + CACertificate *string `json:"caCertificate,omitempty" tf:"ca_certificate,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + SubscriptionType *string `json:"subscriptionType,omitempty" tf:"subscription_type,omitempty"` +} + +type OrganizationParameters struct { + + // Primary GCP region for analytics data storage. For valid values, see [Create an Apigee organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org). + // +kubebuilder:validation:Optional + AnalyticsRegion *string `json:"analyticsRegion,omitempty" tf:"analytics_region,omitempty"` + + // Compute Engine network used for Service Networking to be peered with Apigee runtime instances. + // See [Getting started with the Service Networking API](https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started). + // Valid only when 'RuntimeType' is set to CLOUD. The value can be updated only when there are no runtime instances. For example: "default". + // +kubebuilder:validation:Optional + AuthorizedNetwork *string `json:"authorizedNetwork,omitempty" tf:"authorized_network,omitempty"` + + // Description of the Apigee organization. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The display name of the Apigee organization. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // The project ID associated with the Apigee organization. + // +kubebuilder:validation:Required + ProjectID *string `json:"projectId" tf:"project_id,omitempty"` + + // Cloud KMS key name used for encrypting the data that is stored and replicated across runtime instances. + // Update is not allowed after the organization is created. + // If not specified, a Google-Managed encryption key will be used. + // Valid only when 'RuntimeType' is CLOUD. For example: 'projects/foo/locations/us/keyRings/bar/cryptoKeys/baz'. + // +kubebuilder:validation:Optional + RuntimeDatabaseEncryptionKeyName *string `json:"runtimeDatabaseEncryptionKeyName,omitempty" tf:"runtime_database_encryption_key_name,omitempty"` + + // Runtime type of the Apigee organization based on the Apigee subscription purchased. Default value: "CLOUD" Possible values: ["CLOUD", "HYBRID"] + // +kubebuilder:validation:Optional + RuntimeType *string `json:"runtimeType,omitempty" tf:"runtime_type,omitempty"` +} + +// OrganizationSpec defines the desired state of Organization +type OrganizationSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider OrganizationParameters `json:"forProvider"` +} + +// OrganizationStatus defines the observed state of Organization. +type OrganizationStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider OrganizationObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Organization is the Schema for the Organizations 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,gcpjet} +type Organization struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec OrganizationSpec `json:"spec"` + Status OrganizationStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationList contains a list of Organizations +type OrganizationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Organization `json:"items"` +} + +// Repository type metadata. +var ( + Organization_Kind = "Organization" + Organization_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Organization_Kind}.String() + Organization_KindAPIVersion = Organization_Kind + "." + CRDGroupVersion.String() + Organization_GroupVersionKind = CRDGroupVersion.WithKind(Organization_Kind) +) + +func init() { + SchemeBuilder.Register(&Organization{}, &OrganizationList{}) +} diff --git a/apis/appengine/v1alpha1/zz_application_terraformed.go b/apis/appengine/v1alpha1/zz_application_terraformed.go new file mode 100755 index 00000000..d94cb0c3 --- /dev/null +++ b/apis/appengine/v1alpha1/zz_application_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Application +func (mg *Application) GetTerraformResourceType() string { + return "google_app_engine_application" +} + +// GetConnectionDetailsMapping for this Application +func (tr *Application) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"iap[*].oauth2_client_secret": "spec.forProvider.iap[*].oauth2ClientSecretSecretRef", "iap[*].oauth2_client_secret_sha256": "status.atProvider.iap[*].oauth2ClientSecretSha256"} +} + +// GetObservation of this Application +func (tr *Application) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Application +func (tr *Application) SetObservation(obs map[string]interface{}) 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 Application +func (tr *Application) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Application +func (tr *Application) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Application +func (tr *Application) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Application using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Application) LateInitialize(attrs []byte) (bool, error) { + params := &ApplicationParameters{} + 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 *Application) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/appengine/v1alpha1/zz_application_types.go b/apis/appengine/v1alpha1/zz_application_types.go new file mode 100755 index 00000000..a7343c7d --- /dev/null +++ b/apis/appengine/v1alpha1/zz_application_types.go @@ -0,0 +1,161 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ApplicationObservation struct { + AppID *string `json:"appId,omitempty" tf:"app_id,omitempty"` + + CodeBucket *string `json:"codeBucket,omitempty" tf:"code_bucket,omitempty"` + + DefaultBucket *string `json:"defaultBucket,omitempty" tf:"default_bucket,omitempty"` + + DefaultHostname *string `json:"defaultHostname,omitempty" tf:"default_hostname,omitempty"` + + GcrDomain *string `json:"gcrDomain,omitempty" tf:"gcr_domain,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + URLDispatchRule []URLDispatchRuleObservation `json:"urlDispatchRule,omitempty" tf:"url_dispatch_rule,omitempty"` +} + +type ApplicationParameters struct { + + // The domain to authenticate users with when using App Engine's User API. + // +kubebuilder:validation:Optional + AuthDomain *string `json:"authDomain,omitempty" tf:"auth_domain,omitempty"` + + // +kubebuilder:validation:Optional + DatabaseType *string `json:"databaseType,omitempty" tf:"database_type,omitempty"` + + // A block of optional settings to configure specific App Engine features: + // +kubebuilder:validation:Optional + FeatureSettings []FeatureSettingsParameters `json:"featureSettings,omitempty" tf:"feature_settings,omitempty"` + + // Settings for enabling Cloud Identity Aware Proxy + // +kubebuilder:validation:Optional + Iap []IapParameters `json:"iap,omitempty" tf:"iap,omitempty"` + + // The location to serve the app from. + // +kubebuilder:validation:Required + LocationID *string `json:"locationId" tf:"location_id,omitempty"` + + // The project ID to create the application under. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The serving status of the app. + // +kubebuilder:validation:Optional + ServingStatus *string `json:"servingStatus,omitempty" tf:"serving_status,omitempty"` +} + +type FeatureSettingsObservation struct { +} + +type FeatureSettingsParameters struct { + + // +kubebuilder:validation:Required + SplitHealthChecks *bool `json:"splitHealthChecks" tf:"split_health_checks,omitempty"` +} + +type IapObservation struct { +} + +type IapParameters struct { + + // Adapted for use with the app + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // OAuth2 client ID to use for the authentication flow. + // +kubebuilder:validation:Required + Oauth2ClientID *string `json:"oauth2ClientId" tf:"oauth2_client_id,omitempty"` + + // OAuth2 client secret to use for the authentication flow. The SHA-256 hash of the value is returned in the oauth2ClientSecretSha256 field. + // +kubebuilder:validation:Required + Oauth2ClientSecretSecretRef v1.SecretKeySelector `json:"oauth2ClientSecretSecretRef" tf:"-"` +} + +type URLDispatchRuleObservation struct { + Domain *string `json:"domain,omitempty" tf:"domain,omitempty"` + + Path *string `json:"path,omitempty" tf:"path,omitempty"` + + Service *string `json:"service,omitempty" tf:"service,omitempty"` +} + +type URLDispatchRuleParameters struct { +} + +// ApplicationSpec defines the desired state of Application +type ApplicationSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ApplicationParameters `json:"forProvider"` +} + +// ApplicationStatus defines the observed state of Application. +type ApplicationStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ApplicationObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Application is the Schema for the Applications 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,gcpjet} +type Application struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ApplicationSpec `json:"spec"` + Status ApplicationStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ApplicationList contains a list of Applications +type ApplicationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Application `json:"items"` +} + +// Repository type metadata. +var ( + Application_Kind = "Application" + Application_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Application_Kind}.String() + Application_KindAPIVersion = Application_Kind + "." + CRDGroupVersion.String() + Application_GroupVersionKind = CRDGroupVersion.WithKind(Application_Kind) +) + +func init() { + SchemeBuilder.Register(&Application{}, &ApplicationList{}) +} diff --git a/apis/appengine/v1alpha1/zz_applicationurldispatchrules_terraformed.go b/apis/appengine/v1alpha1/zz_applicationurldispatchrules_terraformed.go new file mode 100755 index 00000000..401c3d43 --- /dev/null +++ b/apis/appengine/v1alpha1/zz_applicationurldispatchrules_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ApplicationURLDispatchRules +func (mg *ApplicationURLDispatchRules) GetTerraformResourceType() string { + return "google_app_engine_application_url_dispatch_rules" +} + +// GetConnectionDetailsMapping for this ApplicationURLDispatchRules +func (tr *ApplicationURLDispatchRules) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ApplicationURLDispatchRules +func (tr *ApplicationURLDispatchRules) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ApplicationURLDispatchRules +func (tr *ApplicationURLDispatchRules) SetObservation(obs map[string]interface{}) 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 ApplicationURLDispatchRules +func (tr *ApplicationURLDispatchRules) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ApplicationURLDispatchRules +func (tr *ApplicationURLDispatchRules) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ApplicationURLDispatchRules +func (tr *ApplicationURLDispatchRules) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ApplicationURLDispatchRules using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ApplicationURLDispatchRules) LateInitialize(attrs []byte) (bool, error) { + params := &ApplicationURLDispatchRulesParameters{} + 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 *ApplicationURLDispatchRules) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/appengine/v1alpha1/zz_applicationurldispatchrules_types.go b/apis/appengine/v1alpha1/zz_applicationurldispatchrules_types.go new file mode 100755 index 00000000..a377bba4 --- /dev/null +++ b/apis/appengine/v1alpha1/zz_applicationurldispatchrules_types.go @@ -0,0 +1,110 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ApplicationURLDispatchRulesObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ApplicationURLDispatchRulesParameters struct { + + // Rules to match an HTTP request and dispatch that request to a service. + // +kubebuilder:validation:Required + DispatchRules []DispatchRulesParameters `json:"dispatchRules" tf:"dispatch_rules,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +type DispatchRulesObservation struct { +} + +type DispatchRulesParameters struct { + + // Domain name to match against. The wildcard "*" is supported if specified before a period: "*.". + // Defaults to matching all domains: "*". + // +kubebuilder:validation:Optional + Domain *string `json:"domain,omitempty" tf:"domain,omitempty"` + + // Pathname within the host. Must start with a "/". A single "*" can be included at the end of the path. + // The sum of the lengths of the domain and path may not exceed 100 characters. + // +kubebuilder:validation:Required + Path *string `json:"path" tf:"path,omitempty"` + + // Pathname within the host. Must start with a "/". A single "*" can be included at the end of the path. + // The sum of the lengths of the domain and path may not exceed 100 characters. + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +// ApplicationURLDispatchRulesSpec defines the desired state of ApplicationURLDispatchRules +type ApplicationURLDispatchRulesSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ApplicationURLDispatchRulesParameters `json:"forProvider"` +} + +// ApplicationURLDispatchRulesStatus defines the observed state of ApplicationURLDispatchRules. +type ApplicationURLDispatchRulesStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ApplicationURLDispatchRulesObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ApplicationURLDispatchRules is the Schema for the ApplicationURLDispatchRuless 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,gcpjet} +type ApplicationURLDispatchRules struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ApplicationURLDispatchRulesSpec `json:"spec"` + Status ApplicationURLDispatchRulesStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ApplicationURLDispatchRulesList contains a list of ApplicationURLDispatchRuless +type ApplicationURLDispatchRulesList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ApplicationURLDispatchRules `json:"items"` +} + +// Repository type metadata. +var ( + ApplicationURLDispatchRules_Kind = "ApplicationURLDispatchRules" + ApplicationURLDispatchRules_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ApplicationURLDispatchRules_Kind}.String() + ApplicationURLDispatchRules_KindAPIVersion = ApplicationURLDispatchRules_Kind + "." + CRDGroupVersion.String() + ApplicationURLDispatchRules_GroupVersionKind = CRDGroupVersion.WithKind(ApplicationURLDispatchRules_Kind) +) + +func init() { + SchemeBuilder.Register(&ApplicationURLDispatchRules{}, &ApplicationURLDispatchRulesList{}) +} diff --git a/apis/appengine/v1alpha1/zz_domainmapping_terraformed.go b/apis/appengine/v1alpha1/zz_domainmapping_terraformed.go new file mode 100755 index 00000000..5157e891 --- /dev/null +++ b/apis/appengine/v1alpha1/zz_domainmapping_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DomainMapping +func (mg *DomainMapping) GetTerraformResourceType() string { + return "google_app_engine_domain_mapping" +} + +// GetConnectionDetailsMapping for this DomainMapping +func (tr *DomainMapping) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DomainMapping +func (tr *DomainMapping) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DomainMapping +func (tr *DomainMapping) SetObservation(obs map[string]interface{}) 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 DomainMapping +func (tr *DomainMapping) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DomainMapping +func (tr *DomainMapping) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DomainMapping +func (tr *DomainMapping) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DomainMapping using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DomainMapping) LateInitialize(attrs []byte) (bool, error) { + params := &DomainMappingParameters{} + 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 *DomainMapping) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/appengine/v1alpha1/zz_domainmapping_types.go b/apis/appengine/v1alpha1/zz_domainmapping_types.go new file mode 100755 index 00000000..68fc98d0 --- /dev/null +++ b/apis/appengine/v1alpha1/zz_domainmapping_types.go @@ -0,0 +1,141 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DomainMappingObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + ResourceRecords []ResourceRecordsObservation `json:"resourceRecords,omitempty" tf:"resource_records,omitempty"` +} + +type DomainMappingParameters struct { + + // Relative name of the domain serving the application. Example: example.com. + // +kubebuilder:validation:Required + DomainName *string `json:"domainName" tf:"domain_name,omitempty"` + + // Whether the domain creation should override any existing mappings for this domain. + // By default, overrides are rejected. Default value: "STRICT" Possible values: ["STRICT", "OVERRIDE"] + // +kubebuilder:validation:Optional + OverrideStrategy *string `json:"overrideStrategy,omitempty" tf:"override_strategy,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // SSL configuration for this domain. If unconfigured, this domain will not serve with SSL. + // +kubebuilder:validation:Optional + SSLSettings []SSLSettingsParameters `json:"sslSettings,omitempty" tf:"ssl_settings,omitempty"` +} + +type ResourceRecordsObservation struct { +} + +type ResourceRecordsParameters struct { + + // Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Data for this record. Values vary by record type, as defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1). + // +kubebuilder:validation:Optional + Rrdata *string `json:"rrdata,omitempty" tf:"rrdata,omitempty"` + + // Resource record type. Example: 'AAAA'. Possible values: ["A", "AAAA", "CNAME"] + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type SSLSettingsObservation struct { + PendingManagedCertificateID *string `json:"pendingManagedCertificateId,omitempty" tf:"pending_managed_certificate_id,omitempty"` +} + +type SSLSettingsParameters struct { + + // ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will + // remove SSL support. + // By default, a managed certificate is automatically created for every domain mapping. To omit SSL support + // or to configure SSL manually, specify 'SslManagementType.MANUAL' on a 'CREATE' or 'UPDATE' request. You must be + // authorized to administer the 'AuthorizedCertificate' resource to manually map it to a DomainMapping resource. + // Example: 12345. + // +kubebuilder:validation:Optional + CertificateID *string `json:"certificateId,omitempty" tf:"certificate_id,omitempty"` + + // SSL management type for this domain. If 'AUTOMATIC', a managed certificate is automatically provisioned. + // If 'MANUAL', 'certificateId' must be manually specified in order to configure SSL for this domain. Possible values: ["AUTOMATIC", "MANUAL"] + // +kubebuilder:validation:Required + SSLManagementType *string `json:"sslManagementType" tf:"ssl_management_type,omitempty"` +} + +// DomainMappingSpec defines the desired state of DomainMapping +type DomainMappingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DomainMappingParameters `json:"forProvider"` +} + +// DomainMappingStatus defines the observed state of DomainMapping. +type DomainMappingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DomainMappingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DomainMapping is the Schema for the DomainMappings 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,gcpjet} +type DomainMapping struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DomainMappingSpec `json:"spec"` + Status DomainMappingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DomainMappingList contains a list of DomainMappings +type DomainMappingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DomainMapping `json:"items"` +} + +// Repository type metadata. +var ( + DomainMapping_Kind = "DomainMapping" + DomainMapping_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DomainMapping_Kind}.String() + DomainMapping_KindAPIVersion = DomainMapping_Kind + "." + CRDGroupVersion.String() + DomainMapping_GroupVersionKind = CRDGroupVersion.WithKind(DomainMapping_Kind) +) + +func init() { + SchemeBuilder.Register(&DomainMapping{}, &DomainMappingList{}) +} diff --git a/apis/appengine/v1alpha1/zz_firewallrule_terraformed.go b/apis/appengine/v1alpha1/zz_firewallrule_terraformed.go new file mode 100755 index 00000000..fad45402 --- /dev/null +++ b/apis/appengine/v1alpha1/zz_firewallrule_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FirewallRule +func (mg *FirewallRule) GetTerraformResourceType() string { + return "google_app_engine_firewall_rule" +} + +// GetConnectionDetailsMapping for this FirewallRule +func (tr *FirewallRule) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FirewallRule +func (tr *FirewallRule) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FirewallRule +func (tr *FirewallRule) SetObservation(obs map[string]interface{}) 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 FirewallRule +func (tr *FirewallRule) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FirewallRule +func (tr *FirewallRule) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FirewallRule +func (tr *FirewallRule) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FirewallRule using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FirewallRule) LateInitialize(attrs []byte) (bool, error) { + params := &FirewallRuleParameters{} + 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 *FirewallRule) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/appengine/v1alpha1/zz_firewallrule_types.go b/apis/appengine/v1alpha1/zz_firewallrule_types.go new file mode 100755 index 00000000..941896b6 --- /dev/null +++ b/apis/appengine/v1alpha1/zz_firewallrule_types.go @@ -0,0 +1,106 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FirewallRuleObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type FirewallRuleParameters struct { + + // The action to take if this rule matches. Possible values: ["UNSPECIFIED_ACTION", "ALLOW", "DENY"] + // +kubebuilder:validation:Required + Action *string `json:"action" tf:"action,omitempty"` + + // An optional string description of this rule. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // A positive integer that defines the order of rule evaluation. + // Rules with the lowest priority are evaluated first. + // + // A default rule at priority Int32.MaxValue matches all IPv4 and + // IPv6 traffic when no previous rule matches. Only the action of + // this rule can be modified by the user. + // +kubebuilder:validation:Optional + Priority *int64 `json:"priority,omitempty" tf:"priority,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // IP address or range, defined using CIDR notation, of requests that this rule applies to. + // +kubebuilder:validation:Required + SourceRange *string `json:"sourceRange" tf:"source_range,omitempty"` +} + +// FirewallRuleSpec defines the desired state of FirewallRule +type FirewallRuleSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FirewallRuleParameters `json:"forProvider"` +} + +// FirewallRuleStatus defines the observed state of FirewallRule. +type FirewallRuleStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FirewallRuleObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FirewallRule is the Schema for the FirewallRules 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,gcpjet} +type FirewallRule struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FirewallRuleSpec `json:"spec"` + Status FirewallRuleStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FirewallRuleList contains a list of FirewallRules +type FirewallRuleList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FirewallRule `json:"items"` +} + +// Repository type metadata. +var ( + FirewallRule_Kind = "FirewallRule" + FirewallRule_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FirewallRule_Kind}.String() + FirewallRule_KindAPIVersion = FirewallRule_Kind + "." + CRDGroupVersion.String() + FirewallRule_GroupVersionKind = CRDGroupVersion.WithKind(FirewallRule_Kind) +) + +func init() { + SchemeBuilder.Register(&FirewallRule{}, &FirewallRuleList{}) +} diff --git a/apis/appengine/v1alpha1/zz_flexibleappversion_terraformed.go b/apis/appengine/v1alpha1/zz_flexibleappversion_terraformed.go new file mode 100755 index 00000000..8d29aba6 --- /dev/null +++ b/apis/appengine/v1alpha1/zz_flexibleappversion_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FlexibleAppVersion +func (mg *FlexibleAppVersion) GetTerraformResourceType() string { + return "google_app_engine_flexible_app_version" +} + +// GetConnectionDetailsMapping for this FlexibleAppVersion +func (tr *FlexibleAppVersion) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FlexibleAppVersion +func (tr *FlexibleAppVersion) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FlexibleAppVersion +func (tr *FlexibleAppVersion) SetObservation(obs map[string]interface{}) 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 FlexibleAppVersion +func (tr *FlexibleAppVersion) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FlexibleAppVersion +func (tr *FlexibleAppVersion) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FlexibleAppVersion +func (tr *FlexibleAppVersion) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FlexibleAppVersion using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FlexibleAppVersion) LateInitialize(attrs []byte) (bool, error) { + params := &FlexibleAppVersionParameters{} + 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 *FlexibleAppVersion) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/appengine/v1alpha1/zz_flexibleappversion_types.go b/apis/appengine/v1alpha1/zz_flexibleappversion_types.go new file mode 100755 index 00000000..07d0c20c --- /dev/null +++ b/apis/appengine/v1alpha1/zz_flexibleappversion_types.go @@ -0,0 +1,728 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 APIConfigObservation struct { +} + +type APIConfigParameters struct { + + // Action to take when users access resources that require authentication. Default value: "AUTH_FAIL_ACTION_REDIRECT" Possible values: ["AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED"] + // +kubebuilder:validation:Optional + AuthFailAction *string `json:"authFailAction,omitempty" tf:"auth_fail_action,omitempty"` + + // Level of login required to access this resource. Default value: "LOGIN_OPTIONAL" Possible values: ["LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED"] + // +kubebuilder:validation:Optional + Login *string `json:"login,omitempty" tf:"login,omitempty"` + + // Path to the script from the application root directory. + // +kubebuilder:validation:Required + Script *string `json:"script" tf:"script,omitempty"` + + // Security (HTTPS) enforcement for this URL. Possible values: ["SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS"] + // +kubebuilder:validation:Optional + SecurityLevel *string `json:"securityLevel,omitempty" tf:"security_level,omitempty"` + + // URL to serve the endpoint at. + // +kubebuilder:validation:Optional + URL *string `json:"url,omitempty" tf:"url,omitempty"` +} + +type AutomaticScalingObservation struct { +} + +type AutomaticScalingParameters struct { + + // Target scaling by CPU usage. + // +kubebuilder:validation:Required + CPUUtilization []CPUUtilizationParameters `json:"cpuUtilization" tf:"cpu_utilization,omitempty"` + + // The time period that the Autoscaler should wait before it starts collecting information from a new instance. + // This prevents the autoscaler from collecting information when the instance is initializing, + // during which the collected usage would not be reliable. Default: 120s + // +kubebuilder:validation:Optional + CoolDownPeriod *string `json:"coolDownPeriod,omitempty" tf:"cool_down_period,omitempty"` + + // Target scaling by disk usage. + // +kubebuilder:validation:Optional + DiskUtilization []DiskUtilizationParameters `json:"diskUtilization,omitempty" tf:"disk_utilization,omitempty"` + + // Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. + // + // Defaults to a runtime-specific value. + // +kubebuilder:validation:Optional + MaxConcurrentRequests *int64 `json:"maxConcurrentRequests,omitempty" tf:"max_concurrent_requests,omitempty"` + + // Maximum number of idle instances that should be maintained for this version. + // +kubebuilder:validation:Optional + MaxIdleInstances *int64 `json:"maxIdleInstances,omitempty" tf:"max_idle_instances,omitempty"` + + // Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it. + // +kubebuilder:validation:Optional + MaxPendingLatency *string `json:"maxPendingLatency,omitempty" tf:"max_pending_latency,omitempty"` + + // Maximum number of instances that should be started to handle requests for this version. Default: 20 + // +kubebuilder:validation:Optional + MaxTotalInstances *int64 `json:"maxTotalInstances,omitempty" tf:"max_total_instances,omitempty"` + + // Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service. + // +kubebuilder:validation:Optional + MinIdleInstances *int64 `json:"minIdleInstances,omitempty" tf:"min_idle_instances,omitempty"` + + // Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it. + // +kubebuilder:validation:Optional + MinPendingLatency *string `json:"minPendingLatency,omitempty" tf:"min_pending_latency,omitempty"` + + // Minimum number of running instances that should be maintained for this version. Default: 2 + // +kubebuilder:validation:Optional + MinTotalInstances *int64 `json:"minTotalInstances,omitempty" tf:"min_total_instances,omitempty"` + + // Target scaling by network usage. + // +kubebuilder:validation:Optional + NetworkUtilization []NetworkUtilizationParameters `json:"networkUtilization,omitempty" tf:"network_utilization,omitempty"` + + // Target scaling by request utilization. + // +kubebuilder:validation:Optional + RequestUtilization []RequestUtilizationParameters `json:"requestUtilization,omitempty" tf:"request_utilization,omitempty"` +} + +type CPUUtilizationObservation struct { +} + +type CPUUtilizationParameters struct { + + // Period of time over which CPU utilization is calculated. + // +kubebuilder:validation:Optional + AggregationWindowLength *string `json:"aggregationWindowLength,omitempty" tf:"aggregation_window_length,omitempty"` + + // Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1. + // +kubebuilder:validation:Required + TargetUtilization *float64 `json:"targetUtilization" tf:"target_utilization,omitempty"` +} + +type CloudBuildOptionsObservation struct { +} + +type CloudBuildOptionsParameters struct { + + // Path to the yaml file used in deployment, used to determine runtime configuration details. + // +kubebuilder:validation:Required + AppYamlPath *string `json:"appYamlPath" tf:"app_yaml_path,omitempty"` + + // The Cloud Build timeout used as part of any dependent builds performed by version creation. Defaults to 10 minutes. + // + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + CloudBuildTimeout *string `json:"cloudBuildTimeout,omitempty" tf:"cloud_build_timeout,omitempty"` +} + +type ContainerObservation struct { +} + +type ContainerParameters struct { + + // URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest. + // Examples: "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest" + // +kubebuilder:validation:Required + Image *string `json:"image" tf:"image,omitempty"` +} + +type DeploymentObservation struct { +} + +type DeploymentParameters struct { + + // Options for the build operations performed as a part of the version deployment. Only applicable when creating a version using source code directly. + // +kubebuilder:validation:Optional + CloudBuildOptions []CloudBuildOptionsParameters `json:"cloudBuildOptions,omitempty" tf:"cloud_build_options,omitempty"` + + // The Docker image for the container that runs the version. + // +kubebuilder:validation:Optional + Container []ContainerParameters `json:"container,omitempty" tf:"container,omitempty"` + + // Manifest of the files stored in Google Cloud Storage that are included as part of this version. + // All files must be readable using the credentials supplied with this call. + // +kubebuilder:validation:Optional + Files []FilesParameters `json:"files,omitempty" tf:"files,omitempty"` + + // Zip File + // +kubebuilder:validation:Optional + Zip []ZipParameters `json:"zip,omitempty" tf:"zip,omitempty"` +} + +type DiskUtilizationObservation struct { +} + +type DiskUtilizationParameters struct { + + // Target bytes read per second. + // +kubebuilder:validation:Optional + TargetReadBytesPerSecond *int64 `json:"targetReadBytesPerSecond,omitempty" tf:"target_read_bytes_per_second,omitempty"` + + // Target ops read per seconds. + // +kubebuilder:validation:Optional + TargetReadOpsPerSecond *int64 `json:"targetReadOpsPerSecond,omitempty" tf:"target_read_ops_per_second,omitempty"` + + // Target bytes written per second. + // +kubebuilder:validation:Optional + TargetWriteBytesPerSecond *int64 `json:"targetWriteBytesPerSecond,omitempty" tf:"target_write_bytes_per_second,omitempty"` + + // Target ops written per second. + // +kubebuilder:validation:Optional + TargetWriteOpsPerSecond *int64 `json:"targetWriteOpsPerSecond,omitempty" tf:"target_write_ops_per_second,omitempty"` +} + +type EndpointsAPIServiceObservation struct { +} + +type EndpointsAPIServiceParameters struct { + + // Endpoints service configuration ID as specified by the Service Management API. For example "2016-09-19r1". + // + // By default, the rollout strategy for Endpoints is "FIXED". This means that Endpoints starts up with a particular configuration ID. + // When a new configuration is rolled out, Endpoints must be given the new configuration ID. The configId field is used to give the configuration ID + // and is required in this case. + // + // Endpoints also has a rollout strategy called "MANAGED". When using this, Endpoints fetches the latest configuration and does not need + // the configuration ID. In this case, configId must be omitted. + // +kubebuilder:validation:Optional + ConfigID *string `json:"configId,omitempty" tf:"config_id,omitempty"` + + // Enable or disable trace sampling. By default, this is set to false for enabled. + // +kubebuilder:validation:Optional + DisableTraceSampling *bool `json:"disableTraceSampling,omitempty" tf:"disable_trace_sampling,omitempty"` + + // Endpoints service name which is the name of the "service" resource in the Service Management API. + // For example "myapi.endpoints.myproject.cloud.goog" + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Endpoints rollout strategy. If FIXED, configId must be specified. If MANAGED, configId must be omitted. Default value: "FIXED" Possible values: ["FIXED", "MANAGED"] + // +kubebuilder:validation:Optional + RolloutStrategy *string `json:"rolloutStrategy,omitempty" tf:"rollout_strategy,omitempty"` +} + +type EntrypointObservation struct { +} + +type EntrypointParameters struct { + + // The format should be a shell command that can be fed to bash -c. + // +kubebuilder:validation:Required + Shell *string `json:"shell" tf:"shell,omitempty"` +} + +type FilesObservation struct { +} + +type FilesParameters struct { + + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // SHA1 checksum of the file + // +kubebuilder:validation:Optional + Sha1Sum *string `json:"sha1Sum,omitempty" tf:"sha1_sum,omitempty"` + + // Source URL + // +kubebuilder:validation:Required + SourceURL *string `json:"sourceUrl" tf:"source_url,omitempty"` +} + +type FlexibleAppVersionObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type FlexibleAppVersionParameters struct { + + // Serving configuration for Google Cloud Endpoints. + // +kubebuilder:validation:Optional + APIConfig []APIConfigParameters `json:"apiConfig,omitempty" tf:"api_config,omitempty"` + + // Automatic scaling is based on request rate, response latencies, and other application metrics. + // +kubebuilder:validation:Optional + AutomaticScaling []AutomaticScalingParameters `json:"automaticScaling,omitempty" tf:"automatic_scaling,omitempty"` + + // Metadata settings that are supplied to this version to enable beta runtime features. + // +kubebuilder:validation:Optional + BetaSettings map[string]*string `json:"betaSettings,omitempty" tf:"beta_settings,omitempty"` + + // Duration that static files should be cached by web proxies and browsers. + // Only applicable if the corresponding StaticFilesHandler does not specify its own expiration time. + // +kubebuilder:validation:Optional + DefaultExpiration *string `json:"defaultExpiration,omitempty" tf:"default_expiration,omitempty"` + + // +kubebuilder:validation:Optional + DeleteServiceOnDestroy *bool `json:"deleteServiceOnDestroy,omitempty" tf:"delete_service_on_destroy,omitempty"` + + // Code and application artifacts that make up this version. + // +kubebuilder:validation:Optional + Deployment []DeploymentParameters `json:"deployment,omitempty" tf:"deployment,omitempty"` + + // Code and application artifacts that make up this version. + // +kubebuilder:validation:Optional + EndpointsAPIService []EndpointsAPIServiceParameters `json:"endpointsApiService,omitempty" tf:"endpoints_api_service,omitempty"` + + // The entrypoint for the application. + // +kubebuilder:validation:Optional + Entrypoint []EntrypointParameters `json:"entrypoint,omitempty" tf:"entrypoint,omitempty"` + + // Environment variables available to the application. As these are not returned in the API request, Terraform will not detect any changes made outside of the Terraform config. + // +kubebuilder:validation:Optional + EnvVariables map[string]*string `json:"envVariables,omitempty" tf:"env_variables,omitempty"` + + // An ordered list of URL-matching patterns that should be applied to incoming requests. + // The first matching URL handles the request and other request handlers are not attempted. + // +kubebuilder:validation:Optional + Handlers []HandlersParameters `json:"handlers,omitempty" tf:"handlers,omitempty"` + + // A list of the types of messages that this application is able to receive. Possible values: ["INBOUND_SERVICE_MAIL", "INBOUND_SERVICE_MAIL_BOUNCE", "INBOUND_SERVICE_XMPP_ERROR", "INBOUND_SERVICE_XMPP_MESSAGE", "INBOUND_SERVICE_XMPP_SUBSCRIBE", "INBOUND_SERVICE_XMPP_PRESENCE", "INBOUND_SERVICE_CHANNEL_PRESENCE", "INBOUND_SERVICE_WARMUP"] + // +kubebuilder:validation:Optional + InboundServices []*string `json:"inboundServices,omitempty" tf:"inbound_services,omitempty"` + + // Instance class that is used to run this version. Valid values are + // AutomaticScaling: F1, F2, F4, F4_1G + // ManualScaling: B1, B2, B4, B8, B4_1G + // Defaults to F1 for AutomaticScaling and B1 for ManualScaling. + // +kubebuilder:validation:Optional + InstanceClass *string `json:"instanceClass,omitempty" tf:"instance_class,omitempty"` + + // Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. + // +kubebuilder:validation:Required + LivenessCheck []LivenessCheckParameters `json:"livenessCheck" tf:"liveness_check,omitempty"` + + // A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. + // +kubebuilder:validation:Optional + ManualScaling []ManualScalingParameters `json:"manualScaling,omitempty" tf:"manual_scaling,omitempty"` + + // Extra network settings + // +kubebuilder:validation:Optional + Network []NetworkParameters `json:"network,omitempty" tf:"network,omitempty"` + + // Files that match this pattern will not be built into this version. Only applicable for Go runtimes. + // +kubebuilder:validation:Optional + NobuildFilesRegex *string `json:"nobuildFilesRegex,omitempty" tf:"nobuild_files_regex,omitempty"` + + // +kubebuilder:validation:Optional + NoopOnDestroy *bool `json:"noopOnDestroy,omitempty" tf:"noop_on_destroy,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Configures readiness health checking for instances. Unhealthy instances are not put into the backend traffic rotation. + // +kubebuilder:validation:Required + ReadinessCheck []ReadinessCheckParameters `json:"readinessCheck" tf:"readiness_check,omitempty"` + + // Machine resources for a version. + // +kubebuilder:validation:Optional + Resources []ResourcesParameters `json:"resources,omitempty" tf:"resources,omitempty"` + + // Desired runtime. Example python27. + // +kubebuilder:validation:Required + Runtime *string `json:"runtime" tf:"runtime,omitempty"` + + // The version of the API in the given runtime environment. + // Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard//config/appref + // +kubebuilder:validation:Optional + RuntimeAPIVersion *string `json:"runtimeApiVersion,omitempty" tf:"runtime_api_version,omitempty"` + + // The channel of the runtime to use. Only available for some runtimes. + // +kubebuilder:validation:Optional + RuntimeChannel *string `json:"runtimeChannel,omitempty" tf:"runtime_channel,omitempty"` + + // The path or name of the app's main executable. + // +kubebuilder:validation:Optional + RuntimeMainExecutablePath *string `json:"runtimeMainExecutablePath,omitempty" tf:"runtime_main_executable_path,omitempty"` + + // AppEngine service resource. Can contain numbers, letters, and hyphens. + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` + + // Current serving status of this version. Only the versions with a SERVING status create instances and can be billed. Default value: "SERVING" Possible values: ["SERVING", "STOPPED"] + // +kubebuilder:validation:Optional + ServingStatus *string `json:"servingStatus,omitempty" tf:"serving_status,omitempty"` + + // Enables VPC connectivity for standard apps. + // +kubebuilder:validation:Optional + VPCAccessConnector []VPCAccessConnectorParameters `json:"vpcAccessConnector,omitempty" tf:"vpc_access_connector,omitempty"` + + // Relative name of the version within the service. For example, 'v1'. Version names can contain only lowercase letters, numbers, or hyphens. + // Reserved names,"default", "latest", and any name with the prefix "ah-". + // +kubebuilder:validation:Optional + VersionID *string `json:"versionId,omitempty" tf:"version_id,omitempty"` +} + +type HandlersObservation struct { +} + +type HandlersParameters struct { + + // Actions to take when the user is not logged in. Possible values: ["AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED"] + // +kubebuilder:validation:Optional + AuthFailAction *string `json:"authFailAction,omitempty" tf:"auth_fail_action,omitempty"` + + // Methods to restrict access to a URL based on login status. Possible values: ["LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED"] + // +kubebuilder:validation:Optional + Login *string `json:"login,omitempty" tf:"login,omitempty"` + + // 30x code to use when performing redirects for the secure field. Possible values: ["REDIRECT_HTTP_RESPONSE_CODE_301", "REDIRECT_HTTP_RESPONSE_CODE_302", "REDIRECT_HTTP_RESPONSE_CODE_303", "REDIRECT_HTTP_RESPONSE_CODE_307"] + // +kubebuilder:validation:Optional + RedirectHTTPResponseCode *string `json:"redirectHttpResponseCode,omitempty" tf:"redirect_http_response_code,omitempty"` + + // Executes a script to handle the requests that match this URL pattern. + // Only the auto value is supported for Node.js in the App Engine standard environment, for example "script:" "auto". + // +kubebuilder:validation:Optional + Script []ScriptParameters `json:"script,omitempty" tf:"script,omitempty"` + + // Security (HTTPS) enforcement for this URL. Possible values: ["SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS"] + // +kubebuilder:validation:Optional + SecurityLevel *string `json:"securityLevel,omitempty" tf:"security_level,omitempty"` + + // Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. + // Static file handlers describe which files in the application directory are static files, and which URLs serve them. + // +kubebuilder:validation:Optional + StaticFiles []StaticFilesParameters `json:"staticFiles,omitempty" tf:"static_files,omitempty"` + + // URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. + // All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path. + // +kubebuilder:validation:Optional + URLRegex *string `json:"urlRegex,omitempty" tf:"url_regex,omitempty"` +} + +type LivenessCheckObservation struct { +} + +type LivenessCheckParameters struct { + + // Interval between health checks. + // +kubebuilder:validation:Optional + CheckInterval *string `json:"checkInterval,omitempty" tf:"check_interval,omitempty"` + + // Number of consecutive failed checks required before considering the VM unhealthy. Default: 4. + // +kubebuilder:validation:Optional + FailureThreshold *float64 `json:"failureThreshold,omitempty" tf:"failure_threshold,omitempty"` + + // Host header to send when performing a HTTP Readiness check. Example: "myapp.appspot.com" + // +kubebuilder:validation:Optional + Host *string `json:"host,omitempty" tf:"host,omitempty"` + + // The initial delay before starting to execute the checks. Default: "300s" + // +kubebuilder:validation:Optional + InitialDelay *string `json:"initialDelay,omitempty" tf:"initial_delay,omitempty"` + + // The request path. + // +kubebuilder:validation:Required + Path *string `json:"path" tf:"path,omitempty"` + + // Number of consecutive successful checks required before considering the VM healthy. Default: 2. + // +kubebuilder:validation:Optional + SuccessThreshold *float64 `json:"successThreshold,omitempty" tf:"success_threshold,omitempty"` + + // Time before the check is considered failed. Default: "4s" + // +kubebuilder:validation:Optional + Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"` +} + +type ManualScalingObservation struct { +} + +type ManualScalingParameters struct { + + // Number of instances to assign to the service at the start. + // + // **Note:** When managing the number of instances at runtime through the App Engine Admin API or the (now deprecated) Python 2 + // Modules API set_num_instances() you must use 'lifecycle.ignore_changes = ["manual_scaling"[0].instances]' to prevent drift detection. + // +kubebuilder:validation:Required + Instances *int64 `json:"instances" tf:"instances,omitempty"` +} + +type NetworkObservation struct { +} + +type NetworkParameters struct { + + // List of ports, or port pairs, to forward from the virtual machine to the application container. + // +kubebuilder:validation:Optional + ForwardedPorts []*string `json:"forwardedPorts,omitempty" tf:"forwarded_ports,omitempty"` + + // Tag to apply to the instance during creation. + // +kubebuilder:validation:Optional + InstanceTag *string `json:"instanceTag,omitempty" tf:"instance_tag,omitempty"` + + // Google Compute Engine network where the virtual machines are created. Specify the short name, not the resource path. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Enable session affinity. + // +kubebuilder:validation:Optional + SessionAffinity *bool `json:"sessionAffinity,omitempty" tf:"session_affinity,omitempty"` + + // Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path. + // + // If the network that the instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range. + // If the network that the instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetworkName) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network. + // If the network that the instance is being created in is a custom Subnet Mode Network, then the subnetworkName must be specified and the IP address is created from the IPCidrRange of the subnetwork. + // If specified, the subnetwork must exist in the same region as the App Engine flexible environment application. + // +kubebuilder:validation:Optional + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` +} + +type NetworkUtilizationObservation struct { +} + +type NetworkUtilizationParameters struct { + + // Target bytes received per second. + // +kubebuilder:validation:Optional + TargetReceivedBytesPerSecond *int64 `json:"targetReceivedBytesPerSecond,omitempty" tf:"target_received_bytes_per_second,omitempty"` + + // Target packets received per second. + // +kubebuilder:validation:Optional + TargetReceivedPacketsPerSecond *int64 `json:"targetReceivedPacketsPerSecond,omitempty" tf:"target_received_packets_per_second,omitempty"` + + // Target bytes sent per second. + // +kubebuilder:validation:Optional + TargetSentBytesPerSecond *int64 `json:"targetSentBytesPerSecond,omitempty" tf:"target_sent_bytes_per_second,omitempty"` + + // Target packets sent per second. + // +kubebuilder:validation:Optional + TargetSentPacketsPerSecond *int64 `json:"targetSentPacketsPerSecond,omitempty" tf:"target_sent_packets_per_second,omitempty"` +} + +type ReadinessCheckObservation struct { +} + +type ReadinessCheckParameters struct { + + // A maximum time limit on application initialization, measured from moment the application successfully + // replies to a healthcheck until it is ready to serve traffic. Default: "300s" + // +kubebuilder:validation:Optional + AppStartTimeout *string `json:"appStartTimeout,omitempty" tf:"app_start_timeout,omitempty"` + + // Interval between health checks. Default: "5s". + // +kubebuilder:validation:Optional + CheckInterval *string `json:"checkInterval,omitempty" tf:"check_interval,omitempty"` + + // Number of consecutive failed checks required before removing traffic. Default: 2. + // +kubebuilder:validation:Optional + FailureThreshold *float64 `json:"failureThreshold,omitempty" tf:"failure_threshold,omitempty"` + + // Host header to send when performing a HTTP Readiness check. Example: "myapp.appspot.com" + // +kubebuilder:validation:Optional + Host *string `json:"host,omitempty" tf:"host,omitempty"` + + // The request path. + // +kubebuilder:validation:Required + Path *string `json:"path" tf:"path,omitempty"` + + // Number of consecutive successful checks required before receiving traffic. Default: 2. + // +kubebuilder:validation:Optional + SuccessThreshold *float64 `json:"successThreshold,omitempty" tf:"success_threshold,omitempty"` + + // Time before the check is considered failed. Default: "4s" + // +kubebuilder:validation:Optional + Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"` +} + +type RequestUtilizationObservation struct { +} + +type RequestUtilizationParameters struct { + + // Target number of concurrent requests. + // +kubebuilder:validation:Optional + TargetConcurrentRequests *float64 `json:"targetConcurrentRequests,omitempty" tf:"target_concurrent_requests,omitempty"` + + // Target requests per second. + // +kubebuilder:validation:Optional + TargetRequestCountPerSecond *string `json:"targetRequestCountPerSecond,omitempty" tf:"target_request_count_per_second,omitempty"` +} + +type ResourcesObservation struct { +} + +type ResourcesParameters struct { + + // Number of CPU cores needed. + // +kubebuilder:validation:Optional + CPU *int64 `json:"cpu,omitempty" tf:"cpu,omitempty"` + + // Disk size (GB) needed. + // +kubebuilder:validation:Optional + DiskGb *int64 `json:"diskGb,omitempty" tf:"disk_gb,omitempty"` + + // Memory (GB) needed. + // +kubebuilder:validation:Optional + MemoryGb *float64 `json:"memoryGb,omitempty" tf:"memory_gb,omitempty"` + + // List of ports, or port pairs, to forward from the virtual machine to the application container. + // +kubebuilder:validation:Optional + Volumes []VolumesParameters `json:"volumes,omitempty" tf:"volumes,omitempty"` +} + +type ScriptObservation struct { +} + +type ScriptParameters struct { + + // Path to the script from the application root directory. + // +kubebuilder:validation:Required + ScriptPath *string `json:"scriptPath" tf:"script_path,omitempty"` +} + +type StaticFilesObservation struct { +} + +type StaticFilesParameters struct { + + // Whether files should also be uploaded as code data. By default, files declared in static file handlers are + // uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, + // uploads are charged against both your code and static data storage resource quotas. + // +kubebuilder:validation:Optional + ApplicationReadable *bool `json:"applicationReadable,omitempty" tf:"application_readable,omitempty"` + + // Time a static file served by this handler should be cached by web proxies and browsers. + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example "3.5s". + // Default is '0s' + // +kubebuilder:validation:Optional + Expiration *string `json:"expiration,omitempty" tf:"expiration,omitempty"` + + // HTTP headers to use for all responses from these URLs. + // An object containing a list of "key:value" value pairs.". + // +kubebuilder:validation:Optional + HTTPHeaders map[string]*string `json:"httpHeaders,omitempty" tf:"http_headers,omitempty"` + + // MIME type used to serve all files served by this handler. + // Defaults to file-specific MIME types, which are derived from each file's filename extension. + // +kubebuilder:validation:Optional + MimeType *string `json:"mimeType,omitempty" tf:"mime_type,omitempty"` + + // Path to the static files matched by the URL pattern, from the application root directory. + // The path can refer to text matched in groupings in the URL pattern. + // +kubebuilder:validation:Optional + Path *string `json:"path,omitempty" tf:"path,omitempty"` + + // Whether this handler should match the request if the file referenced by the handler does not exist. + // +kubebuilder:validation:Optional + RequireMatchingFile *bool `json:"requireMatchingFile,omitempty" tf:"require_matching_file,omitempty"` + + // Regular expression that matches the file paths for all files that should be referenced by this handler. + // +kubebuilder:validation:Optional + UploadPathRegex *string `json:"uploadPathRegex,omitempty" tf:"upload_path_regex,omitempty"` +} + +type VPCAccessConnectorObservation struct { +} + +type VPCAccessConnectorParameters struct { + + // Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type VolumesObservation struct { +} + +type VolumesParameters struct { + + // Unique name for the volume. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Volume size in gigabytes. + // +kubebuilder:validation:Required + SizeGb *int64 `json:"sizeGb" tf:"size_gb,omitempty"` + + // Underlying volume type, e.g. 'tmpfs'. + // +kubebuilder:validation:Required + VolumeType *string `json:"volumeType" tf:"volume_type,omitempty"` +} + +type ZipObservation struct { +} + +type ZipParameters struct { + + // files count + // +kubebuilder:validation:Optional + FilesCount *int64 `json:"filesCount,omitempty" tf:"files_count,omitempty"` + + // Source URL + // +kubebuilder:validation:Required + SourceURL *string `json:"sourceUrl" tf:"source_url,omitempty"` +} + +// FlexibleAppVersionSpec defines the desired state of FlexibleAppVersion +type FlexibleAppVersionSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FlexibleAppVersionParameters `json:"forProvider"` +} + +// FlexibleAppVersionStatus defines the observed state of FlexibleAppVersion. +type FlexibleAppVersionStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FlexibleAppVersionObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FlexibleAppVersion is the Schema for the FlexibleAppVersions 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,gcpjet} +type FlexibleAppVersion struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FlexibleAppVersionSpec `json:"spec"` + Status FlexibleAppVersionStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FlexibleAppVersionList contains a list of FlexibleAppVersions +type FlexibleAppVersionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FlexibleAppVersion `json:"items"` +} + +// Repository type metadata. +var ( + FlexibleAppVersion_Kind = "FlexibleAppVersion" + FlexibleAppVersion_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FlexibleAppVersion_Kind}.String() + FlexibleAppVersion_KindAPIVersion = FlexibleAppVersion_Kind + "." + CRDGroupVersion.String() + FlexibleAppVersion_GroupVersionKind = CRDGroupVersion.WithKind(FlexibleAppVersion_Kind) +) + +func init() { + SchemeBuilder.Register(&FlexibleAppVersion{}, &FlexibleAppVersionList{}) +} diff --git a/apis/appengine/v1alpha1/zz_generated.deepcopy.go b/apis/appengine/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..52ec10bd --- /dev/null +++ b/apis/appengine/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,3679 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *APIConfigObservation) DeepCopyInto(out *APIConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIConfigObservation. +func (in *APIConfigObservation) DeepCopy() *APIConfigObservation { + if in == nil { + return nil + } + out := new(APIConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *APIConfigParameters) DeepCopyInto(out *APIConfigParameters) { + *out = *in + if in.AuthFailAction != nil { + in, out := &in.AuthFailAction, &out.AuthFailAction + *out = new(string) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(string) + **out = **in + } + if in.Script != nil { + in, out := &in.Script, &out.Script + *out = new(string) + **out = **in + } + if in.SecurityLevel != nil { + in, out := &in.SecurityLevel, &out.SecurityLevel + *out = new(string) + **out = **in + } + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIConfigParameters. +func (in *APIConfigParameters) DeepCopy() *APIConfigParameters { + if in == nil { + return nil + } + out := new(APIConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Application) DeepCopyInto(out *Application) { + *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 Application. +func (in *Application) DeepCopy() *Application { + if in == nil { + return nil + } + out := new(Application) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Application) 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 *ApplicationList) DeepCopyInto(out *ApplicationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Application, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationList. +func (in *ApplicationList) DeepCopy() *ApplicationList { + if in == nil { + return nil + } + out := new(ApplicationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ApplicationList) 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 *ApplicationObservation) DeepCopyInto(out *ApplicationObservation) { + *out = *in + if in.AppID != nil { + in, out := &in.AppID, &out.AppID + *out = new(string) + **out = **in + } + if in.CodeBucket != nil { + in, out := &in.CodeBucket, &out.CodeBucket + *out = new(string) + **out = **in + } + if in.DefaultBucket != nil { + in, out := &in.DefaultBucket, &out.DefaultBucket + *out = new(string) + **out = **in + } + if in.DefaultHostname != nil { + in, out := &in.DefaultHostname, &out.DefaultHostname + *out = new(string) + **out = **in + } + if in.GcrDomain != nil { + in, out := &in.GcrDomain, &out.GcrDomain + *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.URLDispatchRule != nil { + in, out := &in.URLDispatchRule, &out.URLDispatchRule + *out = make([]URLDispatchRuleObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationObservation. +func (in *ApplicationObservation) DeepCopy() *ApplicationObservation { + if in == nil { + return nil + } + out := new(ApplicationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApplicationParameters) DeepCopyInto(out *ApplicationParameters) { + *out = *in + if in.AuthDomain != nil { + in, out := &in.AuthDomain, &out.AuthDomain + *out = new(string) + **out = **in + } + if in.DatabaseType != nil { + in, out := &in.DatabaseType, &out.DatabaseType + *out = new(string) + **out = **in + } + if in.FeatureSettings != nil { + in, out := &in.FeatureSettings, &out.FeatureSettings + *out = make([]FeatureSettingsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Iap != nil { + in, out := &in.Iap, &out.Iap + *out = make([]IapParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LocationID != nil { + in, out := &in.LocationID, &out.LocationID + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ServingStatus != nil { + in, out := &in.ServingStatus, &out.ServingStatus + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationParameters. +func (in *ApplicationParameters) DeepCopy() *ApplicationParameters { + if in == nil { + return nil + } + out := new(ApplicationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApplicationSpec) DeepCopyInto(out *ApplicationSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSpec. +func (in *ApplicationSpec) DeepCopy() *ApplicationSpec { + if in == nil { + return nil + } + out := new(ApplicationSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApplicationStatus) DeepCopyInto(out *ApplicationStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationStatus. +func (in *ApplicationStatus) DeepCopy() *ApplicationStatus { + if in == nil { + return nil + } + out := new(ApplicationStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApplicationURLDispatchRules) DeepCopyInto(out *ApplicationURLDispatchRules) { + *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 ApplicationURLDispatchRules. +func (in *ApplicationURLDispatchRules) DeepCopy() *ApplicationURLDispatchRules { + if in == nil { + return nil + } + out := new(ApplicationURLDispatchRules) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ApplicationURLDispatchRules) 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 *ApplicationURLDispatchRulesList) DeepCopyInto(out *ApplicationURLDispatchRulesList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ApplicationURLDispatchRules, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationURLDispatchRulesList. +func (in *ApplicationURLDispatchRulesList) DeepCopy() *ApplicationURLDispatchRulesList { + if in == nil { + return nil + } + out := new(ApplicationURLDispatchRulesList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ApplicationURLDispatchRulesList) 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 *ApplicationURLDispatchRulesObservation) DeepCopyInto(out *ApplicationURLDispatchRulesObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationURLDispatchRulesObservation. +func (in *ApplicationURLDispatchRulesObservation) DeepCopy() *ApplicationURLDispatchRulesObservation { + if in == nil { + return nil + } + out := new(ApplicationURLDispatchRulesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApplicationURLDispatchRulesParameters) DeepCopyInto(out *ApplicationURLDispatchRulesParameters) { + *out = *in + if in.DispatchRules != nil { + in, out := &in.DispatchRules, &out.DispatchRules + *out = make([]DispatchRulesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationURLDispatchRulesParameters. +func (in *ApplicationURLDispatchRulesParameters) DeepCopy() *ApplicationURLDispatchRulesParameters { + if in == nil { + return nil + } + out := new(ApplicationURLDispatchRulesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApplicationURLDispatchRulesSpec) DeepCopyInto(out *ApplicationURLDispatchRulesSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationURLDispatchRulesSpec. +func (in *ApplicationURLDispatchRulesSpec) DeepCopy() *ApplicationURLDispatchRulesSpec { + if in == nil { + return nil + } + out := new(ApplicationURLDispatchRulesSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApplicationURLDispatchRulesStatus) DeepCopyInto(out *ApplicationURLDispatchRulesStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationURLDispatchRulesStatus. +func (in *ApplicationURLDispatchRulesStatus) DeepCopy() *ApplicationURLDispatchRulesStatus { + if in == nil { + return nil + } + out := new(ApplicationURLDispatchRulesStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutomaticScalingObservation) DeepCopyInto(out *AutomaticScalingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutomaticScalingObservation. +func (in *AutomaticScalingObservation) DeepCopy() *AutomaticScalingObservation { + if in == nil { + return nil + } + out := new(AutomaticScalingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutomaticScalingParameters) DeepCopyInto(out *AutomaticScalingParameters) { + *out = *in + if in.CPUUtilization != nil { + in, out := &in.CPUUtilization, &out.CPUUtilization + *out = make([]CPUUtilizationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CoolDownPeriod != nil { + in, out := &in.CoolDownPeriod, &out.CoolDownPeriod + *out = new(string) + **out = **in + } + if in.DiskUtilization != nil { + in, out := &in.DiskUtilization, &out.DiskUtilization + *out = make([]DiskUtilizationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaxConcurrentRequests != nil { + in, out := &in.MaxConcurrentRequests, &out.MaxConcurrentRequests + *out = new(int64) + **out = **in + } + if in.MaxIdleInstances != nil { + in, out := &in.MaxIdleInstances, &out.MaxIdleInstances + *out = new(int64) + **out = **in + } + if in.MaxPendingLatency != nil { + in, out := &in.MaxPendingLatency, &out.MaxPendingLatency + *out = new(string) + **out = **in + } + if in.MaxTotalInstances != nil { + in, out := &in.MaxTotalInstances, &out.MaxTotalInstances + *out = new(int64) + **out = **in + } + if in.MinIdleInstances != nil { + in, out := &in.MinIdleInstances, &out.MinIdleInstances + *out = new(int64) + **out = **in + } + if in.MinPendingLatency != nil { + in, out := &in.MinPendingLatency, &out.MinPendingLatency + *out = new(string) + **out = **in + } + if in.MinTotalInstances != nil { + in, out := &in.MinTotalInstances, &out.MinTotalInstances + *out = new(int64) + **out = **in + } + if in.NetworkUtilization != nil { + in, out := &in.NetworkUtilization, &out.NetworkUtilization + *out = make([]NetworkUtilizationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestUtilization != nil { + in, out := &in.RequestUtilization, &out.RequestUtilization + *out = make([]RequestUtilizationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutomaticScalingParameters. +func (in *AutomaticScalingParameters) DeepCopy() *AutomaticScalingParameters { + if in == nil { + return nil + } + out := new(AutomaticScalingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicScalingObservation) DeepCopyInto(out *BasicScalingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicScalingObservation. +func (in *BasicScalingObservation) DeepCopy() *BasicScalingObservation { + if in == nil { + return nil + } + out := new(BasicScalingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicScalingParameters) DeepCopyInto(out *BasicScalingParameters) { + *out = *in + if in.IdleTimeout != nil { + in, out := &in.IdleTimeout, &out.IdleTimeout + *out = new(string) + **out = **in + } + if in.MaxInstances != nil { + in, out := &in.MaxInstances, &out.MaxInstances + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicScalingParameters. +func (in *BasicScalingParameters) DeepCopy() *BasicScalingParameters { + if in == nil { + return nil + } + out := new(BasicScalingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CPUUtilizationObservation) DeepCopyInto(out *CPUUtilizationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUUtilizationObservation. +func (in *CPUUtilizationObservation) DeepCopy() *CPUUtilizationObservation { + if in == nil { + return nil + } + out := new(CPUUtilizationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CPUUtilizationParameters) DeepCopyInto(out *CPUUtilizationParameters) { + *out = *in + if in.AggregationWindowLength != nil { + in, out := &in.AggregationWindowLength, &out.AggregationWindowLength + *out = new(string) + **out = **in + } + if in.TargetUtilization != nil { + in, out := &in.TargetUtilization, &out.TargetUtilization + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUUtilizationParameters. +func (in *CPUUtilizationParameters) DeepCopy() *CPUUtilizationParameters { + if in == nil { + return nil + } + out := new(CPUUtilizationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudBuildOptionsObservation) DeepCopyInto(out *CloudBuildOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudBuildOptionsObservation. +func (in *CloudBuildOptionsObservation) DeepCopy() *CloudBuildOptionsObservation { + if in == nil { + return nil + } + out := new(CloudBuildOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudBuildOptionsParameters) DeepCopyInto(out *CloudBuildOptionsParameters) { + *out = *in + if in.AppYamlPath != nil { + in, out := &in.AppYamlPath, &out.AppYamlPath + *out = new(string) + **out = **in + } + if in.CloudBuildTimeout != nil { + in, out := &in.CloudBuildTimeout, &out.CloudBuildTimeout + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudBuildOptionsParameters. +func (in *CloudBuildOptionsParameters) DeepCopy() *CloudBuildOptionsParameters { + if in == nil { + return nil + } + out := new(CloudBuildOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerObservation) DeepCopyInto(out *ContainerObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerObservation. +func (in *ContainerObservation) DeepCopy() *ContainerObservation { + if in == nil { + return nil + } + out := new(ContainerObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerParameters) DeepCopyInto(out *ContainerParameters) { + *out = *in + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerParameters. +func (in *ContainerParameters) DeepCopy() *ContainerParameters { + if in == nil { + return nil + } + out := new(ContainerParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentFilesObservation) DeepCopyInto(out *DeploymentFilesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentFilesObservation. +func (in *DeploymentFilesObservation) DeepCopy() *DeploymentFilesObservation { + if in == nil { + return nil + } + out := new(DeploymentFilesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentFilesParameters) DeepCopyInto(out *DeploymentFilesParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Sha1Sum != nil { + in, out := &in.Sha1Sum, &out.Sha1Sum + *out = new(string) + **out = **in + } + if in.SourceURL != nil { + in, out := &in.SourceURL, &out.SourceURL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentFilesParameters. +func (in *DeploymentFilesParameters) DeepCopy() *DeploymentFilesParameters { + if in == nil { + return nil + } + out := new(DeploymentFilesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentObservation) DeepCopyInto(out *DeploymentObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentObservation. +func (in *DeploymentObservation) DeepCopy() *DeploymentObservation { + if in == nil { + return nil + } + out := new(DeploymentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentParameters) DeepCopyInto(out *DeploymentParameters) { + *out = *in + if in.CloudBuildOptions != nil { + in, out := &in.CloudBuildOptions, &out.CloudBuildOptions + *out = make([]CloudBuildOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Container != nil { + in, out := &in.Container, &out.Container + *out = make([]ContainerParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Files != nil { + in, out := &in.Files, &out.Files + *out = make([]FilesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Zip != nil { + in, out := &in.Zip, &out.Zip + *out = make([]ZipParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentParameters. +func (in *DeploymentParameters) DeepCopy() *DeploymentParameters { + if in == nil { + return nil + } + out := new(DeploymentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentZipObservation) DeepCopyInto(out *DeploymentZipObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentZipObservation. +func (in *DeploymentZipObservation) DeepCopy() *DeploymentZipObservation { + if in == nil { + return nil + } + out := new(DeploymentZipObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentZipParameters) DeepCopyInto(out *DeploymentZipParameters) { + *out = *in + if in.FilesCount != nil { + in, out := &in.FilesCount, &out.FilesCount + *out = new(int64) + **out = **in + } + if in.SourceURL != nil { + in, out := &in.SourceURL, &out.SourceURL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentZipParameters. +func (in *DeploymentZipParameters) DeepCopy() *DeploymentZipParameters { + if in == nil { + return nil + } + out := new(DeploymentZipParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskUtilizationObservation) DeepCopyInto(out *DiskUtilizationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskUtilizationObservation. +func (in *DiskUtilizationObservation) DeepCopy() *DiskUtilizationObservation { + if in == nil { + return nil + } + out := new(DiskUtilizationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskUtilizationParameters) DeepCopyInto(out *DiskUtilizationParameters) { + *out = *in + if in.TargetReadBytesPerSecond != nil { + in, out := &in.TargetReadBytesPerSecond, &out.TargetReadBytesPerSecond + *out = new(int64) + **out = **in + } + if in.TargetReadOpsPerSecond != nil { + in, out := &in.TargetReadOpsPerSecond, &out.TargetReadOpsPerSecond + *out = new(int64) + **out = **in + } + if in.TargetWriteBytesPerSecond != nil { + in, out := &in.TargetWriteBytesPerSecond, &out.TargetWriteBytesPerSecond + *out = new(int64) + **out = **in + } + if in.TargetWriteOpsPerSecond != nil { + in, out := &in.TargetWriteOpsPerSecond, &out.TargetWriteOpsPerSecond + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskUtilizationParameters. +func (in *DiskUtilizationParameters) DeepCopy() *DiskUtilizationParameters { + if in == nil { + return nil + } + out := new(DiskUtilizationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DispatchRulesObservation) DeepCopyInto(out *DispatchRulesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DispatchRulesObservation. +func (in *DispatchRulesObservation) DeepCopy() *DispatchRulesObservation { + if in == nil { + return nil + } + out := new(DispatchRulesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DispatchRulesParameters) DeepCopyInto(out *DispatchRulesParameters) { + *out = *in + if in.Domain != nil { + in, out := &in.Domain, &out.Domain + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DispatchRulesParameters. +func (in *DispatchRulesParameters) DeepCopy() *DispatchRulesParameters { + if in == nil { + return nil + } + out := new(DispatchRulesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainMapping) DeepCopyInto(out *DomainMapping) { + *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 DomainMapping. +func (in *DomainMapping) DeepCopy() *DomainMapping { + if in == nil { + return nil + } + out := new(DomainMapping) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DomainMapping) 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 *DomainMappingList) DeepCopyInto(out *DomainMappingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DomainMapping, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainMappingList. +func (in *DomainMappingList) DeepCopy() *DomainMappingList { + if in == nil { + return nil + } + out := new(DomainMappingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DomainMappingList) 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 *DomainMappingObservation) DeepCopyInto(out *DomainMappingObservation) { + *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.ResourceRecords != nil { + in, out := &in.ResourceRecords, &out.ResourceRecords + *out = make([]ResourceRecordsObservation, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainMappingObservation. +func (in *DomainMappingObservation) DeepCopy() *DomainMappingObservation { + if in == nil { + return nil + } + out := new(DomainMappingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainMappingParameters) DeepCopyInto(out *DomainMappingParameters) { + *out = *in + if in.DomainName != nil { + in, out := &in.DomainName, &out.DomainName + *out = new(string) + **out = **in + } + if in.OverrideStrategy != nil { + in, out := &in.OverrideStrategy, &out.OverrideStrategy + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SSLSettings != nil { + in, out := &in.SSLSettings, &out.SSLSettings + *out = make([]SSLSettingsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainMappingParameters. +func (in *DomainMappingParameters) DeepCopy() *DomainMappingParameters { + if in == nil { + return nil + } + out := new(DomainMappingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainMappingSpec) DeepCopyInto(out *DomainMappingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainMappingSpec. +func (in *DomainMappingSpec) DeepCopy() *DomainMappingSpec { + if in == nil { + return nil + } + out := new(DomainMappingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainMappingStatus) DeepCopyInto(out *DomainMappingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainMappingStatus. +func (in *DomainMappingStatus) DeepCopy() *DomainMappingStatus { + if in == nil { + return nil + } + out := new(DomainMappingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EndpointsAPIServiceObservation) DeepCopyInto(out *EndpointsAPIServiceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointsAPIServiceObservation. +func (in *EndpointsAPIServiceObservation) DeepCopy() *EndpointsAPIServiceObservation { + if in == nil { + return nil + } + out := new(EndpointsAPIServiceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EndpointsAPIServiceParameters) DeepCopyInto(out *EndpointsAPIServiceParameters) { + *out = *in + if in.ConfigID != nil { + in, out := &in.ConfigID, &out.ConfigID + *out = new(string) + **out = **in + } + if in.DisableTraceSampling != nil { + in, out := &in.DisableTraceSampling, &out.DisableTraceSampling + *out = new(bool) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.RolloutStrategy != nil { + in, out := &in.RolloutStrategy, &out.RolloutStrategy + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointsAPIServiceParameters. +func (in *EndpointsAPIServiceParameters) DeepCopy() *EndpointsAPIServiceParameters { + if in == nil { + return nil + } + out := new(EndpointsAPIServiceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntrypointObservation) DeepCopyInto(out *EntrypointObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntrypointObservation. +func (in *EntrypointObservation) DeepCopy() *EntrypointObservation { + if in == nil { + return nil + } + out := new(EntrypointObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntrypointParameters) DeepCopyInto(out *EntrypointParameters) { + *out = *in + if in.Shell != nil { + in, out := &in.Shell, &out.Shell + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntrypointParameters. +func (in *EntrypointParameters) DeepCopy() *EntrypointParameters { + if in == nil { + return nil + } + out := new(EntrypointParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FeatureSettingsObservation) DeepCopyInto(out *FeatureSettingsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureSettingsObservation. +func (in *FeatureSettingsObservation) DeepCopy() *FeatureSettingsObservation { + if in == nil { + return nil + } + out := new(FeatureSettingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FeatureSettingsParameters) DeepCopyInto(out *FeatureSettingsParameters) { + *out = *in + if in.SplitHealthChecks != nil { + in, out := &in.SplitHealthChecks, &out.SplitHealthChecks + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureSettingsParameters. +func (in *FeatureSettingsParameters) DeepCopy() *FeatureSettingsParameters { + if in == nil { + return nil + } + out := new(FeatureSettingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FilesObservation) DeepCopyInto(out *FilesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilesObservation. +func (in *FilesObservation) DeepCopy() *FilesObservation { + if in == nil { + return nil + } + out := new(FilesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FilesParameters) DeepCopyInto(out *FilesParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Sha1Sum != nil { + in, out := &in.Sha1Sum, &out.Sha1Sum + *out = new(string) + **out = **in + } + if in.SourceURL != nil { + in, out := &in.SourceURL, &out.SourceURL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilesParameters. +func (in *FilesParameters) DeepCopy() *FilesParameters { + if in == nil { + return nil + } + out := new(FilesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallRule) DeepCopyInto(out *FirewallRule) { + *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 FirewallRule. +func (in *FirewallRule) DeepCopy() *FirewallRule { + if in == nil { + return nil + } + out := new(FirewallRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FirewallRule) 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 *FirewallRuleList) DeepCopyInto(out *FirewallRuleList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FirewallRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleList. +func (in *FirewallRuleList) DeepCopy() *FirewallRuleList { + if in == nil { + return nil + } + out := new(FirewallRuleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FirewallRuleList) 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 *FirewallRuleObservation) DeepCopyInto(out *FirewallRuleObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleObservation. +func (in *FirewallRuleObservation) DeepCopy() *FirewallRuleObservation { + if in == nil { + return nil + } + out := new(FirewallRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallRuleParameters) DeepCopyInto(out *FirewallRuleParameters) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SourceRange != nil { + in, out := &in.SourceRange, &out.SourceRange + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleParameters. +func (in *FirewallRuleParameters) DeepCopy() *FirewallRuleParameters { + if in == nil { + return nil + } + out := new(FirewallRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallRuleSpec) DeepCopyInto(out *FirewallRuleSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleSpec. +func (in *FirewallRuleSpec) DeepCopy() *FirewallRuleSpec { + if in == nil { + return nil + } + out := new(FirewallRuleSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallRuleStatus) DeepCopyInto(out *FirewallRuleStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleStatus. +func (in *FirewallRuleStatus) DeepCopy() *FirewallRuleStatus { + if in == nil { + return nil + } + out := new(FirewallRuleStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleAppVersion) DeepCopyInto(out *FlexibleAppVersion) { + *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 FlexibleAppVersion. +func (in *FlexibleAppVersion) DeepCopy() *FlexibleAppVersion { + if in == nil { + return nil + } + out := new(FlexibleAppVersion) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleAppVersion) 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 *FlexibleAppVersionList) DeepCopyInto(out *FlexibleAppVersionList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FlexibleAppVersion, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleAppVersionList. +func (in *FlexibleAppVersionList) DeepCopy() *FlexibleAppVersionList { + if in == nil { + return nil + } + out := new(FlexibleAppVersionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleAppVersionList) 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 *FlexibleAppVersionObservation) DeepCopyInto(out *FlexibleAppVersionObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleAppVersionObservation. +func (in *FlexibleAppVersionObservation) DeepCopy() *FlexibleAppVersionObservation { + if in == nil { + return nil + } + out := new(FlexibleAppVersionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleAppVersionParameters) DeepCopyInto(out *FlexibleAppVersionParameters) { + *out = *in + if in.APIConfig != nil { + in, out := &in.APIConfig, &out.APIConfig + *out = make([]APIConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AutomaticScaling != nil { + in, out := &in.AutomaticScaling, &out.AutomaticScaling + *out = make([]AutomaticScalingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BetaSettings != nil { + in, out := &in.BetaSettings, &out.BetaSettings + *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.DefaultExpiration != nil { + in, out := &in.DefaultExpiration, &out.DefaultExpiration + *out = new(string) + **out = **in + } + if in.DeleteServiceOnDestroy != nil { + in, out := &in.DeleteServiceOnDestroy, &out.DeleteServiceOnDestroy + *out = new(bool) + **out = **in + } + if in.Deployment != nil { + in, out := &in.Deployment, &out.Deployment + *out = make([]DeploymentParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EndpointsAPIService != nil { + in, out := &in.EndpointsAPIService, &out.EndpointsAPIService + *out = make([]EndpointsAPIServiceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Entrypoint != nil { + in, out := &in.Entrypoint, &out.Entrypoint + *out = make([]EntrypointParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EnvVariables != nil { + in, out := &in.EnvVariables, &out.EnvVariables + *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.Handlers != nil { + in, out := &in.Handlers, &out.Handlers + *out = make([]HandlersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InboundServices != nil { + in, out := &in.InboundServices, &out.InboundServices + *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.InstanceClass != nil { + in, out := &in.InstanceClass, &out.InstanceClass + *out = new(string) + **out = **in + } + if in.LivenessCheck != nil { + in, out := &in.LivenessCheck, &out.LivenessCheck + *out = make([]LivenessCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ManualScaling != nil { + in, out := &in.ManualScaling, &out.ManualScaling + *out = make([]ManualScalingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = make([]NetworkParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NobuildFilesRegex != nil { + in, out := &in.NobuildFilesRegex, &out.NobuildFilesRegex + *out = new(string) + **out = **in + } + if in.NoopOnDestroy != nil { + in, out := &in.NoopOnDestroy, &out.NoopOnDestroy + *out = new(bool) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ReadinessCheck != nil { + in, out := &in.ReadinessCheck, &out.ReadinessCheck + *out = make([]ReadinessCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = make([]ResourcesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Runtime != nil { + in, out := &in.Runtime, &out.Runtime + *out = new(string) + **out = **in + } + if in.RuntimeAPIVersion != nil { + in, out := &in.RuntimeAPIVersion, &out.RuntimeAPIVersion + *out = new(string) + **out = **in + } + if in.RuntimeChannel != nil { + in, out := &in.RuntimeChannel, &out.RuntimeChannel + *out = new(string) + **out = **in + } + if in.RuntimeMainExecutablePath != nil { + in, out := &in.RuntimeMainExecutablePath, &out.RuntimeMainExecutablePath + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.ServingStatus != nil { + in, out := &in.ServingStatus, &out.ServingStatus + *out = new(string) + **out = **in + } + if in.VPCAccessConnector != nil { + in, out := &in.VPCAccessConnector, &out.VPCAccessConnector + *out = make([]VPCAccessConnectorParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VersionID != nil { + in, out := &in.VersionID, &out.VersionID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleAppVersionParameters. +func (in *FlexibleAppVersionParameters) DeepCopy() *FlexibleAppVersionParameters { + if in == nil { + return nil + } + out := new(FlexibleAppVersionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleAppVersionSpec) DeepCopyInto(out *FlexibleAppVersionSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleAppVersionSpec. +func (in *FlexibleAppVersionSpec) DeepCopy() *FlexibleAppVersionSpec { + if in == nil { + return nil + } + out := new(FlexibleAppVersionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleAppVersionStatus) DeepCopyInto(out *FlexibleAppVersionStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleAppVersionStatus. +func (in *FlexibleAppVersionStatus) DeepCopy() *FlexibleAppVersionStatus { + if in == nil { + return nil + } + out := new(FlexibleAppVersionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HandlersObservation) DeepCopyInto(out *HandlersObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HandlersObservation. +func (in *HandlersObservation) DeepCopy() *HandlersObservation { + if in == nil { + return nil + } + out := new(HandlersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HandlersParameters) DeepCopyInto(out *HandlersParameters) { + *out = *in + if in.AuthFailAction != nil { + in, out := &in.AuthFailAction, &out.AuthFailAction + *out = new(string) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(string) + **out = **in + } + if in.RedirectHTTPResponseCode != nil { + in, out := &in.RedirectHTTPResponseCode, &out.RedirectHTTPResponseCode + *out = new(string) + **out = **in + } + if in.Script != nil { + in, out := &in.Script, &out.Script + *out = make([]ScriptParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SecurityLevel != nil { + in, out := &in.SecurityLevel, &out.SecurityLevel + *out = new(string) + **out = **in + } + if in.StaticFiles != nil { + in, out := &in.StaticFiles, &out.StaticFiles + *out = make([]StaticFilesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.URLRegex != nil { + in, out := &in.URLRegex, &out.URLRegex + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HandlersParameters. +func (in *HandlersParameters) DeepCopy() *HandlersParameters { + if in == nil { + return nil + } + out := new(HandlersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HandlersScriptObservation) DeepCopyInto(out *HandlersScriptObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HandlersScriptObservation. +func (in *HandlersScriptObservation) DeepCopy() *HandlersScriptObservation { + if in == nil { + return nil + } + out := new(HandlersScriptObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HandlersScriptParameters) DeepCopyInto(out *HandlersScriptParameters) { + *out = *in + if in.ScriptPath != nil { + in, out := &in.ScriptPath, &out.ScriptPath + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HandlersScriptParameters. +func (in *HandlersScriptParameters) DeepCopy() *HandlersScriptParameters { + if in == nil { + return nil + } + out := new(HandlersScriptParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HandlersStaticFilesObservation) DeepCopyInto(out *HandlersStaticFilesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HandlersStaticFilesObservation. +func (in *HandlersStaticFilesObservation) DeepCopy() *HandlersStaticFilesObservation { + if in == nil { + return nil + } + out := new(HandlersStaticFilesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HandlersStaticFilesParameters) DeepCopyInto(out *HandlersStaticFilesParameters) { + *out = *in + if in.ApplicationReadable != nil { + in, out := &in.ApplicationReadable, &out.ApplicationReadable + *out = new(bool) + **out = **in + } + if in.Expiration != nil { + in, out := &in.Expiration, &out.Expiration + *out = new(string) + **out = **in + } + if in.HTTPHeaders != nil { + in, out := &in.HTTPHeaders, &out.HTTPHeaders + *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.MimeType != nil { + in, out := &in.MimeType, &out.MimeType + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.RequireMatchingFile != nil { + in, out := &in.RequireMatchingFile, &out.RequireMatchingFile + *out = new(bool) + **out = **in + } + if in.UploadPathRegex != nil { + in, out := &in.UploadPathRegex, &out.UploadPathRegex + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HandlersStaticFilesParameters. +func (in *HandlersStaticFilesParameters) DeepCopy() *HandlersStaticFilesParameters { + if in == nil { + return nil + } + out := new(HandlersStaticFilesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IapObservation) DeepCopyInto(out *IapObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IapObservation. +func (in *IapObservation) DeepCopy() *IapObservation { + if in == nil { + return nil + } + out := new(IapObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IapParameters) DeepCopyInto(out *IapParameters) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Oauth2ClientID != nil { + in, out := &in.Oauth2ClientID, &out.Oauth2ClientID + *out = new(string) + **out = **in + } + out.Oauth2ClientSecretSecretRef = in.Oauth2ClientSecretSecretRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IapParameters. +func (in *IapParameters) DeepCopy() *IapParameters { + if in == nil { + return nil + } + out := new(IapParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LibrariesObservation) DeepCopyInto(out *LibrariesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibrariesObservation. +func (in *LibrariesObservation) DeepCopy() *LibrariesObservation { + if in == nil { + return nil + } + out := new(LibrariesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LibrariesParameters) DeepCopyInto(out *LibrariesParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *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 LibrariesParameters. +func (in *LibrariesParameters) DeepCopy() *LibrariesParameters { + if in == nil { + return nil + } + out := new(LibrariesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LivenessCheckObservation) DeepCopyInto(out *LivenessCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LivenessCheckObservation. +func (in *LivenessCheckObservation) DeepCopy() *LivenessCheckObservation { + if in == nil { + return nil + } + out := new(LivenessCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LivenessCheckParameters) DeepCopyInto(out *LivenessCheckParameters) { + *out = *in + if in.CheckInterval != nil { + in, out := &in.CheckInterval, &out.CheckInterval + *out = new(string) + **out = **in + } + if in.FailureThreshold != nil { + in, out := &in.FailureThreshold, &out.FailureThreshold + *out = new(float64) + **out = **in + } + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.InitialDelay != nil { + in, out := &in.InitialDelay, &out.InitialDelay + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.SuccessThreshold != nil { + in, out := &in.SuccessThreshold, &out.SuccessThreshold + *out = new(float64) + **out = **in + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LivenessCheckParameters. +func (in *LivenessCheckParameters) DeepCopy() *LivenessCheckParameters { + if in == nil { + return nil + } + out := new(LivenessCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManualScalingObservation) DeepCopyInto(out *ManualScalingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManualScalingObservation. +func (in *ManualScalingObservation) DeepCopy() *ManualScalingObservation { + if in == nil { + return nil + } + out := new(ManualScalingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManualScalingParameters) DeepCopyInto(out *ManualScalingParameters) { + *out = *in + if in.Instances != nil { + in, out := &in.Instances, &out.Instances + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManualScalingParameters. +func (in *ManualScalingParameters) DeepCopy() *ManualScalingParameters { + if in == nil { + return nil + } + out := new(ManualScalingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkObservation) DeepCopyInto(out *NetworkObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkObservation. +func (in *NetworkObservation) DeepCopy() *NetworkObservation { + if in == nil { + return nil + } + out := new(NetworkObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkParameters) DeepCopyInto(out *NetworkParameters) { + *out = *in + if in.ForwardedPorts != nil { + in, out := &in.ForwardedPorts, &out.ForwardedPorts + *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.InstanceTag != nil { + in, out := &in.InstanceTag, &out.InstanceTag + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.SessionAffinity != nil { + in, out := &in.SessionAffinity, &out.SessionAffinity + *out = new(bool) + **out = **in + } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkParameters. +func (in *NetworkParameters) DeepCopy() *NetworkParameters { + if in == nil { + return nil + } + out := new(NetworkParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkSettingsObservation) DeepCopyInto(out *NetworkSettingsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSettingsObservation. +func (in *NetworkSettingsObservation) DeepCopy() *NetworkSettingsObservation { + if in == nil { + return nil + } + out := new(NetworkSettingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkSettingsParameters) DeepCopyInto(out *NetworkSettingsParameters) { + *out = *in + if in.IngressTrafficAllowed != nil { + in, out := &in.IngressTrafficAllowed, &out.IngressTrafficAllowed + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSettingsParameters. +func (in *NetworkSettingsParameters) DeepCopy() *NetworkSettingsParameters { + if in == nil { + return nil + } + out := new(NetworkSettingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkUtilizationObservation) DeepCopyInto(out *NetworkUtilizationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkUtilizationObservation. +func (in *NetworkUtilizationObservation) DeepCopy() *NetworkUtilizationObservation { + if in == nil { + return nil + } + out := new(NetworkUtilizationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkUtilizationParameters) DeepCopyInto(out *NetworkUtilizationParameters) { + *out = *in + if in.TargetReceivedBytesPerSecond != nil { + in, out := &in.TargetReceivedBytesPerSecond, &out.TargetReceivedBytesPerSecond + *out = new(int64) + **out = **in + } + if in.TargetReceivedPacketsPerSecond != nil { + in, out := &in.TargetReceivedPacketsPerSecond, &out.TargetReceivedPacketsPerSecond + *out = new(int64) + **out = **in + } + if in.TargetSentBytesPerSecond != nil { + in, out := &in.TargetSentBytesPerSecond, &out.TargetSentBytesPerSecond + *out = new(int64) + **out = **in + } + if in.TargetSentPacketsPerSecond != nil { + in, out := &in.TargetSentPacketsPerSecond, &out.TargetSentPacketsPerSecond + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkUtilizationParameters. +func (in *NetworkUtilizationParameters) DeepCopy() *NetworkUtilizationParameters { + if in == nil { + return nil + } + out := new(NetworkUtilizationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReadinessCheckObservation) DeepCopyInto(out *ReadinessCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReadinessCheckObservation. +func (in *ReadinessCheckObservation) DeepCopy() *ReadinessCheckObservation { + if in == nil { + return nil + } + out := new(ReadinessCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReadinessCheckParameters) DeepCopyInto(out *ReadinessCheckParameters) { + *out = *in + if in.AppStartTimeout != nil { + in, out := &in.AppStartTimeout, &out.AppStartTimeout + *out = new(string) + **out = **in + } + if in.CheckInterval != nil { + in, out := &in.CheckInterval, &out.CheckInterval + *out = new(string) + **out = **in + } + if in.FailureThreshold != nil { + in, out := &in.FailureThreshold, &out.FailureThreshold + *out = new(float64) + **out = **in + } + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.SuccessThreshold != nil { + in, out := &in.SuccessThreshold, &out.SuccessThreshold + *out = new(float64) + **out = **in + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReadinessCheckParameters. +func (in *ReadinessCheckParameters) DeepCopy() *ReadinessCheckParameters { + if in == nil { + return nil + } + out := new(ReadinessCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestUtilizationObservation) DeepCopyInto(out *RequestUtilizationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestUtilizationObservation. +func (in *RequestUtilizationObservation) DeepCopy() *RequestUtilizationObservation { + if in == nil { + return nil + } + out := new(RequestUtilizationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestUtilizationParameters) DeepCopyInto(out *RequestUtilizationParameters) { + *out = *in + if in.TargetConcurrentRequests != nil { + in, out := &in.TargetConcurrentRequests, &out.TargetConcurrentRequests + *out = new(float64) + **out = **in + } + if in.TargetRequestCountPerSecond != nil { + in, out := &in.TargetRequestCountPerSecond, &out.TargetRequestCountPerSecond + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestUtilizationParameters. +func (in *RequestUtilizationParameters) DeepCopy() *RequestUtilizationParameters { + if in == nil { + return nil + } + out := new(RequestUtilizationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceRecordsObservation) DeepCopyInto(out *ResourceRecordsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRecordsObservation. +func (in *ResourceRecordsObservation) DeepCopy() *ResourceRecordsObservation { + if in == nil { + return nil + } + out := new(ResourceRecordsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceRecordsParameters) DeepCopyInto(out *ResourceRecordsParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Rrdata != nil { + in, out := &in.Rrdata, &out.Rrdata + *out = new(string) + **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 ResourceRecordsParameters. +func (in *ResourceRecordsParameters) DeepCopy() *ResourceRecordsParameters { + if in == nil { + return nil + } + out := new(ResourceRecordsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourcesObservation) DeepCopyInto(out *ResourcesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcesObservation. +func (in *ResourcesObservation) DeepCopy() *ResourcesObservation { + if in == nil { + return nil + } + out := new(ResourcesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourcesParameters) DeepCopyInto(out *ResourcesParameters) { + *out = *in + if in.CPU != nil { + in, out := &in.CPU, &out.CPU + *out = new(int64) + **out = **in + } + if in.DiskGb != nil { + in, out := &in.DiskGb, &out.DiskGb + *out = new(int64) + **out = **in + } + if in.MemoryGb != nil { + in, out := &in.MemoryGb, &out.MemoryGb + *out = new(float64) + **out = **in + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]VolumesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcesParameters. +func (in *ResourcesParameters) DeepCopy() *ResourcesParameters { + if in == nil { + return nil + } + out := new(ResourcesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSLSettingsObservation) DeepCopyInto(out *SSLSettingsObservation) { + *out = *in + if in.PendingManagedCertificateID != nil { + in, out := &in.PendingManagedCertificateID, &out.PendingManagedCertificateID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLSettingsObservation. +func (in *SSLSettingsObservation) DeepCopy() *SSLSettingsObservation { + if in == nil { + return nil + } + out := new(SSLSettingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSLSettingsParameters) DeepCopyInto(out *SSLSettingsParameters) { + *out = *in + if in.CertificateID != nil { + in, out := &in.CertificateID, &out.CertificateID + *out = new(string) + **out = **in + } + if in.SSLManagementType != nil { + in, out := &in.SSLManagementType, &out.SSLManagementType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLSettingsParameters. +func (in *SSLSettingsParameters) DeepCopy() *SSLSettingsParameters { + if in == nil { + return nil + } + out := new(SSLSettingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScriptObservation) DeepCopyInto(out *ScriptObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScriptObservation. +func (in *ScriptObservation) DeepCopy() *ScriptObservation { + if in == nil { + return nil + } + out := new(ScriptObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScriptParameters) DeepCopyInto(out *ScriptParameters) { + *out = *in + if in.ScriptPath != nil { + in, out := &in.ScriptPath, &out.ScriptPath + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScriptParameters. +func (in *ScriptParameters) DeepCopy() *ScriptParameters { + if in == nil { + return nil + } + out := new(ScriptParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceNetworkSettings) DeepCopyInto(out *ServiceNetworkSettings) { + *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 ServiceNetworkSettings. +func (in *ServiceNetworkSettings) DeepCopy() *ServiceNetworkSettings { + if in == nil { + return nil + } + out := new(ServiceNetworkSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceNetworkSettings) 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 *ServiceNetworkSettingsList) DeepCopyInto(out *ServiceNetworkSettingsList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceNetworkSettings, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceNetworkSettingsList. +func (in *ServiceNetworkSettingsList) DeepCopy() *ServiceNetworkSettingsList { + if in == nil { + return nil + } + out := new(ServiceNetworkSettingsList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceNetworkSettingsList) 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 *ServiceNetworkSettingsObservation) DeepCopyInto(out *ServiceNetworkSettingsObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceNetworkSettingsObservation. +func (in *ServiceNetworkSettingsObservation) DeepCopy() *ServiceNetworkSettingsObservation { + if in == nil { + return nil + } + out := new(ServiceNetworkSettingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceNetworkSettingsParameters) DeepCopyInto(out *ServiceNetworkSettingsParameters) { + *out = *in + if in.NetworkSettings != nil { + in, out := &in.NetworkSettings, &out.NetworkSettings + *out = make([]NetworkSettingsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceNetworkSettingsParameters. +func (in *ServiceNetworkSettingsParameters) DeepCopy() *ServiceNetworkSettingsParameters { + if in == nil { + return nil + } + out := new(ServiceNetworkSettingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceNetworkSettingsSpec) DeepCopyInto(out *ServiceNetworkSettingsSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceNetworkSettingsSpec. +func (in *ServiceNetworkSettingsSpec) DeepCopy() *ServiceNetworkSettingsSpec { + if in == nil { + return nil + } + out := new(ServiceNetworkSettingsSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceNetworkSettingsStatus) DeepCopyInto(out *ServiceNetworkSettingsStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceNetworkSettingsStatus. +func (in *ServiceNetworkSettingsStatus) DeepCopy() *ServiceNetworkSettingsStatus { + if in == nil { + return nil + } + out := new(ServiceNetworkSettingsStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceSplitTraffic) DeepCopyInto(out *ServiceSplitTraffic) { + *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 ServiceSplitTraffic. +func (in *ServiceSplitTraffic) DeepCopy() *ServiceSplitTraffic { + if in == nil { + return nil + } + out := new(ServiceSplitTraffic) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceSplitTraffic) 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 *ServiceSplitTrafficList) DeepCopyInto(out *ServiceSplitTrafficList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceSplitTraffic, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSplitTrafficList. +func (in *ServiceSplitTrafficList) DeepCopy() *ServiceSplitTrafficList { + if in == nil { + return nil + } + out := new(ServiceSplitTrafficList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceSplitTrafficList) 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 *ServiceSplitTrafficObservation) DeepCopyInto(out *ServiceSplitTrafficObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSplitTrafficObservation. +func (in *ServiceSplitTrafficObservation) DeepCopy() *ServiceSplitTrafficObservation { + if in == nil { + return nil + } + out := new(ServiceSplitTrafficObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceSplitTrafficParameters) DeepCopyInto(out *ServiceSplitTrafficParameters) { + *out = *in + if in.MigrateTraffic != nil { + in, out := &in.MigrateTraffic, &out.MigrateTraffic + *out = new(bool) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.Split != nil { + in, out := &in.Split, &out.Split + *out = make([]SplitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSplitTrafficParameters. +func (in *ServiceSplitTrafficParameters) DeepCopy() *ServiceSplitTrafficParameters { + if in == nil { + return nil + } + out := new(ServiceSplitTrafficParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceSplitTrafficSpec) DeepCopyInto(out *ServiceSplitTrafficSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSplitTrafficSpec. +func (in *ServiceSplitTrafficSpec) DeepCopy() *ServiceSplitTrafficSpec { + if in == nil { + return nil + } + out := new(ServiceSplitTrafficSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceSplitTrafficStatus) DeepCopyInto(out *ServiceSplitTrafficStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSplitTrafficStatus. +func (in *ServiceSplitTrafficStatus) DeepCopy() *ServiceSplitTrafficStatus { + if in == nil { + return nil + } + out := new(ServiceSplitTrafficStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SplitObservation) DeepCopyInto(out *SplitObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SplitObservation. +func (in *SplitObservation) DeepCopy() *SplitObservation { + if in == nil { + return nil + } + out := new(SplitObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SplitParameters) DeepCopyInto(out *SplitParameters) { + *out = *in + if in.Allocations != nil { + in, out := &in.Allocations, &out.Allocations + *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.ShardBy != nil { + in, out := &in.ShardBy, &out.ShardBy + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SplitParameters. +func (in *SplitParameters) DeepCopy() *SplitParameters { + if in == nil { + return nil + } + out := new(SplitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersion) DeepCopyInto(out *StandardAppVersion) { + *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 StandardAppVersion. +func (in *StandardAppVersion) DeepCopy() *StandardAppVersion { + if in == nil { + return nil + } + out := new(StandardAppVersion) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *StandardAppVersion) 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 *StandardAppVersionAutomaticScalingObservation) DeepCopyInto(out *StandardAppVersionAutomaticScalingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionAutomaticScalingObservation. +func (in *StandardAppVersionAutomaticScalingObservation) DeepCopy() *StandardAppVersionAutomaticScalingObservation { + if in == nil { + return nil + } + out := new(StandardAppVersionAutomaticScalingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionAutomaticScalingParameters) DeepCopyInto(out *StandardAppVersionAutomaticScalingParameters) { + *out = *in + if in.MaxConcurrentRequests != nil { + in, out := &in.MaxConcurrentRequests, &out.MaxConcurrentRequests + *out = new(int64) + **out = **in + } + if in.MaxIdleInstances != nil { + in, out := &in.MaxIdleInstances, &out.MaxIdleInstances + *out = new(int64) + **out = **in + } + if in.MaxPendingLatency != nil { + in, out := &in.MaxPendingLatency, &out.MaxPendingLatency + *out = new(string) + **out = **in + } + if in.MinIdleInstances != nil { + in, out := &in.MinIdleInstances, &out.MinIdleInstances + *out = new(int64) + **out = **in + } + if in.MinPendingLatency != nil { + in, out := &in.MinPendingLatency, &out.MinPendingLatency + *out = new(string) + **out = **in + } + if in.StandardSchedulerSettings != nil { + in, out := &in.StandardSchedulerSettings, &out.StandardSchedulerSettings + *out = make([]StandardSchedulerSettingsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionAutomaticScalingParameters. +func (in *StandardAppVersionAutomaticScalingParameters) DeepCopy() *StandardAppVersionAutomaticScalingParameters { + if in == nil { + return nil + } + out := new(StandardAppVersionAutomaticScalingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionDeploymentObservation) DeepCopyInto(out *StandardAppVersionDeploymentObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionDeploymentObservation. +func (in *StandardAppVersionDeploymentObservation) DeepCopy() *StandardAppVersionDeploymentObservation { + if in == nil { + return nil + } + out := new(StandardAppVersionDeploymentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionDeploymentParameters) DeepCopyInto(out *StandardAppVersionDeploymentParameters) { + *out = *in + if in.Files != nil { + in, out := &in.Files, &out.Files + *out = make([]DeploymentFilesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Zip != nil { + in, out := &in.Zip, &out.Zip + *out = make([]DeploymentZipParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionDeploymentParameters. +func (in *StandardAppVersionDeploymentParameters) DeepCopy() *StandardAppVersionDeploymentParameters { + if in == nil { + return nil + } + out := new(StandardAppVersionDeploymentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionEntrypointObservation) DeepCopyInto(out *StandardAppVersionEntrypointObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionEntrypointObservation. +func (in *StandardAppVersionEntrypointObservation) DeepCopy() *StandardAppVersionEntrypointObservation { + if in == nil { + return nil + } + out := new(StandardAppVersionEntrypointObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionEntrypointParameters) DeepCopyInto(out *StandardAppVersionEntrypointParameters) { + *out = *in + if in.Shell != nil { + in, out := &in.Shell, &out.Shell + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionEntrypointParameters. +func (in *StandardAppVersionEntrypointParameters) DeepCopy() *StandardAppVersionEntrypointParameters { + if in == nil { + return nil + } + out := new(StandardAppVersionEntrypointParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionHandlersObservation) DeepCopyInto(out *StandardAppVersionHandlersObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionHandlersObservation. +func (in *StandardAppVersionHandlersObservation) DeepCopy() *StandardAppVersionHandlersObservation { + if in == nil { + return nil + } + out := new(StandardAppVersionHandlersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionHandlersParameters) DeepCopyInto(out *StandardAppVersionHandlersParameters) { + *out = *in + if in.AuthFailAction != nil { + in, out := &in.AuthFailAction, &out.AuthFailAction + *out = new(string) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(string) + **out = **in + } + if in.RedirectHTTPResponseCode != nil { + in, out := &in.RedirectHTTPResponseCode, &out.RedirectHTTPResponseCode + *out = new(string) + **out = **in + } + if in.Script != nil { + in, out := &in.Script, &out.Script + *out = make([]HandlersScriptParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SecurityLevel != nil { + in, out := &in.SecurityLevel, &out.SecurityLevel + *out = new(string) + **out = **in + } + if in.StaticFiles != nil { + in, out := &in.StaticFiles, &out.StaticFiles + *out = make([]HandlersStaticFilesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.URLRegex != nil { + in, out := &in.URLRegex, &out.URLRegex + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionHandlersParameters. +func (in *StandardAppVersionHandlersParameters) DeepCopy() *StandardAppVersionHandlersParameters { + if in == nil { + return nil + } + out := new(StandardAppVersionHandlersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionList) DeepCopyInto(out *StandardAppVersionList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]StandardAppVersion, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionList. +func (in *StandardAppVersionList) DeepCopy() *StandardAppVersionList { + if in == nil { + return nil + } + out := new(StandardAppVersionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *StandardAppVersionList) 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 *StandardAppVersionManualScalingObservation) DeepCopyInto(out *StandardAppVersionManualScalingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionManualScalingObservation. +func (in *StandardAppVersionManualScalingObservation) DeepCopy() *StandardAppVersionManualScalingObservation { + if in == nil { + return nil + } + out := new(StandardAppVersionManualScalingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionManualScalingParameters) DeepCopyInto(out *StandardAppVersionManualScalingParameters) { + *out = *in + if in.Instances != nil { + in, out := &in.Instances, &out.Instances + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionManualScalingParameters. +func (in *StandardAppVersionManualScalingParameters) DeepCopy() *StandardAppVersionManualScalingParameters { + if in == nil { + return nil + } + out := new(StandardAppVersionManualScalingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionObservation) DeepCopyInto(out *StandardAppVersionObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionObservation. +func (in *StandardAppVersionObservation) DeepCopy() *StandardAppVersionObservation { + if in == nil { + return nil + } + out := new(StandardAppVersionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionParameters) DeepCopyInto(out *StandardAppVersionParameters) { + *out = *in + if in.AutomaticScaling != nil { + in, out := &in.AutomaticScaling, &out.AutomaticScaling + *out = make([]StandardAppVersionAutomaticScalingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BasicScaling != nil { + in, out := &in.BasicScaling, &out.BasicScaling + *out = make([]BasicScalingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DeleteServiceOnDestroy != nil { + in, out := &in.DeleteServiceOnDestroy, &out.DeleteServiceOnDestroy + *out = new(bool) + **out = **in + } + if in.Deployment != nil { + in, out := &in.Deployment, &out.Deployment + *out = make([]StandardAppVersionDeploymentParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Entrypoint != nil { + in, out := &in.Entrypoint, &out.Entrypoint + *out = make([]StandardAppVersionEntrypointParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EnvVariables != nil { + in, out := &in.EnvVariables, &out.EnvVariables + *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.Handlers != nil { + in, out := &in.Handlers, &out.Handlers + *out = make([]StandardAppVersionHandlersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InboundServices != nil { + in, out := &in.InboundServices, &out.InboundServices + *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.InstanceClass != nil { + in, out := &in.InstanceClass, &out.InstanceClass + *out = new(string) + **out = **in + } + if in.Libraries != nil { + in, out := &in.Libraries, &out.Libraries + *out = make([]LibrariesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ManualScaling != nil { + in, out := &in.ManualScaling, &out.ManualScaling + *out = make([]StandardAppVersionManualScalingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NoopOnDestroy != nil { + in, out := &in.NoopOnDestroy, &out.NoopOnDestroy + *out = new(bool) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Runtime != nil { + in, out := &in.Runtime, &out.Runtime + *out = new(string) + **out = **in + } + if in.RuntimeAPIVersion != nil { + in, out := &in.RuntimeAPIVersion, &out.RuntimeAPIVersion + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.Threadsafe != nil { + in, out := &in.Threadsafe, &out.Threadsafe + *out = new(bool) + **out = **in + } + if in.VPCAccessConnector != nil { + in, out := &in.VPCAccessConnector, &out.VPCAccessConnector + *out = make([]StandardAppVersionVPCAccessConnectorParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VersionID != nil { + in, out := &in.VersionID, &out.VersionID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionParameters. +func (in *StandardAppVersionParameters) DeepCopy() *StandardAppVersionParameters { + if in == nil { + return nil + } + out := new(StandardAppVersionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionSpec) DeepCopyInto(out *StandardAppVersionSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionSpec. +func (in *StandardAppVersionSpec) DeepCopy() *StandardAppVersionSpec { + if in == nil { + return nil + } + out := new(StandardAppVersionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionStatus) DeepCopyInto(out *StandardAppVersionStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionStatus. +func (in *StandardAppVersionStatus) DeepCopy() *StandardAppVersionStatus { + if in == nil { + return nil + } + out := new(StandardAppVersionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionVPCAccessConnectorObservation) DeepCopyInto(out *StandardAppVersionVPCAccessConnectorObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardAppVersionVPCAccessConnectorObservation. +func (in *StandardAppVersionVPCAccessConnectorObservation) DeepCopy() *StandardAppVersionVPCAccessConnectorObservation { + if in == nil { + return nil + } + out := new(StandardAppVersionVPCAccessConnectorObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardAppVersionVPCAccessConnectorParameters) DeepCopyInto(out *StandardAppVersionVPCAccessConnectorParameters) { + *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 StandardAppVersionVPCAccessConnectorParameters. +func (in *StandardAppVersionVPCAccessConnectorParameters) DeepCopy() *StandardAppVersionVPCAccessConnectorParameters { + if in == nil { + return nil + } + out := new(StandardAppVersionVPCAccessConnectorParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardSchedulerSettingsObservation) DeepCopyInto(out *StandardSchedulerSettingsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardSchedulerSettingsObservation. +func (in *StandardSchedulerSettingsObservation) DeepCopy() *StandardSchedulerSettingsObservation { + if in == nil { + return nil + } + out := new(StandardSchedulerSettingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StandardSchedulerSettingsParameters) DeepCopyInto(out *StandardSchedulerSettingsParameters) { + *out = *in + if in.MaxInstances != nil { + in, out := &in.MaxInstances, &out.MaxInstances + *out = new(int64) + **out = **in + } + if in.MinInstances != nil { + in, out := &in.MinInstances, &out.MinInstances + *out = new(int64) + **out = **in + } + if in.TargetCPUUtilization != nil { + in, out := &in.TargetCPUUtilization, &out.TargetCPUUtilization + *out = new(float64) + **out = **in + } + if in.TargetThroughputUtilization != nil { + in, out := &in.TargetThroughputUtilization, &out.TargetThroughputUtilization + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandardSchedulerSettingsParameters. +func (in *StandardSchedulerSettingsParameters) DeepCopy() *StandardSchedulerSettingsParameters { + if in == nil { + return nil + } + out := new(StandardSchedulerSettingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StaticFilesObservation) DeepCopyInto(out *StaticFilesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticFilesObservation. +func (in *StaticFilesObservation) DeepCopy() *StaticFilesObservation { + if in == nil { + return nil + } + out := new(StaticFilesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StaticFilesParameters) DeepCopyInto(out *StaticFilesParameters) { + *out = *in + if in.ApplicationReadable != nil { + in, out := &in.ApplicationReadable, &out.ApplicationReadable + *out = new(bool) + **out = **in + } + if in.Expiration != nil { + in, out := &in.Expiration, &out.Expiration + *out = new(string) + **out = **in + } + if in.HTTPHeaders != nil { + in, out := &in.HTTPHeaders, &out.HTTPHeaders + *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.MimeType != nil { + in, out := &in.MimeType, &out.MimeType + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.RequireMatchingFile != nil { + in, out := &in.RequireMatchingFile, &out.RequireMatchingFile + *out = new(bool) + **out = **in + } + if in.UploadPathRegex != nil { + in, out := &in.UploadPathRegex, &out.UploadPathRegex + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticFilesParameters. +func (in *StaticFilesParameters) DeepCopy() *StaticFilesParameters { + if in == nil { + return nil + } + out := new(StaticFilesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLDispatchRuleObservation) DeepCopyInto(out *URLDispatchRuleObservation) { + *out = *in + if in.Domain != nil { + in, out := &in.Domain, &out.Domain + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLDispatchRuleObservation. +func (in *URLDispatchRuleObservation) DeepCopy() *URLDispatchRuleObservation { + if in == nil { + return nil + } + out := new(URLDispatchRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLDispatchRuleParameters) DeepCopyInto(out *URLDispatchRuleParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLDispatchRuleParameters. +func (in *URLDispatchRuleParameters) DeepCopy() *URLDispatchRuleParameters { + if in == nil { + return nil + } + out := new(URLDispatchRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPCAccessConnectorObservation) DeepCopyInto(out *VPCAccessConnectorObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCAccessConnectorObservation. +func (in *VPCAccessConnectorObservation) DeepCopy() *VPCAccessConnectorObservation { + if in == nil { + return nil + } + out := new(VPCAccessConnectorObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPCAccessConnectorParameters) DeepCopyInto(out *VPCAccessConnectorParameters) { + *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 VPCAccessConnectorParameters. +func (in *VPCAccessConnectorParameters) DeepCopy() *VPCAccessConnectorParameters { + if in == nil { + return nil + } + out := new(VPCAccessConnectorParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VolumesObservation) DeepCopyInto(out *VolumesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumesObservation. +func (in *VolumesObservation) DeepCopy() *VolumesObservation { + if in == nil { + return nil + } + out := new(VolumesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VolumesParameters) DeepCopyInto(out *VolumesParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.SizeGb != nil { + in, out := &in.SizeGb, &out.SizeGb + *out = new(int64) + **out = **in + } + if in.VolumeType != nil { + in, out := &in.VolumeType, &out.VolumeType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumesParameters. +func (in *VolumesParameters) DeepCopy() *VolumesParameters { + if in == nil { + return nil + } + out := new(VolumesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ZipObservation) DeepCopyInto(out *ZipObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZipObservation. +func (in *ZipObservation) DeepCopy() *ZipObservation { + if in == nil { + return nil + } + out := new(ZipObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ZipParameters) DeepCopyInto(out *ZipParameters) { + *out = *in + if in.FilesCount != nil { + in, out := &in.FilesCount, &out.FilesCount + *out = new(int64) + **out = **in + } + if in.SourceURL != nil { + in, out := &in.SourceURL, &out.SourceURL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZipParameters. +func (in *ZipParameters) DeepCopy() *ZipParameters { + if in == nil { + return nil + } + out := new(ZipParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/appengine/v1alpha1/zz_generated.managed.go b/apis/appengine/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..fee28090 --- /dev/null +++ b/apis/appengine/v1alpha1/zz_generated.managed.go @@ -0,0 +1,468 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Application. +func (mg *Application) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Application. +func (mg *Application) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Application. +func (mg *Application) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Application. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Application) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Application. +func (mg *Application) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Application. +func (mg *Application) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Application. +func (mg *Application) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Application. +func (mg *Application) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Application. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Application) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Application. +func (mg *Application) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ApplicationURLDispatchRules. +func (mg *ApplicationURLDispatchRules) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ApplicationURLDispatchRules. +func (mg *ApplicationURLDispatchRules) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ApplicationURLDispatchRules. +func (mg *ApplicationURLDispatchRules) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ApplicationURLDispatchRules. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ApplicationURLDispatchRules) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ApplicationURLDispatchRules. +func (mg *ApplicationURLDispatchRules) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ApplicationURLDispatchRules. +func (mg *ApplicationURLDispatchRules) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ApplicationURLDispatchRules. +func (mg *ApplicationURLDispatchRules) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ApplicationURLDispatchRules. +func (mg *ApplicationURLDispatchRules) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ApplicationURLDispatchRules. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ApplicationURLDispatchRules) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ApplicationURLDispatchRules. +func (mg *ApplicationURLDispatchRules) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DomainMapping. +func (mg *DomainMapping) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DomainMapping. +func (mg *DomainMapping) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DomainMapping. +func (mg *DomainMapping) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DomainMapping. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DomainMapping) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DomainMapping. +func (mg *DomainMapping) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DomainMapping. +func (mg *DomainMapping) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DomainMapping. +func (mg *DomainMapping) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DomainMapping. +func (mg *DomainMapping) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DomainMapping. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DomainMapping) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DomainMapping. +func (mg *DomainMapping) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FirewallRule. +func (mg *FirewallRule) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FirewallRule. +func (mg *FirewallRule) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FirewallRule. +func (mg *FirewallRule) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FirewallRule. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FirewallRule) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FirewallRule. +func (mg *FirewallRule) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FirewallRule. +func (mg *FirewallRule) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FirewallRule. +func (mg *FirewallRule) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FirewallRule. +func (mg *FirewallRule) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FirewallRule. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FirewallRule) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FirewallRule. +func (mg *FirewallRule) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FlexibleAppVersion. +func (mg *FlexibleAppVersion) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FlexibleAppVersion. +func (mg *FlexibleAppVersion) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FlexibleAppVersion. +func (mg *FlexibleAppVersion) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FlexibleAppVersion. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FlexibleAppVersion) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FlexibleAppVersion. +func (mg *FlexibleAppVersion) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FlexibleAppVersion. +func (mg *FlexibleAppVersion) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FlexibleAppVersion. +func (mg *FlexibleAppVersion) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FlexibleAppVersion. +func (mg *FlexibleAppVersion) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FlexibleAppVersion. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FlexibleAppVersion) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FlexibleAppVersion. +func (mg *FlexibleAppVersion) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServiceNetworkSettings. +func (mg *ServiceNetworkSettings) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServiceNetworkSettings. +func (mg *ServiceNetworkSettings) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServiceNetworkSettings. +func (mg *ServiceNetworkSettings) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServiceNetworkSettings. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServiceNetworkSettings) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServiceNetworkSettings. +func (mg *ServiceNetworkSettings) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServiceNetworkSettings. +func (mg *ServiceNetworkSettings) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServiceNetworkSettings. +func (mg *ServiceNetworkSettings) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServiceNetworkSettings. +func (mg *ServiceNetworkSettings) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServiceNetworkSettings. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServiceNetworkSettings) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServiceNetworkSettings. +func (mg *ServiceNetworkSettings) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServiceSplitTraffic. +func (mg *ServiceSplitTraffic) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServiceSplitTraffic. +func (mg *ServiceSplitTraffic) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServiceSplitTraffic. +func (mg *ServiceSplitTraffic) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServiceSplitTraffic. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServiceSplitTraffic) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServiceSplitTraffic. +func (mg *ServiceSplitTraffic) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServiceSplitTraffic. +func (mg *ServiceSplitTraffic) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServiceSplitTraffic. +func (mg *ServiceSplitTraffic) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServiceSplitTraffic. +func (mg *ServiceSplitTraffic) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServiceSplitTraffic. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServiceSplitTraffic) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServiceSplitTraffic. +func (mg *ServiceSplitTraffic) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this StandardAppVersion. +func (mg *StandardAppVersion) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this StandardAppVersion. +func (mg *StandardAppVersion) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this StandardAppVersion. +func (mg *StandardAppVersion) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this StandardAppVersion. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *StandardAppVersion) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this StandardAppVersion. +func (mg *StandardAppVersion) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this StandardAppVersion. +func (mg *StandardAppVersion) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this StandardAppVersion. +func (mg *StandardAppVersion) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this StandardAppVersion. +func (mg *StandardAppVersion) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this StandardAppVersion. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *StandardAppVersion) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this StandardAppVersion. +func (mg *StandardAppVersion) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/appengine/v1alpha1/zz_generated.managedlist.go b/apis/appengine/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..422fa584 --- /dev/null +++ b/apis/appengine/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,92 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this ApplicationList. +func (l *ApplicationList) 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 ApplicationURLDispatchRulesList. +func (l *ApplicationURLDispatchRulesList) 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 DomainMappingList. +func (l *DomainMappingList) 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 FirewallRuleList. +func (l *FirewallRuleList) 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 FlexibleAppVersionList. +func (l *FlexibleAppVersionList) 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 ServiceNetworkSettingsList. +func (l *ServiceNetworkSettingsList) 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 ServiceSplitTrafficList. +func (l *ServiceSplitTrafficList) 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 StandardAppVersionList. +func (l *StandardAppVersionList) 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/appengine/v1alpha1/zz_groupversion_info.go b/apis/appengine/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..d2ec34ef --- /dev/null +++ b/apis/appengine/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=appengine.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "appengine.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/appengine/v1alpha1/zz_servicenetworksettings_terraformed.go b/apis/appengine/v1alpha1/zz_servicenetworksettings_terraformed.go new file mode 100755 index 00000000..e76521d4 --- /dev/null +++ b/apis/appengine/v1alpha1/zz_servicenetworksettings_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServiceNetworkSettings +func (mg *ServiceNetworkSettings) GetTerraformResourceType() string { + return "google_app_engine_service_network_settings" +} + +// GetConnectionDetailsMapping for this ServiceNetworkSettings +func (tr *ServiceNetworkSettings) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServiceNetworkSettings +func (tr *ServiceNetworkSettings) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServiceNetworkSettings +func (tr *ServiceNetworkSettings) SetObservation(obs map[string]interface{}) 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 ServiceNetworkSettings +func (tr *ServiceNetworkSettings) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServiceNetworkSettings +func (tr *ServiceNetworkSettings) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServiceNetworkSettings +func (tr *ServiceNetworkSettings) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServiceNetworkSettings using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServiceNetworkSettings) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceNetworkSettingsParameters{} + 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 *ServiceNetworkSettings) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/appengine/v1alpha1/zz_servicenetworksettings_types.go b/apis/appengine/v1alpha1/zz_servicenetworksettings_types.go new file mode 100755 index 00000000..4cbdb6aa --- /dev/null +++ b/apis/appengine/v1alpha1/zz_servicenetworksettings_types.go @@ -0,0 +1,103 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 NetworkSettingsObservation struct { +} + +type NetworkSettingsParameters struct { + + // The ingress settings for version or service. Default value: "INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED" Possible values: ["INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED", "INGRESS_TRAFFIC_ALLOWED_ALL", "INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY", "INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB"] + // +kubebuilder:validation:Optional + IngressTrafficAllowed *string `json:"ingressTrafficAllowed,omitempty" tf:"ingress_traffic_allowed,omitempty"` +} + +type ServiceNetworkSettingsObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ServiceNetworkSettingsParameters struct { + + // Ingress settings for this service. Will apply to all versions. + // +kubebuilder:validation:Required + NetworkSettings []NetworkSettingsParameters `json:"networkSettings" tf:"network_settings,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The name of the service these settings apply to. + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +// ServiceNetworkSettingsSpec defines the desired state of ServiceNetworkSettings +type ServiceNetworkSettingsSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceNetworkSettingsParameters `json:"forProvider"` +} + +// ServiceNetworkSettingsStatus defines the observed state of ServiceNetworkSettings. +type ServiceNetworkSettingsStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceNetworkSettingsObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceNetworkSettings is the Schema for the ServiceNetworkSettingss 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,gcpjet} +type ServiceNetworkSettings struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceNetworkSettingsSpec `json:"spec"` + Status ServiceNetworkSettingsStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceNetworkSettingsList contains a list of ServiceNetworkSettingss +type ServiceNetworkSettingsList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServiceNetworkSettings `json:"items"` +} + +// Repository type metadata. +var ( + ServiceNetworkSettings_Kind = "ServiceNetworkSettings" + ServiceNetworkSettings_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceNetworkSettings_Kind}.String() + ServiceNetworkSettings_KindAPIVersion = ServiceNetworkSettings_Kind + "." + CRDGroupVersion.String() + ServiceNetworkSettings_GroupVersionKind = CRDGroupVersion.WithKind(ServiceNetworkSettings_Kind) +) + +func init() { + SchemeBuilder.Register(&ServiceNetworkSettings{}, &ServiceNetworkSettingsList{}) +} diff --git a/apis/appengine/v1alpha1/zz_servicesplittraffic_terraformed.go b/apis/appengine/v1alpha1/zz_servicesplittraffic_terraformed.go new file mode 100755 index 00000000..d9b3fb3b --- /dev/null +++ b/apis/appengine/v1alpha1/zz_servicesplittraffic_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServiceSplitTraffic +func (mg *ServiceSplitTraffic) GetTerraformResourceType() string { + return "google_app_engine_service_split_traffic" +} + +// GetConnectionDetailsMapping for this ServiceSplitTraffic +func (tr *ServiceSplitTraffic) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServiceSplitTraffic +func (tr *ServiceSplitTraffic) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServiceSplitTraffic +func (tr *ServiceSplitTraffic) SetObservation(obs map[string]interface{}) 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 ServiceSplitTraffic +func (tr *ServiceSplitTraffic) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServiceSplitTraffic +func (tr *ServiceSplitTraffic) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServiceSplitTraffic +func (tr *ServiceSplitTraffic) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServiceSplitTraffic using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServiceSplitTraffic) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceSplitTrafficParameters{} + 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 *ServiceSplitTraffic) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/appengine/v1alpha1/zz_servicesplittraffic_types.go b/apis/appengine/v1alpha1/zz_servicesplittraffic_types.go new file mode 100755 index 00000000..e9b807d9 --- /dev/null +++ b/apis/appengine/v1alpha1/zz_servicesplittraffic_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ServiceSplitTrafficObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ServiceSplitTrafficParameters struct { + + // If set to true traffic will be migrated to this version. + // +kubebuilder:validation:Optional + MigrateTraffic *bool `json:"migrateTraffic,omitempty" tf:"migrate_traffic,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The name of the service these settings apply to. + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` + + // Mapping that defines fractional HTTP traffic diversion to different versions within the service. + // +kubebuilder:validation:Required + Split []SplitParameters `json:"split" tf:"split,omitempty"` +} + +type SplitObservation struct { +} + +type SplitParameters struct { + + // Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits. + // +kubebuilder:validation:Required + Allocations map[string]*string `json:"allocations" tf:"allocations,omitempty"` + + // Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed. Possible values: ["UNSPECIFIED", "COOKIE", "IP", "RANDOM"] + // +kubebuilder:validation:Optional + ShardBy *string `json:"shardBy,omitempty" tf:"shard_by,omitempty"` +} + +// ServiceSplitTrafficSpec defines the desired state of ServiceSplitTraffic +type ServiceSplitTrafficSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceSplitTrafficParameters `json:"forProvider"` +} + +// ServiceSplitTrafficStatus defines the observed state of ServiceSplitTraffic. +type ServiceSplitTrafficStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceSplitTrafficObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceSplitTraffic is the Schema for the ServiceSplitTraffics 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,gcpjet} +type ServiceSplitTraffic struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceSplitTrafficSpec `json:"spec"` + Status ServiceSplitTrafficStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceSplitTrafficList contains a list of ServiceSplitTraffics +type ServiceSplitTrafficList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServiceSplitTraffic `json:"items"` +} + +// Repository type metadata. +var ( + ServiceSplitTraffic_Kind = "ServiceSplitTraffic" + ServiceSplitTraffic_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceSplitTraffic_Kind}.String() + ServiceSplitTraffic_KindAPIVersion = ServiceSplitTraffic_Kind + "." + CRDGroupVersion.String() + ServiceSplitTraffic_GroupVersionKind = CRDGroupVersion.WithKind(ServiceSplitTraffic_Kind) +) + +func init() { + SchemeBuilder.Register(&ServiceSplitTraffic{}, &ServiceSplitTrafficList{}) +} diff --git a/apis/appengine/v1alpha1/zz_standardappversion_terraformed.go b/apis/appengine/v1alpha1/zz_standardappversion_terraformed.go new file mode 100755 index 00000000..8328c2ba --- /dev/null +++ b/apis/appengine/v1alpha1/zz_standardappversion_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this StandardAppVersion +func (mg *StandardAppVersion) GetTerraformResourceType() string { + return "google_app_engine_standard_app_version" +} + +// GetConnectionDetailsMapping for this StandardAppVersion +func (tr *StandardAppVersion) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this StandardAppVersion +func (tr *StandardAppVersion) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this StandardAppVersion +func (tr *StandardAppVersion) SetObservation(obs map[string]interface{}) 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 StandardAppVersion +func (tr *StandardAppVersion) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this StandardAppVersion +func (tr *StandardAppVersion) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this StandardAppVersion +func (tr *StandardAppVersion) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this StandardAppVersion using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *StandardAppVersion) LateInitialize(attrs []byte) (bool, error) { + params := &StandardAppVersionParameters{} + 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 *StandardAppVersion) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/appengine/v1alpha1/zz_standardappversion_types.go b/apis/appengine/v1alpha1/zz_standardappversion_types.go new file mode 100755 index 00000000..f217c065 --- /dev/null +++ b/apis/appengine/v1alpha1/zz_standardappversion_types.go @@ -0,0 +1,411 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BasicScalingObservation struct { +} + +type BasicScalingParameters struct { + + // Duration of time after the last request that an instance must wait before the instance is shut down. + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". Defaults to 900s. + // +kubebuilder:validation:Optional + IdleTimeout *string `json:"idleTimeout,omitempty" tf:"idle_timeout,omitempty"` + + // Maximum number of instances to create for this version. Must be in the range [1.0, 200.0]. + // +kubebuilder:validation:Required + MaxInstances *int64 `json:"maxInstances" tf:"max_instances,omitempty"` +} + +type DeploymentFilesObservation struct { +} + +type DeploymentFilesParameters struct { + + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // SHA1 checksum of the file + // +kubebuilder:validation:Optional + Sha1Sum *string `json:"sha1Sum,omitempty" tf:"sha1_sum,omitempty"` + + // Source URL + // +kubebuilder:validation:Required + SourceURL *string `json:"sourceUrl" tf:"source_url,omitempty"` +} + +type DeploymentZipObservation struct { +} + +type DeploymentZipParameters struct { + + // files count + // +kubebuilder:validation:Optional + FilesCount *int64 `json:"filesCount,omitempty" tf:"files_count,omitempty"` + + // Source URL + // +kubebuilder:validation:Required + SourceURL *string `json:"sourceUrl" tf:"source_url,omitempty"` +} + +type HandlersScriptObservation struct { +} + +type HandlersScriptParameters struct { + + // Path to the script from the application root directory. + // +kubebuilder:validation:Required + ScriptPath *string `json:"scriptPath" tf:"script_path,omitempty"` +} + +type HandlersStaticFilesObservation struct { +} + +type HandlersStaticFilesParameters struct { + + // Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as + // static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged + // against both your code and static data storage resource quotas. + // +kubebuilder:validation:Optional + ApplicationReadable *bool `json:"applicationReadable,omitempty" tf:"application_readable,omitempty"` + + // Time a static file served by this handler should be cached by web proxies and browsers. + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example "3.5s". + // +kubebuilder:validation:Optional + Expiration *string `json:"expiration,omitempty" tf:"expiration,omitempty"` + + // HTTP headers to use for all responses from these URLs. + // An object containing a list of "key:value" value pairs.". + // +kubebuilder:validation:Optional + HTTPHeaders map[string]*string `json:"httpHeaders,omitempty" tf:"http_headers,omitempty"` + + // MIME type used to serve all files served by this handler. + // Defaults to file-specific MIME types, which are derived from each file's filename extension. + // +kubebuilder:validation:Optional + MimeType *string `json:"mimeType,omitempty" tf:"mime_type,omitempty"` + + // Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern. + // +kubebuilder:validation:Optional + Path *string `json:"path,omitempty" tf:"path,omitempty"` + + // Whether this handler should match the request if the file referenced by the handler does not exist. + // +kubebuilder:validation:Optional + RequireMatchingFile *bool `json:"requireMatchingFile,omitempty" tf:"require_matching_file,omitempty"` + + // Regular expression that matches the file paths for all files that should be referenced by this handler. + // +kubebuilder:validation:Optional + UploadPathRegex *string `json:"uploadPathRegex,omitempty" tf:"upload_path_regex,omitempty"` +} + +type LibrariesObservation struct { +} + +type LibrariesParameters struct { + + // Name of the library. Example "django". + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Version of the library to select, or "latest". + // +kubebuilder:validation:Optional + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type StandardAppVersionAutomaticScalingObservation struct { +} + +type StandardAppVersionAutomaticScalingParameters struct { + + // Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. + // + // Defaults to a runtime-specific value. + // +kubebuilder:validation:Optional + MaxConcurrentRequests *int64 `json:"maxConcurrentRequests,omitempty" tf:"max_concurrent_requests,omitempty"` + + // Maximum number of idle instances that should be maintained for this version. + // +kubebuilder:validation:Optional + MaxIdleInstances *int64 `json:"maxIdleInstances,omitempty" tf:"max_idle_instances,omitempty"` + + // Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it. + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + MaxPendingLatency *string `json:"maxPendingLatency,omitempty" tf:"max_pending_latency,omitempty"` + + // Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service. + // +kubebuilder:validation:Optional + MinIdleInstances *int64 `json:"minIdleInstances,omitempty" tf:"min_idle_instances,omitempty"` + + // Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it. + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + MinPendingLatency *string `json:"minPendingLatency,omitempty" tf:"min_pending_latency,omitempty"` + + // Scheduler settings for standard environment. + // +kubebuilder:validation:Optional + StandardSchedulerSettings []StandardSchedulerSettingsParameters `json:"standardSchedulerSettings,omitempty" tf:"standard_scheduler_settings,omitempty"` +} + +type StandardAppVersionDeploymentObservation struct { +} + +type StandardAppVersionDeploymentParameters struct { + + // Manifest of the files stored in Google Cloud Storage that are included as part of this version. + // All files must be readable using the credentials supplied with this call. + // +kubebuilder:validation:Optional + Files []DeploymentFilesParameters `json:"files,omitempty" tf:"files,omitempty"` + + // Zip File + // +kubebuilder:validation:Optional + Zip []DeploymentZipParameters `json:"zip,omitempty" tf:"zip,omitempty"` +} + +type StandardAppVersionEntrypointObservation struct { +} + +type StandardAppVersionEntrypointParameters struct { + + // The format should be a shell command that can be fed to bash -c. + // +kubebuilder:validation:Required + Shell *string `json:"shell" tf:"shell,omitempty"` +} + +type StandardAppVersionHandlersObservation struct { +} + +type StandardAppVersionHandlersParameters struct { + + // Actions to take when the user is not logged in. Possible values: ["AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED"] + // +kubebuilder:validation:Optional + AuthFailAction *string `json:"authFailAction,omitempty" tf:"auth_fail_action,omitempty"` + + // Methods to restrict access to a URL based on login status. Possible values: ["LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED"] + // +kubebuilder:validation:Optional + Login *string `json:"login,omitempty" tf:"login,omitempty"` + + // 30x code to use when performing redirects for the secure field. Possible values: ["REDIRECT_HTTP_RESPONSE_CODE_301", "REDIRECT_HTTP_RESPONSE_CODE_302", "REDIRECT_HTTP_RESPONSE_CODE_303", "REDIRECT_HTTP_RESPONSE_CODE_307"] + // +kubebuilder:validation:Optional + RedirectHTTPResponseCode *string `json:"redirectHttpResponseCode,omitempty" tf:"redirect_http_response_code,omitempty"` + + // Executes a script to handle the requests that match this URL pattern. + // Only the auto value is supported for Node.js in the App Engine standard environment, for example "script:" "auto". + // +kubebuilder:validation:Optional + Script []HandlersScriptParameters `json:"script,omitempty" tf:"script,omitempty"` + + // Security (HTTPS) enforcement for this URL. Possible values: ["SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", "SECURE_ALWAYS"] + // +kubebuilder:validation:Optional + SecurityLevel *string `json:"securityLevel,omitempty" tf:"security_level,omitempty"` + + // Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them. + // +kubebuilder:validation:Optional + StaticFiles []HandlersStaticFilesParameters `json:"staticFiles,omitempty" tf:"static_files,omitempty"` + + // URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. + // All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path. + // +kubebuilder:validation:Optional + URLRegex *string `json:"urlRegex,omitempty" tf:"url_regex,omitempty"` +} + +type StandardAppVersionManualScalingObservation struct { +} + +type StandardAppVersionManualScalingParameters struct { + + // Number of instances to assign to the service at the start. + // + // **Note:** When managing the number of instances at runtime through the App Engine Admin API or the (now deprecated) Python 2 + // Modules API set_num_instances() you must use 'lifecycle.ignore_changes = ["manual_scaling"[0].instances]' to prevent drift detection. + // +kubebuilder:validation:Required + Instances *int64 `json:"instances" tf:"instances,omitempty"` +} + +type StandardAppVersionObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type StandardAppVersionParameters struct { + + // Automatic scaling is based on request rate, response latencies, and other application metrics. + // +kubebuilder:validation:Optional + AutomaticScaling []StandardAppVersionAutomaticScalingParameters `json:"automaticScaling,omitempty" tf:"automatic_scaling,omitempty"` + + // Basic scaling creates instances when your application receives requests. Each instance will be shut down when the application becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity. + // +kubebuilder:validation:Optional + BasicScaling []BasicScalingParameters `json:"basicScaling,omitempty" tf:"basic_scaling,omitempty"` + + // +kubebuilder:validation:Optional + DeleteServiceOnDestroy *bool `json:"deleteServiceOnDestroy,omitempty" tf:"delete_service_on_destroy,omitempty"` + + // Code and application artifacts that make up this version. + // +kubebuilder:validation:Required + Deployment []StandardAppVersionDeploymentParameters `json:"deployment" tf:"deployment,omitempty"` + + // The entrypoint for the application. + // +kubebuilder:validation:Required + Entrypoint []StandardAppVersionEntrypointParameters `json:"entrypoint" tf:"entrypoint,omitempty"` + + // Environment variables available to the application. + // +kubebuilder:validation:Optional + EnvVariables map[string]*string `json:"envVariables,omitempty" tf:"env_variables,omitempty"` + + // An ordered list of URL-matching patterns that should be applied to incoming requests. + // The first matching URL handles the request and other request handlers are not attempted. + // +kubebuilder:validation:Optional + Handlers []StandardAppVersionHandlersParameters `json:"handlers,omitempty" tf:"handlers,omitempty"` + + // A list of the types of messages that this application is able to receive. Possible values: ["INBOUND_SERVICE_MAIL", "INBOUND_SERVICE_MAIL_BOUNCE", "INBOUND_SERVICE_XMPP_ERROR", "INBOUND_SERVICE_XMPP_MESSAGE", "INBOUND_SERVICE_XMPP_SUBSCRIBE", "INBOUND_SERVICE_XMPP_PRESENCE", "INBOUND_SERVICE_CHANNEL_PRESENCE", "INBOUND_SERVICE_WARMUP"] + // +kubebuilder:validation:Optional + InboundServices []*string `json:"inboundServices,omitempty" tf:"inbound_services,omitempty"` + + // Instance class that is used to run this version. Valid values are + // AutomaticScaling: F1, F2, F4, F4_1G + // BasicScaling or ManualScaling: B1, B2, B4, B4_1G, B8 + // Defaults to F1 for AutomaticScaling and B2 for ManualScaling and BasicScaling. If no scaling is specified, AutomaticScaling is chosen. + // +kubebuilder:validation:Optional + InstanceClass *string `json:"instanceClass,omitempty" tf:"instance_class,omitempty"` + + // Configuration for third-party Python runtime libraries that are required by the application. + // +kubebuilder:validation:Optional + Libraries []LibrariesParameters `json:"libraries,omitempty" tf:"libraries,omitempty"` + + // A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. + // +kubebuilder:validation:Optional + ManualScaling []StandardAppVersionManualScalingParameters `json:"manualScaling,omitempty" tf:"manual_scaling,omitempty"` + + // +kubebuilder:validation:Optional + NoopOnDestroy *bool `json:"noopOnDestroy,omitempty" tf:"noop_on_destroy,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Desired runtime. Example python27. + // +kubebuilder:validation:Required + Runtime *string `json:"runtime" tf:"runtime,omitempty"` + + // The version of the API in the given runtime environment. + // Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard//config/appref + // +kubebuilder:validation:Optional + RuntimeAPIVersion *string `json:"runtimeApiVersion,omitempty" tf:"runtime_api_version,omitempty"` + + // AppEngine service resource + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` + + // Whether multiple requests can be dispatched to this version at once. + // +kubebuilder:validation:Optional + Threadsafe *bool `json:"threadsafe,omitempty" tf:"threadsafe,omitempty"` + + // Enables VPC connectivity for standard apps. + // +kubebuilder:validation:Optional + VPCAccessConnector []StandardAppVersionVPCAccessConnectorParameters `json:"vpcAccessConnector,omitempty" tf:"vpc_access_connector,omitempty"` + + // Relative name of the version within the service. For example, 'v1'. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names,"default", "latest", and any name with the prefix "ah-". + // +kubebuilder:validation:Optional + VersionID *string `json:"versionId,omitempty" tf:"version_id,omitempty"` +} + +type StandardAppVersionVPCAccessConnectorObservation struct { +} + +type StandardAppVersionVPCAccessConnectorParameters struct { + + // Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type StandardSchedulerSettingsObservation struct { +} + +type StandardSchedulerSettingsParameters struct { + + // Maximum number of instances to run for this version. Set to zero to disable maxInstances configuration. + // +kubebuilder:validation:Optional + MaxInstances *int64 `json:"maxInstances,omitempty" tf:"max_instances,omitempty"` + + // Minimum number of instances to run for this version. Set to zero to disable minInstances configuration. + // +kubebuilder:validation:Optional + MinInstances *int64 `json:"minInstances,omitempty" tf:"min_instances,omitempty"` + + // Target CPU utilization ratio to maintain when scaling. Should be a value in the range [0.50, 0.95], zero, or a negative value. + // +kubebuilder:validation:Optional + TargetCPUUtilization *float64 `json:"targetCpuUtilization,omitempty" tf:"target_cpu_utilization,omitempty"` + + // Target throughput utilization ratio to maintain when scaling. Should be a value in the range [0.50, 0.95], zero, or a negative value. + // +kubebuilder:validation:Optional + TargetThroughputUtilization *float64 `json:"targetThroughputUtilization,omitempty" tf:"target_throughput_utilization,omitempty"` +} + +// StandardAppVersionSpec defines the desired state of StandardAppVersion +type StandardAppVersionSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider StandardAppVersionParameters `json:"forProvider"` +} + +// StandardAppVersionStatus defines the observed state of StandardAppVersion. +type StandardAppVersionStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider StandardAppVersionObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// StandardAppVersion is the Schema for the StandardAppVersions 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,gcpjet} +type StandardAppVersion struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec StandardAppVersionSpec `json:"spec"` + Status StandardAppVersionStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// StandardAppVersionList contains a list of StandardAppVersions +type StandardAppVersionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []StandardAppVersion `json:"items"` +} + +// Repository type metadata. +var ( + StandardAppVersion_Kind = "StandardAppVersion" + StandardAppVersion_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: StandardAppVersion_Kind}.String() + StandardAppVersion_KindAPIVersion = StandardAppVersion_Kind + "." + CRDGroupVersion.String() + StandardAppVersion_GroupVersionKind = CRDGroupVersion.WithKind(StandardAppVersion_Kind) +) + +func init() { + SchemeBuilder.Register(&StandardAppVersion{}, &StandardAppVersionList{}) +} diff --git a/apis/assuredworkloads/v1alpha1/zz_generated.deepcopy.go b/apis/assuredworkloads/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..8518aa8f --- /dev/null +++ b/apis/assuredworkloads/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,349 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KMSSettingsObservation) DeepCopyInto(out *KMSSettingsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KMSSettingsObservation. +func (in *KMSSettingsObservation) DeepCopy() *KMSSettingsObservation { + if in == nil { + return nil + } + out := new(KMSSettingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KMSSettingsParameters) DeepCopyInto(out *KMSSettingsParameters) { + *out = *in + if in.NextRotationTime != nil { + in, out := &in.NextRotationTime, &out.NextRotationTime + *out = new(string) + **out = **in + } + if in.RotationPeriod != nil { + in, out := &in.RotationPeriod, &out.RotationPeriod + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KMSSettingsParameters. +func (in *KMSSettingsParameters) DeepCopy() *KMSSettingsParameters { + if in == nil { + return nil + } + out := new(KMSSettingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceSettingsObservation) DeepCopyInto(out *ResourceSettingsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSettingsObservation. +func (in *ResourceSettingsObservation) DeepCopy() *ResourceSettingsObservation { + if in == nil { + return nil + } + out := new(ResourceSettingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceSettingsParameters) DeepCopyInto(out *ResourceSettingsParameters) { + *out = *in + if in.ResourceID != nil { + in, out := &in.ResourceID, &out.ResourceID + *out = new(string) + **out = **in + } + if in.ResourceType != nil { + in, out := &in.ResourceType, &out.ResourceType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSettingsParameters. +func (in *ResourceSettingsParameters) DeepCopy() *ResourceSettingsParameters { + if in == nil { + return nil + } + out := new(ResourceSettingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourcesObservation) DeepCopyInto(out *ResourcesObservation) { + *out = *in + if in.ResourceID != nil { + in, out := &in.ResourceID, &out.ResourceID + *out = new(int64) + **out = **in + } + if in.ResourceType != nil { + in, out := &in.ResourceType, &out.ResourceType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcesObservation. +func (in *ResourcesObservation) DeepCopy() *ResourcesObservation { + if in == nil { + return nil + } + out := new(ResourcesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourcesParameters) DeepCopyInto(out *ResourcesParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcesParameters. +func (in *ResourcesParameters) DeepCopy() *ResourcesParameters { + if in == nil { + return nil + } + out := new(ResourcesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Workload) DeepCopyInto(out *Workload) { + *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 Workload. +func (in *Workload) DeepCopy() *Workload { + if in == nil { + return nil + } + out := new(Workload) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Workload) 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 *WorkloadList) DeepCopyInto(out *WorkloadList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Workload, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadList. +func (in *WorkloadList) DeepCopy() *WorkloadList { + if in == nil { + return nil + } + out := new(WorkloadList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WorkloadList) 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 *WorkloadObservation) DeepCopyInto(out *WorkloadObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *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.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = make([]ResourcesObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadObservation. +func (in *WorkloadObservation) DeepCopy() *WorkloadObservation { + if in == nil { + return nil + } + out := new(WorkloadObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkloadParameters) DeepCopyInto(out *WorkloadParameters) { + *out = *in + if in.BillingAccount != nil { + in, out := &in.BillingAccount, &out.BillingAccount + *out = new(string) + **out = **in + } + if in.ComplianceRegime != nil { + in, out := &in.ComplianceRegime, &out.ComplianceRegime + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.KMSSettings != nil { + in, out := &in.KMSSettings, &out.KMSSettings + *out = make([]KMSSettingsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Organization != nil { + in, out := &in.Organization, &out.Organization + *out = new(string) + **out = **in + } + if in.ProvisionedResourcesParent != nil { + in, out := &in.ProvisionedResourcesParent, &out.ProvisionedResourcesParent + *out = new(string) + **out = **in + } + if in.ResourceSettings != nil { + in, out := &in.ResourceSettings, &out.ResourceSettings + *out = make([]ResourceSettingsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadParameters. +func (in *WorkloadParameters) DeepCopy() *WorkloadParameters { + if in == nil { + return nil + } + out := new(WorkloadParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkloadSpec) DeepCopyInto(out *WorkloadSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadSpec. +func (in *WorkloadSpec) DeepCopy() *WorkloadSpec { + if in == nil { + return nil + } + out := new(WorkloadSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkloadStatus) DeepCopyInto(out *WorkloadStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadStatus. +func (in *WorkloadStatus) DeepCopy() *WorkloadStatus { + if in == nil { + return nil + } + out := new(WorkloadStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/assuredworkloads/v1alpha1/zz_generated.managed.go b/apis/assuredworkloads/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..3b5c78a6 --- /dev/null +++ b/apis/assuredworkloads/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Workload. +func (mg *Workload) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Workload. +func (mg *Workload) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Workload. +func (mg *Workload) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Workload. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Workload) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Workload. +func (mg *Workload) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Workload. +func (mg *Workload) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Workload. +func (mg *Workload) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Workload. +func (mg *Workload) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Workload. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Workload) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Workload. +func (mg *Workload) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/assuredworkloads/v1alpha1/zz_generated.managedlist.go b/apis/assuredworkloads/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..7eaaf010 --- /dev/null +++ b/apis/assuredworkloads/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this WorkloadList. +func (l *WorkloadList) 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/assuredworkloads/v1alpha1/zz_groupversion_info.go b/apis/assuredworkloads/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..8017c3b0 --- /dev/null +++ b/apis/assuredworkloads/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=assuredworkloads.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "assuredworkloads.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/assuredworkloads/v1alpha1/zz_workload_terraformed.go b/apis/assuredworkloads/v1alpha1/zz_workload_terraformed.go new file mode 100755 index 00000000..93e07a8e --- /dev/null +++ b/apis/assuredworkloads/v1alpha1/zz_workload_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Workload +func (mg *Workload) GetTerraformResourceType() string { + return "google_assured_workloads_workload" +} + +// GetConnectionDetailsMapping for this Workload +func (tr *Workload) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Workload +func (tr *Workload) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Workload +func (tr *Workload) SetObservation(obs map[string]interface{}) 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 Workload +func (tr *Workload) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Workload +func (tr *Workload) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Workload +func (tr *Workload) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Workload using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Workload) LateInitialize(attrs []byte) (bool, error) { + params := &WorkloadParameters{} + 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 *Workload) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/assuredworkloads/v1alpha1/zz_workload_types.go b/apis/assuredworkloads/v1alpha1/zz_workload_types.go new file mode 100755 index 00000000..e469e79e --- /dev/null +++ b/apis/assuredworkloads/v1alpha1/zz_workload_types.go @@ -0,0 +1,161 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 KMSSettingsObservation struct { +} + +type KMSSettingsParameters struct { + + // Required. Input only. Immutable. The time at which the Key Management Service will automatically create a new version of the crypto key and mark it as the primary. + // +kubebuilder:validation:Required + NextRotationTime *string `json:"nextRotationTime" tf:"next_rotation_time,omitempty"` + + // Required. Input only. Immutable. will be advanced by this period when the Key Management Service automatically rotates a key. Must be at least 24 hours and at most 876,000 hours. + // +kubebuilder:validation:Required + RotationPeriod *string `json:"rotationPeriod" tf:"rotation_period,omitempty"` +} + +type ResourceSettingsObservation struct { +} + +type ResourceSettingsParameters struct { + + // Resource identifier. For a project this represents project_number. If the project is already taken, the workload creation will fail. + // +kubebuilder:validation:Optional + ResourceID *string `json:"resourceId,omitempty" tf:"resource_id,omitempty"` + + // Indicates the type of resource. This field should be specified to correspond the id to the right project type (CONSUMER_PROJECT or ENCRYPTION_KEYS_PROJECT) Possible values: RESOURCE_TYPE_UNSPECIFIED, CONSUMER_PROJECT, ENCRYPTION_KEYS_PROJECT, KEYRING, CONSUMER_FOLDER + // +kubebuilder:validation:Optional + ResourceType *string `json:"resourceType,omitempty" tf:"resource_type,omitempty"` +} + +type ResourcesObservation struct { + ResourceID *int64 `json:"resourceId,omitempty" tf:"resource_id,omitempty"` + + ResourceType *string `json:"resourceType,omitempty" tf:"resource_type,omitempty"` +} + +type ResourcesParameters struct { +} + +type WorkloadObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + Resources []ResourcesObservation `json:"resources,omitempty" tf:"resources,omitempty"` +} + +type WorkloadParameters struct { + + // Required. Input only. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, 'billingAccounts/012345-567890-ABCDEF`. + // +kubebuilder:validation:Required + BillingAccount *string `json:"billingAccount" tf:"billing_account,omitempty"` + + // Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS + // +kubebuilder:validation:Required + ComplianceRegime *string `json:"complianceRegime" tf:"compliance_regime,omitempty"` + + // Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // Input only. Settings used to create a CMEK crypto key. When set a project with a KMS CMEK key is provisioned. This field is mandatory for a subset of Compliance Regimes. + // +kubebuilder:validation:Optional + KMSSettings []KMSSettingsParameters `json:"kmsSettings,omitempty" tf:"kms_settings,omitempty"` + + // Optional. Labels applied to the workload. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The location for the resource + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // The organization for the resource + // +kubebuilder:validation:Required + Organization *string `json:"organization" tf:"organization,omitempty"` + + // Input only. The parent resource for the resources managed by this Assured Workload. May be either an organization or a folder. Must be the same or a child of the Workload parent. If not specified all resources are created under the Workload parent. Formats: folders/{folder_id}, organizations/{organization_id} + // +kubebuilder:validation:Optional + ProvisionedResourcesParent *string `json:"provisionedResourcesParent,omitempty" tf:"provisioned_resources_parent,omitempty"` + + // Input only. Resource properties that are used to customize workload resources. These properties (such as custom project id) will be used to create workload resources if possible. This field is optional. + // +kubebuilder:validation:Optional + ResourceSettings []ResourceSettingsParameters `json:"resourceSettings,omitempty" tf:"resource_settings,omitempty"` +} + +// WorkloadSpec defines the desired state of Workload +type WorkloadSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WorkloadParameters `json:"forProvider"` +} + +// WorkloadStatus defines the observed state of Workload. +type WorkloadStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WorkloadObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Workload is the Schema for the Workloads 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,gcpjet} +type Workload struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WorkloadSpec `json:"spec"` + Status WorkloadStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WorkloadList contains a list of Workloads +type WorkloadList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Workload `json:"items"` +} + +// Repository type metadata. +var ( + Workload_Kind = "Workload" + Workload_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Workload_Kind}.String() + Workload_KindAPIVersion = Workload_Kind + "." + CRDGroupVersion.String() + Workload_GroupVersionKind = CRDGroupVersion.WithKind(Workload_Kind) +) + +func init() { + SchemeBuilder.Register(&Workload{}, &WorkloadList{}) +} diff --git a/apis/bigquery/v1alpha1/zz_dataset_terraformed.go b/apis/bigquery/v1alpha1/zz_dataset_terraformed.go new file mode 100755 index 00000000..43852fe4 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_dataset_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Dataset +func (mg *Dataset) GetTerraformResourceType() string { + return "google_bigquery_dataset" +} + +// GetConnectionDetailsMapping for this Dataset +func (tr *Dataset) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Dataset +func (tr *Dataset) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Dataset +func (tr *Dataset) SetObservation(obs map[string]interface{}) 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 Dataset +func (tr *Dataset) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Dataset +func (tr *Dataset) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Dataset +func (tr *Dataset) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Dataset using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Dataset) LateInitialize(attrs []byte) (bool, error) { + params := &DatasetParameters{} + 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 *Dataset) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigquery/v1alpha1/zz_dataset_types.go b/apis/bigquery/v1alpha1/zz_dataset_types.go new file mode 100755 index 00000000..25cec772 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_dataset_types.go @@ -0,0 +1,258 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AccessObservation struct { +} + +type AccessParameters struct { + + // A domain to grant access to. Any users signed in with the + // domain specified will be granted the specified access + // +kubebuilder:validation:Optional + Domain *string `json:"domain,omitempty" tf:"domain,omitempty"` + + // An email address of a Google Group to grant access to. + // +kubebuilder:validation:Optional + GroupByEmail *string `json:"groupByEmail,omitempty" tf:"group_by_email,omitempty"` + + // Describes the rights granted to the user specified by the other + // member of the access object. Basic, predefined, and custom roles + // are supported. Predefined roles that have equivalent basic roles + // are swapped by the API to their basic counterparts. See + // [official docs](https://cloud.google.com/bigquery/docs/access-control). + // +kubebuilder:validation:Optional + Role *string `json:"role,omitempty" tf:"role,omitempty"` + + // A special group to grant access to. Possible values include: + // + // + // * 'projectOwners': Owners of the enclosing project. + // + // + // * 'projectReaders': Readers of the enclosing project. + // + // + // * 'projectWriters': Writers of the enclosing project. + // + // + // * 'allAuthenticatedUsers': All authenticated BigQuery users. + // +kubebuilder:validation:Optional + SpecialGroup *string `json:"specialGroup,omitempty" tf:"special_group,omitempty"` + + // An email address of a user to grant access to. For example: + // fred@example.com + // +kubebuilder:validation:Optional + UserByEmail *string `json:"userByEmail,omitempty" tf:"user_by_email,omitempty"` + + // A view from a different dataset to grant access to. Queries + // executed against that view will have read access to tables in + // this dataset. The role field is not required when this field is + // set. If that view is updated by any user, access to the view + // needs to be granted again via an update operation. + // +kubebuilder:validation:Optional + View []ViewParameters `json:"view,omitempty" tf:"view,omitempty"` +} + +type DatasetObservation struct { + CreationTime *int64 `json:"creationTime,omitempty" tf:"creation_time,omitempty"` + + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LastModifiedTime *int64 `json:"lastModifiedTime,omitempty" tf:"last_modified_time,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type DatasetParameters struct { + + // An array of objects that define dataset access for one or more entities. + // +kubebuilder:validation:Optional + Access []AccessParameters `json:"access,omitempty" tf:"access,omitempty"` + + // A unique ID for this dataset, without the project name. The ID + // must contain only letters (a-z, A-Z), numbers (0-9), or + // underscores (_). The maximum length is 1,024 characters. + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // The default encryption key for all tables in the dataset. Once this property is set, + // all newly-created partitioned tables in the dataset will have encryption key set to + // this value, unless table creation request (or query) overrides the key. + // +kubebuilder:validation:Optional + DefaultEncryptionConfiguration []DefaultEncryptionConfigurationParameters `json:"defaultEncryptionConfiguration,omitempty" tf:"default_encryption_configuration,omitempty"` + + // The default partition expiration for all partitioned tables in + // the dataset, in milliseconds. + // + // + // Once this property is set, all newly-created partitioned tables in + // the dataset will have an 'expirationMs' property in the 'timePartitioning' + // settings set to this value, and changing the value will only + // affect new tables, not existing ones. The storage in a partition will + // have an expiration time of its partition time plus this value. + // Setting this property overrides the use of 'defaultTableExpirationMs' + // for partitioned tables: only one of 'defaultTableExpirationMs' and + // 'defaultPartitionExpirationMs' will be used for any new partitioned + // table. If you provide an explicit 'timePartitioning.expirationMs' when + // creating or updating a partitioned table, that value takes precedence + // over the default partition expiration time indicated by this property. + // +kubebuilder:validation:Optional + DefaultPartitionExpirationMs *int64 `json:"defaultPartitionExpirationMs,omitempty" tf:"default_partition_expiration_ms,omitempty"` + + // The default lifetime of all tables in the dataset, in milliseconds. + // The minimum value is 3600000 milliseconds (one hour). + // + // + // Once this property is set, all newly-created tables in the dataset + // will have an 'expirationTime' property set to the creation time plus + // the value in this property, and changing the value will only affect + // new tables, not existing ones. When the 'expirationTime' for a given + // table is reached, that table will be deleted automatically. + // If a table's 'expirationTime' is modified or removed before the + // table expires, or if you provide an explicit 'expirationTime' when + // creating a table, that value takes precedence over the default + // expiration time indicated by this property. + // +kubebuilder:validation:Optional + DefaultTableExpirationMs *int64 `json:"defaultTableExpirationMs,omitempty" tf:"default_table_expiration_ms,omitempty"` + + // +kubebuilder:validation:Optional + DeleteContentsOnDestroy *bool `json:"deleteContentsOnDestroy,omitempty" tf:"delete_contents_on_destroy,omitempty"` + + // A user-friendly description of the dataset + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // A descriptive name for the dataset + // +kubebuilder:validation:Optional + FriendlyName *string `json:"friendlyName,omitempty" tf:"friendly_name,omitempty"` + + // The labels associated with this dataset. You can use these to + // organize and group your datasets + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The geographic location where the dataset should reside. + // See [official docs](https://cloud.google.com/bigquery/docs/dataset-locations). + // + // + // There are two types of locations, regional or multi-regional. A regional + // location is a specific geographic place, such as Tokyo, and a multi-regional + // location is a large geographic area, such as the United States, that + // contains at least two geographic places. + // + // + // The default value is multi-regional location 'US'. + // Changing this forces a new resource to be created. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +type DefaultEncryptionConfigurationObservation struct { +} + +type DefaultEncryptionConfigurationParameters struct { + + // Describes the Cloud KMS encryption key that will be used to protect destination + // BigQuery table. The BigQuery Service Account associated with your project requires + // access to this encryption key. + // +kubebuilder:validation:Required + KMSKeyName *string `json:"kmsKeyName" tf:"kms_key_name,omitempty"` +} + +type ViewObservation struct { +} + +type ViewParameters struct { + + // The ID of the dataset containing this table. + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // The ID of the project containing this table. + // +kubebuilder:validation:Required + ProjectID *string `json:"projectId" tf:"project_id,omitempty"` + + // The ID of the table. The ID must contain only letters (a-z, + // A-Z), numbers (0-9), or underscores (_). The maximum length + // is 1,024 characters. + // +kubebuilder:validation:Required + TableID *string `json:"tableId" tf:"table_id,omitempty"` +} + +// DatasetSpec defines the desired state of Dataset +type DatasetSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DatasetParameters `json:"forProvider"` +} + +// DatasetStatus defines the observed state of Dataset. +type DatasetStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DatasetObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Dataset is the Schema for the Datasets 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,gcpjet} +type Dataset struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DatasetSpec `json:"spec"` + Status DatasetStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetList contains a list of Datasets +type DatasetList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Dataset `json:"items"` +} + +// Repository type metadata. +var ( + Dataset_Kind = "Dataset" + Dataset_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Dataset_Kind}.String() + Dataset_KindAPIVersion = Dataset_Kind + "." + CRDGroupVersion.String() + Dataset_GroupVersionKind = CRDGroupVersion.WithKind(Dataset_Kind) +) + +func init() { + SchemeBuilder.Register(&Dataset{}, &DatasetList{}) +} diff --git a/apis/bigquery/v1alpha1/zz_datasetaccess_terraformed.go b/apis/bigquery/v1alpha1/zz_datasetaccess_terraformed.go new file mode 100755 index 00000000..dbb96d71 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_datasetaccess_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DatasetAccess +func (mg *DatasetAccess) GetTerraformResourceType() string { + return "google_bigquery_dataset_access" +} + +// GetConnectionDetailsMapping for this DatasetAccess +func (tr *DatasetAccess) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DatasetAccess +func (tr *DatasetAccess) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DatasetAccess +func (tr *DatasetAccess) SetObservation(obs map[string]interface{}) 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 DatasetAccess +func (tr *DatasetAccess) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DatasetAccess +func (tr *DatasetAccess) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DatasetAccess +func (tr *DatasetAccess) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DatasetAccess using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DatasetAccess) LateInitialize(attrs []byte) (bool, error) { + params := &DatasetAccessParameters{} + 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 *DatasetAccess) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigquery/v1alpha1/zz_datasetaccess_types.go b/apis/bigquery/v1alpha1/zz_datasetaccess_types.go new file mode 100755 index 00000000..418a1f03 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_datasetaccess_types.go @@ -0,0 +1,165 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DatasetAccessObservation struct { + APIUpdatedMember *bool `json:"apiUpdatedMember,omitempty" tf:"api_updated_member,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DatasetAccessParameters struct { + + // A unique ID for this dataset, without the project name. The ID + // must contain only letters (a-z, A-Z), numbers (0-9), or + // underscores (_). The maximum length is 1,024 characters. + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // A domain to grant access to. Any users signed in with the + // domain specified will be granted the specified access + // +kubebuilder:validation:Optional + Domain *string `json:"domain,omitempty" tf:"domain,omitempty"` + + // An email address of a Google Group to grant access to. + // +kubebuilder:validation:Optional + GroupByEmail *string `json:"groupByEmail,omitempty" tf:"group_by_email,omitempty"` + + // Some other type of member that appears in the IAM Policy but isn't a user, + // group, domain, or special group. For example: 'allUsers' + // +kubebuilder:validation:Optional + IAMMember *string `json:"iamMember,omitempty" tf:"iam_member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Describes the rights granted to the user specified by the other + // member of the access object. Basic, predefined, and custom roles are + // supported. Predefined roles that have equivalent basic roles are + // swapped by the API to their basic counterparts, and will show a diff + // post-create. See + // [official docs](https://cloud.google.com/bigquery/docs/access-control). + // +kubebuilder:validation:Optional + Role *string `json:"role,omitempty" tf:"role,omitempty"` + + // A special group to grant access to. Possible values include: + // + // + // * 'projectOwners': Owners of the enclosing project. + // + // + // * 'projectReaders': Readers of the enclosing project. + // + // + // * 'projectWriters': Writers of the enclosing project. + // + // + // * 'allAuthenticatedUsers': All authenticated BigQuery users. + // +kubebuilder:validation:Optional + SpecialGroup *string `json:"specialGroup,omitempty" tf:"special_group,omitempty"` + + // An email address of a user to grant access to. For example: + // fred@example.com + // +kubebuilder:validation:Optional + UserByEmail *string `json:"userByEmail,omitempty" tf:"user_by_email,omitempty"` + + // A view from a different dataset to grant access to. Queries + // executed against that view will have read access to tables in + // this dataset. The role field is not required when this field is + // set. If that view is updated by any user, access to the view + // needs to be granted again via an update operation. + // +kubebuilder:validation:Optional + View []DatasetAccessViewParameters `json:"view,omitempty" tf:"view,omitempty"` +} + +type DatasetAccessViewObservation struct { +} + +type DatasetAccessViewParameters struct { + + // The ID of the dataset containing this table. + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // The ID of the project containing this table. + // +kubebuilder:validation:Required + ProjectID *string `json:"projectId" tf:"project_id,omitempty"` + + // The ID of the table. The ID must contain only letters (a-z, + // A-Z), numbers (0-9), or underscores (_). The maximum length + // is 1,024 characters. + // +kubebuilder:validation:Required + TableID *string `json:"tableId" tf:"table_id,omitempty"` +} + +// DatasetAccessSpec defines the desired state of DatasetAccess +type DatasetAccessSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DatasetAccessParameters `json:"forProvider"` +} + +// DatasetAccessStatus defines the observed state of DatasetAccess. +type DatasetAccessStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DatasetAccessObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetAccess is the Schema for the DatasetAccesss 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,gcpjet} +type DatasetAccess struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DatasetAccessSpec `json:"spec"` + Status DatasetAccessStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetAccessList contains a list of DatasetAccesss +type DatasetAccessList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DatasetAccess `json:"items"` +} + +// Repository type metadata. +var ( + DatasetAccess_Kind = "DatasetAccess" + DatasetAccess_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DatasetAccess_Kind}.String() + DatasetAccess_KindAPIVersion = DatasetAccess_Kind + "." + CRDGroupVersion.String() + DatasetAccess_GroupVersionKind = CRDGroupVersion.WithKind(DatasetAccess_Kind) +) + +func init() { + SchemeBuilder.Register(&DatasetAccess{}, &DatasetAccessList{}) +} diff --git a/apis/bigquery/v1alpha1/zz_datasetiambinding_terraformed.go b/apis/bigquery/v1alpha1/zz_datasetiambinding_terraformed.go new file mode 100755 index 00000000..0127d9e2 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_datasetiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DatasetIAMBinding +func (mg *DatasetIAMBinding) GetTerraformResourceType() string { + return "google_bigquery_dataset_iam_binding" +} + +// GetConnectionDetailsMapping for this DatasetIAMBinding +func (tr *DatasetIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DatasetIAMBinding +func (tr *DatasetIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DatasetIAMBinding +func (tr *DatasetIAMBinding) SetObservation(obs map[string]interface{}) 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 DatasetIAMBinding +func (tr *DatasetIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DatasetIAMBinding +func (tr *DatasetIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DatasetIAMBinding +func (tr *DatasetIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DatasetIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DatasetIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &DatasetIAMBindingParameters{} + 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 *DatasetIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigquery/v1alpha1/zz_datasetiambinding_types.go b/apis/bigquery/v1alpha1/zz_datasetiambinding_types.go new file mode 100755 index 00000000..3d077104 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_datasetiambinding_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type DatasetIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DatasetIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// DatasetIAMBindingSpec defines the desired state of DatasetIAMBinding +type DatasetIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DatasetIAMBindingParameters `json:"forProvider"` +} + +// DatasetIAMBindingStatus defines the observed state of DatasetIAMBinding. +type DatasetIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DatasetIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetIAMBinding is the Schema for the DatasetIAMBindings 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,gcpjet} +type DatasetIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DatasetIAMBindingSpec `json:"spec"` + Status DatasetIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetIAMBindingList contains a list of DatasetIAMBindings +type DatasetIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DatasetIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + DatasetIAMBinding_Kind = "DatasetIAMBinding" + DatasetIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DatasetIAMBinding_Kind}.String() + DatasetIAMBinding_KindAPIVersion = DatasetIAMBinding_Kind + "." + CRDGroupVersion.String() + DatasetIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(DatasetIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&DatasetIAMBinding{}, &DatasetIAMBindingList{}) +} diff --git a/apis/bigquery/v1alpha1/zz_datasetiammember_terraformed.go b/apis/bigquery/v1alpha1/zz_datasetiammember_terraformed.go new file mode 100755 index 00000000..8b333c49 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_datasetiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DatasetIAMMember +func (mg *DatasetIAMMember) GetTerraformResourceType() string { + return "google_bigquery_dataset_iam_member" +} + +// GetConnectionDetailsMapping for this DatasetIAMMember +func (tr *DatasetIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DatasetIAMMember +func (tr *DatasetIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DatasetIAMMember +func (tr *DatasetIAMMember) SetObservation(obs map[string]interface{}) 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 DatasetIAMMember +func (tr *DatasetIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DatasetIAMMember +func (tr *DatasetIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DatasetIAMMember +func (tr *DatasetIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DatasetIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DatasetIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &DatasetIAMMemberParameters{} + 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 *DatasetIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigquery/v1alpha1/zz_datasetiammember_types.go b/apis/bigquery/v1alpha1/zz_datasetiammember_types.go new file mode 100755 index 00000000..eae46f3e --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_datasetiammember_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DatasetIAMMemberConditionObservation struct { +} + +type DatasetIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type DatasetIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DatasetIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []DatasetIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// DatasetIAMMemberSpec defines the desired state of DatasetIAMMember +type DatasetIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DatasetIAMMemberParameters `json:"forProvider"` +} + +// DatasetIAMMemberStatus defines the observed state of DatasetIAMMember. +type DatasetIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DatasetIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetIAMMember is the Schema for the DatasetIAMMembers 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,gcpjet} +type DatasetIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DatasetIAMMemberSpec `json:"spec"` + Status DatasetIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetIAMMemberList contains a list of DatasetIAMMembers +type DatasetIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DatasetIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + DatasetIAMMember_Kind = "DatasetIAMMember" + DatasetIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DatasetIAMMember_Kind}.String() + DatasetIAMMember_KindAPIVersion = DatasetIAMMember_Kind + "." + CRDGroupVersion.String() + DatasetIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(DatasetIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&DatasetIAMMember{}, &DatasetIAMMemberList{}) +} diff --git a/apis/bigquery/v1alpha1/zz_datasetiampolicy_terraformed.go b/apis/bigquery/v1alpha1/zz_datasetiampolicy_terraformed.go new file mode 100755 index 00000000..6a250e29 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_datasetiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DatasetIAMPolicy +func (mg *DatasetIAMPolicy) GetTerraformResourceType() string { + return "google_bigquery_dataset_iam_policy" +} + +// GetConnectionDetailsMapping for this DatasetIAMPolicy +func (tr *DatasetIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DatasetIAMPolicy +func (tr *DatasetIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DatasetIAMPolicy +func (tr *DatasetIAMPolicy) SetObservation(obs map[string]interface{}) 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 DatasetIAMPolicy +func (tr *DatasetIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DatasetIAMPolicy +func (tr *DatasetIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DatasetIAMPolicy +func (tr *DatasetIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DatasetIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DatasetIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &DatasetIAMPolicyParameters{} + 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 *DatasetIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigquery/v1alpha1/zz_datasetiampolicy_types.go b/apis/bigquery/v1alpha1/zz_datasetiampolicy_types.go new file mode 100755 index 00000000..384507f5 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_datasetiampolicy_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DatasetIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DatasetIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// DatasetIAMPolicySpec defines the desired state of DatasetIAMPolicy +type DatasetIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DatasetIAMPolicyParameters `json:"forProvider"` +} + +// DatasetIAMPolicyStatus defines the observed state of DatasetIAMPolicy. +type DatasetIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DatasetIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetIAMPolicy is the Schema for the DatasetIAMPolicys 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,gcpjet} +type DatasetIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DatasetIAMPolicySpec `json:"spec"` + Status DatasetIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetIAMPolicyList contains a list of DatasetIAMPolicys +type DatasetIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DatasetIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + DatasetIAMPolicy_Kind = "DatasetIAMPolicy" + DatasetIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DatasetIAMPolicy_Kind}.String() + DatasetIAMPolicy_KindAPIVersion = DatasetIAMPolicy_Kind + "." + CRDGroupVersion.String() + DatasetIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(DatasetIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&DatasetIAMPolicy{}, &DatasetIAMPolicyList{}) +} diff --git a/apis/bigquery/v1alpha1/zz_datatransferconfig_terraformed.go b/apis/bigquery/v1alpha1/zz_datatransferconfig_terraformed.go new file mode 100755 index 00000000..8335450e --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_datatransferconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DataTransferConfig +func (mg *DataTransferConfig) GetTerraformResourceType() string { + return "google_bigquery_data_transfer_config" +} + +// GetConnectionDetailsMapping for this DataTransferConfig +func (tr *DataTransferConfig) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"sensitive_params[*].secret_access_key": "spec.forProvider.sensitiveParams[*].secretAccessKeySecretRef"} +} + +// GetObservation of this DataTransferConfig +func (tr *DataTransferConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DataTransferConfig +func (tr *DataTransferConfig) SetObservation(obs map[string]interface{}) 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 DataTransferConfig +func (tr *DataTransferConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DataTransferConfig +func (tr *DataTransferConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DataTransferConfig +func (tr *DataTransferConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DataTransferConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DataTransferConfig) LateInitialize(attrs []byte) (bool, error) { + params := &DataTransferConfigParameters{} + 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 *DataTransferConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigquery/v1alpha1/zz_datatransferconfig_types.go b/apis/bigquery/v1alpha1/zz_datatransferconfig_types.go new file mode 100755 index 00000000..da8ee13d --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_datatransferconfig_types.go @@ -0,0 +1,210 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DataTransferConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type DataTransferConfigParameters struct { + + // The number of days to look back to automatically refresh the data. + // For example, if dataRefreshWindowDays = 10, then every day BigQuery + // reingests data for [today-10, today-1], rather than ingesting data for + // just [today-1]. Only valid if the data source supports the feature. + // Set the value to 0 to use the default value. + // +kubebuilder:validation:Optional + DataRefreshWindowDays *int64 `json:"dataRefreshWindowDays,omitempty" tf:"data_refresh_window_days,omitempty"` + + // The data source id. Cannot be changed once the transfer config is created. + // +kubebuilder:validation:Required + DataSourceID *string `json:"dataSourceId" tf:"data_source_id,omitempty"` + + // The BigQuery target dataset id. + // +kubebuilder:validation:Optional + DestinationDatasetID *string `json:"destinationDatasetId,omitempty" tf:"destination_dataset_id,omitempty"` + + // When set to true, no runs are scheduled for a given transfer. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // The user specified display name for the transfer config. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // Email notifications will be sent according to these preferences to the + // email address of the user who owns this transfer config. + // +kubebuilder:validation:Optional + EmailPreferences []EmailPreferencesParameters `json:"emailPreferences,omitempty" tf:"email_preferences,omitempty"` + + // The geographic location where the transfer config should reside. + // Examples: US, EU, asia-northeast1. The default value is US. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // Pub/Sub topic where notifications will be sent after transfer runs + // associated with this transfer config finish. + // +kubebuilder:validation:Optional + NotificationPubsubTopic *string `json:"notificationPubsubTopic,omitempty" tf:"notification_pubsub_topic,omitempty"` + + // These parameters are specific to each data source. + // +kubebuilder:validation:Required + Params map[string]*string `json:"params" tf:"params,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Data transfer schedule. If the data source does not support a custom + // schedule, this should be empty. If it is empty, the default value for + // the data source will be used. The specified times are in UTC. Examples + // of valid format: 1st,3rd monday of month 15:30, every wed,fri of jan, + // jun 13:15, and first sunday of quarter 00:00. See more explanation + // about the format here: + // https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format + // NOTE: the granularity should be at least 8 hours, or less frequent. + // +kubebuilder:validation:Optional + Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"` + + // Options customizing the data transfer schedule. + // +kubebuilder:validation:Optional + ScheduleOptions []ScheduleOptionsParameters `json:"scheduleOptions,omitempty" tf:"schedule_options,omitempty"` + + // Different parameters are configured primarily using the the 'params' field on this + // resource. This block contains the parameters which contain secrets or passwords so that they can be marked + // sensitive and hidden from plan output. The name of the field, eg: secret_access_key, will be the key + // in the 'params' map in the api request. + // + // Credentials may not be specified in both locations and will cause an error. Changing from one location + // to a different credential configuration in the config will require an apply to update state. + // +kubebuilder:validation:Optional + SensitiveParams []SensitiveParamsParameters `json:"sensitiveParams,omitempty" tf:"sensitive_params,omitempty"` + + // Optional service account name. If this field is set, transfer config will + // be created with this service account credentials. It requires that + // requesting user calling this API has permissions to act as this service account. + // +kubebuilder:validation:Optional + ServiceAccountName *string `json:"serviceAccountName,omitempty" tf:"service_account_name,omitempty"` +} + +type EmailPreferencesObservation struct { +} + +type EmailPreferencesParameters struct { + + // If true, email notifications will be sent on transfer run failures. + // +kubebuilder:validation:Required + EnableFailureEmail *bool `json:"enableFailureEmail" tf:"enable_failure_email,omitempty"` +} + +type ScheduleOptionsObservation struct { +} + +type ScheduleOptionsParameters struct { + + // If true, automatic scheduling of data transfer runs for this + // configuration will be disabled. The runs can be started on ad-hoc + // basis using transferConfigs.startManualRuns API. When automatic + // scheduling is disabled, the TransferConfig.schedule field will + // be ignored. + // +kubebuilder:validation:Optional + DisableAutoScheduling *bool `json:"disableAutoScheduling,omitempty" tf:"disable_auto_scheduling,omitempty"` + + // Defines time to stop scheduling transfer runs. A transfer run cannot be + // scheduled at or after the end time. The end time can be changed at any + // moment. The time when a data transfer can be triggered manually is not + // limited by this option. + // +kubebuilder:validation:Optional + EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"` + + // Specifies time to start scheduling transfer runs. The first run will be + // scheduled at or after the start time according to a recurrence pattern + // defined in the schedule string. The start time can be changed at any + // moment. The time when a data transfer can be triggered manually is not + // limited by this option. + // +kubebuilder:validation:Optional + StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"` +} + +type SensitiveParamsObservation struct { +} + +type SensitiveParamsParameters struct { + + // The Secret Access Key of the AWS account transferring data from. + // +kubebuilder:validation:Required + SecretAccessKeySecretRef v1.SecretKeySelector `json:"secretAccessKeySecretRef" tf:"-"` +} + +// DataTransferConfigSpec defines the desired state of DataTransferConfig +type DataTransferConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DataTransferConfigParameters `json:"forProvider"` +} + +// DataTransferConfigStatus defines the observed state of DataTransferConfig. +type DataTransferConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DataTransferConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DataTransferConfig is the Schema for the DataTransferConfigs 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,gcpjet} +type DataTransferConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DataTransferConfigSpec `json:"spec"` + Status DataTransferConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DataTransferConfigList contains a list of DataTransferConfigs +type DataTransferConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DataTransferConfig `json:"items"` +} + +// Repository type metadata. +var ( + DataTransferConfig_Kind = "DataTransferConfig" + DataTransferConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DataTransferConfig_Kind}.String() + DataTransferConfig_KindAPIVersion = DataTransferConfig_Kind + "." + CRDGroupVersion.String() + DataTransferConfig_GroupVersionKind = CRDGroupVersion.WithKind(DataTransferConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&DataTransferConfig{}, &DataTransferConfigList{}) +} diff --git a/apis/bigquery/v1alpha1/zz_generated.deepcopy.go b/apis/bigquery/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..a4fefaa1 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,4588 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessObservation) DeepCopyInto(out *AccessObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessObservation. +func (in *AccessObservation) DeepCopy() *AccessObservation { + if in == nil { + return nil + } + out := new(AccessObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessParameters) DeepCopyInto(out *AccessParameters) { + *out = *in + if in.Domain != nil { + in, out := &in.Domain, &out.Domain + *out = new(string) + **out = **in + } + if in.GroupByEmail != nil { + in, out := &in.GroupByEmail, &out.GroupByEmail + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.SpecialGroup != nil { + in, out := &in.SpecialGroup, &out.SpecialGroup + *out = new(string) + **out = **in + } + if in.UserByEmail != nil { + in, out := &in.UserByEmail, &out.UserByEmail + *out = new(string) + **out = **in + } + if in.View != nil { + in, out := &in.View, &out.View + *out = make([]ViewParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessParameters. +func (in *AccessParameters) DeepCopy() *AccessParameters { + if in == nil { + return nil + } + out := new(AccessParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ArgumentsObservation) DeepCopyInto(out *ArgumentsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArgumentsObservation. +func (in *ArgumentsObservation) DeepCopy() *ArgumentsObservation { + if in == nil { + return nil + } + out := new(ArgumentsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ArgumentsParameters) DeepCopyInto(out *ArgumentsParameters) { + *out = *in + if in.ArgumentKind != nil { + in, out := &in.ArgumentKind, &out.ArgumentKind + *out = new(string) + **out = **in + } + if in.DataType != nil { + in, out := &in.DataType, &out.DataType + *out = new(string) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **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 ArgumentsParameters. +func (in *ArgumentsParameters) DeepCopy() *ArgumentsParameters { + if in == nil { + return nil + } + out := new(ArgumentsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CopyObservation) DeepCopyInto(out *CopyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CopyObservation. +func (in *CopyObservation) DeepCopy() *CopyObservation { + if in == nil { + return nil + } + out := new(CopyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CopyParameters) DeepCopyInto(out *CopyParameters) { + *out = *in + if in.CreateDisposition != nil { + in, out := &in.CreateDisposition, &out.CreateDisposition + *out = new(string) + **out = **in + } + if in.DestinationEncryptionConfiguration != nil { + in, out := &in.DestinationEncryptionConfiguration, &out.DestinationEncryptionConfiguration + *out = make([]DestinationEncryptionConfigurationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DestinationTable != nil { + in, out := &in.DestinationTable, &out.DestinationTable + *out = make([]DestinationTableParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SourceTables != nil { + in, out := &in.SourceTables, &out.SourceTables + *out = make([]SourceTablesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WriteDisposition != nil { + in, out := &in.WriteDisposition, &out.WriteDisposition + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CopyParameters. +func (in *CopyParameters) DeepCopy() *CopyParameters { + if in == nil { + return nil + } + out := new(CopyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CsvOptionsObservation) DeepCopyInto(out *CsvOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CsvOptionsObservation. +func (in *CsvOptionsObservation) DeepCopy() *CsvOptionsObservation { + if in == nil { + return nil + } + out := new(CsvOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CsvOptionsParameters) DeepCopyInto(out *CsvOptionsParameters) { + *out = *in + if in.AllowJaggedRows != nil { + in, out := &in.AllowJaggedRows, &out.AllowJaggedRows + *out = new(bool) + **out = **in + } + if in.AllowQuotedNewlines != nil { + in, out := &in.AllowQuotedNewlines, &out.AllowQuotedNewlines + *out = new(bool) + **out = **in + } + if in.Encoding != nil { + in, out := &in.Encoding, &out.Encoding + *out = new(string) + **out = **in + } + if in.FieldDelimiter != nil { + in, out := &in.FieldDelimiter, &out.FieldDelimiter + *out = new(string) + **out = **in + } + if in.Quote != nil { + in, out := &in.Quote, &out.Quote + *out = new(string) + **out = **in + } + if in.SkipLeadingRows != nil { + in, out := &in.SkipLeadingRows, &out.SkipLeadingRows + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CsvOptionsParameters. +func (in *CsvOptionsParameters) DeepCopy() *CsvOptionsParameters { + if in == nil { + return nil + } + out := new(CsvOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DataTransferConfig) DeepCopyInto(out *DataTransferConfig) { + *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 DataTransferConfig. +func (in *DataTransferConfig) DeepCopy() *DataTransferConfig { + if in == nil { + return nil + } + out := new(DataTransferConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DataTransferConfig) 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 *DataTransferConfigList) DeepCopyInto(out *DataTransferConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DataTransferConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataTransferConfigList. +func (in *DataTransferConfigList) DeepCopy() *DataTransferConfigList { + if in == nil { + return nil + } + out := new(DataTransferConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DataTransferConfigList) 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 *DataTransferConfigObservation) DeepCopyInto(out *DataTransferConfigObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataTransferConfigObservation. +func (in *DataTransferConfigObservation) DeepCopy() *DataTransferConfigObservation { + if in == nil { + return nil + } + out := new(DataTransferConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DataTransferConfigParameters) DeepCopyInto(out *DataTransferConfigParameters) { + *out = *in + if in.DataRefreshWindowDays != nil { + in, out := &in.DataRefreshWindowDays, &out.DataRefreshWindowDays + *out = new(int64) + **out = **in + } + if in.DataSourceID != nil { + in, out := &in.DataSourceID, &out.DataSourceID + *out = new(string) + **out = **in + } + if in.DestinationDatasetID != nil { + in, out := &in.DestinationDatasetID, &out.DestinationDatasetID + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.EmailPreferences != nil { + in, out := &in.EmailPreferences, &out.EmailPreferences + *out = make([]EmailPreferencesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.NotificationPubsubTopic != nil { + in, out := &in.NotificationPubsubTopic, &out.NotificationPubsubTopic + *out = new(string) + **out = **in + } + if in.Params != nil { + in, out := &in.Params, &out.Params + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Schedule != nil { + in, out := &in.Schedule, &out.Schedule + *out = new(string) + **out = **in + } + if in.ScheduleOptions != nil { + in, out := &in.ScheduleOptions, &out.ScheduleOptions + *out = make([]ScheduleOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SensitiveParams != nil { + in, out := &in.SensitiveParams, &out.SensitiveParams + *out = make([]SensitiveParamsParameters, len(*in)) + copy(*out, *in) + } + if in.ServiceAccountName != nil { + in, out := &in.ServiceAccountName, &out.ServiceAccountName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataTransferConfigParameters. +func (in *DataTransferConfigParameters) DeepCopy() *DataTransferConfigParameters { + if in == nil { + return nil + } + out := new(DataTransferConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DataTransferConfigSpec) DeepCopyInto(out *DataTransferConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataTransferConfigSpec. +func (in *DataTransferConfigSpec) DeepCopy() *DataTransferConfigSpec { + if in == nil { + return nil + } + out := new(DataTransferConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DataTransferConfigStatus) DeepCopyInto(out *DataTransferConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataTransferConfigStatus. +func (in *DataTransferConfigStatus) DeepCopy() *DataTransferConfigStatus { + if in == nil { + return nil + } + out := new(DataTransferConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Dataset) DeepCopyInto(out *Dataset) { + *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 Dataset. +func (in *Dataset) DeepCopy() *Dataset { + if in == nil { + return nil + } + out := new(Dataset) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Dataset) 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 *DatasetAccess) DeepCopyInto(out *DatasetAccess) { + *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 DatasetAccess. +func (in *DatasetAccess) DeepCopy() *DatasetAccess { + if in == nil { + return nil + } + out := new(DatasetAccess) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetAccess) 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 *DatasetAccessList) DeepCopyInto(out *DatasetAccessList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DatasetAccess, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetAccessList. +func (in *DatasetAccessList) DeepCopy() *DatasetAccessList { + if in == nil { + return nil + } + out := new(DatasetAccessList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetAccessList) 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 *DatasetAccessObservation) DeepCopyInto(out *DatasetAccessObservation) { + *out = *in + if in.APIUpdatedMember != nil { + in, out := &in.APIUpdatedMember, &out.APIUpdatedMember + *out = new(bool) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetAccessObservation. +func (in *DatasetAccessObservation) DeepCopy() *DatasetAccessObservation { + if in == nil { + return nil + } + out := new(DatasetAccessObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetAccessParameters) DeepCopyInto(out *DatasetAccessParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.Domain != nil { + in, out := &in.Domain, &out.Domain + *out = new(string) + **out = **in + } + if in.GroupByEmail != nil { + in, out := &in.GroupByEmail, &out.GroupByEmail + *out = new(string) + **out = **in + } + if in.IAMMember != nil { + in, out := &in.IAMMember, &out.IAMMember + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.SpecialGroup != nil { + in, out := &in.SpecialGroup, &out.SpecialGroup + *out = new(string) + **out = **in + } + if in.UserByEmail != nil { + in, out := &in.UserByEmail, &out.UserByEmail + *out = new(string) + **out = **in + } + if in.View != nil { + in, out := &in.View, &out.View + *out = make([]DatasetAccessViewParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetAccessParameters. +func (in *DatasetAccessParameters) DeepCopy() *DatasetAccessParameters { + if in == nil { + return nil + } + out := new(DatasetAccessParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetAccessSpec) DeepCopyInto(out *DatasetAccessSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetAccessSpec. +func (in *DatasetAccessSpec) DeepCopy() *DatasetAccessSpec { + if in == nil { + return nil + } + out := new(DatasetAccessSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetAccessStatus) DeepCopyInto(out *DatasetAccessStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetAccessStatus. +func (in *DatasetAccessStatus) DeepCopy() *DatasetAccessStatus { + if in == nil { + return nil + } + out := new(DatasetAccessStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetAccessViewObservation) DeepCopyInto(out *DatasetAccessViewObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetAccessViewObservation. +func (in *DatasetAccessViewObservation) DeepCopy() *DatasetAccessViewObservation { + if in == nil { + return nil + } + out := new(DatasetAccessViewObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetAccessViewParameters) DeepCopyInto(out *DatasetAccessViewParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetAccessViewParameters. +func (in *DatasetAccessViewParameters) DeepCopy() *DatasetAccessViewParameters { + if in == nil { + return nil + } + out := new(DatasetAccessViewParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMBinding) DeepCopyInto(out *DatasetIAMBinding) { + *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 DatasetIAMBinding. +func (in *DatasetIAMBinding) DeepCopy() *DatasetIAMBinding { + if in == nil { + return nil + } + out := new(DatasetIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetIAMBinding) 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 *DatasetIAMBindingList) DeepCopyInto(out *DatasetIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DatasetIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMBindingList. +func (in *DatasetIAMBindingList) DeepCopy() *DatasetIAMBindingList { + if in == nil { + return nil + } + out := new(DatasetIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetIAMBindingList) 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 *DatasetIAMBindingObservation) DeepCopyInto(out *DatasetIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMBindingObservation. +func (in *DatasetIAMBindingObservation) DeepCopy() *DatasetIAMBindingObservation { + if in == nil { + return nil + } + out := new(DatasetIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMBindingParameters) DeepCopyInto(out *DatasetIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMBindingParameters. +func (in *DatasetIAMBindingParameters) DeepCopy() *DatasetIAMBindingParameters { + if in == nil { + return nil + } + out := new(DatasetIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMBindingSpec) DeepCopyInto(out *DatasetIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMBindingSpec. +func (in *DatasetIAMBindingSpec) DeepCopy() *DatasetIAMBindingSpec { + if in == nil { + return nil + } + out := new(DatasetIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMBindingStatus) DeepCopyInto(out *DatasetIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMBindingStatus. +func (in *DatasetIAMBindingStatus) DeepCopy() *DatasetIAMBindingStatus { + if in == nil { + return nil + } + out := new(DatasetIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMMember) DeepCopyInto(out *DatasetIAMMember) { + *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 DatasetIAMMember. +func (in *DatasetIAMMember) DeepCopy() *DatasetIAMMember { + if in == nil { + return nil + } + out := new(DatasetIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetIAMMember) 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 *DatasetIAMMemberConditionObservation) DeepCopyInto(out *DatasetIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMMemberConditionObservation. +func (in *DatasetIAMMemberConditionObservation) DeepCopy() *DatasetIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(DatasetIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMMemberConditionParameters) DeepCopyInto(out *DatasetIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMMemberConditionParameters. +func (in *DatasetIAMMemberConditionParameters) DeepCopy() *DatasetIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(DatasetIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMMemberList) DeepCopyInto(out *DatasetIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DatasetIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMMemberList. +func (in *DatasetIAMMemberList) DeepCopy() *DatasetIAMMemberList { + if in == nil { + return nil + } + out := new(DatasetIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetIAMMemberList) 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 *DatasetIAMMemberObservation) DeepCopyInto(out *DatasetIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMMemberObservation. +func (in *DatasetIAMMemberObservation) DeepCopy() *DatasetIAMMemberObservation { + if in == nil { + return nil + } + out := new(DatasetIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMMemberParameters) DeepCopyInto(out *DatasetIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]DatasetIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMMemberParameters. +func (in *DatasetIAMMemberParameters) DeepCopy() *DatasetIAMMemberParameters { + if in == nil { + return nil + } + out := new(DatasetIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMMemberSpec) DeepCopyInto(out *DatasetIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMMemberSpec. +func (in *DatasetIAMMemberSpec) DeepCopy() *DatasetIAMMemberSpec { + if in == nil { + return nil + } + out := new(DatasetIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMMemberStatus) DeepCopyInto(out *DatasetIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMMemberStatus. +func (in *DatasetIAMMemberStatus) DeepCopy() *DatasetIAMMemberStatus { + if in == nil { + return nil + } + out := new(DatasetIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMPolicy) DeepCopyInto(out *DatasetIAMPolicy) { + *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 DatasetIAMPolicy. +func (in *DatasetIAMPolicy) DeepCopy() *DatasetIAMPolicy { + if in == nil { + return nil + } + out := new(DatasetIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetIAMPolicy) 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 *DatasetIAMPolicyList) DeepCopyInto(out *DatasetIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DatasetIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMPolicyList. +func (in *DatasetIAMPolicyList) DeepCopy() *DatasetIAMPolicyList { + if in == nil { + return nil + } + out := new(DatasetIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetIAMPolicyList) 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 *DatasetIAMPolicyObservation) DeepCopyInto(out *DatasetIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMPolicyObservation. +func (in *DatasetIAMPolicyObservation) DeepCopy() *DatasetIAMPolicyObservation { + if in == nil { + return nil + } + out := new(DatasetIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMPolicyParameters) DeepCopyInto(out *DatasetIAMPolicyParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMPolicyParameters. +func (in *DatasetIAMPolicyParameters) DeepCopy() *DatasetIAMPolicyParameters { + if in == nil { + return nil + } + out := new(DatasetIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMPolicySpec) DeepCopyInto(out *DatasetIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMPolicySpec. +func (in *DatasetIAMPolicySpec) DeepCopy() *DatasetIAMPolicySpec { + if in == nil { + return nil + } + out := new(DatasetIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMPolicyStatus) DeepCopyInto(out *DatasetIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMPolicyStatus. +func (in *DatasetIAMPolicyStatus) DeepCopy() *DatasetIAMPolicyStatus { + if in == nil { + return nil + } + out := new(DatasetIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetList) DeepCopyInto(out *DatasetList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Dataset, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetList. +func (in *DatasetList) DeepCopy() *DatasetList { + if in == nil { + return nil + } + out := new(DatasetList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetList) 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 *DatasetObservation) DeepCopyInto(out *DatasetObservation) { + *out = *in + if in.CreationTime != nil { + in, out := &in.CreationTime, &out.CreationTime + *out = new(int64) + **out = **in + } + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LastModifiedTime != nil { + in, out := &in.LastModifiedTime, &out.LastModifiedTime + *out = new(int64) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetObservation. +func (in *DatasetObservation) DeepCopy() *DatasetObservation { + if in == nil { + return nil + } + out := new(DatasetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetParameters) DeepCopyInto(out *DatasetParameters) { + *out = *in + if in.Access != nil { + in, out := &in.Access, &out.Access + *out = make([]AccessParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DefaultEncryptionConfiguration != nil { + in, out := &in.DefaultEncryptionConfiguration, &out.DefaultEncryptionConfiguration + *out = make([]DefaultEncryptionConfigurationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DefaultPartitionExpirationMs != nil { + in, out := &in.DefaultPartitionExpirationMs, &out.DefaultPartitionExpirationMs + *out = new(int64) + **out = **in + } + if in.DefaultTableExpirationMs != nil { + in, out := &in.DefaultTableExpirationMs, &out.DefaultTableExpirationMs + *out = new(int64) + **out = **in + } + if in.DeleteContentsOnDestroy != nil { + in, out := &in.DeleteContentsOnDestroy, &out.DeleteContentsOnDestroy + *out = new(bool) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.FriendlyName != nil { + in, out := &in.FriendlyName, &out.FriendlyName + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetParameters. +func (in *DatasetParameters) DeepCopy() *DatasetParameters { + if in == nil { + return nil + } + out := new(DatasetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetSpec) DeepCopyInto(out *DatasetSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetSpec. +func (in *DatasetSpec) DeepCopy() *DatasetSpec { + if in == nil { + return nil + } + out := new(DatasetSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetStatus) DeepCopyInto(out *DatasetStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetStatus. +func (in *DatasetStatus) DeepCopy() *DatasetStatus { + if in == nil { + return nil + } + out := new(DatasetStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultDatasetObservation) DeepCopyInto(out *DefaultDatasetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultDatasetObservation. +func (in *DefaultDatasetObservation) DeepCopy() *DefaultDatasetObservation { + if in == nil { + return nil + } + out := new(DefaultDatasetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultDatasetParameters) DeepCopyInto(out *DefaultDatasetParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultDatasetParameters. +func (in *DefaultDatasetParameters) DeepCopy() *DefaultDatasetParameters { + if in == nil { + return nil + } + out := new(DefaultDatasetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultEncryptionConfigurationObservation) DeepCopyInto(out *DefaultEncryptionConfigurationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultEncryptionConfigurationObservation. +func (in *DefaultEncryptionConfigurationObservation) DeepCopy() *DefaultEncryptionConfigurationObservation { + if in == nil { + return nil + } + out := new(DefaultEncryptionConfigurationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultEncryptionConfigurationParameters) DeepCopyInto(out *DefaultEncryptionConfigurationParameters) { + *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultEncryptionConfigurationParameters. +func (in *DefaultEncryptionConfigurationParameters) DeepCopy() *DefaultEncryptionConfigurationParameters { + if in == nil { + return nil + } + out := new(DefaultEncryptionConfigurationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DestinationEncryptionConfigurationObservation) DeepCopyInto(out *DestinationEncryptionConfigurationObservation) { + *out = *in + if in.KMSKeyVersion != nil { + in, out := &in.KMSKeyVersion, &out.KMSKeyVersion + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationEncryptionConfigurationObservation. +func (in *DestinationEncryptionConfigurationObservation) DeepCopy() *DestinationEncryptionConfigurationObservation { + if in == nil { + return nil + } + out := new(DestinationEncryptionConfigurationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DestinationEncryptionConfigurationParameters) DeepCopyInto(out *DestinationEncryptionConfigurationParameters) { + *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationEncryptionConfigurationParameters. +func (in *DestinationEncryptionConfigurationParameters) DeepCopy() *DestinationEncryptionConfigurationParameters { + if in == nil { + return nil + } + out := new(DestinationEncryptionConfigurationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DestinationTableObservation) DeepCopyInto(out *DestinationTableObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationTableObservation. +func (in *DestinationTableObservation) DeepCopy() *DestinationTableObservation { + if in == nil { + return nil + } + out := new(DestinationTableObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DestinationTableParameters) DeepCopyInto(out *DestinationTableParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationTableParameters. +func (in *DestinationTableParameters) DeepCopy() *DestinationTableParameters { + if in == nil { + return nil + } + out := new(DestinationTableParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EmailPreferencesObservation) DeepCopyInto(out *EmailPreferencesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmailPreferencesObservation. +func (in *EmailPreferencesObservation) DeepCopy() *EmailPreferencesObservation { + if in == nil { + return nil + } + out := new(EmailPreferencesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EmailPreferencesParameters) DeepCopyInto(out *EmailPreferencesParameters) { + *out = *in + if in.EnableFailureEmail != nil { + in, out := &in.EnableFailureEmail, &out.EnableFailureEmail + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmailPreferencesParameters. +func (in *EmailPreferencesParameters) DeepCopy() *EmailPreferencesParameters { + if in == nil { + return nil + } + out := new(EmailPreferencesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionConfigurationObservation) DeepCopyInto(out *EncryptionConfigurationObservation) { + *out = *in + if in.KMSKeyVersion != nil { + in, out := &in.KMSKeyVersion, &out.KMSKeyVersion + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionConfigurationObservation. +func (in *EncryptionConfigurationObservation) DeepCopy() *EncryptionConfigurationObservation { + if in == nil { + return nil + } + out := new(EncryptionConfigurationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionConfigurationParameters) DeepCopyInto(out *EncryptionConfigurationParameters) { + *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionConfigurationParameters. +func (in *EncryptionConfigurationParameters) DeepCopy() *EncryptionConfigurationParameters { + if in == nil { + return nil + } + out := new(EncryptionConfigurationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ErrorResultObservation) DeepCopyInto(out *ErrorResultObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorResultObservation. +func (in *ErrorResultObservation) DeepCopy() *ErrorResultObservation { + if in == nil { + return nil + } + out := new(ErrorResultObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ErrorResultParameters) DeepCopyInto(out *ErrorResultParameters) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Message != nil { + in, out := &in.Message, &out.Message + *out = new(string) + **out = **in + } + if in.Reason != nil { + in, out := &in.Reason, &out.Reason + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorResultParameters. +func (in *ErrorResultParameters) DeepCopy() *ErrorResultParameters { + if in == nil { + return nil + } + out := new(ErrorResultParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ErrorsObservation) DeepCopyInto(out *ErrorsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorsObservation. +func (in *ErrorsObservation) DeepCopy() *ErrorsObservation { + if in == nil { + return nil + } + out := new(ErrorsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ErrorsParameters) DeepCopyInto(out *ErrorsParameters) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Message != nil { + in, out := &in.Message, &out.Message + *out = new(string) + **out = **in + } + if in.Reason != nil { + in, out := &in.Reason, &out.Reason + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorsParameters. +func (in *ErrorsParameters) DeepCopy() *ErrorsParameters { + if in == nil { + return nil + } + out := new(ErrorsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalDataConfigurationObservation) DeepCopyInto(out *ExternalDataConfigurationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalDataConfigurationObservation. +func (in *ExternalDataConfigurationObservation) DeepCopy() *ExternalDataConfigurationObservation { + if in == nil { + return nil + } + out := new(ExternalDataConfigurationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalDataConfigurationParameters) DeepCopyInto(out *ExternalDataConfigurationParameters) { + *out = *in + if in.Autodetect != nil { + in, out := &in.Autodetect, &out.Autodetect + *out = new(bool) + **out = **in + } + if in.Compression != nil { + in, out := &in.Compression, &out.Compression + *out = new(string) + **out = **in + } + if in.CsvOptions != nil { + in, out := &in.CsvOptions, &out.CsvOptions + *out = make([]CsvOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GoogleSheetsOptions != nil { + in, out := &in.GoogleSheetsOptions, &out.GoogleSheetsOptions + *out = make([]GoogleSheetsOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HivePartitioningOptions != nil { + in, out := &in.HivePartitioningOptions, &out.HivePartitioningOptions + *out = make([]HivePartitioningOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IgnoreUnknownValues != nil { + in, out := &in.IgnoreUnknownValues, &out.IgnoreUnknownValues + *out = new(bool) + **out = **in + } + if in.MaxBadRecords != nil { + in, out := &in.MaxBadRecords, &out.MaxBadRecords + *out = new(int64) + **out = **in + } + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(string) + **out = **in + } + if in.SourceFormat != nil { + in, out := &in.SourceFormat, &out.SourceFormat + *out = new(string) + **out = **in + } + if in.SourceUris != nil { + in, out := &in.SourceUris, &out.SourceUris + *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 ExternalDataConfigurationParameters. +func (in *ExternalDataConfigurationParameters) DeepCopy() *ExternalDataConfigurationParameters { + if in == nil { + return nil + } + out := new(ExternalDataConfigurationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExtractObservation) DeepCopyInto(out *ExtractObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtractObservation. +func (in *ExtractObservation) DeepCopy() *ExtractObservation { + if in == nil { + return nil + } + out := new(ExtractObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExtractParameters) DeepCopyInto(out *ExtractParameters) { + *out = *in + if in.Compression != nil { + in, out := &in.Compression, &out.Compression + *out = new(string) + **out = **in + } + if in.DestinationFormat != nil { + in, out := &in.DestinationFormat, &out.DestinationFormat + *out = new(string) + **out = **in + } + if in.DestinationUris != nil { + in, out := &in.DestinationUris, &out.DestinationUris + *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.FieldDelimiter != nil { + in, out := &in.FieldDelimiter, &out.FieldDelimiter + *out = new(string) + **out = **in + } + if in.PrintHeader != nil { + in, out := &in.PrintHeader, &out.PrintHeader + *out = new(bool) + **out = **in + } + if in.SourceModel != nil { + in, out := &in.SourceModel, &out.SourceModel + *out = make([]SourceModelParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SourceTable != nil { + in, out := &in.SourceTable, &out.SourceTable + *out = make([]SourceTableParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UseAvroLogicalTypes != nil { + in, out := &in.UseAvroLogicalTypes, &out.UseAvroLogicalTypes + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtractParameters. +func (in *ExtractParameters) DeepCopy() *ExtractParameters { + if in == nil { + return nil + } + out := new(ExtractParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GoogleSheetsOptionsObservation) DeepCopyInto(out *GoogleSheetsOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GoogleSheetsOptionsObservation. +func (in *GoogleSheetsOptionsObservation) DeepCopy() *GoogleSheetsOptionsObservation { + if in == nil { + return nil + } + out := new(GoogleSheetsOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GoogleSheetsOptionsParameters) DeepCopyInto(out *GoogleSheetsOptionsParameters) { + *out = *in + if in.Range != nil { + in, out := &in.Range, &out.Range + *out = new(string) + **out = **in + } + if in.SkipLeadingRows != nil { + in, out := &in.SkipLeadingRows, &out.SkipLeadingRows + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GoogleSheetsOptionsParameters. +func (in *GoogleSheetsOptionsParameters) DeepCopy() *GoogleSheetsOptionsParameters { + if in == nil { + return nil + } + out := new(GoogleSheetsOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HivePartitioningOptionsObservation) DeepCopyInto(out *HivePartitioningOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HivePartitioningOptionsObservation. +func (in *HivePartitioningOptionsObservation) DeepCopy() *HivePartitioningOptionsObservation { + if in == nil { + return nil + } + out := new(HivePartitioningOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HivePartitioningOptionsParameters) DeepCopyInto(out *HivePartitioningOptionsParameters) { + *out = *in + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.RequirePartitionFilter != nil { + in, out := &in.RequirePartitionFilter, &out.RequirePartitionFilter + *out = new(bool) + **out = **in + } + if in.SourceURIPrefix != nil { + in, out := &in.SourceURIPrefix, &out.SourceURIPrefix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HivePartitioningOptionsParameters. +func (in *HivePartitioningOptionsParameters) DeepCopy() *HivePartitioningOptionsParameters { + if in == nil { + return nil + } + out := new(HivePartitioningOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Job) DeepCopyInto(out *Job) { + *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 Job. +func (in *Job) DeepCopy() *Job { + if in == nil { + return nil + } + out := new(Job) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Job) 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 *JobList) DeepCopyInto(out *JobList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Job, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobList. +func (in *JobList) DeepCopy() *JobList { + if in == nil { + return nil + } + out := new(JobList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobList) 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 *JobObservation) DeepCopyInto(out *JobObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.JobType != nil { + in, out := &in.JobType, &out.JobType + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = make([]StatusObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UserEmail != nil { + in, out := &in.UserEmail, &out.UserEmail + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobObservation. +func (in *JobObservation) DeepCopy() *JobObservation { + if in == nil { + return nil + } + out := new(JobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobParameters) DeepCopyInto(out *JobParameters) { + *out = *in + if in.Copy != nil { + in, out := &in.Copy, &out.Copy + *out = make([]CopyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Extract != nil { + in, out := &in.Extract, &out.Extract + *out = make([]ExtractParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.JobID != nil { + in, out := &in.JobID, &out.JobID + *out = new(string) + **out = **in + } + if in.JobTimeoutMs != nil { + in, out := &in.JobTimeoutMs, &out.JobTimeoutMs + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Load != nil { + in, out := &in.Load, &out.Load + *out = make([]LoadParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Query != nil { + in, out := &in.Query, &out.Query + *out = make([]QueryParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobParameters. +func (in *JobParameters) DeepCopy() *JobParameters { + if in == nil { + return nil + } + out := new(JobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobSpec) DeepCopyInto(out *JobSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobSpec. +func (in *JobSpec) DeepCopy() *JobSpec { + if in == nil { + return nil + } + out := new(JobSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobStatus) DeepCopyInto(out *JobStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobStatus. +func (in *JobStatus) DeepCopy() *JobStatus { + if in == nil { + return nil + } + out := new(JobStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoadDestinationEncryptionConfigurationObservation) DeepCopyInto(out *LoadDestinationEncryptionConfigurationObservation) { + *out = *in + if in.KMSKeyVersion != nil { + in, out := &in.KMSKeyVersion, &out.KMSKeyVersion + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadDestinationEncryptionConfigurationObservation. +func (in *LoadDestinationEncryptionConfigurationObservation) DeepCopy() *LoadDestinationEncryptionConfigurationObservation { + if in == nil { + return nil + } + out := new(LoadDestinationEncryptionConfigurationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoadDestinationEncryptionConfigurationParameters) DeepCopyInto(out *LoadDestinationEncryptionConfigurationParameters) { + *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadDestinationEncryptionConfigurationParameters. +func (in *LoadDestinationEncryptionConfigurationParameters) DeepCopy() *LoadDestinationEncryptionConfigurationParameters { + if in == nil { + return nil + } + out := new(LoadDestinationEncryptionConfigurationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoadDestinationTableObservation) DeepCopyInto(out *LoadDestinationTableObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadDestinationTableObservation. +func (in *LoadDestinationTableObservation) DeepCopy() *LoadDestinationTableObservation { + if in == nil { + return nil + } + out := new(LoadDestinationTableObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoadDestinationTableParameters) DeepCopyInto(out *LoadDestinationTableParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadDestinationTableParameters. +func (in *LoadDestinationTableParameters) DeepCopy() *LoadDestinationTableParameters { + if in == nil { + return nil + } + out := new(LoadDestinationTableParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoadObservation) DeepCopyInto(out *LoadObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadObservation. +func (in *LoadObservation) DeepCopy() *LoadObservation { + if in == nil { + return nil + } + out := new(LoadObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoadParameters) DeepCopyInto(out *LoadParameters) { + *out = *in + if in.AllowJaggedRows != nil { + in, out := &in.AllowJaggedRows, &out.AllowJaggedRows + *out = new(bool) + **out = **in + } + if in.AllowQuotedNewlines != nil { + in, out := &in.AllowQuotedNewlines, &out.AllowQuotedNewlines + *out = new(bool) + **out = **in + } + if in.Autodetect != nil { + in, out := &in.Autodetect, &out.Autodetect + *out = new(bool) + **out = **in + } + if in.CreateDisposition != nil { + in, out := &in.CreateDisposition, &out.CreateDisposition + *out = new(string) + **out = **in + } + if in.DestinationEncryptionConfiguration != nil { + in, out := &in.DestinationEncryptionConfiguration, &out.DestinationEncryptionConfiguration + *out = make([]LoadDestinationEncryptionConfigurationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DestinationTable != nil { + in, out := &in.DestinationTable, &out.DestinationTable + *out = make([]LoadDestinationTableParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Encoding != nil { + in, out := &in.Encoding, &out.Encoding + *out = new(string) + **out = **in + } + if in.FieldDelimiter != nil { + in, out := &in.FieldDelimiter, &out.FieldDelimiter + *out = new(string) + **out = **in + } + if in.IgnoreUnknownValues != nil { + in, out := &in.IgnoreUnknownValues, &out.IgnoreUnknownValues + *out = new(bool) + **out = **in + } + if in.MaxBadRecords != nil { + in, out := &in.MaxBadRecords, &out.MaxBadRecords + *out = new(int64) + **out = **in + } + if in.NullMarker != nil { + in, out := &in.NullMarker, &out.NullMarker + *out = new(string) + **out = **in + } + if in.ProjectionFields != nil { + in, out := &in.ProjectionFields, &out.ProjectionFields + *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.Quote != nil { + in, out := &in.Quote, &out.Quote + *out = new(string) + **out = **in + } + if in.SchemaUpdateOptions != nil { + in, out := &in.SchemaUpdateOptions, &out.SchemaUpdateOptions + *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.SkipLeadingRows != nil { + in, out := &in.SkipLeadingRows, &out.SkipLeadingRows + *out = new(int64) + **out = **in + } + if in.SourceFormat != nil { + in, out := &in.SourceFormat, &out.SourceFormat + *out = new(string) + **out = **in + } + if in.SourceUris != nil { + in, out := &in.SourceUris, &out.SourceUris + *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.TimePartitioning != nil { + in, out := &in.TimePartitioning, &out.TimePartitioning + *out = make([]TimePartitioningParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WriteDisposition != nil { + in, out := &in.WriteDisposition, &out.WriteDisposition + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadParameters. +func (in *LoadParameters) DeepCopy() *LoadParameters { + if in == nil { + return nil + } + out := new(LoadParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaterializedViewObservation) DeepCopyInto(out *MaterializedViewObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaterializedViewObservation. +func (in *MaterializedViewObservation) DeepCopy() *MaterializedViewObservation { + if in == nil { + return nil + } + out := new(MaterializedViewObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaterializedViewParameters) DeepCopyInto(out *MaterializedViewParameters) { + *out = *in + if in.EnableRefresh != nil { + in, out := &in.EnableRefresh, &out.EnableRefresh + *out = new(bool) + **out = **in + } + if in.Query != nil { + in, out := &in.Query, &out.Query + *out = new(string) + **out = **in + } + if in.RefreshIntervalMs != nil { + in, out := &in.RefreshIntervalMs, &out.RefreshIntervalMs + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaterializedViewParameters. +func (in *MaterializedViewParameters) DeepCopy() *MaterializedViewParameters { + if in == nil { + return nil + } + out := new(MaterializedViewParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueryDestinationEncryptionConfigurationObservation) DeepCopyInto(out *QueryDestinationEncryptionConfigurationObservation) { + *out = *in + if in.KMSKeyVersion != nil { + in, out := &in.KMSKeyVersion, &out.KMSKeyVersion + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryDestinationEncryptionConfigurationObservation. +func (in *QueryDestinationEncryptionConfigurationObservation) DeepCopy() *QueryDestinationEncryptionConfigurationObservation { + if in == nil { + return nil + } + out := new(QueryDestinationEncryptionConfigurationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueryDestinationEncryptionConfigurationParameters) DeepCopyInto(out *QueryDestinationEncryptionConfigurationParameters) { + *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryDestinationEncryptionConfigurationParameters. +func (in *QueryDestinationEncryptionConfigurationParameters) DeepCopy() *QueryDestinationEncryptionConfigurationParameters { + if in == nil { + return nil + } + out := new(QueryDestinationEncryptionConfigurationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueryDestinationTableObservation) DeepCopyInto(out *QueryDestinationTableObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryDestinationTableObservation. +func (in *QueryDestinationTableObservation) DeepCopy() *QueryDestinationTableObservation { + if in == nil { + return nil + } + out := new(QueryDestinationTableObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueryDestinationTableParameters) DeepCopyInto(out *QueryDestinationTableParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryDestinationTableParameters. +func (in *QueryDestinationTableParameters) DeepCopy() *QueryDestinationTableParameters { + if in == nil { + return nil + } + out := new(QueryDestinationTableParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueryObservation) DeepCopyInto(out *QueryObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryObservation. +func (in *QueryObservation) DeepCopy() *QueryObservation { + if in == nil { + return nil + } + out := new(QueryObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueryParameters) DeepCopyInto(out *QueryParameters) { + *out = *in + if in.AllowLargeResults != nil { + in, out := &in.AllowLargeResults, &out.AllowLargeResults + *out = new(bool) + **out = **in + } + if in.CreateDisposition != nil { + in, out := &in.CreateDisposition, &out.CreateDisposition + *out = new(string) + **out = **in + } + if in.DefaultDataset != nil { + in, out := &in.DefaultDataset, &out.DefaultDataset + *out = make([]DefaultDatasetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DestinationEncryptionConfiguration != nil { + in, out := &in.DestinationEncryptionConfiguration, &out.DestinationEncryptionConfiguration + *out = make([]QueryDestinationEncryptionConfigurationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DestinationTable != nil { + in, out := &in.DestinationTable, &out.DestinationTable + *out = make([]QueryDestinationTableParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FlattenResults != nil { + in, out := &in.FlattenResults, &out.FlattenResults + *out = new(bool) + **out = **in + } + if in.MaximumBillingTier != nil { + in, out := &in.MaximumBillingTier, &out.MaximumBillingTier + *out = new(int64) + **out = **in + } + if in.MaximumBytesBilled != nil { + in, out := &in.MaximumBytesBilled, &out.MaximumBytesBilled + *out = new(string) + **out = **in + } + if in.ParameterMode != nil { + in, out := &in.ParameterMode, &out.ParameterMode + *out = new(string) + **out = **in + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(string) + **out = **in + } + if in.Query != nil { + in, out := &in.Query, &out.Query + *out = new(string) + **out = **in + } + if in.SchemaUpdateOptions != nil { + in, out := &in.SchemaUpdateOptions, &out.SchemaUpdateOptions + *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.ScriptOptions != nil { + in, out := &in.ScriptOptions, &out.ScriptOptions + *out = make([]ScriptOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UseLegacySQL != nil { + in, out := &in.UseLegacySQL, &out.UseLegacySQL + *out = new(bool) + **out = **in + } + if in.UseQueryCache != nil { + in, out := &in.UseQueryCache, &out.UseQueryCache + *out = new(bool) + **out = **in + } + if in.UserDefinedFunctionResources != nil { + in, out := &in.UserDefinedFunctionResources, &out.UserDefinedFunctionResources + *out = make([]UserDefinedFunctionResourcesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WriteDisposition != nil { + in, out := &in.WriteDisposition, &out.WriteDisposition + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryParameters. +func (in *QueryParameters) DeepCopy() *QueryParameters { + if in == nil { + return nil + } + out := new(QueryParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RangeObservation) DeepCopyInto(out *RangeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeObservation. +func (in *RangeObservation) DeepCopy() *RangeObservation { + if in == nil { + return nil + } + out := new(RangeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RangeParameters) DeepCopyInto(out *RangeParameters) { + *out = *in + if in.End != nil { + in, out := &in.End, &out.End + *out = new(int64) + **out = **in + } + if in.Interval != nil { + in, out := &in.Interval, &out.Interval + *out = new(int64) + **out = **in + } + if in.Start != nil { + in, out := &in.Start, &out.Start + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeParameters. +func (in *RangeParameters) DeepCopy() *RangeParameters { + if in == nil { + return nil + } + out := new(RangeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RangePartitioningObservation) DeepCopyInto(out *RangePartitioningObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangePartitioningObservation. +func (in *RangePartitioningObservation) DeepCopy() *RangePartitioningObservation { + if in == nil { + return nil + } + out := new(RangePartitioningObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RangePartitioningParameters) DeepCopyInto(out *RangePartitioningParameters) { + *out = *in + if in.Field != nil { + in, out := &in.Field, &out.Field + *out = new(string) + **out = **in + } + if in.Range != nil { + in, out := &in.Range, &out.Range + *out = make([]RangeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangePartitioningParameters. +func (in *RangePartitioningParameters) DeepCopy() *RangePartitioningParameters { + if in == nil { + return nil + } + out := new(RangePartitioningParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Reservation) DeepCopyInto(out *Reservation) { + *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 Reservation. +func (in *Reservation) DeepCopy() *Reservation { + if in == nil { + return nil + } + out := new(Reservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Reservation) 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 *ReservationList) DeepCopyInto(out *ReservationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Reservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationList. +func (in *ReservationList) DeepCopy() *ReservationList { + if in == nil { + return nil + } + out := new(ReservationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ReservationList) 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 *ReservationObservation) DeepCopyInto(out *ReservationObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationObservation. +func (in *ReservationObservation) DeepCopy() *ReservationObservation { + if in == nil { + return nil + } + out := new(ReservationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReservationParameters) DeepCopyInto(out *ReservationParameters) { + *out = *in + if in.IgnoreIdleSlots != nil { + in, out := &in.IgnoreIdleSlots, &out.IgnoreIdleSlots + *out = new(bool) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SlotCapacity != nil { + in, out := &in.SlotCapacity, &out.SlotCapacity + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationParameters. +func (in *ReservationParameters) DeepCopy() *ReservationParameters { + if in == nil { + return nil + } + out := new(ReservationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReservationSpec) DeepCopyInto(out *ReservationSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationSpec. +func (in *ReservationSpec) DeepCopy() *ReservationSpec { + if in == nil { + return nil + } + out := new(ReservationSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReservationStatus) DeepCopyInto(out *ReservationStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationStatus. +func (in *ReservationStatus) DeepCopy() *ReservationStatus { + if in == nil { + return nil + } + out := new(ReservationStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Routine) DeepCopyInto(out *Routine) { + *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 Routine. +func (in *Routine) DeepCopy() *Routine { + if in == nil { + return nil + } + out := new(Routine) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Routine) 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 *RoutineList) DeepCopyInto(out *RoutineList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Routine, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutineList. +func (in *RoutineList) DeepCopy() *RoutineList { + if in == nil { + return nil + } + out := new(RoutineList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RoutineList) 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 *RoutineObservation) DeepCopyInto(out *RoutineObservation) { + *out = *in + if in.CreationTime != nil { + in, out := &in.CreationTime, &out.CreationTime + *out = new(int64) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LastModifiedTime != nil { + in, out := &in.LastModifiedTime, &out.LastModifiedTime + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutineObservation. +func (in *RoutineObservation) DeepCopy() *RoutineObservation { + if in == nil { + return nil + } + out := new(RoutineObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutineParameters) DeepCopyInto(out *RoutineParameters) { + *out = *in + if in.Arguments != nil { + in, out := &in.Arguments, &out.Arguments + *out = make([]ArgumentsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DefinitionBody != nil { + in, out := &in.DefinitionBody, &out.DefinitionBody + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DeterminismLevel != nil { + in, out := &in.DeterminismLevel, &out.DeterminismLevel + *out = new(string) + **out = **in + } + if in.ImportedLibraries != nil { + in, out := &in.ImportedLibraries, &out.ImportedLibraries + *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.Language != nil { + in, out := &in.Language, &out.Language + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ReturnType != nil { + in, out := &in.ReturnType, &out.ReturnType + *out = new(string) + **out = **in + } + if in.RoutineID != nil { + in, out := &in.RoutineID, &out.RoutineID + *out = new(string) + **out = **in + } + if in.RoutineType != nil { + in, out := &in.RoutineType, &out.RoutineType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutineParameters. +func (in *RoutineParameters) DeepCopy() *RoutineParameters { + if in == nil { + return nil + } + out := new(RoutineParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutineSpec) DeepCopyInto(out *RoutineSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutineSpec. +func (in *RoutineSpec) DeepCopy() *RoutineSpec { + if in == nil { + return nil + } + out := new(RoutineSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutineStatus) DeepCopyInto(out *RoutineStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutineStatus. +func (in *RoutineStatus) DeepCopy() *RoutineStatus { + if in == nil { + return nil + } + out := new(RoutineStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScheduleOptionsObservation) DeepCopyInto(out *ScheduleOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleOptionsObservation. +func (in *ScheduleOptionsObservation) DeepCopy() *ScheduleOptionsObservation { + if in == nil { + return nil + } + out := new(ScheduleOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScheduleOptionsParameters) DeepCopyInto(out *ScheduleOptionsParameters) { + *out = *in + if in.DisableAutoScheduling != nil { + in, out := &in.DisableAutoScheduling, &out.DisableAutoScheduling + *out = new(bool) + **out = **in + } + if in.EndTime != nil { + in, out := &in.EndTime, &out.EndTime + *out = new(string) + **out = **in + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleOptionsParameters. +func (in *ScheduleOptionsParameters) DeepCopy() *ScheduleOptionsParameters { + if in == nil { + return nil + } + out := new(ScheduleOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScriptOptionsObservation) DeepCopyInto(out *ScriptOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScriptOptionsObservation. +func (in *ScriptOptionsObservation) DeepCopy() *ScriptOptionsObservation { + if in == nil { + return nil + } + out := new(ScriptOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScriptOptionsParameters) DeepCopyInto(out *ScriptOptionsParameters) { + *out = *in + if in.KeyResultStatement != nil { + in, out := &in.KeyResultStatement, &out.KeyResultStatement + *out = new(string) + **out = **in + } + if in.StatementByteBudget != nil { + in, out := &in.StatementByteBudget, &out.StatementByteBudget + *out = new(string) + **out = **in + } + if in.StatementTimeoutMs != nil { + in, out := &in.StatementTimeoutMs, &out.StatementTimeoutMs + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScriptOptionsParameters. +func (in *ScriptOptionsParameters) DeepCopy() *ScriptOptionsParameters { + if in == nil { + return nil + } + out := new(ScriptOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SensitiveParamsObservation) DeepCopyInto(out *SensitiveParamsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SensitiveParamsObservation. +func (in *SensitiveParamsObservation) DeepCopy() *SensitiveParamsObservation { + if in == nil { + return nil + } + out := new(SensitiveParamsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SensitiveParamsParameters) DeepCopyInto(out *SensitiveParamsParameters) { + *out = *in + out.SecretAccessKeySecretRef = in.SecretAccessKeySecretRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SensitiveParamsParameters. +func (in *SensitiveParamsParameters) DeepCopy() *SensitiveParamsParameters { + if in == nil { + return nil + } + out := new(SensitiveParamsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceModelObservation) DeepCopyInto(out *SourceModelObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceModelObservation. +func (in *SourceModelObservation) DeepCopy() *SourceModelObservation { + if in == nil { + return nil + } + out := new(SourceModelObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceModelParameters) DeepCopyInto(out *SourceModelParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.ModelID != nil { + in, out := &in.ModelID, &out.ModelID + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceModelParameters. +func (in *SourceModelParameters) DeepCopy() *SourceModelParameters { + if in == nil { + return nil + } + out := new(SourceModelParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceTableObservation) DeepCopyInto(out *SourceTableObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceTableObservation. +func (in *SourceTableObservation) DeepCopy() *SourceTableObservation { + if in == nil { + return nil + } + out := new(SourceTableObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceTableParameters) DeepCopyInto(out *SourceTableParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceTableParameters. +func (in *SourceTableParameters) DeepCopy() *SourceTableParameters { + if in == nil { + return nil + } + out := new(SourceTableParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceTablesObservation) DeepCopyInto(out *SourceTablesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceTablesObservation. +func (in *SourceTablesObservation) DeepCopy() *SourceTablesObservation { + if in == nil { + return nil + } + out := new(SourceTablesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceTablesParameters) DeepCopyInto(out *SourceTablesParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceTablesParameters. +func (in *SourceTablesParameters) DeepCopy() *SourceTablesParameters { + if in == nil { + return nil + } + out := new(SourceTablesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusObservation) DeepCopyInto(out *StatusObservation) { + *out = *in + if in.ErrorResult != nil { + in, out := &in.ErrorResult, &out.ErrorResult + *out = make([]ErrorResultObservation, len(*in)) + copy(*out, *in) + } + if in.Errors != nil { + in, out := &in.Errors, &out.Errors + *out = make([]ErrorsObservation, len(*in)) + copy(*out, *in) + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusObservation. +func (in *StatusObservation) DeepCopy() *StatusObservation { + if in == nil { + return nil + } + out := new(StatusObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusParameters) DeepCopyInto(out *StatusParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusParameters. +func (in *StatusParameters) DeepCopy() *StatusParameters { + if in == nil { + return nil + } + out := new(StatusParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Table) DeepCopyInto(out *Table) { + *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 Table. +func (in *Table) DeepCopy() *Table { + if in == nil { + return nil + } + out := new(Table) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Table) 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 *TableIAMBinding) DeepCopyInto(out *TableIAMBinding) { + *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 TableIAMBinding. +func (in *TableIAMBinding) DeepCopy() *TableIAMBinding { + if in == nil { + return nil + } + out := new(TableIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TableIAMBinding) 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 *TableIAMBindingConditionObservation) DeepCopyInto(out *TableIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingConditionObservation. +func (in *TableIAMBindingConditionObservation) DeepCopy() *TableIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(TableIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMBindingConditionParameters) DeepCopyInto(out *TableIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingConditionParameters. +func (in *TableIAMBindingConditionParameters) DeepCopy() *TableIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(TableIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMBindingList) DeepCopyInto(out *TableIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TableIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingList. +func (in *TableIAMBindingList) DeepCopy() *TableIAMBindingList { + if in == nil { + return nil + } + out := new(TableIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TableIAMBindingList) 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 *TableIAMBindingObservation) DeepCopyInto(out *TableIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingObservation. +func (in *TableIAMBindingObservation) DeepCopy() *TableIAMBindingObservation { + if in == nil { + return nil + } + out := new(TableIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMBindingParameters) DeepCopyInto(out *TableIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TableIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingParameters. +func (in *TableIAMBindingParameters) DeepCopy() *TableIAMBindingParameters { + if in == nil { + return nil + } + out := new(TableIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMBindingSpec) DeepCopyInto(out *TableIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingSpec. +func (in *TableIAMBindingSpec) DeepCopy() *TableIAMBindingSpec { + if in == nil { + return nil + } + out := new(TableIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMBindingStatus) DeepCopyInto(out *TableIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingStatus. +func (in *TableIAMBindingStatus) DeepCopy() *TableIAMBindingStatus { + if in == nil { + return nil + } + out := new(TableIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMMember) DeepCopyInto(out *TableIAMMember) { + *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 TableIAMMember. +func (in *TableIAMMember) DeepCopy() *TableIAMMember { + if in == nil { + return nil + } + out := new(TableIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TableIAMMember) 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 *TableIAMMemberConditionObservation) DeepCopyInto(out *TableIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMMemberConditionObservation. +func (in *TableIAMMemberConditionObservation) DeepCopy() *TableIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(TableIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMMemberConditionParameters) DeepCopyInto(out *TableIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMMemberConditionParameters. +func (in *TableIAMMemberConditionParameters) DeepCopy() *TableIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(TableIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMMemberList) DeepCopyInto(out *TableIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TableIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMMemberList. +func (in *TableIAMMemberList) DeepCopy() *TableIAMMemberList { + if in == nil { + return nil + } + out := new(TableIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TableIAMMemberList) 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 *TableIAMMemberObservation) DeepCopyInto(out *TableIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMMemberObservation. +func (in *TableIAMMemberObservation) DeepCopy() *TableIAMMemberObservation { + if in == nil { + return nil + } + out := new(TableIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMMemberParameters) DeepCopyInto(out *TableIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TableIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMMemberParameters. +func (in *TableIAMMemberParameters) DeepCopy() *TableIAMMemberParameters { + if in == nil { + return nil + } + out := new(TableIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMMemberSpec) DeepCopyInto(out *TableIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMMemberSpec. +func (in *TableIAMMemberSpec) DeepCopy() *TableIAMMemberSpec { + if in == nil { + return nil + } + out := new(TableIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMMemberStatus) DeepCopyInto(out *TableIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMMemberStatus. +func (in *TableIAMMemberStatus) DeepCopy() *TableIAMMemberStatus { + if in == nil { + return nil + } + out := new(TableIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMPolicy) DeepCopyInto(out *TableIAMPolicy) { + *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 TableIAMPolicy. +func (in *TableIAMPolicy) DeepCopy() *TableIAMPolicy { + if in == nil { + return nil + } + out := new(TableIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TableIAMPolicy) 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 *TableIAMPolicyList) DeepCopyInto(out *TableIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TableIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMPolicyList. +func (in *TableIAMPolicyList) DeepCopy() *TableIAMPolicyList { + if in == nil { + return nil + } + out := new(TableIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TableIAMPolicyList) 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 *TableIAMPolicyObservation) DeepCopyInto(out *TableIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMPolicyObservation. +func (in *TableIAMPolicyObservation) DeepCopy() *TableIAMPolicyObservation { + if in == nil { + return nil + } + out := new(TableIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMPolicyParameters) DeepCopyInto(out *TableIAMPolicyParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMPolicyParameters. +func (in *TableIAMPolicyParameters) DeepCopy() *TableIAMPolicyParameters { + if in == nil { + return nil + } + out := new(TableIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMPolicySpec) DeepCopyInto(out *TableIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMPolicySpec. +func (in *TableIAMPolicySpec) DeepCopy() *TableIAMPolicySpec { + if in == nil { + return nil + } + out := new(TableIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMPolicyStatus) DeepCopyInto(out *TableIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMPolicyStatus. +func (in *TableIAMPolicyStatus) DeepCopy() *TableIAMPolicyStatus { + if in == nil { + return nil + } + out := new(TableIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableList) DeepCopyInto(out *TableList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Table, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableList. +func (in *TableList) DeepCopy() *TableList { + if in == nil { + return nil + } + out := new(TableList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TableList) 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 *TableObservation) DeepCopyInto(out *TableObservation) { + *out = *in + if in.CreationTime != nil { + in, out := &in.CreationTime, &out.CreationTime + *out = new(int64) + **out = **in + } + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LastModifiedTime != nil { + in, out := &in.LastModifiedTime, &out.LastModifiedTime + *out = new(int64) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.NumBytes != nil { + in, out := &in.NumBytes, &out.NumBytes + *out = new(int64) + **out = **in + } + if in.NumLongTermBytes != nil { + in, out := &in.NumLongTermBytes, &out.NumLongTermBytes + *out = new(int64) + **out = **in + } + if in.NumRows != nil { + in, out := &in.NumRows, &out.NumRows + *out = new(int64) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **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 TableObservation. +func (in *TableObservation) DeepCopy() *TableObservation { + if in == nil { + return nil + } + out := new(TableObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableParameters) DeepCopyInto(out *TableParameters) { + *out = *in + if in.Clustering != nil { + in, out := &in.Clustering, &out.Clustering + *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.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.DeletionProtection != nil { + in, out := &in.DeletionProtection, &out.DeletionProtection + *out = new(bool) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.EncryptionConfiguration != nil { + in, out := &in.EncryptionConfiguration, &out.EncryptionConfiguration + *out = make([]EncryptionConfigurationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExpirationTime != nil { + in, out := &in.ExpirationTime, &out.ExpirationTime + *out = new(int64) + **out = **in + } + if in.ExternalDataConfiguration != nil { + in, out := &in.ExternalDataConfiguration, &out.ExternalDataConfiguration + *out = make([]ExternalDataConfigurationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FriendlyName != nil { + in, out := &in.FriendlyName, &out.FriendlyName + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.MaterializedView != nil { + in, out := &in.MaterializedView, &out.MaterializedView + *out = make([]MaterializedViewParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RangePartitioning != nil { + in, out := &in.RangePartitioning, &out.RangePartitioning + *out = make([]RangePartitioningParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(string) + **out = **in + } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } + if in.TimePartitioning != nil { + in, out := &in.TimePartitioning, &out.TimePartitioning + *out = make([]TableTimePartitioningParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.View != nil { + in, out := &in.View, &out.View + *out = make([]TableViewParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableParameters. +func (in *TableParameters) DeepCopy() *TableParameters { + if in == nil { + return nil + } + out := new(TableParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableSpec) DeepCopyInto(out *TableSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableSpec. +func (in *TableSpec) DeepCopy() *TableSpec { + if in == nil { + return nil + } + out := new(TableSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableStatus) DeepCopyInto(out *TableStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableStatus. +func (in *TableStatus) DeepCopy() *TableStatus { + if in == nil { + return nil + } + out := new(TableStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableTimePartitioningObservation) DeepCopyInto(out *TableTimePartitioningObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableTimePartitioningObservation. +func (in *TableTimePartitioningObservation) DeepCopy() *TableTimePartitioningObservation { + if in == nil { + return nil + } + out := new(TableTimePartitioningObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableTimePartitioningParameters) DeepCopyInto(out *TableTimePartitioningParameters) { + *out = *in + if in.ExpirationMs != nil { + in, out := &in.ExpirationMs, &out.ExpirationMs + *out = new(int64) + **out = **in + } + if in.Field != nil { + in, out := &in.Field, &out.Field + *out = new(string) + **out = **in + } + if in.RequirePartitionFilter != nil { + in, out := &in.RequirePartitionFilter, &out.RequirePartitionFilter + *out = new(bool) + **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 TableTimePartitioningParameters. +func (in *TableTimePartitioningParameters) DeepCopy() *TableTimePartitioningParameters { + if in == nil { + return nil + } + out := new(TableTimePartitioningParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableViewObservation) DeepCopyInto(out *TableViewObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableViewObservation. +func (in *TableViewObservation) DeepCopy() *TableViewObservation { + if in == nil { + return nil + } + out := new(TableViewObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableViewParameters) DeepCopyInto(out *TableViewParameters) { + *out = *in + if in.Query != nil { + in, out := &in.Query, &out.Query + *out = new(string) + **out = **in + } + if in.UseLegacySQL != nil { + in, out := &in.UseLegacySQL, &out.UseLegacySQL + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableViewParameters. +func (in *TableViewParameters) DeepCopy() *TableViewParameters { + if in == nil { + return nil + } + out := new(TableViewParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimePartitioningObservation) DeepCopyInto(out *TimePartitioningObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimePartitioningObservation. +func (in *TimePartitioningObservation) DeepCopy() *TimePartitioningObservation { + if in == nil { + return nil + } + out := new(TimePartitioningObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimePartitioningParameters) DeepCopyInto(out *TimePartitioningParameters) { + *out = *in + if in.ExpirationMs != nil { + in, out := &in.ExpirationMs, &out.ExpirationMs + *out = new(string) + **out = **in + } + if in.Field != nil { + in, out := &in.Field, &out.Field + *out = new(string) + **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 TimePartitioningParameters. +func (in *TimePartitioningParameters) DeepCopy() *TimePartitioningParameters { + if in == nil { + return nil + } + out := new(TimePartitioningParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserDefinedFunctionResourcesObservation) DeepCopyInto(out *UserDefinedFunctionResourcesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserDefinedFunctionResourcesObservation. +func (in *UserDefinedFunctionResourcesObservation) DeepCopy() *UserDefinedFunctionResourcesObservation { + if in == nil { + return nil + } + out := new(UserDefinedFunctionResourcesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserDefinedFunctionResourcesParameters) DeepCopyInto(out *UserDefinedFunctionResourcesParameters) { + *out = *in + if in.InlineCode != nil { + in, out := &in.InlineCode, &out.InlineCode + *out = new(string) + **out = **in + } + if in.ResourceURI != nil { + in, out := &in.ResourceURI, &out.ResourceURI + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserDefinedFunctionResourcesParameters. +func (in *UserDefinedFunctionResourcesParameters) DeepCopy() *UserDefinedFunctionResourcesParameters { + if in == nil { + return nil + } + out := new(UserDefinedFunctionResourcesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ViewObservation) DeepCopyInto(out *ViewObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ViewObservation. +func (in *ViewObservation) DeepCopy() *ViewObservation { + if in == nil { + return nil + } + out := new(ViewObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ViewParameters) DeepCopyInto(out *ViewParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ViewParameters. +func (in *ViewParameters) DeepCopy() *ViewParameters { + if in == nil { + return nil + } + out := new(ViewParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/bigquery/v1alpha1/zz_generated.managed.go b/apis/bigquery/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..daadaf49 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_generated.managed.go @@ -0,0 +1,748 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this DataTransferConfig. +func (mg *DataTransferConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DataTransferConfig. +func (mg *DataTransferConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DataTransferConfig. +func (mg *DataTransferConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DataTransferConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DataTransferConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DataTransferConfig. +func (mg *DataTransferConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DataTransferConfig. +func (mg *DataTransferConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DataTransferConfig. +func (mg *DataTransferConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DataTransferConfig. +func (mg *DataTransferConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DataTransferConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DataTransferConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DataTransferConfig. +func (mg *DataTransferConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Dataset. +func (mg *Dataset) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Dataset. +func (mg *Dataset) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Dataset. +func (mg *Dataset) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Dataset. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Dataset) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Dataset. +func (mg *Dataset) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Dataset. +func (mg *Dataset) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Dataset. +func (mg *Dataset) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Dataset. +func (mg *Dataset) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Dataset. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Dataset) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Dataset. +func (mg *Dataset) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DatasetAccess. +func (mg *DatasetAccess) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DatasetAccess. +func (mg *DatasetAccess) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DatasetAccess. +func (mg *DatasetAccess) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DatasetAccess. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DatasetAccess) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DatasetAccess. +func (mg *DatasetAccess) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DatasetAccess. +func (mg *DatasetAccess) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DatasetAccess. +func (mg *DatasetAccess) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DatasetAccess. +func (mg *DatasetAccess) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DatasetAccess. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DatasetAccess) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DatasetAccess. +func (mg *DatasetAccess) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DatasetIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DatasetIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DatasetIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DatasetIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DatasetIAMMember. +func (mg *DatasetIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DatasetIAMMember. +func (mg *DatasetIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DatasetIAMMember. +func (mg *DatasetIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DatasetIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DatasetIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DatasetIAMMember. +func (mg *DatasetIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DatasetIAMMember. +func (mg *DatasetIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DatasetIAMMember. +func (mg *DatasetIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DatasetIAMMember. +func (mg *DatasetIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DatasetIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DatasetIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DatasetIAMMember. +func (mg *DatasetIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DatasetIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DatasetIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DatasetIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DatasetIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Job. +func (mg *Job) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Job. +func (mg *Job) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Job. +func (mg *Job) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Job. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Job) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Job. +func (mg *Job) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Job. +func (mg *Job) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Job. +func (mg *Job) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Job. +func (mg *Job) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Job. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Job) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Job. +func (mg *Job) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Reservation. +func (mg *Reservation) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Reservation. +func (mg *Reservation) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Reservation. +func (mg *Reservation) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Reservation. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Reservation) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Reservation. +func (mg *Reservation) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Reservation. +func (mg *Reservation) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Reservation. +func (mg *Reservation) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Reservation. +func (mg *Reservation) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Reservation. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Reservation) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Reservation. +func (mg *Reservation) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Routine. +func (mg *Routine) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Routine. +func (mg *Routine) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Routine. +func (mg *Routine) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Routine. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Routine) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Routine. +func (mg *Routine) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Routine. +func (mg *Routine) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Routine. +func (mg *Routine) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Routine. +func (mg *Routine) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Routine. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Routine) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Routine. +func (mg *Routine) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Table. +func (mg *Table) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Table. +func (mg *Table) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Table. +func (mg *Table) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Table. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Table) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Table. +func (mg *Table) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Table. +func (mg *Table) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Table. +func (mg *Table) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Table. +func (mg *Table) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Table. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Table) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Table. +func (mg *Table) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TableIAMBinding. +func (mg *TableIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TableIAMBinding. +func (mg *TableIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TableIAMBinding. +func (mg *TableIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TableIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TableIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TableIAMBinding. +func (mg *TableIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TableIAMBinding. +func (mg *TableIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TableIAMBinding. +func (mg *TableIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TableIAMBinding. +func (mg *TableIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TableIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TableIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TableIAMBinding. +func (mg *TableIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TableIAMMember. +func (mg *TableIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TableIAMMember. +func (mg *TableIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TableIAMMember. +func (mg *TableIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TableIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TableIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TableIAMMember. +func (mg *TableIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TableIAMMember. +func (mg *TableIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TableIAMMember. +func (mg *TableIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TableIAMMember. +func (mg *TableIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TableIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TableIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TableIAMMember. +func (mg *TableIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TableIAMPolicy. +func (mg *TableIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TableIAMPolicy. +func (mg *TableIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TableIAMPolicy. +func (mg *TableIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TableIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TableIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TableIAMPolicy. +func (mg *TableIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TableIAMPolicy. +func (mg *TableIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TableIAMPolicy. +func (mg *TableIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TableIAMPolicy. +func (mg *TableIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TableIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TableIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TableIAMPolicy. +func (mg *TableIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/bigquery/v1alpha1/zz_generated.managedlist.go b/apis/bigquery/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..785c40f2 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,137 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this DataTransferConfigList. +func (l *DataTransferConfigList) 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 DatasetAccessList. +func (l *DatasetAccessList) 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 DatasetIAMBindingList. +func (l *DatasetIAMBindingList) 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 DatasetIAMMemberList. +func (l *DatasetIAMMemberList) 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 DatasetIAMPolicyList. +func (l *DatasetIAMPolicyList) 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 DatasetList. +func (l *DatasetList) 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 JobList. +func (l *JobList) 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 ReservationList. +func (l *ReservationList) 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 RoutineList. +func (l *RoutineList) 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 TableIAMBindingList. +func (l *TableIAMBindingList) 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 TableIAMMemberList. +func (l *TableIAMMemberList) 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 TableIAMPolicyList. +func (l *TableIAMPolicyList) 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 TableList. +func (l *TableList) 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/bigquery/v1alpha1/zz_groupversion_info.go b/apis/bigquery/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..78b0fa50 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=bigquery.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "bigquery.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/bigquery/v1alpha1/zz_job_terraformed.go b/apis/bigquery/v1alpha1/zz_job_terraformed.go new file mode 100755 index 00000000..6f1b745b --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_job_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Job +func (mg *Job) GetTerraformResourceType() string { + return "google_bigquery_job" +} + +// GetConnectionDetailsMapping for this Job +func (tr *Job) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Job +func (tr *Job) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Job +func (tr *Job) SetObservation(obs map[string]interface{}) 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 Job +func (tr *Job) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Job +func (tr *Job) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Job +func (tr *Job) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Job using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Job) LateInitialize(attrs []byte) (bool, error) { + params := &JobParameters{} + 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 *Job) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigquery/v1alpha1/zz_job_types.go b/apis/bigquery/v1alpha1/zz_job_types.go new file mode 100755 index 00000000..8d73bccb --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_job_types.go @@ -0,0 +1,698 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CopyObservation struct { +} + +type CopyParameters struct { + + // Specifies whether the job is allowed to create new tables. The following values are supported: + // CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. + // CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. + // Creation, truncation and append actions occur as one atomic update upon job completion Default value: "CREATE_IF_NEEDED" Possible values: ["CREATE_IF_NEEDED", "CREATE_NEVER"] + // +kubebuilder:validation:Optional + CreateDisposition *string `json:"createDisposition,omitempty" tf:"create_disposition,omitempty"` + + // Custom encryption configuration (e.g., Cloud KMS keys) + // +kubebuilder:validation:Optional + DestinationEncryptionConfiguration []DestinationEncryptionConfigurationParameters `json:"destinationEncryptionConfiguration,omitempty" tf:"destination_encryption_configuration,omitempty"` + + // The destination table. + // +kubebuilder:validation:Optional + DestinationTable []DestinationTableParameters `json:"destinationTable,omitempty" tf:"destination_table,omitempty"` + + // Source tables to copy. + // +kubebuilder:validation:Required + SourceTables []SourceTablesParameters `json:"sourceTables" tf:"source_tables,omitempty"` + + // Specifies the action that occurs if the destination table already exists. The following values are supported: + // WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data and uses the schema from the query result. + // WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. + // WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. + // Each action is atomic and only occurs if BigQuery is able to complete the job successfully. + // Creation, truncation and append actions occur as one atomic update upon job completion. Default value: "WRITE_EMPTY" Possible values: ["WRITE_TRUNCATE", "WRITE_APPEND", "WRITE_EMPTY"] + // +kubebuilder:validation:Optional + WriteDisposition *string `json:"writeDisposition,omitempty" tf:"write_disposition,omitempty"` +} + +type DefaultDatasetObservation struct { +} + +type DefaultDatasetParameters struct { + + // The dataset. Can be specified '{{dataset_id}}' if 'project_id' is also set, + // or of the form 'projects/{{project}}/datasets/{{dataset_id}}' if not. + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // The ID of the project containing this table. + // +kubebuilder:validation:Optional + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` +} + +type DestinationEncryptionConfigurationObservation struct { + KMSKeyVersion *string `json:"kmsKeyVersion,omitempty" tf:"kms_key_version,omitempty"` +} + +type DestinationEncryptionConfigurationParameters struct { + + // Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. + // The BigQuery Service Account associated with your project requires access to this encryption key. + // +kubebuilder:validation:Required + KMSKeyName *string `json:"kmsKeyName" tf:"kms_key_name,omitempty"` +} + +type DestinationTableObservation struct { +} + +type DestinationTableParameters struct { + + // The ID of the dataset containing this table. + // +kubebuilder:validation:Optional + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // The ID of the project containing this table. + // +kubebuilder:validation:Optional + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, + // or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not. + // +kubebuilder:validation:Required + TableID *string `json:"tableId" tf:"table_id,omitempty"` +} + +type ErrorResultObservation struct { +} + +type ErrorResultParameters struct { + + // Specifies where the error occurred, if present. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // A human-readable description of the error. + // +kubebuilder:validation:Optional + Message *string `json:"message,omitempty" tf:"message,omitempty"` + + // A short error code that summarizes the error. + // +kubebuilder:validation:Optional + Reason *string `json:"reason,omitempty" tf:"reason,omitempty"` +} + +type ErrorsObservation struct { +} + +type ErrorsParameters struct { + + // Specifies where the error occurred, if present. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // A human-readable description of the error. + // +kubebuilder:validation:Optional + Message *string `json:"message,omitempty" tf:"message,omitempty"` + + // A short error code that summarizes the error. + // +kubebuilder:validation:Optional + Reason *string `json:"reason,omitempty" tf:"reason,omitempty"` +} + +type ExtractObservation struct { +} + +type ExtractParameters struct { + + // The compression type to use for exported files. Possible values include GZIP, DEFLATE, SNAPPY, and NONE. + // The default value is NONE. DEFLATE and SNAPPY are only supported for Avro. + // +kubebuilder:validation:Optional + Compression *string `json:"compression,omitempty" tf:"compression,omitempty"` + + // The exported file format. Possible values include CSV, NEWLINE_DELIMITED_JSON and AVRO for tables and SAVED_MODEL for models. + // The default value for tables is CSV. Tables with nested or repeated fields cannot be exported as CSV. + // The default value for models is SAVED_MODEL. + // +kubebuilder:validation:Optional + DestinationFormat *string `json:"destinationFormat,omitempty" tf:"destination_format,omitempty"` + + // A list of fully-qualified Google Cloud Storage URIs where the extracted table should be written. + // +kubebuilder:validation:Required + DestinationUris []*string `json:"destinationUris" tf:"destination_uris,omitempty"` + + // When extracting data in CSV format, this defines the delimiter to use between fields in the exported data. + // Default is ',' + // +kubebuilder:validation:Optional + FieldDelimiter *string `json:"fieldDelimiter,omitempty" tf:"field_delimiter,omitempty"` + + // Whether to print out a header row in the results. Default is true. + // +kubebuilder:validation:Optional + PrintHeader *bool `json:"printHeader,omitempty" tf:"print_header,omitempty"` + + // A reference to the model being exported. + // +kubebuilder:validation:Optional + SourceModel []SourceModelParameters `json:"sourceModel,omitempty" tf:"source_model,omitempty"` + + // A reference to the table being exported. + // +kubebuilder:validation:Optional + SourceTable []SourceTableParameters `json:"sourceTable,omitempty" tf:"source_table,omitempty"` + + // Whether to use logical types when extracting to AVRO format. + // +kubebuilder:validation:Optional + UseAvroLogicalTypes *bool `json:"useAvroLogicalTypes,omitempty" tf:"use_avro_logical_types,omitempty"` +} + +type JobObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + JobType *string `json:"jobType,omitempty" tf:"job_type,omitempty"` + + Status []StatusObservation `json:"status,omitempty" tf:"status,omitempty"` + + UserEmail *string `json:"userEmail,omitempty" tf:"user_email,omitempty"` +} + +type JobParameters struct { + + // Copies a table. + // +kubebuilder:validation:Optional + Copy []CopyParameters `json:"copy,omitempty" tf:"copy,omitempty"` + + // Configures an extract job. + // +kubebuilder:validation:Optional + Extract []ExtractParameters `json:"extract,omitempty" tf:"extract,omitempty"` + + // The ID of the job. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). The maximum length is 1,024 characters. + // +kubebuilder:validation:Required + JobID *string `json:"jobId" tf:"job_id,omitempty"` + + // Job timeout in milliseconds. If this time limit is exceeded, BigQuery may attempt to terminate the job. + // +kubebuilder:validation:Optional + JobTimeoutMs *string `json:"jobTimeoutMs,omitempty" tf:"job_timeout_ms,omitempty"` + + // The labels associated with this job. You can use these to organize and group your jobs. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Configures a load job. + // +kubebuilder:validation:Optional + Load []LoadParameters `json:"load,omitempty" tf:"load,omitempty"` + + // The geographic location of the job. The default value is US. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Configures a query job. + // +kubebuilder:validation:Optional + Query []QueryParameters `json:"query,omitempty" tf:"query,omitempty"` +} + +type LoadDestinationEncryptionConfigurationObservation struct { + KMSKeyVersion *string `json:"kmsKeyVersion,omitempty" tf:"kms_key_version,omitempty"` +} + +type LoadDestinationEncryptionConfigurationParameters struct { + + // Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. + // The BigQuery Service Account associated with your project requires access to this encryption key. + // +kubebuilder:validation:Required + KMSKeyName *string `json:"kmsKeyName" tf:"kms_key_name,omitempty"` +} + +type LoadDestinationTableObservation struct { +} + +type LoadDestinationTableParameters struct { + + // The ID of the dataset containing this table. + // +kubebuilder:validation:Optional + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // The ID of the project containing this table. + // +kubebuilder:validation:Optional + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, + // or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not. + // +kubebuilder:validation:Required + TableID *string `json:"tableId" tf:"table_id,omitempty"` +} + +type LoadObservation struct { +} + +type LoadParameters struct { + + // Accept rows that are missing trailing optional columns. The missing values are treated as nulls. + // If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, + // an invalid error is returned in the job result. The default value is false. Only applicable to CSV, ignored for other formats. + // +kubebuilder:validation:Optional + AllowJaggedRows *bool `json:"allowJaggedRows,omitempty" tf:"allow_jagged_rows,omitempty"` + + // Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. + // The default value is false. + // +kubebuilder:validation:Optional + AllowQuotedNewlines *bool `json:"allowQuotedNewlines,omitempty" tf:"allow_quoted_newlines,omitempty"` + + // Indicates if we should automatically infer the options and schema for CSV and JSON sources. + // +kubebuilder:validation:Optional + Autodetect *bool `json:"autodetect,omitempty" tf:"autodetect,omitempty"` + + // Specifies whether the job is allowed to create new tables. The following values are supported: + // CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. + // CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. + // Creation, truncation and append actions occur as one atomic update upon job completion Default value: "CREATE_IF_NEEDED" Possible values: ["CREATE_IF_NEEDED", "CREATE_NEVER"] + // +kubebuilder:validation:Optional + CreateDisposition *string `json:"createDisposition,omitempty" tf:"create_disposition,omitempty"` + + // Custom encryption configuration (e.g., Cloud KMS keys) + // +kubebuilder:validation:Optional + DestinationEncryptionConfiguration []LoadDestinationEncryptionConfigurationParameters `json:"destinationEncryptionConfiguration,omitempty" tf:"destination_encryption_configuration,omitempty"` + + // The destination table to load the data into. + // +kubebuilder:validation:Required + DestinationTable []LoadDestinationTableParameters `json:"destinationTable" tf:"destination_table,omitempty"` + + // The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. + // The default value is UTF-8. BigQuery decodes the data after the raw, binary data + // has been split using the values of the quote and fieldDelimiter properties. + // +kubebuilder:validation:Optional + Encoding *string `json:"encoding,omitempty" tf:"encoding,omitempty"` + + // The separator for fields in a CSV file. The separator can be any ISO-8859-1 single-byte character. + // To use a character in the range 128-255, you must encode the character as UTF8. BigQuery converts + // the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the + // data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. + // The default value is a comma (','). + // +kubebuilder:validation:Optional + FieldDelimiter *string `json:"fieldDelimiter,omitempty" tf:"field_delimiter,omitempty"` + + // Indicates if BigQuery should allow extra values that are not represented in the table schema. + // If true, the extra values are ignored. If false, records with extra columns are treated as bad records, + // and if there are too many bad records, an invalid error is returned in the job result. + // The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: + // CSV: Trailing columns + // JSON: Named values that don't match any column names + // +kubebuilder:validation:Optional + IgnoreUnknownValues *bool `json:"ignoreUnknownValues,omitempty" tf:"ignore_unknown_values,omitempty"` + + // The maximum number of bad records that BigQuery can ignore when running the job. If the number of bad records exceeds this value, + // an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. + // +kubebuilder:validation:Optional + MaxBadRecords *int64 `json:"maxBadRecords,omitempty" tf:"max_bad_records,omitempty"` + + // Specifies a string that represents a null value in a CSV file. For example, if you specify "\N", BigQuery interprets "\N" as a null value + // when loading a CSV file. The default value is the empty string. If you set this property to a custom value, BigQuery throws an error if an + // empty string is present for all data types except for STRING and BYTE. For STRING and BYTE columns, BigQuery interprets the empty string as + // an empty value. + // +kubebuilder:validation:Optional + NullMarker *string `json:"nullMarker,omitempty" tf:"null_marker,omitempty"` + + // If sourceFormat is set to "DATASTORE_BACKUP", indicates which entity properties to load into BigQuery from a Cloud Datastore backup. + // Property names are case sensitive and must be top-level properties. If no properties are specified, BigQuery loads all properties. + // If any named property isn't found in the Cloud Datastore backup, an invalid error is returned in the job result. + // +kubebuilder:validation:Optional + ProjectionFields []*string `json:"projectionFields,omitempty" tf:"projection_fields,omitempty"` + + // The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, + // and then uses the first byte of the encoded string to split the data in its raw, binary state. + // The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. + // If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. + // +kubebuilder:validation:Optional + Quote *string `json:"quote,omitempty" tf:"quote,omitempty"` + + // Allows the schema of the destination table to be updated as a side effect of the load job if a schema is autodetected or + // supplied in the job configuration. Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; + // when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. + // For normal tables, WRITE_TRUNCATE will always overwrite the schema. One or more of the following values are specified: + // ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. + // ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable. + // +kubebuilder:validation:Optional + SchemaUpdateOptions []*string `json:"schemaUpdateOptions,omitempty" tf:"schema_update_options,omitempty"` + + // The number of rows at the top of a CSV file that BigQuery will skip when loading the data. + // The default value is 0. This property is useful if you have header rows in the file that should be skipped. + // When autodetect is on, the behavior is the following: + // skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, + // the row is read as data. Otherwise data is read starting from the second row. + // skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. + // skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, + // row N is just skipped. Otherwise row N is used to extract column names for the detected schema. + // +kubebuilder:validation:Optional + SkipLeadingRows *int64 `json:"skipLeadingRows,omitempty" tf:"skip_leading_rows,omitempty"` + + // The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". + // For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro, specify "AVRO". For parquet, specify "PARQUET". + // For orc, specify "ORC". [Beta] For Bigtable, specify "BIGTABLE". + // The default value is CSV. + // +kubebuilder:validation:Optional + SourceFormat *string `json:"sourceFormat,omitempty" tf:"source_format,omitempty"` + + // The fully-qualified URIs that point to your data in Google Cloud. + // For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character + // and it must come after the 'bucket' name. Size limits related to load jobs apply + // to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be + // specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. + // For Google Cloud Datastore backups: Exactly one URI can be specified. Also, the '*' wildcard character is not allowed. + // +kubebuilder:validation:Required + SourceUris []*string `json:"sourceUris" tf:"source_uris,omitempty"` + + // Time-based partitioning specification for the destination table. + // +kubebuilder:validation:Optional + TimePartitioning []TimePartitioningParameters `json:"timePartitioning,omitempty" tf:"time_partitioning,omitempty"` + + // Specifies the action that occurs if the destination table already exists. The following values are supported: + // WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data and uses the schema from the query result. + // WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. + // WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. + // Each action is atomic and only occurs if BigQuery is able to complete the job successfully. + // Creation, truncation and append actions occur as one atomic update upon job completion. Default value: "WRITE_EMPTY" Possible values: ["WRITE_TRUNCATE", "WRITE_APPEND", "WRITE_EMPTY"] + // +kubebuilder:validation:Optional + WriteDisposition *string `json:"writeDisposition,omitempty" tf:"write_disposition,omitempty"` +} + +type QueryDestinationEncryptionConfigurationObservation struct { + KMSKeyVersion *string `json:"kmsKeyVersion,omitempty" tf:"kms_key_version,omitempty"` +} + +type QueryDestinationEncryptionConfigurationParameters struct { + + // Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. + // The BigQuery Service Account associated with your project requires access to this encryption key. + // +kubebuilder:validation:Required + KMSKeyName *string `json:"kmsKeyName" tf:"kms_key_name,omitempty"` +} + +type QueryDestinationTableObservation struct { +} + +type QueryDestinationTableParameters struct { + + // The ID of the dataset containing this table. + // +kubebuilder:validation:Optional + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // The ID of the project containing this table. + // +kubebuilder:validation:Optional + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, + // or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not. + // +kubebuilder:validation:Required + TableID *string `json:"tableId" tf:"table_id,omitempty"` +} + +type QueryObservation struct { +} + +type QueryParameters struct { + + // If true and query uses legacy SQL dialect, allows the query to produce arbitrarily large result tables at a slight cost in performance. + // Requires destinationTable to be set. For standard SQL queries, this flag is ignored and large results are always allowed. + // However, you must still set destinationTable when result size exceeds the allowed maximum response size. + // +kubebuilder:validation:Optional + AllowLargeResults *bool `json:"allowLargeResults,omitempty" tf:"allow_large_results,omitempty"` + + // Specifies whether the job is allowed to create new tables. The following values are supported: + // CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. + // CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. + // Creation, truncation and append actions occur as one atomic update upon job completion Default value: "CREATE_IF_NEEDED" Possible values: ["CREATE_IF_NEEDED", "CREATE_NEVER"] + // +kubebuilder:validation:Optional + CreateDisposition *string `json:"createDisposition,omitempty" tf:"create_disposition,omitempty"` + + // Specifies the default dataset to use for unqualified table names in the query. Note that this does not alter behavior of unqualified dataset names. + // +kubebuilder:validation:Optional + DefaultDataset []DefaultDatasetParameters `json:"defaultDataset,omitempty" tf:"default_dataset,omitempty"` + + // Custom encryption configuration (e.g., Cloud KMS keys) + // +kubebuilder:validation:Optional + DestinationEncryptionConfiguration []QueryDestinationEncryptionConfigurationParameters `json:"destinationEncryptionConfiguration,omitempty" tf:"destination_encryption_configuration,omitempty"` + + // Describes the table where the query results should be stored. + // This property must be set for large results that exceed the maximum response size. + // For queries that produce anonymous (cached) results, this field will be populated by BigQuery. + // +kubebuilder:validation:Optional + DestinationTable []QueryDestinationTableParameters `json:"destinationTable,omitempty" tf:"destination_table,omitempty"` + + // If true and query uses legacy SQL dialect, flattens all nested and repeated fields in the query results. + // allowLargeResults must be true if this is set to false. For standard SQL queries, this flag is ignored and results are never flattened. + // +kubebuilder:validation:Optional + FlattenResults *bool `json:"flattenResults,omitempty" tf:"flatten_results,omitempty"` + + // Limits the billing tier for this job. Queries that have resource usage beyond this tier will fail (without incurring a charge). + // If unspecified, this will be set to your project default. + // +kubebuilder:validation:Optional + MaximumBillingTier *int64 `json:"maximumBillingTier,omitempty" tf:"maximum_billing_tier,omitempty"` + + // Limits the bytes billed for this job. Queries that will have bytes billed beyond this limit will fail (without incurring a charge). + // If unspecified, this will be set to your project default. + // +kubebuilder:validation:Optional + MaximumBytesBilled *string `json:"maximumBytesBilled,omitempty" tf:"maximum_bytes_billed,omitempty"` + + // Standard SQL only. Set to POSITIONAL to use positional (?) query parameters or to NAMED to use named (@myparam) query parameters in this query. + // +kubebuilder:validation:Optional + ParameterMode *string `json:"parameterMode,omitempty" tf:"parameter_mode,omitempty"` + + // Specifies a priority for the query. Default value: "INTERACTIVE" Possible values: ["INTERACTIVE", "BATCH"] + // +kubebuilder:validation:Optional + Priority *string `json:"priority,omitempty" tf:"priority,omitempty"` + + // SQL query text to execute. The useLegacySql field can be used to indicate whether the query uses legacy SQL or standard SQL. + // *NOTE*: queries containing [DML language](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) + // ('DELETE', 'UPDATE', 'MERGE', 'INSERT') must specify 'create_disposition = ""' and 'write_disposition = ""'. + // +kubebuilder:validation:Required + Query *string `json:"query" tf:"query,omitempty"` + + // Allows the schema of the destination table to be updated as a side effect of the query job. + // Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; + // when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, + // specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema. + // One or more of the following values are specified: + // ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. + // ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable. + // +kubebuilder:validation:Optional + SchemaUpdateOptions []*string `json:"schemaUpdateOptions,omitempty" tf:"schema_update_options,omitempty"` + + // Options controlling the execution of scripts. + // +kubebuilder:validation:Optional + ScriptOptions []ScriptOptionsParameters `json:"scriptOptions,omitempty" tf:"script_options,omitempty"` + + // Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. + // If set to false, the query will use BigQuery's standard SQL. + // +kubebuilder:validation:Optional + UseLegacySQL *bool `json:"useLegacySql,omitempty" tf:"use_legacy_sql,omitempty"` + + // Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever + // tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified. + // The default value is true. + // +kubebuilder:validation:Optional + UseQueryCache *bool `json:"useQueryCache,omitempty" tf:"use_query_cache,omitempty"` + + // Describes user-defined function resources used in the query. + // +kubebuilder:validation:Optional + UserDefinedFunctionResources []UserDefinedFunctionResourcesParameters `json:"userDefinedFunctionResources,omitempty" tf:"user_defined_function_resources,omitempty"` + + // Specifies the action that occurs if the destination table already exists. The following values are supported: + // WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data and uses the schema from the query result. + // WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. + // WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. + // Each action is atomic and only occurs if BigQuery is able to complete the job successfully. + // Creation, truncation and append actions occur as one atomic update upon job completion. Default value: "WRITE_EMPTY" Possible values: ["WRITE_TRUNCATE", "WRITE_APPEND", "WRITE_EMPTY"] + // +kubebuilder:validation:Optional + WriteDisposition *string `json:"writeDisposition,omitempty" tf:"write_disposition,omitempty"` +} + +type ScriptOptionsObservation struct { +} + +type ScriptOptionsParameters struct { + + // Determines which statement in the script represents the "key result", + // used to populate the schema and query results of the script job. Possible values: ["LAST", "FIRST_SELECT"] + // +kubebuilder:validation:Optional + KeyResultStatement *string `json:"keyResultStatement,omitempty" tf:"key_result_statement,omitempty"` + + // Limit on the number of bytes billed per statement. Exceeding this budget results in an error. + // +kubebuilder:validation:Optional + StatementByteBudget *string `json:"statementByteBudget,omitempty" tf:"statement_byte_budget,omitempty"` + + // Timeout period for each statement in a script. + // +kubebuilder:validation:Optional + StatementTimeoutMs *string `json:"statementTimeoutMs,omitempty" tf:"statement_timeout_ms,omitempty"` +} + +type SourceModelObservation struct { +} + +type SourceModelParameters struct { + + // The ID of the dataset containing this model. + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // The ID of the model. + // +kubebuilder:validation:Required + ModelID *string `json:"modelId" tf:"model_id,omitempty"` + + // The ID of the project containing this model. + // +kubebuilder:validation:Required + ProjectID *string `json:"projectId" tf:"project_id,omitempty"` +} + +type SourceTableObservation struct { +} + +type SourceTableParameters struct { + + // The ID of the dataset containing this table. + // +kubebuilder:validation:Optional + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // The ID of the project containing this table. + // +kubebuilder:validation:Optional + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, + // or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not. + // +kubebuilder:validation:Required + TableID *string `json:"tableId" tf:"table_id,omitempty"` +} + +type SourceTablesObservation struct { +} + +type SourceTablesParameters struct { + + // The ID of the dataset containing this table. + // +kubebuilder:validation:Optional + DatasetID *string `json:"datasetId,omitempty" tf:"dataset_id,omitempty"` + + // The ID of the project containing this table. + // +kubebuilder:validation:Optional + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // The table. Can be specified '{{table_id}}' if 'project_id' and 'dataset_id' are also set, + // or of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' if not. + // +kubebuilder:validation:Required + TableID *string `json:"tableId" tf:"table_id,omitempty"` +} + +type StatusObservation struct { + ErrorResult []ErrorResultObservation `json:"errorResult,omitempty" tf:"error_result,omitempty"` + + Errors []ErrorsObservation `json:"errors,omitempty" tf:"errors,omitempty"` + + State *string `json:"state,omitempty" tf:"state,omitempty"` +} + +type StatusParameters struct { +} + +type TimePartitioningObservation struct { +} + +type TimePartitioningParameters struct { + + // Number of milliseconds for which to keep the storage for a partition. A wrapper is used here because 0 is an invalid value. + // +kubebuilder:validation:Optional + ExpirationMs *string `json:"expirationMs,omitempty" tf:"expiration_ms,omitempty"` + + // If not set, the table is partitioned by pseudo column '_PARTITIONTIME'; if set, the table is partitioned by this field. + // The field must be a top-level TIMESTAMP or DATE field. Its mode must be NULLABLE or REQUIRED. + // A wrapper is used here because an empty string is an invalid value. + // +kubebuilder:validation:Optional + Field *string `json:"field,omitempty" tf:"field,omitempty"` + + // The only type supported is DAY, which will generate one partition per day. Providing an empty string used to cause an error, + // but in OnePlatform the field will be treated as unset. + // +kubebuilder:validation:Required + Type *string `json:"type" tf:"type,omitempty"` +} + +type UserDefinedFunctionResourcesObservation struct { +} + +type UserDefinedFunctionResourcesParameters struct { + + // An inline resource that contains code for a user-defined function (UDF). + // Providing a inline code resource is equivalent to providing a URI for a file containing the same code. + // +kubebuilder:validation:Optional + InlineCode *string `json:"inlineCode,omitempty" tf:"inline_code,omitempty"` + + // A code resource to load from a Google Cloud Storage URI (gs://bucket/path). + // +kubebuilder:validation:Optional + ResourceURI *string `json:"resourceUri,omitempty" tf:"resource_uri,omitempty"` +} + +// JobSpec defines the desired state of Job +type JobSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider JobParameters `json:"forProvider"` +} + +// JobStatus defines the observed state of Job. +type JobStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider JobObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Job is the Schema for the Jobs 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,gcpjet} +type Job struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec JobSpec `json:"spec"` + Status JobStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// JobList contains a list of Jobs +type JobList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Job `json:"items"` +} + +// Repository type metadata. +var ( + Job_Kind = "Job" + Job_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Job_Kind}.String() + Job_KindAPIVersion = Job_Kind + "." + CRDGroupVersion.String() + Job_GroupVersionKind = CRDGroupVersion.WithKind(Job_Kind) +) + +func init() { + SchemeBuilder.Register(&Job{}, &JobList{}) +} diff --git a/apis/bigquery/v1alpha1/zz_reservation_terraformed.go b/apis/bigquery/v1alpha1/zz_reservation_terraformed.go new file mode 100755 index 00000000..78b96e24 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_reservation_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Reservation +func (mg *Reservation) GetTerraformResourceType() string { + return "google_bigquery_reservation" +} + +// GetConnectionDetailsMapping for this Reservation +func (tr *Reservation) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Reservation +func (tr *Reservation) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Reservation +func (tr *Reservation) SetObservation(obs map[string]interface{}) 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 Reservation +func (tr *Reservation) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Reservation +func (tr *Reservation) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Reservation +func (tr *Reservation) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Reservation using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Reservation) LateInitialize(attrs []byte) (bool, error) { + params := &ReservationParameters{} + 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 *Reservation) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigquery/v1alpha1/zz_reservation_types.go b/apis/bigquery/v1alpha1/zz_reservation_types.go new file mode 100755 index 00000000..e960e072 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_reservation_types.go @@ -0,0 +1,105 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ReservationObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ReservationParameters struct { + + // If false, any query using this reservation will use idle slots from other reservations within + // the same admin project. If true, a query using this reservation will execute with the slot + // capacity specified above at most. + // +kubebuilder:validation:Optional + IgnoreIdleSlots *bool `json:"ignoreIdleSlots,omitempty" tf:"ignore_idle_slots,omitempty"` + + // The geographic location where the transfer config should reside. + // Examples: US, EU, asia-northeast1. The default value is US. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // The name of the reservation. This field must only contain alphanumeric characters or dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Minimum slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the + // unit of parallelism. Queries using this reservation might use more slots during runtime if ignoreIdleSlots is set to false. + // +kubebuilder:validation:Required + SlotCapacity *int64 `json:"slotCapacity" tf:"slot_capacity,omitempty"` +} + +// ReservationSpec defines the desired state of Reservation +type ReservationSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ReservationParameters `json:"forProvider"` +} + +// ReservationStatus defines the observed state of Reservation. +type ReservationStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ReservationObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Reservation is the Schema for the Reservations 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,gcpjet} +type Reservation struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ReservationSpec `json:"spec"` + Status ReservationStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ReservationList contains a list of Reservations +type ReservationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Reservation `json:"items"` +} + +// Repository type metadata. +var ( + Reservation_Kind = "Reservation" + Reservation_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Reservation_Kind}.String() + Reservation_KindAPIVersion = Reservation_Kind + "." + CRDGroupVersion.String() + Reservation_GroupVersionKind = CRDGroupVersion.WithKind(Reservation_Kind) +) + +func init() { + SchemeBuilder.Register(&Reservation{}, &ReservationList{}) +} diff --git a/apis/bigquery/v1alpha1/zz_routine_terraformed.go b/apis/bigquery/v1alpha1/zz_routine_terraformed.go new file mode 100755 index 00000000..6c7bc3d1 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_routine_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Routine +func (mg *Routine) GetTerraformResourceType() string { + return "google_bigquery_routine" +} + +// GetConnectionDetailsMapping for this Routine +func (tr *Routine) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Routine +func (tr *Routine) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Routine +func (tr *Routine) SetObservation(obs map[string]interface{}) 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 Routine +func (tr *Routine) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Routine +func (tr *Routine) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Routine +func (tr *Routine) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Routine using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Routine) LateInitialize(attrs []byte) (bool, error) { + params := &RoutineParameters{} + 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 *Routine) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigquery/v1alpha1/zz_routine_types.go b/apis/bigquery/v1alpha1/zz_routine_types.go new file mode 100755 index 00000000..8f2fb8fd --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_routine_types.go @@ -0,0 +1,167 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ArgumentsObservation struct { +} + +type ArgumentsParameters struct { + + // Defaults to FIXED_TYPE. Default value: "FIXED_TYPE" Possible values: ["FIXED_TYPE", "ANY_TYPE"] + // +kubebuilder:validation:Optional + ArgumentKind *string `json:"argumentKind,omitempty" tf:"argument_kind,omitempty"` + + // A JSON schema for the data type. Required unless argumentKind = ANY_TYPE. + // ~>**NOTE**: Because this field expects a JSON string, any changes to the string + // will create a diff, even if the JSON itself hasn't changed. If the API returns + // a different value for the same schema, e.g. it switched the order of values + // or replaced STRUCT field type with RECORD field type, we currently cannot + // suppress the recurring diff this causes. As a workaround, we recommend using + // the schema as returned by the API. + // +kubebuilder:validation:Optional + DataType *string `json:"dataType,omitempty" tf:"data_type,omitempty"` + + // Specifies whether the argument is input or output. Can be set for procedures only. Possible values: ["IN", "OUT", "INOUT"] + // +kubebuilder:validation:Optional + Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` + + // The name of this argument. Can be absent for function return argument. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type RoutineObservation struct { + CreationTime *int64 `json:"creationTime,omitempty" tf:"creation_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LastModifiedTime *int64 `json:"lastModifiedTime,omitempty" tf:"last_modified_time,omitempty"` +} + +type RoutineParameters struct { + + // Input/output argument of a function or a stored procedure. + // +kubebuilder:validation:Optional + Arguments []ArgumentsParameters `json:"arguments,omitempty" tf:"arguments,omitempty"` + + // The ID of the dataset containing this routine + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // The body of the routine. For functions, this is the expression in the AS clause. + // If language=SQL, it is the substring inside (but excluding) the parentheses. + // +kubebuilder:validation:Required + DefinitionBody *string `json:"definitionBody" tf:"definition_body,omitempty"` + + // The description of the routine if defined. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The determinism level of the JavaScript UDF if defined. Possible values: ["DETERMINISM_LEVEL_UNSPECIFIED", "DETERMINISTIC", "NOT_DETERMINISTIC"] + // +kubebuilder:validation:Optional + DeterminismLevel *string `json:"determinismLevel,omitempty" tf:"determinism_level,omitempty"` + + // Optional. If language = "JAVASCRIPT", this field stores the path of the + // imported JAVASCRIPT libraries. + // +kubebuilder:validation:Optional + ImportedLibraries []*string `json:"importedLibraries,omitempty" tf:"imported_libraries,omitempty"` + + // The language of the routine. Possible values: ["SQL", "JAVASCRIPT"] + // +kubebuilder:validation:Optional + Language *string `json:"language,omitempty" tf:"language,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // A JSON schema for the return type. Optional if language = "SQL"; required otherwise. + // If absent, the return type is inferred from definitionBody at query time in each query + // that references this routine. If present, then the evaluated result will be cast to + // the specified returned type at query time. ~>**NOTE**: Because this field expects a JSON + // string, any changes to the string will create a diff, even if the JSON itself hasn't + // changed. If the API returns a different value for the same schema, e.g. it switche + // d the order of values or replaced STRUCT field type with RECORD field type, we currently + // cannot suppress the recurring diff this causes. As a workaround, we recommend using + // the schema as returned by the API. + // +kubebuilder:validation:Optional + ReturnType *string `json:"returnType,omitempty" tf:"return_type,omitempty"` + + // The ID of the the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters. + // +kubebuilder:validation:Required + RoutineID *string `json:"routineId" tf:"routine_id,omitempty"` + + // The type of routine. Possible values: ["SCALAR_FUNCTION", "PROCEDURE"] + // +kubebuilder:validation:Optional + RoutineType *string `json:"routineType,omitempty" tf:"routine_type,omitempty"` +} + +// RoutineSpec defines the desired state of Routine +type RoutineSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RoutineParameters `json:"forProvider"` +} + +// RoutineStatus defines the observed state of Routine. +type RoutineStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RoutineObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Routine is the Schema for the Routines 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,gcpjet} +type Routine struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RoutineSpec `json:"spec"` + Status RoutineStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RoutineList contains a list of Routines +type RoutineList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Routine `json:"items"` +} + +// Repository type metadata. +var ( + Routine_Kind = "Routine" + Routine_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Routine_Kind}.String() + Routine_KindAPIVersion = Routine_Kind + "." + CRDGroupVersion.String() + Routine_GroupVersionKind = CRDGroupVersion.WithKind(Routine_Kind) +) + +func init() { + SchemeBuilder.Register(&Routine{}, &RoutineList{}) +} diff --git a/apis/bigquery/v1alpha1/zz_table_terraformed.go b/apis/bigquery/v1alpha1/zz_table_terraformed.go new file mode 100755 index 00000000..d5d9a329 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_table_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Table +func (mg *Table) GetTerraformResourceType() string { + return "google_bigquery_table" +} + +// GetConnectionDetailsMapping for this Table +func (tr *Table) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Table +func (tr *Table) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Table +func (tr *Table) SetObservation(obs map[string]interface{}) 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 Table +func (tr *Table) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Table +func (tr *Table) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Table +func (tr *Table) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Table using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Table) LateInitialize(attrs []byte) (bool, error) { + params := &TableParameters{} + 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 *Table) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigquery/v1alpha1/zz_table_types.go b/apis/bigquery/v1alpha1/zz_table_types.go new file mode 100755 index 00000000..af226fe1 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_table_types.go @@ -0,0 +1,369 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CsvOptionsObservation struct { +} + +type CsvOptionsParameters struct { + + // Indicates if BigQuery should accept rows that are missing trailing optional columns. + // +kubebuilder:validation:Optional + AllowJaggedRows *bool `json:"allowJaggedRows,omitempty" tf:"allow_jagged_rows,omitempty"` + + // Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. + // +kubebuilder:validation:Optional + AllowQuotedNewlines *bool `json:"allowQuotedNewlines,omitempty" tf:"allow_quoted_newlines,omitempty"` + + // The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. + // +kubebuilder:validation:Optional + Encoding *string `json:"encoding,omitempty" tf:"encoding,omitempty"` + + // The separator for fields in a CSV file. + // +kubebuilder:validation:Optional + FieldDelimiter *string `json:"fieldDelimiter,omitempty" tf:"field_delimiter,omitempty"` + + // The value that is used to quote data sections in a CSV file. If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allow_quoted_newlines property to true. The API-side default is ", specified in Terraform escaped as \". Due to limitations with Terraform default values, this value is required to be explicitly set. + // +kubebuilder:validation:Required + Quote *string `json:"quote" tf:"quote,omitempty"` + + // The number of rows at the top of a CSV file that BigQuery will skip when reading the data. + // +kubebuilder:validation:Optional + SkipLeadingRows *int64 `json:"skipLeadingRows,omitempty" tf:"skip_leading_rows,omitempty"` +} + +type EncryptionConfigurationObservation struct { + KMSKeyVersion *string `json:"kmsKeyVersion,omitempty" tf:"kms_key_version,omitempty"` +} + +type EncryptionConfigurationParameters struct { + + // The self link or full name of a key which should be used to encrypt this table. Note that the default bigquery service account will need to have encrypt/decrypt permissions on this key - you may want to see the google_bigquery_default_service_account datasource and the google_kms_crypto_key_iam_binding resource. + // +kubebuilder:validation:Required + KMSKeyName *string `json:"kmsKeyName" tf:"kms_key_name,omitempty"` +} + +type ExternalDataConfigurationObservation struct { +} + +type ExternalDataConfigurationParameters struct { + + // Let BigQuery try to autodetect the schema and format of the table. + // +kubebuilder:validation:Required + Autodetect *bool `json:"autodetect" tf:"autodetect,omitempty"` + + // The compression type of the data source. Valid values are "NONE" or "GZIP". + // +kubebuilder:validation:Optional + Compression *string `json:"compression,omitempty" tf:"compression,omitempty"` + + // Additional properties to set if source_format is set to "CSV". + // +kubebuilder:validation:Optional + CsvOptions []CsvOptionsParameters `json:"csvOptions,omitempty" tf:"csv_options,omitempty"` + + // Additional options if source_format is set to "GOOGLE_SHEETS". + // +kubebuilder:validation:Optional + GoogleSheetsOptions []GoogleSheetsOptionsParameters `json:"googleSheetsOptions,omitempty" tf:"google_sheets_options,omitempty"` + + // When set, configures hive partitioning support. Not all storage formats support hive partitioning -- requesting hive partitioning on an unsupported format will lead to an error, as will providing an invalid specification. + // +kubebuilder:validation:Optional + HivePartitioningOptions []HivePartitioningOptionsParameters `json:"hivePartitioningOptions,omitempty" tf:"hive_partitioning_options,omitempty"` + + // Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. + // +kubebuilder:validation:Optional + IgnoreUnknownValues *bool `json:"ignoreUnknownValues,omitempty" tf:"ignore_unknown_values,omitempty"` + + // The maximum number of bad records that BigQuery can ignore when reading data. + // +kubebuilder:validation:Optional + MaxBadRecords *int64 `json:"maxBadRecords,omitempty" tf:"max_bad_records,omitempty"` + + // A JSON schema for the external table. Schema is required for CSV and JSON formats and is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats when using external tables. + // +kubebuilder:validation:Optional + Schema *string `json:"schema,omitempty" tf:"schema,omitempty"` + + // The data format. Supported values are: "CSV", "GOOGLE_SHEETS", "NEWLINE_DELIMITED_JSON", "AVRO", "PARQUET", "ORC" and "DATASTORE_BACKUP". To use "GOOGLE_SHEETS" the scopes must include "googleapis.com/auth/drive.readonly". + // +kubebuilder:validation:Required + SourceFormat *string `json:"sourceFormat" tf:"source_format,omitempty"` + + // A list of the fully-qualified URIs that point to your data in Google Cloud. + // +kubebuilder:validation:Required + SourceUris []*string `json:"sourceUris" tf:"source_uris,omitempty"` +} + +type GoogleSheetsOptionsObservation struct { +} + +type GoogleSheetsOptionsParameters struct { + + // Range of a sheet to query from. Only used when non-empty. At least one of range or skip_leading_rows must be set. Typical format: "sheet_name!top_left_cell_id:bottom_right_cell_id" For example: "sheet1!A1:B20" + // +kubebuilder:validation:Optional + Range *string `json:"range,omitempty" tf:"range,omitempty"` + + // The number of rows at the top of the sheet that BigQuery will skip when reading the data. At least one of range or skip_leading_rows must be set. + // +kubebuilder:validation:Optional + SkipLeadingRows *int64 `json:"skipLeadingRows,omitempty" tf:"skip_leading_rows,omitempty"` +} + +type HivePartitioningOptionsObservation struct { +} + +type HivePartitioningOptionsParameters struct { + + // When set, what mode of hive partitioning to use when reading data. + // +kubebuilder:validation:Optional + Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` + + // If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified. + // +kubebuilder:validation:Optional + RequirePartitionFilter *bool `json:"requirePartitionFilter,omitempty" tf:"require_partition_filter,omitempty"` + + // When hive partition detection is requested, a common for all source uris must be required. The prefix must end immediately before the partition key encoding begins. + // +kubebuilder:validation:Optional + SourceURIPrefix *string `json:"sourceUriPrefix,omitempty" tf:"source_uri_prefix,omitempty"` +} + +type MaterializedViewObservation struct { +} + +type MaterializedViewParameters struct { + + // Specifies if BigQuery should automatically refresh materialized view when the base table is updated. The default is true. + // +kubebuilder:validation:Optional + EnableRefresh *bool `json:"enableRefresh,omitempty" tf:"enable_refresh,omitempty"` + + // A query whose result is persisted. + // +kubebuilder:validation:Required + Query *string `json:"query" tf:"query,omitempty"` + + // Specifies maximum frequency at which this materialized view will be refreshed. The default is 1800000 + // +kubebuilder:validation:Optional + RefreshIntervalMs *int64 `json:"refreshIntervalMs,omitempty" tf:"refresh_interval_ms,omitempty"` +} + +type RangeObservation struct { +} + +type RangeParameters struct { + + // End of the range partitioning, exclusive. + // +kubebuilder:validation:Required + End *int64 `json:"end" tf:"end,omitempty"` + + // The width of each range within the partition. + // +kubebuilder:validation:Required + Interval *int64 `json:"interval" tf:"interval,omitempty"` + + // Start of the range partitioning, inclusive. + // +kubebuilder:validation:Required + Start *int64 `json:"start" tf:"start,omitempty"` +} + +type RangePartitioningObservation struct { +} + +type RangePartitioningParameters struct { + + // The field used to determine how to create a range-based partition. + // +kubebuilder:validation:Required + Field *string `json:"field" tf:"field,omitempty"` + + // Information required to partition based on ranges. Structure is documented below. + // +kubebuilder:validation:Required + Range []RangeParameters `json:"range" tf:"range,omitempty"` +} + +type TableObservation struct { + CreationTime *int64 `json:"creationTime,omitempty" tf:"creation_time,omitempty"` + + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LastModifiedTime *int64 `json:"lastModifiedTime,omitempty" tf:"last_modified_time,omitempty"` + + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + NumBytes *int64 `json:"numBytes,omitempty" tf:"num_bytes,omitempty"` + + NumLongTermBytes *int64 `json:"numLongTermBytes,omitempty" tf:"num_long_term_bytes,omitempty"` + + NumRows *int64 `json:"numRows,omitempty" tf:"num_rows,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type TableParameters struct { + + // Specifies column names to use for data clustering. Up to four top-level columns are allowed, and should be specified in descending priority order. + // +kubebuilder:validation:Optional + Clustering []*string `json:"clustering,omitempty" tf:"clustering,omitempty"` + + // The dataset ID to create the table in. Changing this forces a new resource to be created. + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // Whether or not to allow Terraform to destroy the instance. Unless this field is set to false in Terraform state, a terraform destroy or terraform apply that would delete the instance will fail. + // +kubebuilder:validation:Optional + DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"` + + // The field description. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Specifies how the table should be encrypted. If left blank, the table will be encrypted with a Google-managed key; that process is transparent to the user. + // +kubebuilder:validation:Optional + EncryptionConfiguration []EncryptionConfigurationParameters `json:"encryptionConfiguration,omitempty" tf:"encryption_configuration,omitempty"` + + // The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. + // +kubebuilder:validation:Optional + ExpirationTime *int64 `json:"expirationTime,omitempty" tf:"expiration_time,omitempty"` + + // Describes the data format, location, and other properties of a table stored outside of BigQuery. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. + // +kubebuilder:validation:Optional + ExternalDataConfiguration []ExternalDataConfigurationParameters `json:"externalDataConfiguration,omitempty" tf:"external_data_configuration,omitempty"` + + // A descriptive name for the table. + // +kubebuilder:validation:Optional + FriendlyName *string `json:"friendlyName,omitempty" tf:"friendly_name,omitempty"` + + // A mapping of labels to assign to the resource. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // If specified, configures this table as a materialized view. + // +kubebuilder:validation:Optional + MaterializedView []MaterializedViewParameters `json:"materializedView,omitempty" tf:"materialized_view,omitempty"` + + // The ID of the project in which the resource belongs. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // If specified, configures range-based partitioning for this table. + // +kubebuilder:validation:Optional + RangePartitioning []RangePartitioningParameters `json:"rangePartitioning,omitempty" tf:"range_partitioning,omitempty"` + + // A JSON schema for the table. + // +kubebuilder:validation:Optional + Schema *string `json:"schema,omitempty" tf:"schema,omitempty"` + + // A unique ID for the resource. Changing this forces a new resource to be created. + // +kubebuilder:validation:Required + TableID *string `json:"tableId" tf:"table_id,omitempty"` + + // If specified, configures time-based partitioning for this table. + // +kubebuilder:validation:Optional + TimePartitioning []TableTimePartitioningParameters `json:"timePartitioning,omitempty" tf:"time_partitioning,omitempty"` + + // If specified, configures this table as a view. + // +kubebuilder:validation:Optional + View []TableViewParameters `json:"view,omitempty" tf:"view,omitempty"` +} + +type TableTimePartitioningObservation struct { +} + +type TableTimePartitioningParameters struct { + + // Number of milliseconds for which to keep the storage for a partition. + // +kubebuilder:validation:Optional + ExpirationMs *int64 `json:"expirationMs,omitempty" tf:"expiration_ms,omitempty"` + + // The field used to determine how to create a time-based partition. If time-based partitioning is enabled without this value, the table is partitioned based on the load time. + // +kubebuilder:validation:Optional + Field *string `json:"field,omitempty" tf:"field,omitempty"` + + // If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified. + // +kubebuilder:validation:Optional + RequirePartitionFilter *bool `json:"requirePartitionFilter,omitempty" tf:"require_partition_filter,omitempty"` + + // The supported types are DAY, HOUR, MONTH, and YEAR, which will generate one partition per day, hour, month, and year, respectively. + // +kubebuilder:validation:Required + Type *string `json:"type" tf:"type,omitempty"` +} + +type TableViewObservation struct { +} + +type TableViewParameters struct { + + // A query that BigQuery executes when the view is referenced. + // +kubebuilder:validation:Required + Query *string `json:"query" tf:"query,omitempty"` + + // Specifies whether to use BigQuery's legacy SQL for this view. The default value is true. If set to false, the view will use BigQuery's standard SQL + // +kubebuilder:validation:Optional + UseLegacySQL *bool `json:"useLegacySql,omitempty" tf:"use_legacy_sql,omitempty"` +} + +// TableSpec defines the desired state of Table +type TableSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TableParameters `json:"forProvider"` +} + +// TableStatus defines the observed state of Table. +type TableStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TableObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Table is the Schema for the Tables 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,gcpjet} +type Table struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TableSpec `json:"spec"` + Status TableStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TableList contains a list of Tables +type TableList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Table `json:"items"` +} + +// Repository type metadata. +var ( + Table_Kind = "Table" + Table_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Table_Kind}.String() + Table_KindAPIVersion = Table_Kind + "." + CRDGroupVersion.String() + Table_GroupVersionKind = CRDGroupVersion.WithKind(Table_Kind) +) + +func init() { + SchemeBuilder.Register(&Table{}, &TableList{}) +} diff --git a/apis/bigquery/v1alpha1/zz_tableiambinding_terraformed.go b/apis/bigquery/v1alpha1/zz_tableiambinding_terraformed.go new file mode 100755 index 00000000..c342baf6 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_tableiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TableIAMBinding +func (mg *TableIAMBinding) GetTerraformResourceType() string { + return "google_bigquery_table_iam_binding" +} + +// GetConnectionDetailsMapping for this TableIAMBinding +func (tr *TableIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TableIAMBinding +func (tr *TableIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TableIAMBinding +func (tr *TableIAMBinding) SetObservation(obs map[string]interface{}) 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 TableIAMBinding +func (tr *TableIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TableIAMBinding +func (tr *TableIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TableIAMBinding +func (tr *TableIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TableIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TableIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &TableIAMBindingParameters{} + 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 *TableIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigquery/v1alpha1/zz_tableiambinding_types.go b/apis/bigquery/v1alpha1/zz_tableiambinding_types.go new file mode 100755 index 00000000..5bdf9cfc --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_tableiambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TableIAMBindingConditionObservation struct { +} + +type TableIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TableIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TableIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []TableIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + TableID *string `json:"tableId" tf:"table_id,omitempty"` +} + +// TableIAMBindingSpec defines the desired state of TableIAMBinding +type TableIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TableIAMBindingParameters `json:"forProvider"` +} + +// TableIAMBindingStatus defines the observed state of TableIAMBinding. +type TableIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TableIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TableIAMBinding is the Schema for the TableIAMBindings 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,gcpjet} +type TableIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TableIAMBindingSpec `json:"spec"` + Status TableIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TableIAMBindingList contains a list of TableIAMBindings +type TableIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TableIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + TableIAMBinding_Kind = "TableIAMBinding" + TableIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TableIAMBinding_Kind}.String() + TableIAMBinding_KindAPIVersion = TableIAMBinding_Kind + "." + CRDGroupVersion.String() + TableIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(TableIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&TableIAMBinding{}, &TableIAMBindingList{}) +} diff --git a/apis/bigquery/v1alpha1/zz_tableiammember_terraformed.go b/apis/bigquery/v1alpha1/zz_tableiammember_terraformed.go new file mode 100755 index 00000000..edb43bc2 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_tableiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TableIAMMember +func (mg *TableIAMMember) GetTerraformResourceType() string { + return "google_bigquery_table_iam_member" +} + +// GetConnectionDetailsMapping for this TableIAMMember +func (tr *TableIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TableIAMMember +func (tr *TableIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TableIAMMember +func (tr *TableIAMMember) SetObservation(obs map[string]interface{}) 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 TableIAMMember +func (tr *TableIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TableIAMMember +func (tr *TableIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TableIAMMember +func (tr *TableIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TableIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TableIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &TableIAMMemberParameters{} + 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 *TableIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigquery/v1alpha1/zz_tableiammember_types.go b/apis/bigquery/v1alpha1/zz_tableiammember_types.go new file mode 100755 index 00000000..0d3dc113 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_tableiammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TableIAMMemberConditionObservation struct { +} + +type TableIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TableIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TableIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []TableIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + TableID *string `json:"tableId" tf:"table_id,omitempty"` +} + +// TableIAMMemberSpec defines the desired state of TableIAMMember +type TableIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TableIAMMemberParameters `json:"forProvider"` +} + +// TableIAMMemberStatus defines the observed state of TableIAMMember. +type TableIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TableIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TableIAMMember is the Schema for the TableIAMMembers 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,gcpjet} +type TableIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TableIAMMemberSpec `json:"spec"` + Status TableIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TableIAMMemberList contains a list of TableIAMMembers +type TableIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TableIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + TableIAMMember_Kind = "TableIAMMember" + TableIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TableIAMMember_Kind}.String() + TableIAMMember_KindAPIVersion = TableIAMMember_Kind + "." + CRDGroupVersion.String() + TableIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(TableIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&TableIAMMember{}, &TableIAMMemberList{}) +} diff --git a/apis/bigquery/v1alpha1/zz_tableiampolicy_terraformed.go b/apis/bigquery/v1alpha1/zz_tableiampolicy_terraformed.go new file mode 100755 index 00000000..faf2f0aa --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_tableiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TableIAMPolicy +func (mg *TableIAMPolicy) GetTerraformResourceType() string { + return "google_bigquery_table_iam_policy" +} + +// GetConnectionDetailsMapping for this TableIAMPolicy +func (tr *TableIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TableIAMPolicy +func (tr *TableIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TableIAMPolicy +func (tr *TableIAMPolicy) SetObservation(obs map[string]interface{}) 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 TableIAMPolicy +func (tr *TableIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TableIAMPolicy +func (tr *TableIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TableIAMPolicy +func (tr *TableIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TableIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TableIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &TableIAMPolicyParameters{} + 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 *TableIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigquery/v1alpha1/zz_tableiampolicy_types.go b/apis/bigquery/v1alpha1/zz_tableiampolicy_types.go new file mode 100755 index 00000000..b688e695 --- /dev/null +++ b/apis/bigquery/v1alpha1/zz_tableiampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TableIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TableIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + TableID *string `json:"tableId" tf:"table_id,omitempty"` +} + +// TableIAMPolicySpec defines the desired state of TableIAMPolicy +type TableIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TableIAMPolicyParameters `json:"forProvider"` +} + +// TableIAMPolicyStatus defines the observed state of TableIAMPolicy. +type TableIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TableIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TableIAMPolicy is the Schema for the TableIAMPolicys 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,gcpjet} +type TableIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TableIAMPolicySpec `json:"spec"` + Status TableIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TableIAMPolicyList contains a list of TableIAMPolicys +type TableIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TableIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + TableIAMPolicy_Kind = "TableIAMPolicy" + TableIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TableIAMPolicy_Kind}.String() + TableIAMPolicy_KindAPIVersion = TableIAMPolicy_Kind + "." + CRDGroupVersion.String() + TableIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(TableIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&TableIAMPolicy{}, &TableIAMPolicyList{}) +} diff --git a/apis/bigtable/v1alpha1/zz_appprofile_terraformed.go b/apis/bigtable/v1alpha1/zz_appprofile_terraformed.go new file mode 100755 index 00000000..2f11d044 --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_appprofile_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AppProfile +func (mg *AppProfile) GetTerraformResourceType() string { + return "google_bigtable_app_profile" +} + +// GetConnectionDetailsMapping for this AppProfile +func (tr *AppProfile) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AppProfile +func (tr *AppProfile) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AppProfile +func (tr *AppProfile) SetObservation(obs map[string]interface{}) 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 AppProfile +func (tr *AppProfile) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AppProfile +func (tr *AppProfile) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AppProfile +func (tr *AppProfile) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AppProfile using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AppProfile) LateInitialize(attrs []byte) (bool, error) { + params := &AppProfileParameters{} + 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 *AppProfile) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigtable/v1alpha1/zz_appprofile_types.go b/apis/bigtable/v1alpha1/zz_appprofile_types.go new file mode 100755 index 00000000..3a4fbf24 --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_appprofile_types.go @@ -0,0 +1,128 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AppProfileObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type AppProfileParameters struct { + + // The unique name of the app profile in the form '[_a-zA-Z0-9][-_.a-zA-Z0-9]*'. + // +kubebuilder:validation:Required + AppProfileID *string `json:"appProfileId" tf:"app_profile_id,omitempty"` + + // Long form description of the use case for this app profile. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // If true, ignore safety checks when deleting/updating the app profile. + // +kubebuilder:validation:Optional + IgnoreWarnings *bool `json:"ignoreWarnings,omitempty" tf:"ignore_warnings,omitempty"` + + // The name of the instance to create the app profile within. + // +kubebuilder:validation:Optional + Instance *string `json:"instance,omitempty" tf:"instance,omitempty"` + + // If true, read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available + // in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes + // consistency to improve availability. + // +kubebuilder:validation:Optional + MultiClusterRoutingUseAny *bool `json:"multiClusterRoutingUseAny,omitempty" tf:"multi_cluster_routing_use_any,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Use a single-cluster routing policy. + // +kubebuilder:validation:Optional + SingleClusterRouting []SingleClusterRoutingParameters `json:"singleClusterRouting,omitempty" tf:"single_cluster_routing,omitempty"` +} + +type SingleClusterRoutingObservation struct { +} + +type SingleClusterRoutingParameters struct { + + // If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile. + // It is unsafe to send these requests to the same table/row/column in multiple clusters. + // +kubebuilder:validation:Optional + AllowTransactionalWrites *bool `json:"allowTransactionalWrites,omitempty" tf:"allow_transactional_writes,omitempty"` + + // The cluster to which read/write requests should be routed. + // +kubebuilder:validation:Required + ClusterID *string `json:"clusterId" tf:"cluster_id,omitempty"` +} + +// AppProfileSpec defines the desired state of AppProfile +type AppProfileSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AppProfileParameters `json:"forProvider"` +} + +// AppProfileStatus defines the observed state of AppProfile. +type AppProfileStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AppProfileObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AppProfile is the Schema for the AppProfiles 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,gcpjet} +type AppProfile struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AppProfileSpec `json:"spec"` + Status AppProfileStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AppProfileList contains a list of AppProfiles +type AppProfileList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AppProfile `json:"items"` +} + +// Repository type metadata. +var ( + AppProfile_Kind = "AppProfile" + AppProfile_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AppProfile_Kind}.String() + AppProfile_KindAPIVersion = AppProfile_Kind + "." + CRDGroupVersion.String() + AppProfile_GroupVersionKind = CRDGroupVersion.WithKind(AppProfile_Kind) +) + +func init() { + SchemeBuilder.Register(&AppProfile{}, &AppProfileList{}) +} diff --git a/apis/bigtable/v1alpha1/zz_garbagecollectionpolicy_terraformed.go b/apis/bigtable/v1alpha1/zz_garbagecollectionpolicy_terraformed.go new file mode 100755 index 00000000..a815120d --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_garbagecollectionpolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this GarbageCollectionPolicy +func (mg *GarbageCollectionPolicy) GetTerraformResourceType() string { + return "google_bigtable_gc_policy" +} + +// GetConnectionDetailsMapping for this GarbageCollectionPolicy +func (tr *GarbageCollectionPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this GarbageCollectionPolicy +func (tr *GarbageCollectionPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this GarbageCollectionPolicy +func (tr *GarbageCollectionPolicy) SetObservation(obs map[string]interface{}) 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 GarbageCollectionPolicy +func (tr *GarbageCollectionPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this GarbageCollectionPolicy +func (tr *GarbageCollectionPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this GarbageCollectionPolicy +func (tr *GarbageCollectionPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this GarbageCollectionPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *GarbageCollectionPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &GarbageCollectionPolicyParameters{} + 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 *GarbageCollectionPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigtable/v1alpha1/zz_garbagecollectionpolicy_types.go b/apis/bigtable/v1alpha1/zz_garbagecollectionpolicy_types.go new file mode 100755 index 00000000..d988187d --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_garbagecollectionpolicy_types.go @@ -0,0 +1,134 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 GarbageCollectionPolicyObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type GarbageCollectionPolicyParameters struct { + + // The name of the column family. + // +kubebuilder:validation:Required + ColumnFamily *string `json:"columnFamily" tf:"column_family,omitempty"` + + // The name of the Bigtable instance. + // +kubebuilder:validation:Required + InstanceName *string `json:"instanceName" tf:"instance_name,omitempty"` + + // GC policy that applies to all cells older than the given age. + // +kubebuilder:validation:Optional + MaxAge []MaxAgeParameters `json:"maxAge,omitempty" tf:"max_age,omitempty"` + + // GC policy that applies to all versions of a cell except for the most recent. + // +kubebuilder:validation:Optional + MaxVersion []MaxVersionParameters `json:"maxVersion,omitempty" tf:"max_version,omitempty"` + + // If multiple policies are set, you should choose between UNION OR INTERSECTION. + // +kubebuilder:validation:Optional + Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The name of the table. + // +kubebuilder:validation:Required + Table *string `json:"table" tf:"table,omitempty"` +} + +type MaxAgeObservation struct { +} + +type MaxAgeParameters struct { + + // Number of days before applying GC policy. + // +kubebuilder:validation:Optional + Days *int64 `json:"days,omitempty" tf:"days,omitempty"` + + // Duration before applying GC policy + // +kubebuilder:validation:Optional + Duration *string `json:"duration,omitempty" tf:"duration,omitempty"` +} + +type MaxVersionObservation struct { +} + +type MaxVersionParameters struct { + + // Number of version before applying the GC policy. + // +kubebuilder:validation:Required + Number *int64 `json:"number" tf:"number,omitempty"` +} + +// GarbageCollectionPolicySpec defines the desired state of GarbageCollectionPolicy +type GarbageCollectionPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider GarbageCollectionPolicyParameters `json:"forProvider"` +} + +// GarbageCollectionPolicyStatus defines the observed state of GarbageCollectionPolicy. +type GarbageCollectionPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider GarbageCollectionPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// GarbageCollectionPolicy is the Schema for the GarbageCollectionPolicys 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,gcpjet} +type GarbageCollectionPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec GarbageCollectionPolicySpec `json:"spec"` + Status GarbageCollectionPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// GarbageCollectionPolicyList contains a list of GarbageCollectionPolicys +type GarbageCollectionPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GarbageCollectionPolicy `json:"items"` +} + +// Repository type metadata. +var ( + GarbageCollectionPolicy_Kind = "GarbageCollectionPolicy" + GarbageCollectionPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: GarbageCollectionPolicy_Kind}.String() + GarbageCollectionPolicy_KindAPIVersion = GarbageCollectionPolicy_Kind + "." + CRDGroupVersion.String() + GarbageCollectionPolicy_GroupVersionKind = CRDGroupVersion.WithKind(GarbageCollectionPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&GarbageCollectionPolicy{}, &GarbageCollectionPolicyList{}) +} diff --git a/apis/bigtable/v1alpha1/zz_generated.deepcopy.go b/apis/bigtable/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..bcbe3c70 --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,2046 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppProfile) DeepCopyInto(out *AppProfile) { + *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 AppProfile. +func (in *AppProfile) DeepCopy() *AppProfile { + if in == nil { + return nil + } + out := new(AppProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppProfile) 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 *AppProfileList) DeepCopyInto(out *AppProfileList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AppProfile, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppProfileList. +func (in *AppProfileList) DeepCopy() *AppProfileList { + if in == nil { + return nil + } + out := new(AppProfileList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppProfileList) 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 *AppProfileObservation) DeepCopyInto(out *AppProfileObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppProfileObservation. +func (in *AppProfileObservation) DeepCopy() *AppProfileObservation { + if in == nil { + return nil + } + out := new(AppProfileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppProfileParameters) DeepCopyInto(out *AppProfileParameters) { + *out = *in + if in.AppProfileID != nil { + in, out := &in.AppProfileID, &out.AppProfileID + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.IgnoreWarnings != nil { + in, out := &in.IgnoreWarnings, &out.IgnoreWarnings + *out = new(bool) + **out = **in + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.MultiClusterRoutingUseAny != nil { + in, out := &in.MultiClusterRoutingUseAny, &out.MultiClusterRoutingUseAny + *out = new(bool) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SingleClusterRouting != nil { + in, out := &in.SingleClusterRouting, &out.SingleClusterRouting + *out = make([]SingleClusterRoutingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppProfileParameters. +func (in *AppProfileParameters) DeepCopy() *AppProfileParameters { + if in == nil { + return nil + } + out := new(AppProfileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppProfileSpec) DeepCopyInto(out *AppProfileSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppProfileSpec. +func (in *AppProfileSpec) DeepCopy() *AppProfileSpec { + if in == nil { + return nil + } + out := new(AppProfileSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppProfileStatus) DeepCopyInto(out *AppProfileStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppProfileStatus. +func (in *AppProfileStatus) DeepCopy() *AppProfileStatus { + if in == nil { + return nil + } + out := new(AppProfileStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterObservation. +func (in *ClusterObservation) DeepCopy() *ClusterObservation { + if in == nil { + return nil + } + out := new(ClusterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters) { + *out = *in + if in.ClusterID != nil { + in, out := &in.ClusterID, &out.ClusterID + *out = new(string) + **out = **in + } + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } + if in.NumNodes != nil { + in, out := &in.NumNodes, &out.NumNodes + *out = new(int64) + **out = **in + } + if in.StorageType != nil { + in, out := &in.StorageType, &out.StorageType + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterParameters. +func (in *ClusterParameters) DeepCopy() *ClusterParameters { + if in == nil { + return nil + } + out := new(ClusterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ColumnFamilyObservation) DeepCopyInto(out *ColumnFamilyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ColumnFamilyObservation. +func (in *ColumnFamilyObservation) DeepCopy() *ColumnFamilyObservation { + if in == nil { + return nil + } + out := new(ColumnFamilyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ColumnFamilyParameters) DeepCopyInto(out *ColumnFamilyParameters) { + *out = *in + if in.Family != nil { + in, out := &in.Family, &out.Family + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ColumnFamilyParameters. +func (in *ColumnFamilyParameters) DeepCopy() *ColumnFamilyParameters { + if in == nil { + return nil + } + out := new(ColumnFamilyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GarbageCollectionPolicy) DeepCopyInto(out *GarbageCollectionPolicy) { + *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 GarbageCollectionPolicy. +func (in *GarbageCollectionPolicy) DeepCopy() *GarbageCollectionPolicy { + if in == nil { + return nil + } + out := new(GarbageCollectionPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GarbageCollectionPolicy) 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 *GarbageCollectionPolicyList) DeepCopyInto(out *GarbageCollectionPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GarbageCollectionPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GarbageCollectionPolicyList. +func (in *GarbageCollectionPolicyList) DeepCopy() *GarbageCollectionPolicyList { + if in == nil { + return nil + } + out := new(GarbageCollectionPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GarbageCollectionPolicyList) 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 *GarbageCollectionPolicyObservation) DeepCopyInto(out *GarbageCollectionPolicyObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GarbageCollectionPolicyObservation. +func (in *GarbageCollectionPolicyObservation) DeepCopy() *GarbageCollectionPolicyObservation { + if in == nil { + return nil + } + out := new(GarbageCollectionPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GarbageCollectionPolicyParameters) DeepCopyInto(out *GarbageCollectionPolicyParameters) { + *out = *in + if in.ColumnFamily != nil { + in, out := &in.ColumnFamily, &out.ColumnFamily + *out = new(string) + **out = **in + } + if in.InstanceName != nil { + in, out := &in.InstanceName, &out.InstanceName + *out = new(string) + **out = **in + } + if in.MaxAge != nil { + in, out := &in.MaxAge, &out.MaxAge + *out = make([]MaxAgeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaxVersion != nil { + in, out := &in.MaxVersion, &out.MaxVersion + *out = make([]MaxVersionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Table != nil { + in, out := &in.Table, &out.Table + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GarbageCollectionPolicyParameters. +func (in *GarbageCollectionPolicyParameters) DeepCopy() *GarbageCollectionPolicyParameters { + if in == nil { + return nil + } + out := new(GarbageCollectionPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GarbageCollectionPolicySpec) DeepCopyInto(out *GarbageCollectionPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GarbageCollectionPolicySpec. +func (in *GarbageCollectionPolicySpec) DeepCopy() *GarbageCollectionPolicySpec { + if in == nil { + return nil + } + out := new(GarbageCollectionPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GarbageCollectionPolicyStatus) DeepCopyInto(out *GarbageCollectionPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GarbageCollectionPolicyStatus. +func (in *GarbageCollectionPolicyStatus) DeepCopy() *GarbageCollectionPolicyStatus { + if in == nil { + return nil + } + out := new(GarbageCollectionPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Instance) DeepCopyInto(out *Instance) { + *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 Instance. +func (in *Instance) DeepCopy() *Instance { + if in == nil { + return nil + } + out := new(Instance) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Instance) 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 *InstanceIAMBinding) DeepCopyInto(out *InstanceIAMBinding) { + *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 InstanceIAMBinding. +func (in *InstanceIAMBinding) DeepCopy() *InstanceIAMBinding { + if in == nil { + return nil + } + out := new(InstanceIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMBinding) 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 *InstanceIAMBindingList) DeepCopyInto(out *InstanceIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingList. +func (in *InstanceIAMBindingList) DeepCopy() *InstanceIAMBindingList { + if in == nil { + return nil + } + out := new(InstanceIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMBindingList) 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 *InstanceIAMBindingObservation) DeepCopyInto(out *InstanceIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingObservation. +func (in *InstanceIAMBindingObservation) DeepCopy() *InstanceIAMBindingObservation { + if in == nil { + return nil + } + out := new(InstanceIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingParameters) DeepCopyInto(out *InstanceIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingParameters. +func (in *InstanceIAMBindingParameters) DeepCopy() *InstanceIAMBindingParameters { + if in == nil { + return nil + } + out := new(InstanceIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingSpec) DeepCopyInto(out *InstanceIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingSpec. +func (in *InstanceIAMBindingSpec) DeepCopy() *InstanceIAMBindingSpec { + if in == nil { + return nil + } + out := new(InstanceIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingStatus) DeepCopyInto(out *InstanceIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingStatus. +func (in *InstanceIAMBindingStatus) DeepCopy() *InstanceIAMBindingStatus { + if in == nil { + return nil + } + out := new(InstanceIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMember) DeepCopyInto(out *InstanceIAMMember) { + *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 InstanceIAMMember. +func (in *InstanceIAMMember) DeepCopy() *InstanceIAMMember { + if in == nil { + return nil + } + out := new(InstanceIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMMember) 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 *InstanceIAMMemberConditionObservation) DeepCopyInto(out *InstanceIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberConditionObservation. +func (in *InstanceIAMMemberConditionObservation) DeepCopy() *InstanceIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(InstanceIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberConditionParameters) DeepCopyInto(out *InstanceIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberConditionParameters. +func (in *InstanceIAMMemberConditionParameters) DeepCopy() *InstanceIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(InstanceIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberList) DeepCopyInto(out *InstanceIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberList. +func (in *InstanceIAMMemberList) DeepCopy() *InstanceIAMMemberList { + if in == nil { + return nil + } + out := new(InstanceIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMMemberList) 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 *InstanceIAMMemberObservation) DeepCopyInto(out *InstanceIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberObservation. +func (in *InstanceIAMMemberObservation) DeepCopy() *InstanceIAMMemberObservation { + if in == nil { + return nil + } + out := new(InstanceIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberParameters) DeepCopyInto(out *InstanceIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]InstanceIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberParameters. +func (in *InstanceIAMMemberParameters) DeepCopy() *InstanceIAMMemberParameters { + if in == nil { + return nil + } + out := new(InstanceIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberSpec) DeepCopyInto(out *InstanceIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberSpec. +func (in *InstanceIAMMemberSpec) DeepCopy() *InstanceIAMMemberSpec { + if in == nil { + return nil + } + out := new(InstanceIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberStatus) DeepCopyInto(out *InstanceIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberStatus. +func (in *InstanceIAMMemberStatus) DeepCopy() *InstanceIAMMemberStatus { + if in == nil { + return nil + } + out := new(InstanceIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicy) DeepCopyInto(out *InstanceIAMPolicy) { + *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 InstanceIAMPolicy. +func (in *InstanceIAMPolicy) DeepCopy() *InstanceIAMPolicy { + if in == nil { + return nil + } + out := new(InstanceIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMPolicy) 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 *InstanceIAMPolicyList) DeepCopyInto(out *InstanceIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyList. +func (in *InstanceIAMPolicyList) DeepCopy() *InstanceIAMPolicyList { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMPolicyList) 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 *InstanceIAMPolicyObservation) DeepCopyInto(out *InstanceIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyObservation. +func (in *InstanceIAMPolicyObservation) DeepCopy() *InstanceIAMPolicyObservation { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicyParameters) DeepCopyInto(out *InstanceIAMPolicyParameters) { + *out = *in + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyParameters. +func (in *InstanceIAMPolicyParameters) DeepCopy() *InstanceIAMPolicyParameters { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicySpec) DeepCopyInto(out *InstanceIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicySpec. +func (in *InstanceIAMPolicySpec) DeepCopy() *InstanceIAMPolicySpec { + if in == nil { + return nil + } + out := new(InstanceIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicyStatus) DeepCopyInto(out *InstanceIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyStatus. +func (in *InstanceIAMPolicyStatus) DeepCopy() *InstanceIAMPolicyStatus { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceList) DeepCopyInto(out *InstanceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Instance, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList. +func (in *InstanceList) DeepCopy() *InstanceList { + if in == nil { + return nil + } + out := new(InstanceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceList) 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 *InstanceObservation) DeepCopyInto(out *InstanceObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceObservation. +func (in *InstanceObservation) DeepCopy() *InstanceObservation { + if in == nil { + return nil + } + out := new(InstanceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { + *out = *in + if in.Cluster != nil { + in, out := &in.Cluster, &out.Cluster + *out = make([]ClusterParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DeletionProtection != nil { + in, out := &in.DeletionProtection, &out.DeletionProtection + *out = new(bool) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.InstanceType != nil { + in, out := &in.InstanceType, &out.InstanceType + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceParameters. +func (in *InstanceParameters) DeepCopy() *InstanceParameters { + if in == nil { + return nil + } + out := new(InstanceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec. +func (in *InstanceSpec) DeepCopy() *InstanceSpec { + if in == nil { + return nil + } + out := new(InstanceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus. +func (in *InstanceStatus) DeepCopy() *InstanceStatus { + if in == nil { + return nil + } + out := new(InstanceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaxAgeObservation) DeepCopyInto(out *MaxAgeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaxAgeObservation. +func (in *MaxAgeObservation) DeepCopy() *MaxAgeObservation { + if in == nil { + return nil + } + out := new(MaxAgeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaxAgeParameters) DeepCopyInto(out *MaxAgeParameters) { + *out = *in + if in.Days != nil { + in, out := &in.Days, &out.Days + *out = new(int64) + **out = **in + } + if in.Duration != nil { + in, out := &in.Duration, &out.Duration + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaxAgeParameters. +func (in *MaxAgeParameters) DeepCopy() *MaxAgeParameters { + if in == nil { + return nil + } + out := new(MaxAgeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaxVersionObservation) DeepCopyInto(out *MaxVersionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaxVersionObservation. +func (in *MaxVersionObservation) DeepCopy() *MaxVersionObservation { + if in == nil { + return nil + } + out := new(MaxVersionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaxVersionParameters) DeepCopyInto(out *MaxVersionParameters) { + *out = *in + if in.Number != nil { + in, out := &in.Number, &out.Number + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaxVersionParameters. +func (in *MaxVersionParameters) DeepCopy() *MaxVersionParameters { + if in == nil { + return nil + } + out := new(MaxVersionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SingleClusterRoutingObservation) DeepCopyInto(out *SingleClusterRoutingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SingleClusterRoutingObservation. +func (in *SingleClusterRoutingObservation) DeepCopy() *SingleClusterRoutingObservation { + if in == nil { + return nil + } + out := new(SingleClusterRoutingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SingleClusterRoutingParameters) DeepCopyInto(out *SingleClusterRoutingParameters) { + *out = *in + if in.AllowTransactionalWrites != nil { + in, out := &in.AllowTransactionalWrites, &out.AllowTransactionalWrites + *out = new(bool) + **out = **in + } + if in.ClusterID != nil { + in, out := &in.ClusterID, &out.ClusterID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SingleClusterRoutingParameters. +func (in *SingleClusterRoutingParameters) DeepCopy() *SingleClusterRoutingParameters { + if in == nil { + return nil + } + out := new(SingleClusterRoutingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Table) DeepCopyInto(out *Table) { + *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 Table. +func (in *Table) DeepCopy() *Table { + if in == nil { + return nil + } + out := new(Table) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Table) 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 *TableIAMBinding) DeepCopyInto(out *TableIAMBinding) { + *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 TableIAMBinding. +func (in *TableIAMBinding) DeepCopy() *TableIAMBinding { + if in == nil { + return nil + } + out := new(TableIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TableIAMBinding) 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 *TableIAMBindingConditionObservation) DeepCopyInto(out *TableIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingConditionObservation. +func (in *TableIAMBindingConditionObservation) DeepCopy() *TableIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(TableIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMBindingConditionParameters) DeepCopyInto(out *TableIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingConditionParameters. +func (in *TableIAMBindingConditionParameters) DeepCopy() *TableIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(TableIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMBindingList) DeepCopyInto(out *TableIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TableIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingList. +func (in *TableIAMBindingList) DeepCopy() *TableIAMBindingList { + if in == nil { + return nil + } + out := new(TableIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TableIAMBindingList) 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 *TableIAMBindingObservation) DeepCopyInto(out *TableIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingObservation. +func (in *TableIAMBindingObservation) DeepCopy() *TableIAMBindingObservation { + if in == nil { + return nil + } + out := new(TableIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMBindingParameters) DeepCopyInto(out *TableIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TableIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Table != nil { + in, out := &in.Table, &out.Table + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingParameters. +func (in *TableIAMBindingParameters) DeepCopy() *TableIAMBindingParameters { + if in == nil { + return nil + } + out := new(TableIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMBindingSpec) DeepCopyInto(out *TableIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingSpec. +func (in *TableIAMBindingSpec) DeepCopy() *TableIAMBindingSpec { + if in == nil { + return nil + } + out := new(TableIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMBindingStatus) DeepCopyInto(out *TableIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMBindingStatus. +func (in *TableIAMBindingStatus) DeepCopy() *TableIAMBindingStatus { + if in == nil { + return nil + } + out := new(TableIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMMember) DeepCopyInto(out *TableIAMMember) { + *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 TableIAMMember. +func (in *TableIAMMember) DeepCopy() *TableIAMMember { + if in == nil { + return nil + } + out := new(TableIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TableIAMMember) 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 *TableIAMMemberConditionObservation) DeepCopyInto(out *TableIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMMemberConditionObservation. +func (in *TableIAMMemberConditionObservation) DeepCopy() *TableIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(TableIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMMemberConditionParameters) DeepCopyInto(out *TableIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMMemberConditionParameters. +func (in *TableIAMMemberConditionParameters) DeepCopy() *TableIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(TableIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMMemberList) DeepCopyInto(out *TableIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TableIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMMemberList. +func (in *TableIAMMemberList) DeepCopy() *TableIAMMemberList { + if in == nil { + return nil + } + out := new(TableIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TableIAMMemberList) 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 *TableIAMMemberObservation) DeepCopyInto(out *TableIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMMemberObservation. +func (in *TableIAMMemberObservation) DeepCopy() *TableIAMMemberObservation { + if in == nil { + return nil + } + out := new(TableIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMMemberParameters) DeepCopyInto(out *TableIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TableIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Table != nil { + in, out := &in.Table, &out.Table + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMMemberParameters. +func (in *TableIAMMemberParameters) DeepCopy() *TableIAMMemberParameters { + if in == nil { + return nil + } + out := new(TableIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMMemberSpec) DeepCopyInto(out *TableIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMMemberSpec. +func (in *TableIAMMemberSpec) DeepCopy() *TableIAMMemberSpec { + if in == nil { + return nil + } + out := new(TableIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMMemberStatus) DeepCopyInto(out *TableIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMMemberStatus. +func (in *TableIAMMemberStatus) DeepCopy() *TableIAMMemberStatus { + if in == nil { + return nil + } + out := new(TableIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMPolicy) DeepCopyInto(out *TableIAMPolicy) { + *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 TableIAMPolicy. +func (in *TableIAMPolicy) DeepCopy() *TableIAMPolicy { + if in == nil { + return nil + } + out := new(TableIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TableIAMPolicy) 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 *TableIAMPolicyList) DeepCopyInto(out *TableIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TableIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMPolicyList. +func (in *TableIAMPolicyList) DeepCopy() *TableIAMPolicyList { + if in == nil { + return nil + } + out := new(TableIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TableIAMPolicyList) 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 *TableIAMPolicyObservation) DeepCopyInto(out *TableIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMPolicyObservation. +func (in *TableIAMPolicyObservation) DeepCopy() *TableIAMPolicyObservation { + if in == nil { + return nil + } + out := new(TableIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMPolicyParameters) DeepCopyInto(out *TableIAMPolicyParameters) { + *out = *in + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Table != nil { + in, out := &in.Table, &out.Table + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMPolicyParameters. +func (in *TableIAMPolicyParameters) DeepCopy() *TableIAMPolicyParameters { + if in == nil { + return nil + } + out := new(TableIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMPolicySpec) DeepCopyInto(out *TableIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMPolicySpec. +func (in *TableIAMPolicySpec) DeepCopy() *TableIAMPolicySpec { + if in == nil { + return nil + } + out := new(TableIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableIAMPolicyStatus) DeepCopyInto(out *TableIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableIAMPolicyStatus. +func (in *TableIAMPolicyStatus) DeepCopy() *TableIAMPolicyStatus { + if in == nil { + return nil + } + out := new(TableIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableList) DeepCopyInto(out *TableList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Table, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableList. +func (in *TableList) DeepCopy() *TableList { + if in == nil { + return nil + } + out := new(TableList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TableList) 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 *TableObservation) DeepCopyInto(out *TableObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableObservation. +func (in *TableObservation) DeepCopy() *TableObservation { + if in == nil { + return nil + } + out := new(TableObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableParameters) DeepCopyInto(out *TableParameters) { + *out = *in + if in.ColumnFamily != nil { + in, out := &in.ColumnFamily, &out.ColumnFamily + *out = make([]ColumnFamilyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceName != nil { + in, out := &in.InstanceName, &out.InstanceName + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SplitKeys != nil { + in, out := &in.SplitKeys, &out.SplitKeys + *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 TableParameters. +func (in *TableParameters) DeepCopy() *TableParameters { + if in == nil { + return nil + } + out := new(TableParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableSpec) DeepCopyInto(out *TableSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableSpec. +func (in *TableSpec) DeepCopy() *TableSpec { + if in == nil { + return nil + } + out := new(TableSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableStatus) DeepCopyInto(out *TableStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableStatus. +func (in *TableStatus) DeepCopy() *TableStatus { + if in == nil { + return nil + } + out := new(TableStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/bigtable/v1alpha1/zz_generated.managed.go b/apis/bigtable/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..7b42628a --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_generated.managed.go @@ -0,0 +1,580 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this AppProfile. +func (mg *AppProfile) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AppProfile. +func (mg *AppProfile) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AppProfile. +func (mg *AppProfile) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AppProfile. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AppProfile) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AppProfile. +func (mg *AppProfile) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AppProfile. +func (mg *AppProfile) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AppProfile. +func (mg *AppProfile) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AppProfile. +func (mg *AppProfile) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AppProfile. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AppProfile) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AppProfile. +func (mg *AppProfile) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this GarbageCollectionPolicy. +func (mg *GarbageCollectionPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this GarbageCollectionPolicy. +func (mg *GarbageCollectionPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this GarbageCollectionPolicy. +func (mg *GarbageCollectionPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this GarbageCollectionPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *GarbageCollectionPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this GarbageCollectionPolicy. +func (mg *GarbageCollectionPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this GarbageCollectionPolicy. +func (mg *GarbageCollectionPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this GarbageCollectionPolicy. +func (mg *GarbageCollectionPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this GarbageCollectionPolicy. +func (mg *GarbageCollectionPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this GarbageCollectionPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *GarbageCollectionPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this GarbageCollectionPolicy. +func (mg *GarbageCollectionPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Instance. +func (mg *Instance) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Instance. +func (mg *Instance) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Instance. +func (mg *Instance) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Instance. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Instance) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Instance. +func (mg *Instance) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Instance. +func (mg *Instance) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Instance. +func (mg *Instance) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Instance. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Instance) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Table. +func (mg *Table) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Table. +func (mg *Table) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Table. +func (mg *Table) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Table. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Table) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Table. +func (mg *Table) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Table. +func (mg *Table) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Table. +func (mg *Table) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Table. +func (mg *Table) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Table. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Table) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Table. +func (mg *Table) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TableIAMBinding. +func (mg *TableIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TableIAMBinding. +func (mg *TableIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TableIAMBinding. +func (mg *TableIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TableIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TableIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TableIAMBinding. +func (mg *TableIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TableIAMBinding. +func (mg *TableIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TableIAMBinding. +func (mg *TableIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TableIAMBinding. +func (mg *TableIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TableIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TableIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TableIAMBinding. +func (mg *TableIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TableIAMMember. +func (mg *TableIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TableIAMMember. +func (mg *TableIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TableIAMMember. +func (mg *TableIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TableIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TableIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TableIAMMember. +func (mg *TableIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TableIAMMember. +func (mg *TableIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TableIAMMember. +func (mg *TableIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TableIAMMember. +func (mg *TableIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TableIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TableIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TableIAMMember. +func (mg *TableIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TableIAMPolicy. +func (mg *TableIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TableIAMPolicy. +func (mg *TableIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TableIAMPolicy. +func (mg *TableIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TableIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TableIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TableIAMPolicy. +func (mg *TableIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TableIAMPolicy. +func (mg *TableIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TableIAMPolicy. +func (mg *TableIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TableIAMPolicy. +func (mg *TableIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TableIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TableIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TableIAMPolicy. +func (mg *TableIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/bigtable/v1alpha1/zz_generated.managedlist.go b/apis/bigtable/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..8b163d4f --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,110 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this AppProfileList. +func (l *AppProfileList) 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 GarbageCollectionPolicyList. +func (l *GarbageCollectionPolicyList) 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 InstanceIAMBindingList. +func (l *InstanceIAMBindingList) 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 InstanceIAMMemberList. +func (l *InstanceIAMMemberList) 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 InstanceIAMPolicyList. +func (l *InstanceIAMPolicyList) 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 InstanceList. +func (l *InstanceList) 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 TableIAMBindingList. +func (l *TableIAMBindingList) 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 TableIAMMemberList. +func (l *TableIAMMemberList) 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 TableIAMPolicyList. +func (l *TableIAMPolicyList) 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 TableList. +func (l *TableList) 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/bigtable/v1alpha1/zz_groupversion_info.go b/apis/bigtable/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..c9efce5b --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=bigtable.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "bigtable.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/bigtable/v1alpha1/zz_instance_terraformed.go b/apis/bigtable/v1alpha1/zz_instance_terraformed.go new file mode 100755 index 00000000..cf2ce6d6 --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_instance_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Instance +func (mg *Instance) GetTerraformResourceType() string { + return "google_bigtable_instance" +} + +// GetConnectionDetailsMapping for this Instance +func (tr *Instance) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Instance +func (tr *Instance) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Instance +func (tr *Instance) SetObservation(obs map[string]interface{}) 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 Instance +func (tr *Instance) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Instance +func (tr *Instance) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Instance +func (tr *Instance) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Instance using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Instance) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceParameters{} + 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 *Instance) GetTerraformSchemaVersion() int { + return 1 +} diff --git a/apis/bigtable/v1alpha1/zz_instance_types.go b/apis/bigtable/v1alpha1/zz_instance_types.go new file mode 100755 index 00000000..dec6a846 --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_instance_types.go @@ -0,0 +1,136 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ClusterObservation struct { +} + +type ClusterParameters struct { + + // The ID of the Cloud Bigtable cluster. + // +kubebuilder:validation:Required + ClusterID *string `json:"clusterId" tf:"cluster_id,omitempty"` + + // Describes the Cloud KMS encryption key that will be used to protect the destination Bigtable cluster. The requirements for this key are: 1) The Cloud Bigtable service account associated with the project that contains this cluster must be granted the cloudkms.cryptoKeyEncrypterDecrypter role on the CMEK key. 2) Only regional keys can be used and the region of the CMEK key must match the region of the cluster. 3) All clusters within an instance must use the same CMEK key. Values are of the form projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key} + // +kubebuilder:validation:Optional + KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"` + + // The number of nodes in your Cloud Bigtable cluster. Required, with a minimum of 1 for a PRODUCTION instance. Must be left unset for a DEVELOPMENT instance. + // +kubebuilder:validation:Optional + NumNodes *int64 `json:"numNodes,omitempty" tf:"num_nodes,omitempty"` + + // The storage type to use. One of "SSD" or "HDD". Defaults to "SSD". + // +kubebuilder:validation:Optional + StorageType *string `json:"storageType,omitempty" tf:"storage_type,omitempty"` + + // The zone to create the Cloud Bigtable cluster in. Each cluster must have a different zone in the same region. Zones that support Bigtable instances are noted on the Cloud Bigtable locations page. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type InstanceObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceParameters struct { + + // A block of cluster configuration options. This can be specified at least once. + // +kubebuilder:validation:Optional + Cluster []ClusterParameters `json:"cluster,omitempty" tf:"cluster,omitempty"` + + // Whether or not to allow Terraform to destroy the instance. Unless this field is set to false in Terraform state, a terraform destroy or terraform apply that would delete the instance will fail. + // +kubebuilder:validation:Optional + DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"` + + // The human-readable display name of the Bigtable instance. Defaults to the instance name. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // The instance type to create. One of "DEVELOPMENT" or "PRODUCTION". Defaults to "PRODUCTION". + // +kubebuilder:validation:Optional + InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"` + + // A mapping of labels to assign to the resource. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The name (also called Instance Id in the Cloud Console) of the Cloud Bigtable instance. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// InstanceSpec defines the desired state of Instance +type InstanceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceParameters `json:"forProvider"` +} + +// InstanceStatus defines the observed state of Instance. +type InstanceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Instance is the Schema for the Instances 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,gcpjet} +type Instance struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceSpec `json:"spec"` + Status InstanceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceList contains a list of Instances +type InstanceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Instance `json:"items"` +} + +// Repository type metadata. +var ( + Instance_Kind = "Instance" + Instance_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Instance_Kind}.String() + Instance_KindAPIVersion = Instance_Kind + "." + CRDGroupVersion.String() + Instance_GroupVersionKind = CRDGroupVersion.WithKind(Instance_Kind) +) + +func init() { + SchemeBuilder.Register(&Instance{}, &InstanceList{}) +} diff --git a/apis/bigtable/v1alpha1/zz_instanceiambinding_terraformed.go b/apis/bigtable/v1alpha1/zz_instanceiambinding_terraformed.go new file mode 100755 index 00000000..4f022ec4 --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_instanceiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceIAMBinding +func (mg *InstanceIAMBinding) GetTerraformResourceType() string { + return "google_bigtable_instance_iam_binding" +} + +// GetConnectionDetailsMapping for this InstanceIAMBinding +func (tr *InstanceIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceIAMBinding +func (tr *InstanceIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceIAMBinding +func (tr *InstanceIAMBinding) SetObservation(obs map[string]interface{}) 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 InstanceIAMBinding +func (tr *InstanceIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceIAMBinding +func (tr *InstanceIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceIAMBinding +func (tr *InstanceIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceIAMBindingParameters{} + 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 *InstanceIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigtable/v1alpha1/zz_instanceiambinding_types.go b/apis/bigtable/v1alpha1/zz_instanceiambinding_types.go new file mode 100755 index 00000000..913dd74b --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_instanceiambinding_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type InstanceIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// InstanceIAMBindingSpec defines the desired state of InstanceIAMBinding +type InstanceIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceIAMBindingParameters `json:"forProvider"` +} + +// InstanceIAMBindingStatus defines the observed state of InstanceIAMBinding. +type InstanceIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMBinding is the Schema for the InstanceIAMBindings 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,gcpjet} +type InstanceIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceIAMBindingSpec `json:"spec"` + Status InstanceIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMBindingList contains a list of InstanceIAMBindings +type InstanceIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + InstanceIAMBinding_Kind = "InstanceIAMBinding" + InstanceIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceIAMBinding_Kind}.String() + InstanceIAMBinding_KindAPIVersion = InstanceIAMBinding_Kind + "." + CRDGroupVersion.String() + InstanceIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(InstanceIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceIAMBinding{}, &InstanceIAMBindingList{}) +} diff --git a/apis/bigtable/v1alpha1/zz_instanceiammember_terraformed.go b/apis/bigtable/v1alpha1/zz_instanceiammember_terraformed.go new file mode 100755 index 00000000..ef800280 --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_instanceiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceIAMMember +func (mg *InstanceIAMMember) GetTerraformResourceType() string { + return "google_bigtable_instance_iam_member" +} + +// GetConnectionDetailsMapping for this InstanceIAMMember +func (tr *InstanceIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceIAMMember +func (tr *InstanceIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceIAMMember +func (tr *InstanceIAMMember) SetObservation(obs map[string]interface{}) 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 InstanceIAMMember +func (tr *InstanceIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceIAMMember +func (tr *InstanceIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceIAMMember +func (tr *InstanceIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceIAMMemberParameters{} + 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 *InstanceIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigtable/v1alpha1/zz_instanceiammember_types.go b/apis/bigtable/v1alpha1/zz_instanceiammember_types.go new file mode 100755 index 00000000..d5e61cae --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_instanceiammember_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceIAMMemberConditionObservation struct { +} + +type InstanceIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type InstanceIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []InstanceIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// InstanceIAMMemberSpec defines the desired state of InstanceIAMMember +type InstanceIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceIAMMemberParameters `json:"forProvider"` +} + +// InstanceIAMMemberStatus defines the observed state of InstanceIAMMember. +type InstanceIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMMember is the Schema for the InstanceIAMMembers 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,gcpjet} +type InstanceIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceIAMMemberSpec `json:"spec"` + Status InstanceIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMMemberList contains a list of InstanceIAMMembers +type InstanceIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + InstanceIAMMember_Kind = "InstanceIAMMember" + InstanceIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceIAMMember_Kind}.String() + InstanceIAMMember_KindAPIVersion = InstanceIAMMember_Kind + "." + CRDGroupVersion.String() + InstanceIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(InstanceIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceIAMMember{}, &InstanceIAMMemberList{}) +} diff --git a/apis/bigtable/v1alpha1/zz_instanceiampolicy_terraformed.go b/apis/bigtable/v1alpha1/zz_instanceiampolicy_terraformed.go new file mode 100755 index 00000000..472139de --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_instanceiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceIAMPolicy +func (mg *InstanceIAMPolicy) GetTerraformResourceType() string { + return "google_bigtable_instance_iam_policy" +} + +// GetConnectionDetailsMapping for this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) SetObservation(obs map[string]interface{}) 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 InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceIAMPolicyParameters{} + 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 *InstanceIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigtable/v1alpha1/zz_instanceiampolicy_types.go b/apis/bigtable/v1alpha1/zz_instanceiampolicy_types.go new file mode 100755 index 00000000..6b882e1d --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_instanceiampolicy_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// InstanceIAMPolicySpec defines the desired state of InstanceIAMPolicy +type InstanceIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceIAMPolicyParameters `json:"forProvider"` +} + +// InstanceIAMPolicyStatus defines the observed state of InstanceIAMPolicy. +type InstanceIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMPolicy is the Schema for the InstanceIAMPolicys 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,gcpjet} +type InstanceIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceIAMPolicySpec `json:"spec"` + Status InstanceIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMPolicyList contains a list of InstanceIAMPolicys +type InstanceIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + InstanceIAMPolicy_Kind = "InstanceIAMPolicy" + InstanceIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceIAMPolicy_Kind}.String() + InstanceIAMPolicy_KindAPIVersion = InstanceIAMPolicy_Kind + "." + CRDGroupVersion.String() + InstanceIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(InstanceIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceIAMPolicy{}, &InstanceIAMPolicyList{}) +} diff --git a/apis/bigtable/v1alpha1/zz_table_terraformed.go b/apis/bigtable/v1alpha1/zz_table_terraformed.go new file mode 100755 index 00000000..61ce5187 --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_table_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Table +func (mg *Table) GetTerraformResourceType() string { + return "google_bigtable_table" +} + +// GetConnectionDetailsMapping for this Table +func (tr *Table) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Table +func (tr *Table) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Table +func (tr *Table) SetObservation(obs map[string]interface{}) 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 Table +func (tr *Table) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Table +func (tr *Table) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Table +func (tr *Table) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Table using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Table) LateInitialize(attrs []byte) (bool, error) { + params := &TableParameters{} + 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 *Table) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigtable/v1alpha1/zz_table_types.go b/apis/bigtable/v1alpha1/zz_table_types.go new file mode 100755 index 00000000..20ac0f8c --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_table_types.go @@ -0,0 +1,112 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ColumnFamilyObservation struct { +} + +type ColumnFamilyParameters struct { + + // The name of the column family. + // +kubebuilder:validation:Required + Family *string `json:"family" tf:"family,omitempty"` +} + +type TableObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TableParameters struct { + + // A group of columns within a table which share a common configuration. This can be specified multiple times. + // +kubebuilder:validation:Optional + ColumnFamily []ColumnFamilyParameters `json:"columnFamily,omitempty" tf:"column_family,omitempty"` + + // The name of the Bigtable instance. + // +kubebuilder:validation:Required + InstanceName *string `json:"instanceName" tf:"instance_name,omitempty"` + + // The name of the table. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // A list of predefined keys to split the table on. !> Warning: Modifying the split_keys of an existing table will cause Terraform to delete/recreate the entire google_bigtable_table resource. + // +kubebuilder:validation:Optional + SplitKeys []*string `json:"splitKeys,omitempty" tf:"split_keys,omitempty"` +} + +// TableSpec defines the desired state of Table +type TableSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TableParameters `json:"forProvider"` +} + +// TableStatus defines the observed state of Table. +type TableStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TableObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Table is the Schema for the Tables 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,gcpjet} +type Table struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TableSpec `json:"spec"` + Status TableStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TableList contains a list of Tables +type TableList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Table `json:"items"` +} + +// Repository type metadata. +var ( + Table_Kind = "Table" + Table_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Table_Kind}.String() + Table_KindAPIVersion = Table_Kind + "." + CRDGroupVersion.String() + Table_GroupVersionKind = CRDGroupVersion.WithKind(Table_Kind) +) + +func init() { + SchemeBuilder.Register(&Table{}, &TableList{}) +} diff --git a/apis/bigtable/v1alpha1/zz_tableiambinding_terraformed.go b/apis/bigtable/v1alpha1/zz_tableiambinding_terraformed.go new file mode 100755 index 00000000..66dd6512 --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_tableiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TableIAMBinding +func (mg *TableIAMBinding) GetTerraformResourceType() string { + return "google_bigtable_table_iam_binding" +} + +// GetConnectionDetailsMapping for this TableIAMBinding +func (tr *TableIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TableIAMBinding +func (tr *TableIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TableIAMBinding +func (tr *TableIAMBinding) SetObservation(obs map[string]interface{}) 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 TableIAMBinding +func (tr *TableIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TableIAMBinding +func (tr *TableIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TableIAMBinding +func (tr *TableIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TableIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TableIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &TableIAMBindingParameters{} + 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 *TableIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigtable/v1alpha1/zz_tableiambinding_types.go b/apis/bigtable/v1alpha1/zz_tableiambinding_types.go new file mode 100755 index 00000000..a053f53b --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_tableiambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TableIAMBindingConditionObservation struct { +} + +type TableIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TableIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TableIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []TableIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + Table *string `json:"table" tf:"table,omitempty"` +} + +// TableIAMBindingSpec defines the desired state of TableIAMBinding +type TableIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TableIAMBindingParameters `json:"forProvider"` +} + +// TableIAMBindingStatus defines the observed state of TableIAMBinding. +type TableIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TableIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TableIAMBinding is the Schema for the TableIAMBindings 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,gcpjet} +type TableIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TableIAMBindingSpec `json:"spec"` + Status TableIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TableIAMBindingList contains a list of TableIAMBindings +type TableIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TableIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + TableIAMBinding_Kind = "TableIAMBinding" + TableIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TableIAMBinding_Kind}.String() + TableIAMBinding_KindAPIVersion = TableIAMBinding_Kind + "." + CRDGroupVersion.String() + TableIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(TableIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&TableIAMBinding{}, &TableIAMBindingList{}) +} diff --git a/apis/bigtable/v1alpha1/zz_tableiammember_terraformed.go b/apis/bigtable/v1alpha1/zz_tableiammember_terraformed.go new file mode 100755 index 00000000..f053b6db --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_tableiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TableIAMMember +func (mg *TableIAMMember) GetTerraformResourceType() string { + return "google_bigtable_table_iam_member" +} + +// GetConnectionDetailsMapping for this TableIAMMember +func (tr *TableIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TableIAMMember +func (tr *TableIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TableIAMMember +func (tr *TableIAMMember) SetObservation(obs map[string]interface{}) 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 TableIAMMember +func (tr *TableIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TableIAMMember +func (tr *TableIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TableIAMMember +func (tr *TableIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TableIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TableIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &TableIAMMemberParameters{} + 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 *TableIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigtable/v1alpha1/zz_tableiammember_types.go b/apis/bigtable/v1alpha1/zz_tableiammember_types.go new file mode 100755 index 00000000..a341cd67 --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_tableiammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TableIAMMemberConditionObservation struct { +} + +type TableIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TableIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TableIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []TableIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + Table *string `json:"table" tf:"table,omitempty"` +} + +// TableIAMMemberSpec defines the desired state of TableIAMMember +type TableIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TableIAMMemberParameters `json:"forProvider"` +} + +// TableIAMMemberStatus defines the observed state of TableIAMMember. +type TableIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TableIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TableIAMMember is the Schema for the TableIAMMembers 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,gcpjet} +type TableIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TableIAMMemberSpec `json:"spec"` + Status TableIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TableIAMMemberList contains a list of TableIAMMembers +type TableIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TableIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + TableIAMMember_Kind = "TableIAMMember" + TableIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TableIAMMember_Kind}.String() + TableIAMMember_KindAPIVersion = TableIAMMember_Kind + "." + CRDGroupVersion.String() + TableIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(TableIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&TableIAMMember{}, &TableIAMMemberList{}) +} diff --git a/apis/bigtable/v1alpha1/zz_tableiampolicy_terraformed.go b/apis/bigtable/v1alpha1/zz_tableiampolicy_terraformed.go new file mode 100755 index 00000000..debb0493 --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_tableiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TableIAMPolicy +func (mg *TableIAMPolicy) GetTerraformResourceType() string { + return "google_bigtable_table_iam_policy" +} + +// GetConnectionDetailsMapping for this TableIAMPolicy +func (tr *TableIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TableIAMPolicy +func (tr *TableIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TableIAMPolicy +func (tr *TableIAMPolicy) SetObservation(obs map[string]interface{}) 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 TableIAMPolicy +func (tr *TableIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TableIAMPolicy +func (tr *TableIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TableIAMPolicy +func (tr *TableIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TableIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TableIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &TableIAMPolicyParameters{} + 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 *TableIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/bigtable/v1alpha1/zz_tableiampolicy_types.go b/apis/bigtable/v1alpha1/zz_tableiampolicy_types.go new file mode 100755 index 00000000..6fd2706f --- /dev/null +++ b/apis/bigtable/v1alpha1/zz_tableiampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TableIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TableIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Table *string `json:"table" tf:"table,omitempty"` +} + +// TableIAMPolicySpec defines the desired state of TableIAMPolicy +type TableIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TableIAMPolicyParameters `json:"forProvider"` +} + +// TableIAMPolicyStatus defines the observed state of TableIAMPolicy. +type TableIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TableIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TableIAMPolicy is the Schema for the TableIAMPolicys 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,gcpjet} +type TableIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TableIAMPolicySpec `json:"spec"` + Status TableIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TableIAMPolicyList contains a list of TableIAMPolicys +type TableIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TableIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + TableIAMPolicy_Kind = "TableIAMPolicy" + TableIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TableIAMPolicy_Kind}.String() + TableIAMPolicy_KindAPIVersion = TableIAMPolicy_Kind + "." + CRDGroupVersion.String() + TableIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(TableIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&TableIAMPolicy{}, &TableIAMPolicyList{}) +} diff --git a/apis/billing/v1alpha1/zz_accountiambinding_terraformed.go b/apis/billing/v1alpha1/zz_accountiambinding_terraformed.go new file mode 100755 index 00000000..3a9c4c5d --- /dev/null +++ b/apis/billing/v1alpha1/zz_accountiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AccountIAMBinding +func (mg *AccountIAMBinding) GetTerraformResourceType() string { + return "google_billing_account_iam_binding" +} + +// GetConnectionDetailsMapping for this AccountIAMBinding +func (tr *AccountIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AccountIAMBinding +func (tr *AccountIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AccountIAMBinding +func (tr *AccountIAMBinding) SetObservation(obs map[string]interface{}) 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 AccountIAMBinding +func (tr *AccountIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AccountIAMBinding +func (tr *AccountIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AccountIAMBinding +func (tr *AccountIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AccountIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AccountIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &AccountIAMBindingParameters{} + 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 *AccountIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/billing/v1alpha1/zz_accountiambinding_types.go b/apis/billing/v1alpha1/zz_accountiambinding_types.go new file mode 100755 index 00000000..c8650d68 --- /dev/null +++ b/apis/billing/v1alpha1/zz_accountiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AccountIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AccountIAMBindingParameters struct { + + // +kubebuilder:validation:Required + BillingAccountID *string `json:"billingAccountId" tf:"billing_account_id,omitempty"` + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +type ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +// AccountIAMBindingSpec defines the desired state of AccountIAMBinding +type AccountIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AccountIAMBindingParameters `json:"forProvider"` +} + +// AccountIAMBindingStatus defines the observed state of AccountIAMBinding. +type AccountIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AccountIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AccountIAMBinding is the Schema for the AccountIAMBindings 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,gcpjet} +type AccountIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AccountIAMBindingSpec `json:"spec"` + Status AccountIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AccountIAMBindingList contains a list of AccountIAMBindings +type AccountIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AccountIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + AccountIAMBinding_Kind = "AccountIAMBinding" + AccountIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AccountIAMBinding_Kind}.String() + AccountIAMBinding_KindAPIVersion = AccountIAMBinding_Kind + "." + CRDGroupVersion.String() + AccountIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(AccountIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&AccountIAMBinding{}, &AccountIAMBindingList{}) +} diff --git a/apis/billing/v1alpha1/zz_accountiammember_terraformed.go b/apis/billing/v1alpha1/zz_accountiammember_terraformed.go new file mode 100755 index 00000000..30b85933 --- /dev/null +++ b/apis/billing/v1alpha1/zz_accountiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AccountIAMMember +func (mg *AccountIAMMember) GetTerraformResourceType() string { + return "google_billing_account_iam_member" +} + +// GetConnectionDetailsMapping for this AccountIAMMember +func (tr *AccountIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AccountIAMMember +func (tr *AccountIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AccountIAMMember +func (tr *AccountIAMMember) SetObservation(obs map[string]interface{}) 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 AccountIAMMember +func (tr *AccountIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AccountIAMMember +func (tr *AccountIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AccountIAMMember +func (tr *AccountIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AccountIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AccountIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &AccountIAMMemberParameters{} + 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 *AccountIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/billing/v1alpha1/zz_accountiammember_types.go b/apis/billing/v1alpha1/zz_accountiammember_types.go new file mode 100755 index 00000000..d1ee61ac --- /dev/null +++ b/apis/billing/v1alpha1/zz_accountiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AccountIAMMemberConditionObservation struct { +} + +type AccountIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type AccountIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AccountIAMMemberParameters struct { + + // +kubebuilder:validation:Required + BillingAccountID *string `json:"billingAccountId" tf:"billing_account_id,omitempty"` + + // +kubebuilder:validation:Optional + Condition []AccountIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// AccountIAMMemberSpec defines the desired state of AccountIAMMember +type AccountIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AccountIAMMemberParameters `json:"forProvider"` +} + +// AccountIAMMemberStatus defines the observed state of AccountIAMMember. +type AccountIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AccountIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AccountIAMMember is the Schema for the AccountIAMMembers 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,gcpjet} +type AccountIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AccountIAMMemberSpec `json:"spec"` + Status AccountIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AccountIAMMemberList contains a list of AccountIAMMembers +type AccountIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AccountIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + AccountIAMMember_Kind = "AccountIAMMember" + AccountIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AccountIAMMember_Kind}.String() + AccountIAMMember_KindAPIVersion = AccountIAMMember_Kind + "." + CRDGroupVersion.String() + AccountIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(AccountIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&AccountIAMMember{}, &AccountIAMMemberList{}) +} diff --git a/apis/billing/v1alpha1/zz_accountiampolicy_terraformed.go b/apis/billing/v1alpha1/zz_accountiampolicy_terraformed.go new file mode 100755 index 00000000..6f980c30 --- /dev/null +++ b/apis/billing/v1alpha1/zz_accountiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AccountIAMPolicy +func (mg *AccountIAMPolicy) GetTerraformResourceType() string { + return "google_billing_account_iam_policy" +} + +// GetConnectionDetailsMapping for this AccountIAMPolicy +func (tr *AccountIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AccountIAMPolicy +func (tr *AccountIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AccountIAMPolicy +func (tr *AccountIAMPolicy) SetObservation(obs map[string]interface{}) 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 AccountIAMPolicy +func (tr *AccountIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AccountIAMPolicy +func (tr *AccountIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AccountIAMPolicy +func (tr *AccountIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AccountIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AccountIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &AccountIAMPolicyParameters{} + 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 *AccountIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/billing/v1alpha1/zz_accountiampolicy_types.go b/apis/billing/v1alpha1/zz_accountiampolicy_types.go new file mode 100755 index 00000000..0e9c942e --- /dev/null +++ b/apis/billing/v1alpha1/zz_accountiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AccountIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AccountIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + BillingAccountID *string `json:"billingAccountId" tf:"billing_account_id,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` +} + +// AccountIAMPolicySpec defines the desired state of AccountIAMPolicy +type AccountIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AccountIAMPolicyParameters `json:"forProvider"` +} + +// AccountIAMPolicyStatus defines the observed state of AccountIAMPolicy. +type AccountIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AccountIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AccountIAMPolicy is the Schema for the AccountIAMPolicys 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,gcpjet} +type AccountIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AccountIAMPolicySpec `json:"spec"` + Status AccountIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AccountIAMPolicyList contains a list of AccountIAMPolicys +type AccountIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AccountIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + AccountIAMPolicy_Kind = "AccountIAMPolicy" + AccountIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AccountIAMPolicy_Kind}.String() + AccountIAMPolicy_KindAPIVersion = AccountIAMPolicy_Kind + "." + CRDGroupVersion.String() + AccountIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(AccountIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&AccountIAMPolicy{}, &AccountIAMPolicyList{}) +} diff --git a/apis/billing/v1alpha1/zz_budget_terraformed.go b/apis/billing/v1alpha1/zz_budget_terraformed.go new file mode 100755 index 00000000..278dd2f6 --- /dev/null +++ b/apis/billing/v1alpha1/zz_budget_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Budget +func (mg *Budget) GetTerraformResourceType() string { + return "google_billing_budget" +} + +// GetConnectionDetailsMapping for this Budget +func (tr *Budget) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Budget +func (tr *Budget) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Budget +func (tr *Budget) SetObservation(obs map[string]interface{}) 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 Budget +func (tr *Budget) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Budget +func (tr *Budget) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Budget +func (tr *Budget) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Budget using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Budget) LateInitialize(attrs []byte) (bool, error) { + params := &BudgetParameters{} + 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 *Budget) GetTerraformSchemaVersion() int { + return 1 +} diff --git a/apis/billing/v1alpha1/zz_budget_types.go b/apis/billing/v1alpha1/zz_budget_types.go new file mode 100755 index 00000000..c9465d70 --- /dev/null +++ b/apis/billing/v1alpha1/zz_budget_types.go @@ -0,0 +1,257 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AllUpdatesRuleObservation struct { +} + +type AllUpdatesRuleParameters struct { + + // Boolean. When set to true, disables default notifications sent + // when a threshold is exceeded. Default recipients are + // those with Billing Account Administrators and Billing + // Account Users IAM roles for the target account. + // +kubebuilder:validation:Optional + DisableDefaultIAMRecipients *bool `json:"disableDefaultIamRecipients,omitempty" tf:"disable_default_iam_recipients,omitempty"` + + // The full resource name of a monitoring notification + // channel in the form + // projects/{project_id}/notificationChannels/{channel_id}. + // A maximum of 5 channels are allowed. + // +kubebuilder:validation:Optional + MonitoringNotificationChannels []*string `json:"monitoringNotificationChannels,omitempty" tf:"monitoring_notification_channels,omitempty"` + + // The name of the Cloud Pub/Sub topic where budget related + // messages will be published, in the form + // projects/{project_id}/topics/{topic_id}. Updates are sent + // at regular intervals to the topic. + // +kubebuilder:validation:Optional + PubsubTopic *string `json:"pubsubTopic,omitempty" tf:"pubsub_topic,omitempty"` + + // The schema version of the notification. Only "1.0" is + // accepted. It represents the JSON schema as defined in + // https://cloud.google.com/billing/docs/how-to/budgets#notification_format. + // +kubebuilder:validation:Optional + SchemaVersion *string `json:"schemaVersion,omitempty" tf:"schema_version,omitempty"` +} + +type AmountObservation struct { +} + +type AmountParameters struct { + + // Configures a budget amount that is automatically set to 100% of + // last period's spend. + // Boolean. Set value to true to use. Do not set to false, instead + // use the 'specified_amount' block. + // +kubebuilder:validation:Optional + LastPeriodAmount *bool `json:"lastPeriodAmount,omitempty" tf:"last_period_amount,omitempty"` + + // A specified amount to use as the budget. currencyCode is + // optional. If specified, it must match the currency of the + // billing account. The currencyCode is provided on output. + // +kubebuilder:validation:Optional + SpecifiedAmount []SpecifiedAmountParameters `json:"specifiedAmount,omitempty" tf:"specified_amount,omitempty"` +} + +type BudgetFilterObservation struct { +} + +type BudgetFilterParameters struct { + + // A set of subaccounts of the form billingAccounts/{account_id}, + // specifying that usage from only this set of subaccounts should + // be included in the budget. If a subaccount is set to the name of + // the parent account, usage from the parent account will be included. + // If the field is omitted, the report will include usage from the parent + // account and all subaccounts, if they exist. + // +kubebuilder:validation:Optional + CreditTypes []*string `json:"creditTypes,omitempty" tf:"credit_types,omitempty"` + + // Specifies how credits should be treated when determining spend + // for threshold calculations. Default value: "INCLUDE_ALL_CREDITS" Possible values: ["INCLUDE_ALL_CREDITS", "EXCLUDE_ALL_CREDITS", "INCLUDE_SPECIFIED_CREDITS"] + // +kubebuilder:validation:Optional + CreditTypesTreatment *string `json:"creditTypesTreatment,omitempty" tf:"credit_types_treatment,omitempty"` + + // A single label and value pair specifying that usage from only + // this set of labeled resources should be included in the budget. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // A set of projects of the form projects/{project_number}, + // specifying that usage from only this set of projects should be + // included in the budget. If omitted, the report will include + // all usage for the billing account, regardless of which project + // the usage occurred on. + // +kubebuilder:validation:Optional + Projects []*string `json:"projects,omitempty" tf:"projects,omitempty"` + + // A set of services of the form services/{service_id}, + // specifying that usage from only this set of services should be + // included in the budget. If omitted, the report will include + // usage for all the services. The service names are available + // through the Catalog API: + // https://cloud.google.com/billing/v1/how-tos/catalog-api. + // +kubebuilder:validation:Optional + Services []*string `json:"services,omitempty" tf:"services,omitempty"` + + // A set of subaccounts of the form billingAccounts/{account_id}, + // specifying that usage from only this set of subaccounts should + // be included in the budget. If a subaccount is set to the name of + // the parent account, usage from the parent account will be included. + // If the field is omitted, the report will include usage from the parent + // account and all subaccounts, if they exist. + // +kubebuilder:validation:Optional + Subaccounts []*string `json:"subaccounts,omitempty" tf:"subaccounts,omitempty"` +} + +type BudgetObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type BudgetParameters struct { + + // Defines notifications that are sent on every update to the + // billing account's spend, regardless of the thresholds defined + // using threshold rules. + // +kubebuilder:validation:Optional + AllUpdatesRule []AllUpdatesRuleParameters `json:"allUpdatesRule,omitempty" tf:"all_updates_rule,omitempty"` + + // The budgeted amount for each usage period. + // +kubebuilder:validation:Required + Amount []AmountParameters `json:"amount" tf:"amount,omitempty"` + + // ID of the billing account to set a budget on. + // +kubebuilder:validation:Required + BillingAccount *string `json:"billingAccount" tf:"billing_account,omitempty"` + + // Filters that define which resources are used to compute the actual + // spend against the budget. + // +kubebuilder:validation:Optional + BudgetFilter []BudgetFilterParameters `json:"budgetFilter,omitempty" tf:"budget_filter,omitempty"` + + // User data for display name in UI. Must be <= 60 chars. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // Rules that trigger alerts (notifications of thresholds being + // crossed) when spend exceeds the specified percentages of the + // budget. + // +kubebuilder:validation:Required + ThresholdRules []ThresholdRulesParameters `json:"thresholdRules" tf:"threshold_rules,omitempty"` +} + +type SpecifiedAmountObservation struct { +} + +type SpecifiedAmountParameters struct { + + // The 3-letter currency code defined in ISO 4217. + // +kubebuilder:validation:Optional + CurrencyCode *string `json:"currencyCode,omitempty" tf:"currency_code,omitempty"` + + // Number of nano (10^-9) units of the amount. + // The value must be between -999,999,999 and +999,999,999 + // inclusive. If units is positive, nanos must be positive or + // zero. If units is zero, nanos can be positive, zero, or + // negative. If units is negative, nanos must be negative or + // zero. For example $-1.75 is represented as units=-1 and + // nanos=-750,000,000. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // The whole units of the amount. For example if currencyCode + // is "USD", then 1 unit is one US dollar. + // +kubebuilder:validation:Optional + Units *string `json:"units,omitempty" tf:"units,omitempty"` +} + +type ThresholdRulesObservation struct { +} + +type ThresholdRulesParameters struct { + + // The type of basis used to determine if spend has passed + // the threshold. Default value: "CURRENT_SPEND" Possible values: ["CURRENT_SPEND", "FORECASTED_SPEND"] + // +kubebuilder:validation:Optional + SpendBasis *string `json:"spendBasis,omitempty" tf:"spend_basis,omitempty"` + + // Send an alert when this threshold is exceeded. This is a + // 1.0-based percentage, so 0.5 = 50%. Must be >= 0. + // +kubebuilder:validation:Required + ThresholdPercent *float64 `json:"thresholdPercent" tf:"threshold_percent,omitempty"` +} + +// BudgetSpec defines the desired state of Budget +type BudgetSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BudgetParameters `json:"forProvider"` +} + +// BudgetStatus defines the observed state of Budget. +type BudgetStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BudgetObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Budget is the Schema for the Budgets 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,gcpjet} +type Budget struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BudgetSpec `json:"spec"` + Status BudgetStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BudgetList contains a list of Budgets +type BudgetList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Budget `json:"items"` +} + +// Repository type metadata. +var ( + Budget_Kind = "Budget" + Budget_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Budget_Kind}.String() + Budget_KindAPIVersion = Budget_Kind + "." + CRDGroupVersion.String() + Budget_GroupVersionKind = CRDGroupVersion.WithKind(Budget_Kind) +) + +func init() { + SchemeBuilder.Register(&Budget{}, &BudgetList{}) +} diff --git a/apis/billing/v1alpha1/zz_generated.deepcopy.go b/apis/billing/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..b0452968 --- /dev/null +++ b/apis/billing/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1022 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccountIAMBinding) DeepCopyInto(out *AccountIAMBinding) { + *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 AccountIAMBinding. +func (in *AccountIAMBinding) DeepCopy() *AccountIAMBinding { + if in == nil { + return nil + } + out := new(AccountIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AccountIAMBinding) 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 *AccountIAMBindingList) DeepCopyInto(out *AccountIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AccountIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMBindingList. +func (in *AccountIAMBindingList) DeepCopy() *AccountIAMBindingList { + if in == nil { + return nil + } + out := new(AccountIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AccountIAMBindingList) 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 *AccountIAMBindingObservation) DeepCopyInto(out *AccountIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMBindingObservation. +func (in *AccountIAMBindingObservation) DeepCopy() *AccountIAMBindingObservation { + if in == nil { + return nil + } + out := new(AccountIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccountIAMBindingParameters) DeepCopyInto(out *AccountIAMBindingParameters) { + *out = *in + if in.BillingAccountID != nil { + in, out := &in.BillingAccountID, &out.BillingAccountID + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMBindingParameters. +func (in *AccountIAMBindingParameters) DeepCopy() *AccountIAMBindingParameters { + if in == nil { + return nil + } + out := new(AccountIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccountIAMBindingSpec) DeepCopyInto(out *AccountIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMBindingSpec. +func (in *AccountIAMBindingSpec) DeepCopy() *AccountIAMBindingSpec { + if in == nil { + return nil + } + out := new(AccountIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccountIAMBindingStatus) DeepCopyInto(out *AccountIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMBindingStatus. +func (in *AccountIAMBindingStatus) DeepCopy() *AccountIAMBindingStatus { + if in == nil { + return nil + } + out := new(AccountIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccountIAMMember) DeepCopyInto(out *AccountIAMMember) { + *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 AccountIAMMember. +func (in *AccountIAMMember) DeepCopy() *AccountIAMMember { + if in == nil { + return nil + } + out := new(AccountIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AccountIAMMember) 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 *AccountIAMMemberConditionObservation) DeepCopyInto(out *AccountIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMMemberConditionObservation. +func (in *AccountIAMMemberConditionObservation) DeepCopy() *AccountIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(AccountIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccountIAMMemberConditionParameters) DeepCopyInto(out *AccountIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMMemberConditionParameters. +func (in *AccountIAMMemberConditionParameters) DeepCopy() *AccountIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(AccountIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccountIAMMemberList) DeepCopyInto(out *AccountIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AccountIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMMemberList. +func (in *AccountIAMMemberList) DeepCopy() *AccountIAMMemberList { + if in == nil { + return nil + } + out := new(AccountIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AccountIAMMemberList) 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 *AccountIAMMemberObservation) DeepCopyInto(out *AccountIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMMemberObservation. +func (in *AccountIAMMemberObservation) DeepCopy() *AccountIAMMemberObservation { + if in == nil { + return nil + } + out := new(AccountIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccountIAMMemberParameters) DeepCopyInto(out *AccountIAMMemberParameters) { + *out = *in + if in.BillingAccountID != nil { + in, out := &in.BillingAccountID, &out.BillingAccountID + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]AccountIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMMemberParameters. +func (in *AccountIAMMemberParameters) DeepCopy() *AccountIAMMemberParameters { + if in == nil { + return nil + } + out := new(AccountIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccountIAMMemberSpec) DeepCopyInto(out *AccountIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMMemberSpec. +func (in *AccountIAMMemberSpec) DeepCopy() *AccountIAMMemberSpec { + if in == nil { + return nil + } + out := new(AccountIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccountIAMMemberStatus) DeepCopyInto(out *AccountIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMMemberStatus. +func (in *AccountIAMMemberStatus) DeepCopy() *AccountIAMMemberStatus { + if in == nil { + return nil + } + out := new(AccountIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccountIAMPolicy) DeepCopyInto(out *AccountIAMPolicy) { + *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 AccountIAMPolicy. +func (in *AccountIAMPolicy) DeepCopy() *AccountIAMPolicy { + if in == nil { + return nil + } + out := new(AccountIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AccountIAMPolicy) 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 *AccountIAMPolicyList) DeepCopyInto(out *AccountIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AccountIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMPolicyList. +func (in *AccountIAMPolicyList) DeepCopy() *AccountIAMPolicyList { + if in == nil { + return nil + } + out := new(AccountIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AccountIAMPolicyList) 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 *AccountIAMPolicyObservation) DeepCopyInto(out *AccountIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMPolicyObservation. +func (in *AccountIAMPolicyObservation) DeepCopy() *AccountIAMPolicyObservation { + if in == nil { + return nil + } + out := new(AccountIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccountIAMPolicyParameters) DeepCopyInto(out *AccountIAMPolicyParameters) { + *out = *in + if in.BillingAccountID != nil { + in, out := &in.BillingAccountID, &out.BillingAccountID + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMPolicyParameters. +func (in *AccountIAMPolicyParameters) DeepCopy() *AccountIAMPolicyParameters { + if in == nil { + return nil + } + out := new(AccountIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccountIAMPolicySpec) DeepCopyInto(out *AccountIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMPolicySpec. +func (in *AccountIAMPolicySpec) DeepCopy() *AccountIAMPolicySpec { + if in == nil { + return nil + } + out := new(AccountIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccountIAMPolicyStatus) DeepCopyInto(out *AccountIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountIAMPolicyStatus. +func (in *AccountIAMPolicyStatus) DeepCopy() *AccountIAMPolicyStatus { + if in == nil { + return nil + } + out := new(AccountIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllUpdatesRuleObservation) DeepCopyInto(out *AllUpdatesRuleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllUpdatesRuleObservation. +func (in *AllUpdatesRuleObservation) DeepCopy() *AllUpdatesRuleObservation { + if in == nil { + return nil + } + out := new(AllUpdatesRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllUpdatesRuleParameters) DeepCopyInto(out *AllUpdatesRuleParameters) { + *out = *in + if in.DisableDefaultIAMRecipients != nil { + in, out := &in.DisableDefaultIAMRecipients, &out.DisableDefaultIAMRecipients + *out = new(bool) + **out = **in + } + if in.MonitoringNotificationChannels != nil { + in, out := &in.MonitoringNotificationChannels, &out.MonitoringNotificationChannels + *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.PubsubTopic != nil { + in, out := &in.PubsubTopic, &out.PubsubTopic + *out = new(string) + **out = **in + } + if in.SchemaVersion != nil { + in, out := &in.SchemaVersion, &out.SchemaVersion + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllUpdatesRuleParameters. +func (in *AllUpdatesRuleParameters) DeepCopy() *AllUpdatesRuleParameters { + if in == nil { + return nil + } + out := new(AllUpdatesRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AmountObservation) DeepCopyInto(out *AmountObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AmountObservation. +func (in *AmountObservation) DeepCopy() *AmountObservation { + if in == nil { + return nil + } + out := new(AmountObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AmountParameters) DeepCopyInto(out *AmountParameters) { + *out = *in + if in.LastPeriodAmount != nil { + in, out := &in.LastPeriodAmount, &out.LastPeriodAmount + *out = new(bool) + **out = **in + } + if in.SpecifiedAmount != nil { + in, out := &in.SpecifiedAmount, &out.SpecifiedAmount + *out = make([]SpecifiedAmountParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AmountParameters. +func (in *AmountParameters) DeepCopy() *AmountParameters { + if in == nil { + return nil + } + out := new(AmountParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Budget) DeepCopyInto(out *Budget) { + *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 Budget. +func (in *Budget) DeepCopy() *Budget { + if in == nil { + return nil + } + out := new(Budget) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Budget) 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 *BudgetFilterObservation) DeepCopyInto(out *BudgetFilterObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BudgetFilterObservation. +func (in *BudgetFilterObservation) DeepCopy() *BudgetFilterObservation { + if in == nil { + return nil + } + out := new(BudgetFilterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BudgetFilterParameters) DeepCopyInto(out *BudgetFilterParameters) { + *out = *in + if in.CreditTypes != nil { + in, out := &in.CreditTypes, &out.CreditTypes + *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.CreditTypesTreatment != nil { + in, out := &in.CreditTypesTreatment, &out.CreditTypesTreatment + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Projects != nil { + in, out := &in.Projects, &out.Projects + *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.Services != nil { + in, out := &in.Services, &out.Services + *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.Subaccounts != nil { + in, out := &in.Subaccounts, &out.Subaccounts + *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 BudgetFilterParameters. +func (in *BudgetFilterParameters) DeepCopy() *BudgetFilterParameters { + if in == nil { + return nil + } + out := new(BudgetFilterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BudgetList) DeepCopyInto(out *BudgetList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Budget, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BudgetList. +func (in *BudgetList) DeepCopy() *BudgetList { + if in == nil { + return nil + } + out := new(BudgetList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BudgetList) 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 *BudgetObservation) DeepCopyInto(out *BudgetObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BudgetObservation. +func (in *BudgetObservation) DeepCopy() *BudgetObservation { + if in == nil { + return nil + } + out := new(BudgetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BudgetParameters) DeepCopyInto(out *BudgetParameters) { + *out = *in + if in.AllUpdatesRule != nil { + in, out := &in.AllUpdatesRule, &out.AllUpdatesRule + *out = make([]AllUpdatesRuleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Amount != nil { + in, out := &in.Amount, &out.Amount + *out = make([]AmountParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BillingAccount != nil { + in, out := &in.BillingAccount, &out.BillingAccount + *out = new(string) + **out = **in + } + if in.BudgetFilter != nil { + in, out := &in.BudgetFilter, &out.BudgetFilter + *out = make([]BudgetFilterParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.ThresholdRules != nil { + in, out := &in.ThresholdRules, &out.ThresholdRules + *out = make([]ThresholdRulesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BudgetParameters. +func (in *BudgetParameters) DeepCopy() *BudgetParameters { + if in == nil { + return nil + } + out := new(BudgetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BudgetSpec) DeepCopyInto(out *BudgetSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BudgetSpec. +func (in *BudgetSpec) DeepCopy() *BudgetSpec { + if in == nil { + return nil + } + out := new(BudgetSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BudgetStatus) DeepCopyInto(out *BudgetStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BudgetStatus. +func (in *BudgetStatus) DeepCopy() *BudgetStatus { + if in == nil { + return nil + } + out := new(BudgetStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecifiedAmountObservation) DeepCopyInto(out *SpecifiedAmountObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecifiedAmountObservation. +func (in *SpecifiedAmountObservation) DeepCopy() *SpecifiedAmountObservation { + if in == nil { + return nil + } + out := new(SpecifiedAmountObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecifiedAmountParameters) DeepCopyInto(out *SpecifiedAmountParameters) { + *out = *in + if in.CurrencyCode != nil { + in, out := &in.CurrencyCode, &out.CurrencyCode + *out = new(string) + **out = **in + } + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Units != nil { + in, out := &in.Units, &out.Units + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecifiedAmountParameters. +func (in *SpecifiedAmountParameters) DeepCopy() *SpecifiedAmountParameters { + if in == nil { + return nil + } + out := new(SpecifiedAmountParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ThresholdRulesObservation) DeepCopyInto(out *ThresholdRulesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThresholdRulesObservation. +func (in *ThresholdRulesObservation) DeepCopy() *ThresholdRulesObservation { + if in == nil { + return nil + } + out := new(ThresholdRulesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ThresholdRulesParameters) DeepCopyInto(out *ThresholdRulesParameters) { + *out = *in + if in.SpendBasis != nil { + in, out := &in.SpendBasis, &out.SpendBasis + *out = new(string) + **out = **in + } + if in.ThresholdPercent != nil { + in, out := &in.ThresholdPercent, &out.ThresholdPercent + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThresholdRulesParameters. +func (in *ThresholdRulesParameters) DeepCopy() *ThresholdRulesParameters { + if in == nil { + return nil + } + out := new(ThresholdRulesParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/billing/v1alpha1/zz_generated.managed.go b/apis/billing/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..13f57a77 --- /dev/null +++ b/apis/billing/v1alpha1/zz_generated.managed.go @@ -0,0 +1,244 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this AccountIAMBinding. +func (mg *AccountIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AccountIAMBinding. +func (mg *AccountIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AccountIAMBinding. +func (mg *AccountIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AccountIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AccountIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AccountIAMBinding. +func (mg *AccountIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AccountIAMBinding. +func (mg *AccountIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AccountIAMBinding. +func (mg *AccountIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AccountIAMBinding. +func (mg *AccountIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AccountIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AccountIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AccountIAMBinding. +func (mg *AccountIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this AccountIAMMember. +func (mg *AccountIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AccountIAMMember. +func (mg *AccountIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AccountIAMMember. +func (mg *AccountIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AccountIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AccountIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AccountIAMMember. +func (mg *AccountIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AccountIAMMember. +func (mg *AccountIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AccountIAMMember. +func (mg *AccountIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AccountIAMMember. +func (mg *AccountIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AccountIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AccountIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AccountIAMMember. +func (mg *AccountIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this AccountIAMPolicy. +func (mg *AccountIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AccountIAMPolicy. +func (mg *AccountIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AccountIAMPolicy. +func (mg *AccountIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AccountIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AccountIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AccountIAMPolicy. +func (mg *AccountIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AccountIAMPolicy. +func (mg *AccountIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AccountIAMPolicy. +func (mg *AccountIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AccountIAMPolicy. +func (mg *AccountIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AccountIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AccountIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AccountIAMPolicy. +func (mg *AccountIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Budget. +func (mg *Budget) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Budget. +func (mg *Budget) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Budget. +func (mg *Budget) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Budget. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Budget) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Budget. +func (mg *Budget) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Budget. +func (mg *Budget) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Budget. +func (mg *Budget) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Budget. +func (mg *Budget) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Budget. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Budget) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Budget. +func (mg *Budget) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/billing/v1alpha1/zz_generated.managedlist.go b/apis/billing/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..870c663a --- /dev/null +++ b/apis/billing/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,56 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this AccountIAMBindingList. +func (l *AccountIAMBindingList) 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 AccountIAMMemberList. +func (l *AccountIAMMemberList) 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 AccountIAMPolicyList. +func (l *AccountIAMPolicyList) 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 BudgetList. +func (l *BudgetList) 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/billing/v1alpha1/zz_groupversion_info.go b/apis/billing/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..4f19be41 --- /dev/null +++ b/apis/billing/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=billing.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "billing.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/binaryauthorization/v1alpha1/zz_attestor_terraformed.go b/apis/binaryauthorization/v1alpha1/zz_attestor_terraformed.go new file mode 100755 index 00000000..aae2b66d --- /dev/null +++ b/apis/binaryauthorization/v1alpha1/zz_attestor_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Attestor +func (mg *Attestor) GetTerraformResourceType() string { + return "google_binary_authorization_attestor" +} + +// GetConnectionDetailsMapping for this Attestor +func (tr *Attestor) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Attestor +func (tr *Attestor) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Attestor +func (tr *Attestor) SetObservation(obs map[string]interface{}) 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 Attestor +func (tr *Attestor) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Attestor +func (tr *Attestor) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Attestor +func (tr *Attestor) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Attestor using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Attestor) LateInitialize(attrs []byte) (bool, error) { + params := &AttestorParameters{} + 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 *Attestor) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/binaryauthorization/v1alpha1/zz_attestor_types.go b/apis/binaryauthorization/v1alpha1/zz_attestor_types.go new file mode 100755 index 00000000..95f9b763 --- /dev/null +++ b/apis/binaryauthorization/v1alpha1/zz_attestor_types.go @@ -0,0 +1,184 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AttestationAuthorityNoteObservation struct { + DelegationServiceAccountEmail *string `json:"delegationServiceAccountEmail,omitempty" tf:"delegation_service_account_email,omitempty"` +} + +type AttestationAuthorityNoteParameters struct { + + // The resource name of a ATTESTATION_AUTHORITY Note, created by the + // user. If the Note is in a different project from the Attestor, it + // should be specified in the format 'projects/*/notes/*' (or the legacy + // 'providers/*/notes/*'). This field may not be updated. + // An attestation by this attestor is stored as a Container Analysis + // ATTESTATION_AUTHORITY Occurrence that names a container image + // and that links to this Note. + // +kubebuilder:validation:Required + NoteReference *string `json:"noteReference" tf:"note_reference,omitempty"` + + // Public keys that verify attestations signed by this attestor. This + // field may be updated. + // If this field is non-empty, one of the specified public keys must + // verify that an attestation was signed by this attestor for the + // image specified in the admission request. + // If this field is empty, this attestor always returns that no valid + // attestations exist. + // +kubebuilder:validation:Optional + PublicKeys []PublicKeysParameters `json:"publicKeys,omitempty" tf:"public_keys,omitempty"` +} + +type AttestorObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AttestorParameters struct { + + // A Container Analysis ATTESTATION_AUTHORITY Note, created by the user. + // +kubebuilder:validation:Required + AttestationAuthorityNote []AttestationAuthorityNoteParameters `json:"attestationAuthorityNote" tf:"attestation_authority_note,omitempty"` + + // A descriptive comment. This field may be updated. The field may be + // displayed in chooser dialogs. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The resource name. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +type PkixPublicKeyObservation struct { +} + +type PkixPublicKeyParameters struct { + + // A PEM-encoded public key, as described in + // 'https://tools.ietf.org/html/rfc7468#section-13' + // +kubebuilder:validation:Optional + PublicKeyPem *string `json:"publicKeyPem,omitempty" tf:"public_key_pem,omitempty"` + + // The signature algorithm used to verify a message against + // a signature using this key. These signature algorithm must + // match the structure and any object identifiers encoded in + // publicKeyPem (i.e. this algorithm must match that of the + // public key). + // +kubebuilder:validation:Optional + SignatureAlgorithm *string `json:"signatureAlgorithm,omitempty" tf:"signature_algorithm,omitempty"` +} + +type PublicKeysObservation struct { +} + +type PublicKeysParameters struct { + + // ASCII-armored representation of a PGP public key, as the + // entire output by the command + // 'gpg --export --armor foo@example.com' (either LF or CRLF + // line endings). When using this field, id should be left + // blank. The BinAuthz API handlers will calculate the ID + // and fill it in automatically. BinAuthz computes this ID + // as the OpenPGP RFC4880 V4 fingerprint, represented as + // upper-case hex. If id is provided by the caller, it will + // be overwritten by the API-calculated ID. + // +kubebuilder:validation:Optional + ASCIIArmoredPgpPublicKey *string `json:"asciiArmoredPgpPublicKey,omitempty" tf:"ascii_armored_pgp_public_key,omitempty"` + + // A descriptive comment. This field may be updated. + // +kubebuilder:validation:Optional + Comment *string `json:"comment,omitempty" tf:"comment,omitempty"` + + // The ID of this public key. Signatures verified by BinAuthz + // must include the ID of the public key that can be used to + // verify them, and that ID must match the contents of this + // field exactly. Additional restrictions on this field can + // be imposed based on which public key type is encapsulated. + // See the documentation on publicKey cases below for details. + // +kubebuilder:validation:Optional + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // A raw PKIX SubjectPublicKeyInfo format public key. + // + // NOTE: id may be explicitly provided by the caller when using this + // type of public key, but it MUST be a valid RFC3986 URI. If id is left + // blank, a default one will be computed based on the digest of the DER + // encoding of the public key. + // +kubebuilder:validation:Optional + PkixPublicKey []PkixPublicKeyParameters `json:"pkixPublicKey,omitempty" tf:"pkix_public_key,omitempty"` +} + +// AttestorSpec defines the desired state of Attestor +type AttestorSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AttestorParameters `json:"forProvider"` +} + +// AttestorStatus defines the observed state of Attestor. +type AttestorStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AttestorObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Attestor is the Schema for the Attestors 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,gcpjet} +type Attestor struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AttestorSpec `json:"spec"` + Status AttestorStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AttestorList contains a list of Attestors +type AttestorList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Attestor `json:"items"` +} + +// Repository type metadata. +var ( + Attestor_Kind = "Attestor" + Attestor_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Attestor_Kind}.String() + Attestor_KindAPIVersion = Attestor_Kind + "." + CRDGroupVersion.String() + Attestor_GroupVersionKind = CRDGroupVersion.WithKind(Attestor_Kind) +) + +func init() { + SchemeBuilder.Register(&Attestor{}, &AttestorList{}) +} diff --git a/apis/binaryauthorization/v1alpha1/zz_attestoriambinding_terraformed.go b/apis/binaryauthorization/v1alpha1/zz_attestoriambinding_terraformed.go new file mode 100755 index 00000000..03b8565d --- /dev/null +++ b/apis/binaryauthorization/v1alpha1/zz_attestoriambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AttestorIAMBinding +func (mg *AttestorIAMBinding) GetTerraformResourceType() string { + return "google_binary_authorization_attestor_iam_binding" +} + +// GetConnectionDetailsMapping for this AttestorIAMBinding +func (tr *AttestorIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AttestorIAMBinding +func (tr *AttestorIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AttestorIAMBinding +func (tr *AttestorIAMBinding) SetObservation(obs map[string]interface{}) 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 AttestorIAMBinding +func (tr *AttestorIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AttestorIAMBinding +func (tr *AttestorIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AttestorIAMBinding +func (tr *AttestorIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AttestorIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AttestorIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &AttestorIAMBindingParameters{} + 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 *AttestorIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/binaryauthorization/v1alpha1/zz_attestoriambinding_types.go b/apis/binaryauthorization/v1alpha1/zz_attestoriambinding_types.go new file mode 100755 index 00000000..38ed3313 --- /dev/null +++ b/apis/binaryauthorization/v1alpha1/zz_attestoriambinding_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AttestorIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AttestorIAMBindingParameters struct { + + // +kubebuilder:validation:Required + Attestor *string `json:"attestor" tf:"attestor,omitempty"` + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +type ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +// AttestorIAMBindingSpec defines the desired state of AttestorIAMBinding +type AttestorIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AttestorIAMBindingParameters `json:"forProvider"` +} + +// AttestorIAMBindingStatus defines the observed state of AttestorIAMBinding. +type AttestorIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AttestorIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AttestorIAMBinding is the Schema for the AttestorIAMBindings 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,gcpjet} +type AttestorIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AttestorIAMBindingSpec `json:"spec"` + Status AttestorIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AttestorIAMBindingList contains a list of AttestorIAMBindings +type AttestorIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AttestorIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + AttestorIAMBinding_Kind = "AttestorIAMBinding" + AttestorIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AttestorIAMBinding_Kind}.String() + AttestorIAMBinding_KindAPIVersion = AttestorIAMBinding_Kind + "." + CRDGroupVersion.String() + AttestorIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(AttestorIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&AttestorIAMBinding{}, &AttestorIAMBindingList{}) +} diff --git a/apis/binaryauthorization/v1alpha1/zz_attestoriammember_terraformed.go b/apis/binaryauthorization/v1alpha1/zz_attestoriammember_terraformed.go new file mode 100755 index 00000000..b795f28f --- /dev/null +++ b/apis/binaryauthorization/v1alpha1/zz_attestoriammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AttestorIAMMember +func (mg *AttestorIAMMember) GetTerraformResourceType() string { + return "google_binary_authorization_attestor_iam_member" +} + +// GetConnectionDetailsMapping for this AttestorIAMMember +func (tr *AttestorIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AttestorIAMMember +func (tr *AttestorIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AttestorIAMMember +func (tr *AttestorIAMMember) SetObservation(obs map[string]interface{}) 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 AttestorIAMMember +func (tr *AttestorIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AttestorIAMMember +func (tr *AttestorIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AttestorIAMMember +func (tr *AttestorIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AttestorIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AttestorIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &AttestorIAMMemberParameters{} + 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 *AttestorIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/binaryauthorization/v1alpha1/zz_attestoriammember_types.go b/apis/binaryauthorization/v1alpha1/zz_attestoriammember_types.go new file mode 100755 index 00000000..d1d6fcff --- /dev/null +++ b/apis/binaryauthorization/v1alpha1/zz_attestoriammember_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AttestorIAMMemberConditionObservation struct { +} + +type AttestorIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type AttestorIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AttestorIAMMemberParameters struct { + + // +kubebuilder:validation:Required + Attestor *string `json:"attestor" tf:"attestor,omitempty"` + + // +kubebuilder:validation:Optional + Condition []AttestorIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// AttestorIAMMemberSpec defines the desired state of AttestorIAMMember +type AttestorIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AttestorIAMMemberParameters `json:"forProvider"` +} + +// AttestorIAMMemberStatus defines the observed state of AttestorIAMMember. +type AttestorIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AttestorIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AttestorIAMMember is the Schema for the AttestorIAMMembers 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,gcpjet} +type AttestorIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AttestorIAMMemberSpec `json:"spec"` + Status AttestorIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AttestorIAMMemberList contains a list of AttestorIAMMembers +type AttestorIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AttestorIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + AttestorIAMMember_Kind = "AttestorIAMMember" + AttestorIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AttestorIAMMember_Kind}.String() + AttestorIAMMember_KindAPIVersion = AttestorIAMMember_Kind + "." + CRDGroupVersion.String() + AttestorIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(AttestorIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&AttestorIAMMember{}, &AttestorIAMMemberList{}) +} diff --git a/apis/binaryauthorization/v1alpha1/zz_attestoriampolicy_terraformed.go b/apis/binaryauthorization/v1alpha1/zz_attestoriampolicy_terraformed.go new file mode 100755 index 00000000..c345d8e1 --- /dev/null +++ b/apis/binaryauthorization/v1alpha1/zz_attestoriampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AttestorIAMPolicy +func (mg *AttestorIAMPolicy) GetTerraformResourceType() string { + return "google_binary_authorization_attestor_iam_policy" +} + +// GetConnectionDetailsMapping for this AttestorIAMPolicy +func (tr *AttestorIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AttestorIAMPolicy +func (tr *AttestorIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AttestorIAMPolicy +func (tr *AttestorIAMPolicy) SetObservation(obs map[string]interface{}) 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 AttestorIAMPolicy +func (tr *AttestorIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AttestorIAMPolicy +func (tr *AttestorIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AttestorIAMPolicy +func (tr *AttestorIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AttestorIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AttestorIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &AttestorIAMPolicyParameters{} + 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 *AttestorIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/binaryauthorization/v1alpha1/zz_attestoriampolicy_types.go b/apis/binaryauthorization/v1alpha1/zz_attestoriampolicy_types.go new file mode 100755 index 00000000..6f75243f --- /dev/null +++ b/apis/binaryauthorization/v1alpha1/zz_attestoriampolicy_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AttestorIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AttestorIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + Attestor *string `json:"attestor" tf:"attestor,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// AttestorIAMPolicySpec defines the desired state of AttestorIAMPolicy +type AttestorIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AttestorIAMPolicyParameters `json:"forProvider"` +} + +// AttestorIAMPolicyStatus defines the observed state of AttestorIAMPolicy. +type AttestorIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AttestorIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AttestorIAMPolicy is the Schema for the AttestorIAMPolicys 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,gcpjet} +type AttestorIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AttestorIAMPolicySpec `json:"spec"` + Status AttestorIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AttestorIAMPolicyList contains a list of AttestorIAMPolicys +type AttestorIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AttestorIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + AttestorIAMPolicy_Kind = "AttestorIAMPolicy" + AttestorIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AttestorIAMPolicy_Kind}.String() + AttestorIAMPolicy_KindAPIVersion = AttestorIAMPolicy_Kind + "." + CRDGroupVersion.String() + AttestorIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(AttestorIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&AttestorIAMPolicy{}, &AttestorIAMPolicyList{}) +} diff --git a/apis/binaryauthorization/v1alpha1/zz_generated.deepcopy.go b/apis/binaryauthorization/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..d80c89b8 --- /dev/null +++ b/apis/binaryauthorization/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1184 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdmissionWhitelistPatternsObservation) DeepCopyInto(out *AdmissionWhitelistPatternsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionWhitelistPatternsObservation. +func (in *AdmissionWhitelistPatternsObservation) DeepCopy() *AdmissionWhitelistPatternsObservation { + if in == nil { + return nil + } + out := new(AdmissionWhitelistPatternsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdmissionWhitelistPatternsParameters) DeepCopyInto(out *AdmissionWhitelistPatternsParameters) { + *out = *in + if in.NamePattern != nil { + in, out := &in.NamePattern, &out.NamePattern + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionWhitelistPatternsParameters. +func (in *AdmissionWhitelistPatternsParameters) DeepCopy() *AdmissionWhitelistPatternsParameters { + if in == nil { + return nil + } + out := new(AdmissionWhitelistPatternsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestationAuthorityNoteObservation) DeepCopyInto(out *AttestationAuthorityNoteObservation) { + *out = *in + if in.DelegationServiceAccountEmail != nil { + in, out := &in.DelegationServiceAccountEmail, &out.DelegationServiceAccountEmail + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestationAuthorityNoteObservation. +func (in *AttestationAuthorityNoteObservation) DeepCopy() *AttestationAuthorityNoteObservation { + if in == nil { + return nil + } + out := new(AttestationAuthorityNoteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestationAuthorityNoteParameters) DeepCopyInto(out *AttestationAuthorityNoteParameters) { + *out = *in + if in.NoteReference != nil { + in, out := &in.NoteReference, &out.NoteReference + *out = new(string) + **out = **in + } + if in.PublicKeys != nil { + in, out := &in.PublicKeys, &out.PublicKeys + *out = make([]PublicKeysParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestationAuthorityNoteParameters. +func (in *AttestationAuthorityNoteParameters) DeepCopy() *AttestationAuthorityNoteParameters { + if in == nil { + return nil + } + out := new(AttestationAuthorityNoteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Attestor) DeepCopyInto(out *Attestor) { + *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 Attestor. +func (in *Attestor) DeepCopy() *Attestor { + if in == nil { + return nil + } + out := new(Attestor) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Attestor) 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 *AttestorIAMBinding) DeepCopyInto(out *AttestorIAMBinding) { + *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 AttestorIAMBinding. +func (in *AttestorIAMBinding) DeepCopy() *AttestorIAMBinding { + if in == nil { + return nil + } + out := new(AttestorIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AttestorIAMBinding) 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 *AttestorIAMBindingList) DeepCopyInto(out *AttestorIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AttestorIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMBindingList. +func (in *AttestorIAMBindingList) DeepCopy() *AttestorIAMBindingList { + if in == nil { + return nil + } + out := new(AttestorIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AttestorIAMBindingList) 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 *AttestorIAMBindingObservation) DeepCopyInto(out *AttestorIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMBindingObservation. +func (in *AttestorIAMBindingObservation) DeepCopy() *AttestorIAMBindingObservation { + if in == nil { + return nil + } + out := new(AttestorIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorIAMBindingParameters) DeepCopyInto(out *AttestorIAMBindingParameters) { + *out = *in + if in.Attestor != nil { + in, out := &in.Attestor, &out.Attestor + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMBindingParameters. +func (in *AttestorIAMBindingParameters) DeepCopy() *AttestorIAMBindingParameters { + if in == nil { + return nil + } + out := new(AttestorIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorIAMBindingSpec) DeepCopyInto(out *AttestorIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMBindingSpec. +func (in *AttestorIAMBindingSpec) DeepCopy() *AttestorIAMBindingSpec { + if in == nil { + return nil + } + out := new(AttestorIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorIAMBindingStatus) DeepCopyInto(out *AttestorIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMBindingStatus. +func (in *AttestorIAMBindingStatus) DeepCopy() *AttestorIAMBindingStatus { + if in == nil { + return nil + } + out := new(AttestorIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorIAMMember) DeepCopyInto(out *AttestorIAMMember) { + *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 AttestorIAMMember. +func (in *AttestorIAMMember) DeepCopy() *AttestorIAMMember { + if in == nil { + return nil + } + out := new(AttestorIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AttestorIAMMember) 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 *AttestorIAMMemberConditionObservation) DeepCopyInto(out *AttestorIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMMemberConditionObservation. +func (in *AttestorIAMMemberConditionObservation) DeepCopy() *AttestorIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(AttestorIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorIAMMemberConditionParameters) DeepCopyInto(out *AttestorIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMMemberConditionParameters. +func (in *AttestorIAMMemberConditionParameters) DeepCopy() *AttestorIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(AttestorIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorIAMMemberList) DeepCopyInto(out *AttestorIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AttestorIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMMemberList. +func (in *AttestorIAMMemberList) DeepCopy() *AttestorIAMMemberList { + if in == nil { + return nil + } + out := new(AttestorIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AttestorIAMMemberList) 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 *AttestorIAMMemberObservation) DeepCopyInto(out *AttestorIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMMemberObservation. +func (in *AttestorIAMMemberObservation) DeepCopy() *AttestorIAMMemberObservation { + if in == nil { + return nil + } + out := new(AttestorIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorIAMMemberParameters) DeepCopyInto(out *AttestorIAMMemberParameters) { + *out = *in + if in.Attestor != nil { + in, out := &in.Attestor, &out.Attestor + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]AttestorIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMMemberParameters. +func (in *AttestorIAMMemberParameters) DeepCopy() *AttestorIAMMemberParameters { + if in == nil { + return nil + } + out := new(AttestorIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorIAMMemberSpec) DeepCopyInto(out *AttestorIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMMemberSpec. +func (in *AttestorIAMMemberSpec) DeepCopy() *AttestorIAMMemberSpec { + if in == nil { + return nil + } + out := new(AttestorIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorIAMMemberStatus) DeepCopyInto(out *AttestorIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMMemberStatus. +func (in *AttestorIAMMemberStatus) DeepCopy() *AttestorIAMMemberStatus { + if in == nil { + return nil + } + out := new(AttestorIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorIAMPolicy) DeepCopyInto(out *AttestorIAMPolicy) { + *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 AttestorIAMPolicy. +func (in *AttestorIAMPolicy) DeepCopy() *AttestorIAMPolicy { + if in == nil { + return nil + } + out := new(AttestorIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AttestorIAMPolicy) 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 *AttestorIAMPolicyList) DeepCopyInto(out *AttestorIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AttestorIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMPolicyList. +func (in *AttestorIAMPolicyList) DeepCopy() *AttestorIAMPolicyList { + if in == nil { + return nil + } + out := new(AttestorIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AttestorIAMPolicyList) 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 *AttestorIAMPolicyObservation) DeepCopyInto(out *AttestorIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMPolicyObservation. +func (in *AttestorIAMPolicyObservation) DeepCopy() *AttestorIAMPolicyObservation { + if in == nil { + return nil + } + out := new(AttestorIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorIAMPolicyParameters) DeepCopyInto(out *AttestorIAMPolicyParameters) { + *out = *in + if in.Attestor != nil { + in, out := &in.Attestor, &out.Attestor + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMPolicyParameters. +func (in *AttestorIAMPolicyParameters) DeepCopy() *AttestorIAMPolicyParameters { + if in == nil { + return nil + } + out := new(AttestorIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorIAMPolicySpec) DeepCopyInto(out *AttestorIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMPolicySpec. +func (in *AttestorIAMPolicySpec) DeepCopy() *AttestorIAMPolicySpec { + if in == nil { + return nil + } + out := new(AttestorIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorIAMPolicyStatus) DeepCopyInto(out *AttestorIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorIAMPolicyStatus. +func (in *AttestorIAMPolicyStatus) DeepCopy() *AttestorIAMPolicyStatus { + if in == nil { + return nil + } + out := new(AttestorIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorList) DeepCopyInto(out *AttestorList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Attestor, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorList. +func (in *AttestorList) DeepCopy() *AttestorList { + if in == nil { + return nil + } + out := new(AttestorList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AttestorList) 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 *AttestorObservation) DeepCopyInto(out *AttestorObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorObservation. +func (in *AttestorObservation) DeepCopy() *AttestorObservation { + if in == nil { + return nil + } + out := new(AttestorObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorParameters) DeepCopyInto(out *AttestorParameters) { + *out = *in + if in.AttestationAuthorityNote != nil { + in, out := &in.AttestationAuthorityNote, &out.AttestationAuthorityNote + *out = make([]AttestationAuthorityNoteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorParameters. +func (in *AttestorParameters) DeepCopy() *AttestorParameters { + if in == nil { + return nil + } + out := new(AttestorParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorSpec) DeepCopyInto(out *AttestorSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorSpec. +func (in *AttestorSpec) DeepCopy() *AttestorSpec { + if in == nil { + return nil + } + out := new(AttestorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestorStatus) DeepCopyInto(out *AttestorStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestorStatus. +func (in *AttestorStatus) DeepCopy() *AttestorStatus { + if in == nil { + return nil + } + out := new(AttestorStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterAdmissionRulesObservation) DeepCopyInto(out *ClusterAdmissionRulesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAdmissionRulesObservation. +func (in *ClusterAdmissionRulesObservation) DeepCopy() *ClusterAdmissionRulesObservation { + if in == nil { + return nil + } + out := new(ClusterAdmissionRulesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterAdmissionRulesParameters) DeepCopyInto(out *ClusterAdmissionRulesParameters) { + *out = *in + if in.Cluster != nil { + in, out := &in.Cluster, &out.Cluster + *out = new(string) + **out = **in + } + if in.EnforcementMode != nil { + in, out := &in.EnforcementMode, &out.EnforcementMode + *out = new(string) + **out = **in + } + if in.EvaluationMode != nil { + in, out := &in.EvaluationMode, &out.EvaluationMode + *out = new(string) + **out = **in + } + if in.RequireAttestationsBy != nil { + in, out := &in.RequireAttestationsBy, &out.RequireAttestationsBy + *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 ClusterAdmissionRulesParameters. +func (in *ClusterAdmissionRulesParameters) DeepCopy() *ClusterAdmissionRulesParameters { + if in == nil { + return nil + } + out := new(ClusterAdmissionRulesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultAdmissionRuleObservation) DeepCopyInto(out *DefaultAdmissionRuleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultAdmissionRuleObservation. +func (in *DefaultAdmissionRuleObservation) DeepCopy() *DefaultAdmissionRuleObservation { + if in == nil { + return nil + } + out := new(DefaultAdmissionRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultAdmissionRuleParameters) DeepCopyInto(out *DefaultAdmissionRuleParameters) { + *out = *in + if in.EnforcementMode != nil { + in, out := &in.EnforcementMode, &out.EnforcementMode + *out = new(string) + **out = **in + } + if in.EvaluationMode != nil { + in, out := &in.EvaluationMode, &out.EvaluationMode + *out = new(string) + **out = **in + } + if in.RequireAttestationsBy != nil { + in, out := &in.RequireAttestationsBy, &out.RequireAttestationsBy + *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 DefaultAdmissionRuleParameters. +func (in *DefaultAdmissionRuleParameters) DeepCopy() *DefaultAdmissionRuleParameters { + if in == nil { + return nil + } + out := new(DefaultAdmissionRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PkixPublicKeyObservation) DeepCopyInto(out *PkixPublicKeyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PkixPublicKeyObservation. +func (in *PkixPublicKeyObservation) DeepCopy() *PkixPublicKeyObservation { + if in == nil { + return nil + } + out := new(PkixPublicKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PkixPublicKeyParameters) DeepCopyInto(out *PkixPublicKeyParameters) { + *out = *in + if in.PublicKeyPem != nil { + in, out := &in.PublicKeyPem, &out.PublicKeyPem + *out = new(string) + **out = **in + } + if in.SignatureAlgorithm != nil { + in, out := &in.SignatureAlgorithm, &out.SignatureAlgorithm + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PkixPublicKeyParameters. +func (in *PkixPublicKeyParameters) DeepCopy() *PkixPublicKeyParameters { + if in == nil { + return nil + } + out := new(PkixPublicKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Policy) DeepCopyInto(out *Policy) { + *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 Policy. +func (in *Policy) DeepCopy() *Policy { + if in == nil { + return nil + } + out := new(Policy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Policy) 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 *PolicyList) DeepCopyInto(out *PolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Policy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyList. +func (in *PolicyList) DeepCopy() *PolicyList { + if in == nil { + return nil + } + out := new(PolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *PolicyList) 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 *PolicyObservation) DeepCopyInto(out *PolicyObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyObservation. +func (in *PolicyObservation) DeepCopy() *PolicyObservation { + if in == nil { + return nil + } + out := new(PolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicyParameters) DeepCopyInto(out *PolicyParameters) { + *out = *in + if in.AdmissionWhitelistPatterns != nil { + in, out := &in.AdmissionWhitelistPatterns, &out.AdmissionWhitelistPatterns + *out = make([]AdmissionWhitelistPatternsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ClusterAdmissionRules != nil { + in, out := &in.ClusterAdmissionRules, &out.ClusterAdmissionRules + *out = make([]ClusterAdmissionRulesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DefaultAdmissionRule != nil { + in, out := &in.DefaultAdmissionRule, &out.DefaultAdmissionRule + *out = make([]DefaultAdmissionRuleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.GlobalPolicyEvaluationMode != nil { + in, out := &in.GlobalPolicyEvaluationMode, &out.GlobalPolicyEvaluationMode + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyParameters. +func (in *PolicyParameters) DeepCopy() *PolicyParameters { + if in == nil { + return nil + } + out := new(PolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicySpec) DeepCopyInto(out *PolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicySpec. +func (in *PolicySpec) DeepCopy() *PolicySpec { + if in == nil { + return nil + } + out := new(PolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicyStatus) DeepCopyInto(out *PolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyStatus. +func (in *PolicyStatus) DeepCopy() *PolicyStatus { + if in == nil { + return nil + } + out := new(PolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublicKeysObservation) DeepCopyInto(out *PublicKeysObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicKeysObservation. +func (in *PublicKeysObservation) DeepCopy() *PublicKeysObservation { + if in == nil { + return nil + } + out := new(PublicKeysObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublicKeysParameters) DeepCopyInto(out *PublicKeysParameters) { + *out = *in + if in.ASCIIArmoredPgpPublicKey != nil { + in, out := &in.ASCIIArmoredPgpPublicKey, &out.ASCIIArmoredPgpPublicKey + *out = new(string) + **out = **in + } + if in.Comment != nil { + in, out := &in.Comment, &out.Comment + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.PkixPublicKey != nil { + in, out := &in.PkixPublicKey, &out.PkixPublicKey + *out = make([]PkixPublicKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicKeysParameters. +func (in *PublicKeysParameters) DeepCopy() *PublicKeysParameters { + if in == nil { + return nil + } + out := new(PublicKeysParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/binaryauthorization/v1alpha1/zz_generated.managed.go b/apis/binaryauthorization/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..c545b46d --- /dev/null +++ b/apis/binaryauthorization/v1alpha1/zz_generated.managed.go @@ -0,0 +1,300 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Attestor. +func (mg *Attestor) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Attestor. +func (mg *Attestor) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Attestor. +func (mg *Attestor) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Attestor. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Attestor) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Attestor. +func (mg *Attestor) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Attestor. +func (mg *Attestor) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Attestor. +func (mg *Attestor) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Attestor. +func (mg *Attestor) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Attestor. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Attestor) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Attestor. +func (mg *Attestor) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this AttestorIAMBinding. +func (mg *AttestorIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AttestorIAMBinding. +func (mg *AttestorIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AttestorIAMBinding. +func (mg *AttestorIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AttestorIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AttestorIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AttestorIAMBinding. +func (mg *AttestorIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AttestorIAMBinding. +func (mg *AttestorIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AttestorIAMBinding. +func (mg *AttestorIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AttestorIAMBinding. +func (mg *AttestorIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AttestorIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AttestorIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AttestorIAMBinding. +func (mg *AttestorIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this AttestorIAMMember. +func (mg *AttestorIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AttestorIAMMember. +func (mg *AttestorIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AttestorIAMMember. +func (mg *AttestorIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AttestorIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AttestorIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AttestorIAMMember. +func (mg *AttestorIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AttestorIAMMember. +func (mg *AttestorIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AttestorIAMMember. +func (mg *AttestorIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AttestorIAMMember. +func (mg *AttestorIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AttestorIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AttestorIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AttestorIAMMember. +func (mg *AttestorIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this AttestorIAMPolicy. +func (mg *AttestorIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AttestorIAMPolicy. +func (mg *AttestorIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AttestorIAMPolicy. +func (mg *AttestorIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AttestorIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AttestorIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AttestorIAMPolicy. +func (mg *AttestorIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AttestorIAMPolicy. +func (mg *AttestorIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AttestorIAMPolicy. +func (mg *AttestorIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AttestorIAMPolicy. +func (mg *AttestorIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AttestorIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AttestorIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AttestorIAMPolicy. +func (mg *AttestorIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Policy. +func (mg *Policy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Policy. +func (mg *Policy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Policy. +func (mg *Policy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Policy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Policy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Policy. +func (mg *Policy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Policy. +func (mg *Policy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Policy. +func (mg *Policy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Policy. +func (mg *Policy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Policy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Policy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Policy. +func (mg *Policy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/binaryauthorization/v1alpha1/zz_generated.managedlist.go b/apis/binaryauthorization/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..2651b1bd --- /dev/null +++ b/apis/binaryauthorization/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,65 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this AttestorIAMBindingList. +func (l *AttestorIAMBindingList) 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 AttestorIAMMemberList. +func (l *AttestorIAMMemberList) 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 AttestorIAMPolicyList. +func (l *AttestorIAMPolicyList) 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 AttestorList. +func (l *AttestorList) 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 PolicyList. +func (l *PolicyList) 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/binaryauthorization/v1alpha1/zz_groupversion_info.go b/apis/binaryauthorization/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..84c31955 --- /dev/null +++ b/apis/binaryauthorization/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=binaryauthorization.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "binaryauthorization.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/binaryauthorization/v1alpha1/zz_policy_terraformed.go b/apis/binaryauthorization/v1alpha1/zz_policy_terraformed.go new file mode 100755 index 00000000..cdbfa24b --- /dev/null +++ b/apis/binaryauthorization/v1alpha1/zz_policy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Policy +func (mg *Policy) GetTerraformResourceType() string { + return "google_binary_authorization_policy" +} + +// GetConnectionDetailsMapping for this Policy +func (tr *Policy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Policy +func (tr *Policy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Policy +func (tr *Policy) SetObservation(obs map[string]interface{}) 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 Policy +func (tr *Policy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Policy +func (tr *Policy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Policy +func (tr *Policy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Policy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Policy) LateInitialize(attrs []byte) (bool, error) { + params := &PolicyParameters{} + 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 *Policy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/binaryauthorization/v1alpha1/zz_policy_types.go b/apis/binaryauthorization/v1alpha1/zz_policy_types.go new file mode 100755 index 00000000..edc8e2df --- /dev/null +++ b/apis/binaryauthorization/v1alpha1/zz_policy_types.go @@ -0,0 +1,187 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AdmissionWhitelistPatternsObservation struct { +} + +type AdmissionWhitelistPatternsParameters struct { + + // An image name pattern to whitelist, in the form + // 'registry/path/to/image'. This supports a trailing * as a + // wildcard, but this is allowed only in text after the registry/ + // part. + // +kubebuilder:validation:Required + NamePattern *string `json:"namePattern" tf:"name_pattern,omitempty"` +} + +type ClusterAdmissionRulesObservation struct { +} + +type ClusterAdmissionRulesParameters struct { + + // +kubebuilder:validation:Required + Cluster *string `json:"cluster" tf:"cluster,omitempty"` + + // The action when a pod creation is denied by the admission rule. Possible values: ["ENFORCED_BLOCK_AND_AUDIT_LOG", "DRYRUN_AUDIT_LOG_ONLY"] + // +kubebuilder:validation:Required + EnforcementMode *string `json:"enforcementMode" tf:"enforcement_mode,omitempty"` + + // How this admission rule will be evaluated. Possible values: ["ALWAYS_ALLOW", "REQUIRE_ATTESTATION", "ALWAYS_DENY"] + // +kubebuilder:validation:Required + EvaluationMode *string `json:"evaluationMode" tf:"evaluation_mode,omitempty"` + + // The resource names of the attestors that must attest to a + // container image. If the attestor is in a different project from the + // policy, it should be specified in the format 'projects/*/attestors/*'. + // Each attestor must exist before a policy can reference it. To add an + // attestor to a policy the principal issuing the policy change + // request must be able to read the attestor resource. + // + // Note: this field must be non-empty when the evaluation_mode field + // specifies REQUIRE_ATTESTATION, otherwise it must be empty. + // +kubebuilder:validation:Optional + RequireAttestationsBy []*string `json:"requireAttestationsBy,omitempty" tf:"require_attestations_by,omitempty"` +} + +type DefaultAdmissionRuleObservation struct { +} + +type DefaultAdmissionRuleParameters struct { + + // The action when a pod creation is denied by the admission rule. Possible values: ["ENFORCED_BLOCK_AND_AUDIT_LOG", "DRYRUN_AUDIT_LOG_ONLY"] + // +kubebuilder:validation:Required + EnforcementMode *string `json:"enforcementMode" tf:"enforcement_mode,omitempty"` + + // How this admission rule will be evaluated. Possible values: ["ALWAYS_ALLOW", "REQUIRE_ATTESTATION", "ALWAYS_DENY"] + // +kubebuilder:validation:Required + EvaluationMode *string `json:"evaluationMode" tf:"evaluation_mode,omitempty"` + + // The resource names of the attestors that must attest to a + // container image. If the attestor is in a different project from the + // policy, it should be specified in the format 'projects/*/attestors/*'. + // Each attestor must exist before a policy can reference it. To add an + // attestor to a policy the principal issuing the policy change + // request must be able to read the attestor resource. + // + // Note: this field must be non-empty when the evaluation_mode field + // specifies REQUIRE_ATTESTATION, otherwise it must be empty. + // +kubebuilder:validation:Optional + RequireAttestationsBy []*string `json:"requireAttestationsBy,omitempty" tf:"require_attestations_by,omitempty"` +} + +type PolicyObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type PolicyParameters struct { + + // A whitelist of image patterns to exclude from admission rules. If an + // image's name matches a whitelist pattern, the image's admission + // requests will always be permitted regardless of your admission rules. + // +kubebuilder:validation:Optional + AdmissionWhitelistPatterns []AdmissionWhitelistPatternsParameters `json:"admissionWhitelistPatterns,omitempty" tf:"admission_whitelist_patterns,omitempty"` + + // Per-cluster admission rules. An admission rule specifies either that + // all container images used in a pod creation request must be attested + // to by one or more attestors, that all pod creations will be allowed, + // or that all pod creations will be denied. There can be at most one + // admission rule per cluster spec. + // + // + // Identifier format: '{{location}}.{{clusterId}}'. + // A location is either a compute zone (e.g. 'us-central1-a') or a region + // (e.g. 'us-central1'). + // +kubebuilder:validation:Optional + ClusterAdmissionRules []ClusterAdmissionRulesParameters `json:"clusterAdmissionRules,omitempty" tf:"cluster_admission_rules,omitempty"` + + // Default admission rule for a cluster without a per-cluster admission + // rule. + // +kubebuilder:validation:Required + DefaultAdmissionRule []DefaultAdmissionRuleParameters `json:"defaultAdmissionRule" tf:"default_admission_rule,omitempty"` + + // A descriptive comment. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Controls the evaluation of a Google-maintained global admission policy + // for common system-level images. Images not covered by the global + // policy will be subject to the project admission policy. Possible values: ["ENABLE", "DISABLE"] + // +kubebuilder:validation:Optional + GlobalPolicyEvaluationMode *string `json:"globalPolicyEvaluationMode,omitempty" tf:"global_policy_evaluation_mode,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// PolicySpec defines the desired state of Policy +type PolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider PolicyParameters `json:"forProvider"` +} + +// PolicyStatus defines the observed state of Policy. +type PolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider PolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Policy is the Schema for the Policys 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,gcpjet} +type Policy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec PolicySpec `json:"spec"` + Status PolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// PolicyList contains a list of Policys +type PolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Policy `json:"items"` +} + +// Repository type metadata. +var ( + Policy_Kind = "Policy" + Policy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Policy_Kind}.String() + Policy_KindAPIVersion = Policy_Kind + "." + CRDGroupVersion.String() + Policy_GroupVersionKind = CRDGroupVersion.WithKind(Policy_Kind) +) + +func init() { + SchemeBuilder.Register(&Policy{}, &PolicyList{}) +} diff --git a/apis/cloudasset/v1alpha1/zz_folderfeed_terraformed.go b/apis/cloudasset/v1alpha1/zz_folderfeed_terraformed.go new file mode 100755 index 00000000..30b91f31 --- /dev/null +++ b/apis/cloudasset/v1alpha1/zz_folderfeed_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FolderFeed +func (mg *FolderFeed) GetTerraformResourceType() string { + return "google_cloud_asset_folder_feed" +} + +// GetConnectionDetailsMapping for this FolderFeed +func (tr *FolderFeed) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FolderFeed +func (tr *FolderFeed) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FolderFeed +func (tr *FolderFeed) SetObservation(obs map[string]interface{}) 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 FolderFeed +func (tr *FolderFeed) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FolderFeed +func (tr *FolderFeed) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FolderFeed +func (tr *FolderFeed) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FolderFeed using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FolderFeed) LateInitialize(attrs []byte) (bool, error) { + params := &FolderFeedParameters{} + 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 *FolderFeed) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudasset/v1alpha1/zz_folderfeed_types.go b/apis/cloudasset/v1alpha1/zz_folderfeed_types.go new file mode 100755 index 00000000..1f280e7b --- /dev/null +++ b/apis/cloudasset/v1alpha1/zz_folderfeed_types.go @@ -0,0 +1,176 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // Description of the expression. This is a longer text which describes the expression, + // e.g. when hovered over it in a UI. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Textual representation of an expression in Common Expression Language syntax. + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // String indicating the location of the expression for error reporting, e.g. a file + // name and a position in the file. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // Title for the expression, i.e. a short string describing its purpose. + // This can be used e.g. in UIs which allow to enter the expression. + // +kubebuilder:validation:Optional + Title *string `json:"title,omitempty" tf:"title,omitempty"` +} + +type FeedOutputConfigObservation struct { +} + +type FeedOutputConfigParameters struct { + + // Destination on Cloud Pubsub. + // +kubebuilder:validation:Required + PubsubDestination []PubsubDestinationParameters `json:"pubsubDestination" tf:"pubsub_destination,omitempty"` +} + +type FolderFeedObservation struct { + FolderID *string `json:"folderId,omitempty" tf:"folder_id,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type FolderFeedParameters struct { + + // A list of the full names of the assets to receive updates. You must specify either or both of + // assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are + // exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1. + // See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info. + // +kubebuilder:validation:Optional + AssetNames []*string `json:"assetNames,omitempty" tf:"asset_names,omitempty"` + + // A list of types of the assets to receive updates. You must specify either or both of assetNames + // and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to + // the feed. For example: "compute.googleapis.com/Disk" + // See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all + // supported asset types. + // +kubebuilder:validation:Optional + AssetTypes []*string `json:"assetTypes,omitempty" tf:"asset_types,omitempty"` + + // The project whose identity will be used when sending messages to the + // destination pubsub topic. It also specifies the project for API + // enablement check, quota, and billing. + // +kubebuilder:validation:Required + BillingProject *string `json:"billingProject" tf:"billing_project,omitempty"` + + // A condition which determines whether an asset update should be published. If specified, an asset + // will be returned only when the expression evaluates to true. When set, expression field + // must be a valid CEL expression on a TemporalAsset with name temporal_asset. Example: a Feed with + // expression "temporal_asset.deleted == true" will only publish Asset deletions. Other fields of + // condition are optional. + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // Asset content type. If not specified, no content but the asset name and type will be returned. Possible values: ["CONTENT_TYPE_UNSPECIFIED", "RESOURCE", "IAM_POLICY", "ORG_POLICY", "ACCESS_POLICY"] + // +kubebuilder:validation:Optional + ContentType *string `json:"contentType,omitempty" tf:"content_type,omitempty"` + + // This is the client-assigned asset feed identifier and it needs to be unique under a specific parent. + // +kubebuilder:validation:Required + FeedID *string `json:"feedId" tf:"feed_id,omitempty"` + + // Output configuration for asset feed destination. + // +kubebuilder:validation:Required + FeedOutputConfig []FeedOutputConfigParameters `json:"feedOutputConfig" tf:"feed_output_config,omitempty"` + + // The folder this feed should be created in. + // +kubebuilder:validation:Required + Folder *string `json:"folder" tf:"folder,omitempty"` +} + +type PubsubDestinationObservation struct { +} + +type PubsubDestinationParameters struct { + + // Destination on Cloud Pubsub topic. + // +kubebuilder:validation:Required + Topic *string `json:"topic" tf:"topic,omitempty"` +} + +// FolderFeedSpec defines the desired state of FolderFeed +type FolderFeedSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FolderFeedParameters `json:"forProvider"` +} + +// FolderFeedStatus defines the observed state of FolderFeed. +type FolderFeedStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FolderFeedObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderFeed is the Schema for the FolderFeeds 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,gcpjet} +type FolderFeed struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FolderFeedSpec `json:"spec"` + Status FolderFeedStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderFeedList contains a list of FolderFeeds +type FolderFeedList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FolderFeed `json:"items"` +} + +// Repository type metadata. +var ( + FolderFeed_Kind = "FolderFeed" + FolderFeed_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FolderFeed_Kind}.String() + FolderFeed_KindAPIVersion = FolderFeed_Kind + "." + CRDGroupVersion.String() + FolderFeed_GroupVersionKind = CRDGroupVersion.WithKind(FolderFeed_Kind) +) + +func init() { + SchemeBuilder.Register(&FolderFeed{}, &FolderFeedList{}) +} diff --git a/apis/cloudasset/v1alpha1/zz_generated.deepcopy.go b/apis/cloudasset/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..a921015e --- /dev/null +++ b/apis/cloudasset/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,963 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FeedOutputConfigObservation) DeepCopyInto(out *FeedOutputConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeedOutputConfigObservation. +func (in *FeedOutputConfigObservation) DeepCopy() *FeedOutputConfigObservation { + if in == nil { + return nil + } + out := new(FeedOutputConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FeedOutputConfigParameters) DeepCopyInto(out *FeedOutputConfigParameters) { + *out = *in + if in.PubsubDestination != nil { + in, out := &in.PubsubDestination, &out.PubsubDestination + *out = make([]PubsubDestinationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeedOutputConfigParameters. +func (in *FeedOutputConfigParameters) DeepCopy() *FeedOutputConfigParameters { + if in == nil { + return nil + } + out := new(FeedOutputConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FeedOutputConfigPubsubDestinationObservation) DeepCopyInto(out *FeedOutputConfigPubsubDestinationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeedOutputConfigPubsubDestinationObservation. +func (in *FeedOutputConfigPubsubDestinationObservation) DeepCopy() *FeedOutputConfigPubsubDestinationObservation { + if in == nil { + return nil + } + out := new(FeedOutputConfigPubsubDestinationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FeedOutputConfigPubsubDestinationParameters) DeepCopyInto(out *FeedOutputConfigPubsubDestinationParameters) { + *out = *in + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeedOutputConfigPubsubDestinationParameters. +func (in *FeedOutputConfigPubsubDestinationParameters) DeepCopy() *FeedOutputConfigPubsubDestinationParameters { + if in == nil { + return nil + } + out := new(FeedOutputConfigPubsubDestinationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderFeed) DeepCopyInto(out *FolderFeed) { + *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 FolderFeed. +func (in *FolderFeed) DeepCopy() *FolderFeed { + if in == nil { + return nil + } + out := new(FolderFeed) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderFeed) 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 *FolderFeedList) DeepCopyInto(out *FolderFeedList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FolderFeed, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderFeedList. +func (in *FolderFeedList) DeepCopy() *FolderFeedList { + if in == nil { + return nil + } + out := new(FolderFeedList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderFeedList) 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 *FolderFeedObservation) DeepCopyInto(out *FolderFeedObservation) { + *out = *in + if in.FolderID != nil { + in, out := &in.FolderID, &out.FolderID + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderFeedObservation. +func (in *FolderFeedObservation) DeepCopy() *FolderFeedObservation { + if in == nil { + return nil + } + out := new(FolderFeedObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderFeedParameters) DeepCopyInto(out *FolderFeedParameters) { + *out = *in + if in.AssetNames != nil { + in, out := &in.AssetNames, &out.AssetNames + *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.AssetTypes != nil { + in, out := &in.AssetTypes, &out.AssetTypes + *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.BillingProject != nil { + in, out := &in.BillingProject, &out.BillingProject + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ContentType != nil { + in, out := &in.ContentType, &out.ContentType + *out = new(string) + **out = **in + } + if in.FeedID != nil { + in, out := &in.FeedID, &out.FeedID + *out = new(string) + **out = **in + } + if in.FeedOutputConfig != nil { + in, out := &in.FeedOutputConfig, &out.FeedOutputConfig + *out = make([]FeedOutputConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Folder != nil { + in, out := &in.Folder, &out.Folder + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderFeedParameters. +func (in *FolderFeedParameters) DeepCopy() *FolderFeedParameters { + if in == nil { + return nil + } + out := new(FolderFeedParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderFeedSpec) DeepCopyInto(out *FolderFeedSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderFeedSpec. +func (in *FolderFeedSpec) DeepCopy() *FolderFeedSpec { + if in == nil { + return nil + } + out := new(FolderFeedSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderFeedStatus) DeepCopyInto(out *FolderFeedStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderFeedStatus. +func (in *FolderFeedStatus) DeepCopy() *FolderFeedStatus { + if in == nil { + return nil + } + out := new(FolderFeedStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationFeed) DeepCopyInto(out *OrganizationFeed) { + *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 OrganizationFeed. +func (in *OrganizationFeed) DeepCopy() *OrganizationFeed { + if in == nil { + return nil + } + out := new(OrganizationFeed) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationFeed) 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 *OrganizationFeedConditionObservation) DeepCopyInto(out *OrganizationFeedConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationFeedConditionObservation. +func (in *OrganizationFeedConditionObservation) DeepCopy() *OrganizationFeedConditionObservation { + if in == nil { + return nil + } + out := new(OrganizationFeedConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationFeedConditionParameters) DeepCopyInto(out *OrganizationFeedConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationFeedConditionParameters. +func (in *OrganizationFeedConditionParameters) DeepCopy() *OrganizationFeedConditionParameters { + if in == nil { + return nil + } + out := new(OrganizationFeedConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationFeedFeedOutputConfigObservation) DeepCopyInto(out *OrganizationFeedFeedOutputConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationFeedFeedOutputConfigObservation. +func (in *OrganizationFeedFeedOutputConfigObservation) DeepCopy() *OrganizationFeedFeedOutputConfigObservation { + if in == nil { + return nil + } + out := new(OrganizationFeedFeedOutputConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationFeedFeedOutputConfigParameters) DeepCopyInto(out *OrganizationFeedFeedOutputConfigParameters) { + *out = *in + if in.PubsubDestination != nil { + in, out := &in.PubsubDestination, &out.PubsubDestination + *out = make([]FeedOutputConfigPubsubDestinationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationFeedFeedOutputConfigParameters. +func (in *OrganizationFeedFeedOutputConfigParameters) DeepCopy() *OrganizationFeedFeedOutputConfigParameters { + if in == nil { + return nil + } + out := new(OrganizationFeedFeedOutputConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationFeedList) DeepCopyInto(out *OrganizationFeedList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OrganizationFeed, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationFeedList. +func (in *OrganizationFeedList) DeepCopy() *OrganizationFeedList { + if in == nil { + return nil + } + out := new(OrganizationFeedList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationFeedList) 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 *OrganizationFeedObservation) DeepCopyInto(out *OrganizationFeedObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationFeedObservation. +func (in *OrganizationFeedObservation) DeepCopy() *OrganizationFeedObservation { + if in == nil { + return nil + } + out := new(OrganizationFeedObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationFeedParameters) DeepCopyInto(out *OrganizationFeedParameters) { + *out = *in + if in.AssetNames != nil { + in, out := &in.AssetNames, &out.AssetNames + *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.AssetTypes != nil { + in, out := &in.AssetTypes, &out.AssetTypes + *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.BillingProject != nil { + in, out := &in.BillingProject, &out.BillingProject + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]OrganizationFeedConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ContentType != nil { + in, out := &in.ContentType, &out.ContentType + *out = new(string) + **out = **in + } + if in.FeedID != nil { + in, out := &in.FeedID, &out.FeedID + *out = new(string) + **out = **in + } + if in.FeedOutputConfig != nil { + in, out := &in.FeedOutputConfig, &out.FeedOutputConfig + *out = make([]OrganizationFeedFeedOutputConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OrgID != nil { + in, out := &in.OrgID, &out.OrgID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationFeedParameters. +func (in *OrganizationFeedParameters) DeepCopy() *OrganizationFeedParameters { + if in == nil { + return nil + } + out := new(OrganizationFeedParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationFeedSpec) DeepCopyInto(out *OrganizationFeedSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationFeedSpec. +func (in *OrganizationFeedSpec) DeepCopy() *OrganizationFeedSpec { + if in == nil { + return nil + } + out := new(OrganizationFeedSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationFeedStatus) DeepCopyInto(out *OrganizationFeedStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationFeedStatus. +func (in *OrganizationFeedStatus) DeepCopy() *OrganizationFeedStatus { + if in == nil { + return nil + } + out := new(OrganizationFeedStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectFeed) DeepCopyInto(out *ProjectFeed) { + *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 ProjectFeed. +func (in *ProjectFeed) DeepCopy() *ProjectFeed { + if in == nil { + return nil + } + out := new(ProjectFeed) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectFeed) 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 *ProjectFeedConditionObservation) DeepCopyInto(out *ProjectFeedConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectFeedConditionObservation. +func (in *ProjectFeedConditionObservation) DeepCopy() *ProjectFeedConditionObservation { + if in == nil { + return nil + } + out := new(ProjectFeedConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectFeedConditionParameters) DeepCopyInto(out *ProjectFeedConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectFeedConditionParameters. +func (in *ProjectFeedConditionParameters) DeepCopy() *ProjectFeedConditionParameters { + if in == nil { + return nil + } + out := new(ProjectFeedConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectFeedFeedOutputConfigObservation) DeepCopyInto(out *ProjectFeedFeedOutputConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectFeedFeedOutputConfigObservation. +func (in *ProjectFeedFeedOutputConfigObservation) DeepCopy() *ProjectFeedFeedOutputConfigObservation { + if in == nil { + return nil + } + out := new(ProjectFeedFeedOutputConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectFeedFeedOutputConfigParameters) DeepCopyInto(out *ProjectFeedFeedOutputConfigParameters) { + *out = *in + if in.PubsubDestination != nil { + in, out := &in.PubsubDestination, &out.PubsubDestination + *out = make([]ProjectFeedFeedOutputConfigPubsubDestinationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectFeedFeedOutputConfigParameters. +func (in *ProjectFeedFeedOutputConfigParameters) DeepCopy() *ProjectFeedFeedOutputConfigParameters { + if in == nil { + return nil + } + out := new(ProjectFeedFeedOutputConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectFeedFeedOutputConfigPubsubDestinationObservation) DeepCopyInto(out *ProjectFeedFeedOutputConfigPubsubDestinationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectFeedFeedOutputConfigPubsubDestinationObservation. +func (in *ProjectFeedFeedOutputConfigPubsubDestinationObservation) DeepCopy() *ProjectFeedFeedOutputConfigPubsubDestinationObservation { + if in == nil { + return nil + } + out := new(ProjectFeedFeedOutputConfigPubsubDestinationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectFeedFeedOutputConfigPubsubDestinationParameters) DeepCopyInto(out *ProjectFeedFeedOutputConfigPubsubDestinationParameters) { + *out = *in + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectFeedFeedOutputConfigPubsubDestinationParameters. +func (in *ProjectFeedFeedOutputConfigPubsubDestinationParameters) DeepCopy() *ProjectFeedFeedOutputConfigPubsubDestinationParameters { + if in == nil { + return nil + } + out := new(ProjectFeedFeedOutputConfigPubsubDestinationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectFeedList) DeepCopyInto(out *ProjectFeedList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectFeed, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectFeedList. +func (in *ProjectFeedList) DeepCopy() *ProjectFeedList { + if in == nil { + return nil + } + out := new(ProjectFeedList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectFeedList) 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 *ProjectFeedObservation) DeepCopyInto(out *ProjectFeedObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectFeedObservation. +func (in *ProjectFeedObservation) DeepCopy() *ProjectFeedObservation { + if in == nil { + return nil + } + out := new(ProjectFeedObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectFeedParameters) DeepCopyInto(out *ProjectFeedParameters) { + *out = *in + if in.AssetNames != nil { + in, out := &in.AssetNames, &out.AssetNames + *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.AssetTypes != nil { + in, out := &in.AssetTypes, &out.AssetTypes + *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.BillingProject != nil { + in, out := &in.BillingProject, &out.BillingProject + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ProjectFeedConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ContentType != nil { + in, out := &in.ContentType, &out.ContentType + *out = new(string) + **out = **in + } + if in.FeedID != nil { + in, out := &in.FeedID, &out.FeedID + *out = new(string) + **out = **in + } + if in.FeedOutputConfig != nil { + in, out := &in.FeedOutputConfig, &out.FeedOutputConfig + *out = make([]ProjectFeedFeedOutputConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectFeedParameters. +func (in *ProjectFeedParameters) DeepCopy() *ProjectFeedParameters { + if in == nil { + return nil + } + out := new(ProjectFeedParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectFeedSpec) DeepCopyInto(out *ProjectFeedSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectFeedSpec. +func (in *ProjectFeedSpec) DeepCopy() *ProjectFeedSpec { + if in == nil { + return nil + } + out := new(ProjectFeedSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectFeedStatus) DeepCopyInto(out *ProjectFeedStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectFeedStatus. +func (in *ProjectFeedStatus) DeepCopy() *ProjectFeedStatus { + if in == nil { + return nil + } + out := new(ProjectFeedStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PubsubDestinationObservation) DeepCopyInto(out *PubsubDestinationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PubsubDestinationObservation. +func (in *PubsubDestinationObservation) DeepCopy() *PubsubDestinationObservation { + if in == nil { + return nil + } + out := new(PubsubDestinationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PubsubDestinationParameters) DeepCopyInto(out *PubsubDestinationParameters) { + *out = *in + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PubsubDestinationParameters. +func (in *PubsubDestinationParameters) DeepCopy() *PubsubDestinationParameters { + if in == nil { + return nil + } + out := new(PubsubDestinationParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/cloudasset/v1alpha1/zz_generated.managed.go b/apis/cloudasset/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..601575c5 --- /dev/null +++ b/apis/cloudasset/v1alpha1/zz_generated.managed.go @@ -0,0 +1,188 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this FolderFeed. +func (mg *FolderFeed) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FolderFeed. +func (mg *FolderFeed) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FolderFeed. +func (mg *FolderFeed) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FolderFeed. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FolderFeed) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FolderFeed. +func (mg *FolderFeed) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FolderFeed. +func (mg *FolderFeed) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FolderFeed. +func (mg *FolderFeed) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FolderFeed. +func (mg *FolderFeed) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FolderFeed. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FolderFeed) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FolderFeed. +func (mg *FolderFeed) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this OrganizationFeed. +func (mg *OrganizationFeed) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this OrganizationFeed. +func (mg *OrganizationFeed) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this OrganizationFeed. +func (mg *OrganizationFeed) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this OrganizationFeed. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *OrganizationFeed) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this OrganizationFeed. +func (mg *OrganizationFeed) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this OrganizationFeed. +func (mg *OrganizationFeed) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this OrganizationFeed. +func (mg *OrganizationFeed) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this OrganizationFeed. +func (mg *OrganizationFeed) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this OrganizationFeed. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *OrganizationFeed) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this OrganizationFeed. +func (mg *OrganizationFeed) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectFeed. +func (mg *ProjectFeed) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectFeed. +func (mg *ProjectFeed) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectFeed. +func (mg *ProjectFeed) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectFeed. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectFeed) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectFeed. +func (mg *ProjectFeed) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectFeed. +func (mg *ProjectFeed) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectFeed. +func (mg *ProjectFeed) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectFeed. +func (mg *ProjectFeed) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectFeed. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectFeed) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectFeed. +func (mg *ProjectFeed) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/cloudasset/v1alpha1/zz_generated.managedlist.go b/apis/cloudasset/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..dea7e2e6 --- /dev/null +++ b/apis/cloudasset/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,47 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this FolderFeedList. +func (l *FolderFeedList) 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 OrganizationFeedList. +func (l *OrganizationFeedList) 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 ProjectFeedList. +func (l *ProjectFeedList) 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/cloudasset/v1alpha1/zz_groupversion_info.go b/apis/cloudasset/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..a6db781d --- /dev/null +++ b/apis/cloudasset/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=cloudasset.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "cloudasset.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/cloudasset/v1alpha1/zz_organizationfeed_terraformed.go b/apis/cloudasset/v1alpha1/zz_organizationfeed_terraformed.go new file mode 100755 index 00000000..f828d82f --- /dev/null +++ b/apis/cloudasset/v1alpha1/zz_organizationfeed_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this OrganizationFeed +func (mg *OrganizationFeed) GetTerraformResourceType() string { + return "google_cloud_asset_organization_feed" +} + +// GetConnectionDetailsMapping for this OrganizationFeed +func (tr *OrganizationFeed) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this OrganizationFeed +func (tr *OrganizationFeed) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this OrganizationFeed +func (tr *OrganizationFeed) SetObservation(obs map[string]interface{}) 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 OrganizationFeed +func (tr *OrganizationFeed) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this OrganizationFeed +func (tr *OrganizationFeed) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this OrganizationFeed +func (tr *OrganizationFeed) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this OrganizationFeed using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *OrganizationFeed) LateInitialize(attrs []byte) (bool, error) { + params := &OrganizationFeedParameters{} + 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 *OrganizationFeed) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudasset/v1alpha1/zz_organizationfeed_types.go b/apis/cloudasset/v1alpha1/zz_organizationfeed_types.go new file mode 100755 index 00000000..46e75517 --- /dev/null +++ b/apis/cloudasset/v1alpha1/zz_organizationfeed_types.go @@ -0,0 +1,174 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FeedOutputConfigPubsubDestinationObservation struct { +} + +type FeedOutputConfigPubsubDestinationParameters struct { + + // Destination on Cloud Pubsub topic. + // +kubebuilder:validation:Required + Topic *string `json:"topic" tf:"topic,omitempty"` +} + +type OrganizationFeedConditionObservation struct { +} + +type OrganizationFeedConditionParameters struct { + + // Description of the expression. This is a longer text which describes the expression, + // e.g. when hovered over it in a UI. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Textual representation of an expression in Common Expression Language syntax. + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // String indicating the location of the expression for error reporting, e.g. a file + // name and a position in the file. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // Title for the expression, i.e. a short string describing its purpose. + // This can be used e.g. in UIs which allow to enter the expression. + // +kubebuilder:validation:Optional + Title *string `json:"title,omitempty" tf:"title,omitempty"` +} + +type OrganizationFeedFeedOutputConfigObservation struct { +} + +type OrganizationFeedFeedOutputConfigParameters struct { + + // Destination on Cloud Pubsub. + // +kubebuilder:validation:Required + PubsubDestination []FeedOutputConfigPubsubDestinationParameters `json:"pubsubDestination" tf:"pubsub_destination,omitempty"` +} + +type OrganizationFeedObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type OrganizationFeedParameters struct { + + // A list of the full names of the assets to receive updates. You must specify either or both of + // assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are + // exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1. + // See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info. + // +kubebuilder:validation:Optional + AssetNames []*string `json:"assetNames,omitempty" tf:"asset_names,omitempty"` + + // A list of types of the assets to receive updates. You must specify either or both of assetNames + // and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to + // the feed. For example: "compute.googleapis.com/Disk" + // See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all + // supported asset types. + // +kubebuilder:validation:Optional + AssetTypes []*string `json:"assetTypes,omitempty" tf:"asset_types,omitempty"` + + // The project whose identity will be used when sending messages to the + // destination pubsub topic. It also specifies the project for API + // enablement check, quota, and billing. + // +kubebuilder:validation:Required + BillingProject *string `json:"billingProject" tf:"billing_project,omitempty"` + + // A condition which determines whether an asset update should be published. If specified, an asset + // will be returned only when the expression evaluates to true. When set, expression field + // must be a valid CEL expression on a TemporalAsset with name temporal_asset. Example: a Feed with + // expression "temporal_asset.deleted == true" will only publish Asset deletions. Other fields of + // condition are optional. + // +kubebuilder:validation:Optional + Condition []OrganizationFeedConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // Asset content type. If not specified, no content but the asset name and type will be returned. Possible values: ["CONTENT_TYPE_UNSPECIFIED", "RESOURCE", "IAM_POLICY", "ORG_POLICY", "ACCESS_POLICY"] + // +kubebuilder:validation:Optional + ContentType *string `json:"contentType,omitempty" tf:"content_type,omitempty"` + + // This is the client-assigned asset feed identifier and it needs to be unique under a specific parent. + // +kubebuilder:validation:Required + FeedID *string `json:"feedId" tf:"feed_id,omitempty"` + + // Output configuration for asset feed destination. + // +kubebuilder:validation:Required + FeedOutputConfig []OrganizationFeedFeedOutputConfigParameters `json:"feedOutputConfig" tf:"feed_output_config,omitempty"` + + // The organization this feed should be created in. + // +kubebuilder:validation:Required + OrgID *string `json:"orgId" tf:"org_id,omitempty"` +} + +// OrganizationFeedSpec defines the desired state of OrganizationFeed +type OrganizationFeedSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider OrganizationFeedParameters `json:"forProvider"` +} + +// OrganizationFeedStatus defines the observed state of OrganizationFeed. +type OrganizationFeedStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider OrganizationFeedObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationFeed is the Schema for the OrganizationFeeds 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,gcpjet} +type OrganizationFeed struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec OrganizationFeedSpec `json:"spec"` + Status OrganizationFeedStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationFeedList contains a list of OrganizationFeeds +type OrganizationFeedList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []OrganizationFeed `json:"items"` +} + +// Repository type metadata. +var ( + OrganizationFeed_Kind = "OrganizationFeed" + OrganizationFeed_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: OrganizationFeed_Kind}.String() + OrganizationFeed_KindAPIVersion = OrganizationFeed_Kind + "." + CRDGroupVersion.String() + OrganizationFeed_GroupVersionKind = CRDGroupVersion.WithKind(OrganizationFeed_Kind) +) + +func init() { + SchemeBuilder.Register(&OrganizationFeed{}, &OrganizationFeedList{}) +} diff --git a/apis/cloudasset/v1alpha1/zz_projectfeed_terraformed.go b/apis/cloudasset/v1alpha1/zz_projectfeed_terraformed.go new file mode 100755 index 00000000..87ab0b8d --- /dev/null +++ b/apis/cloudasset/v1alpha1/zz_projectfeed_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectFeed +func (mg *ProjectFeed) GetTerraformResourceType() string { + return "google_cloud_asset_project_feed" +} + +// GetConnectionDetailsMapping for this ProjectFeed +func (tr *ProjectFeed) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectFeed +func (tr *ProjectFeed) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectFeed +func (tr *ProjectFeed) SetObservation(obs map[string]interface{}) 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 ProjectFeed +func (tr *ProjectFeed) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectFeed +func (tr *ProjectFeed) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectFeed +func (tr *ProjectFeed) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectFeed using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectFeed) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectFeedParameters{} + 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 *ProjectFeed) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudasset/v1alpha1/zz_projectfeed_types.go b/apis/cloudasset/v1alpha1/zz_projectfeed_types.go new file mode 100755 index 00000000..5f9618bf --- /dev/null +++ b/apis/cloudasset/v1alpha1/zz_projectfeed_types.go @@ -0,0 +1,174 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectFeedConditionObservation struct { +} + +type ProjectFeedConditionParameters struct { + + // Description of the expression. This is a longer text which describes the expression, + // e.g. when hovered over it in a UI. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Textual representation of an expression in Common Expression Language syntax. + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // String indicating the location of the expression for error reporting, e.g. a file + // name and a position in the file. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // Title for the expression, i.e. a short string describing its purpose. + // This can be used e.g. in UIs which allow to enter the expression. + // +kubebuilder:validation:Optional + Title *string `json:"title,omitempty" tf:"title,omitempty"` +} + +type ProjectFeedFeedOutputConfigObservation struct { +} + +type ProjectFeedFeedOutputConfigParameters struct { + + // Destination on Cloud Pubsub. + // +kubebuilder:validation:Required + PubsubDestination []ProjectFeedFeedOutputConfigPubsubDestinationParameters `json:"pubsubDestination" tf:"pubsub_destination,omitempty"` +} + +type ProjectFeedFeedOutputConfigPubsubDestinationObservation struct { +} + +type ProjectFeedFeedOutputConfigPubsubDestinationParameters struct { + + // Destination on Cloud Pubsub topic. + // +kubebuilder:validation:Required + Topic *string `json:"topic" tf:"topic,omitempty"` +} + +type ProjectFeedObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type ProjectFeedParameters struct { + + // A list of the full names of the assets to receive updates. You must specify either or both of + // assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are + // exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1. + // See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info. + // +kubebuilder:validation:Optional + AssetNames []*string `json:"assetNames,omitempty" tf:"asset_names,omitempty"` + + // A list of types of the assets to receive updates. You must specify either or both of assetNames + // and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to + // the feed. For example: "compute.googleapis.com/Disk" + // See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all + // supported asset types. + // +kubebuilder:validation:Optional + AssetTypes []*string `json:"assetTypes,omitempty" tf:"asset_types,omitempty"` + + // The project whose identity will be used when sending messages to the + // destination pubsub topic. It also specifies the project for API + // enablement check, quota, and billing. If not specified, the resource's + // project will be used. + // +kubebuilder:validation:Optional + BillingProject *string `json:"billingProject,omitempty" tf:"billing_project,omitempty"` + + // A condition which determines whether an asset update should be published. If specified, an asset + // will be returned only when the expression evaluates to true. When set, expression field + // must be a valid CEL expression on a TemporalAsset with name temporal_asset. Example: a Feed with + // expression "temporal_asset.deleted == true" will only publish Asset deletions. Other fields of + // condition are optional. + // +kubebuilder:validation:Optional + Condition []ProjectFeedConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // Asset content type. If not specified, no content but the asset name and type will be returned. Possible values: ["CONTENT_TYPE_UNSPECIFIED", "RESOURCE", "IAM_POLICY", "ORG_POLICY", "ACCESS_POLICY"] + // +kubebuilder:validation:Optional + ContentType *string `json:"contentType,omitempty" tf:"content_type,omitempty"` + + // This is the client-assigned asset feed identifier and it needs to be unique under a specific parent. + // +kubebuilder:validation:Required + FeedID *string `json:"feedId" tf:"feed_id,omitempty"` + + // Output configuration for asset feed destination. + // +kubebuilder:validation:Required + FeedOutputConfig []ProjectFeedFeedOutputConfigParameters `json:"feedOutputConfig" tf:"feed_output_config,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// ProjectFeedSpec defines the desired state of ProjectFeed +type ProjectFeedSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectFeedParameters `json:"forProvider"` +} + +// ProjectFeedStatus defines the observed state of ProjectFeed. +type ProjectFeedStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectFeedObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectFeed is the Schema for the ProjectFeeds 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,gcpjet} +type ProjectFeed struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectFeedSpec `json:"spec"` + Status ProjectFeedStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectFeedList contains a list of ProjectFeeds +type ProjectFeedList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectFeed `json:"items"` +} + +// Repository type metadata. +var ( + ProjectFeed_Kind = "ProjectFeed" + ProjectFeed_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectFeed_Kind}.String() + ProjectFeed_KindAPIVersion = ProjectFeed_Kind + "." + CRDGroupVersion.String() + ProjectFeed_GroupVersionKind = CRDGroupVersion.WithKind(ProjectFeed_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectFeed{}, &ProjectFeedList{}) +} diff --git a/apis/cloudbuild/v1alpha1/zz_generated.deepcopy.go b/apis/cloudbuild/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..66f6a3c8 --- /dev/null +++ b/apis/cloudbuild/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1351 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ArtifactsObservation) DeepCopyInto(out *ArtifactsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtifactsObservation. +func (in *ArtifactsObservation) DeepCopy() *ArtifactsObservation { + if in == nil { + return nil + } + out := new(ArtifactsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ArtifactsParameters) DeepCopyInto(out *ArtifactsParameters) { + *out = *in + if in.Images != nil { + in, out := &in.Images, &out.Images + *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.Objects != nil { + in, out := &in.Objects, &out.Objects + *out = make([]ObjectsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtifactsParameters. +func (in *ArtifactsParameters) DeepCopy() *ArtifactsParameters { + if in == nil { + return nil + } + out := new(ArtifactsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildObservation) DeepCopyInto(out *BuildObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildObservation. +func (in *BuildObservation) DeepCopy() *BuildObservation { + if in == nil { + return nil + } + out := new(BuildObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildParameters) DeepCopyInto(out *BuildParameters) { + *out = *in + if in.Artifacts != nil { + in, out := &in.Artifacts, &out.Artifacts + *out = make([]ArtifactsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Images != nil { + in, out := &in.Images, &out.Images + *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.LogsBucket != nil { + in, out := &in.LogsBucket, &out.LogsBucket + *out = new(string) + **out = **in + } + if in.Options != nil { + in, out := &in.Options, &out.Options + *out = make([]OptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.QueueTTL != nil { + in, out := &in.QueueTTL, &out.QueueTTL + *out = new(string) + **out = **in + } + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = make([]SecretParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = make([]SourceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Step != nil { + in, out := &in.Step, &out.Step + *out = make([]StepParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Substitutions != nil { + in, out := &in.Substitutions, &out.Substitutions + *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.Tags != nil { + in, out := &in.Tags, &out.Tags + *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.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildParameters. +func (in *BuildParameters) DeepCopy() *BuildParameters { + if in == nil { + return nil + } + out := new(BuildParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GithubObservation) DeepCopyInto(out *GithubObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GithubObservation. +func (in *GithubObservation) DeepCopy() *GithubObservation { + if in == nil { + return nil + } + out := new(GithubObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GithubParameters) DeepCopyInto(out *GithubParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(string) + **out = **in + } + if in.PullRequest != nil { + in, out := &in.PullRequest, &out.PullRequest + *out = make([]PullRequestParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Push != nil { + in, out := &in.Push, &out.Push + *out = make([]PushParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GithubParameters. +func (in *GithubParameters) DeepCopy() *GithubParameters { + if in == nil { + return nil + } + out := new(GithubParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectsObservation) DeepCopyInto(out *ObjectsObservation) { + *out = *in + if in.Timing != nil { + in, out := &in.Timing, &out.Timing + *out = make([]TimingObservation, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectsObservation. +func (in *ObjectsObservation) DeepCopy() *ObjectsObservation { + if in == nil { + return nil + } + out := new(ObjectsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectsParameters) DeepCopyInto(out *ObjectsParameters) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Paths != nil { + in, out := &in.Paths, &out.Paths + *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 ObjectsParameters. +func (in *ObjectsParameters) DeepCopy() *ObjectsParameters { + if in == nil { + return nil + } + out := new(ObjectsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OptionsObservation) DeepCopyInto(out *OptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OptionsObservation. +func (in *OptionsObservation) DeepCopy() *OptionsObservation { + if in == nil { + return nil + } + out := new(OptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OptionsParameters) DeepCopyInto(out *OptionsParameters) { + *out = *in + if in.DiskSizeGb != nil { + in, out := &in.DiskSizeGb, &out.DiskSizeGb + *out = new(int64) + **out = **in + } + if in.DynamicSubstitutions != nil { + in, out := &in.DynamicSubstitutions, &out.DynamicSubstitutions + *out = new(bool) + **out = **in + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *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.LogStreamingOption != nil { + in, out := &in.LogStreamingOption, &out.LogStreamingOption + *out = new(string) + **out = **in + } + if in.Logging != nil { + in, out := &in.Logging, &out.Logging + *out = new(string) + **out = **in + } + if in.MachineType != nil { + in, out := &in.MachineType, &out.MachineType + *out = new(string) + **out = **in + } + if in.RequestedVerifyOption != nil { + in, out := &in.RequestedVerifyOption, &out.RequestedVerifyOption + *out = new(string) + **out = **in + } + if in.SecretEnv != nil { + in, out := &in.SecretEnv, &out.SecretEnv + *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.SourceProvenanceHash != nil { + in, out := &in.SourceProvenanceHash, &out.SourceProvenanceHash + *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.SubstitutionOption != nil { + in, out := &in.SubstitutionOption, &out.SubstitutionOption + *out = new(string) + **out = **in + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]VolumesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WorkerPool != nil { + in, out := &in.WorkerPool, &out.WorkerPool + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OptionsParameters. +func (in *OptionsParameters) DeepCopy() *OptionsParameters { + if in == nil { + return nil + } + out := new(OptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PubsubConfigObservation) DeepCopyInto(out *PubsubConfigObservation) { + *out = *in + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } + if in.Subscription != nil { + in, out := &in.Subscription, &out.Subscription + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PubsubConfigObservation. +func (in *PubsubConfigObservation) DeepCopy() *PubsubConfigObservation { + if in == nil { + return nil + } + out := new(PubsubConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PubsubConfigParameters) DeepCopyInto(out *PubsubConfigParameters) { + *out = *in + if in.ServiceAccountEmail != nil { + in, out := &in.ServiceAccountEmail, &out.ServiceAccountEmail + *out = new(string) + **out = **in + } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PubsubConfigParameters. +func (in *PubsubConfigParameters) DeepCopy() *PubsubConfigParameters { + if in == nil { + return nil + } + out := new(PubsubConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PullRequestObservation) DeepCopyInto(out *PullRequestObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullRequestObservation. +func (in *PullRequestObservation) DeepCopy() *PullRequestObservation { + if in == nil { + return nil + } + out := new(PullRequestObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PullRequestParameters) DeepCopyInto(out *PullRequestParameters) { + *out = *in + if in.Branch != nil { + in, out := &in.Branch, &out.Branch + *out = new(string) + **out = **in + } + if in.CommentControl != nil { + in, out := &in.CommentControl, &out.CommentControl + *out = new(string) + **out = **in + } + if in.InvertRegex != nil { + in, out := &in.InvertRegex, &out.InvertRegex + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullRequestParameters. +func (in *PullRequestParameters) DeepCopy() *PullRequestParameters { + if in == nil { + return nil + } + out := new(PullRequestParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PushObservation) DeepCopyInto(out *PushObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PushObservation. +func (in *PushObservation) DeepCopy() *PushObservation { + if in == nil { + return nil + } + out := new(PushObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PushParameters) DeepCopyInto(out *PushParameters) { + *out = *in + if in.Branch != nil { + in, out := &in.Branch, &out.Branch + *out = new(string) + **out = **in + } + if in.InvertRegex != nil { + in, out := &in.InvertRegex, &out.InvertRegex + *out = new(bool) + **out = **in + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PushParameters. +func (in *PushParameters) DeepCopy() *PushParameters { + if in == nil { + return nil + } + out := new(PushParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepoSourceObservation) DeepCopyInto(out *RepoSourceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepoSourceObservation. +func (in *RepoSourceObservation) DeepCopy() *RepoSourceObservation { + if in == nil { + return nil + } + out := new(RepoSourceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepoSourceParameters) DeepCopyInto(out *RepoSourceParameters) { + *out = *in + if in.BranchName != nil { + in, out := &in.BranchName, &out.BranchName + *out = new(string) + **out = **in + } + if in.CommitSha != nil { + in, out := &in.CommitSha, &out.CommitSha + *out = new(string) + **out = **in + } + if in.Dir != nil { + in, out := &in.Dir, &out.Dir + *out = new(string) + **out = **in + } + if in.InvertRegex != nil { + in, out := &in.InvertRegex, &out.InvertRegex + *out = new(bool) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.RepoName != nil { + in, out := &in.RepoName, &out.RepoName + *out = new(string) + **out = **in + } + if in.Substitutions != nil { + in, out := &in.Substitutions, &out.Substitutions + *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.TagName != nil { + in, out := &in.TagName, &out.TagName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepoSourceParameters. +func (in *RepoSourceParameters) DeepCopy() *RepoSourceParameters { + if in == nil { + return nil + } + out := new(RepoSourceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretObservation) DeepCopyInto(out *SecretObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretObservation. +func (in *SecretObservation) DeepCopy() *SecretObservation { + if in == nil { + return nil + } + out := new(SecretObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretParameters) DeepCopyInto(out *SecretParameters) { + *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } + if in.SecretEnv != nil { + in, out := &in.SecretEnv, &out.SecretEnv + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretParameters. +func (in *SecretParameters) DeepCopy() *SecretParameters { + if in == nil { + return nil + } + out := new(SecretParameters) + 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 +} + +// 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.RepoSource != nil { + in, out := &in.RepoSource, &out.RepoSource + *out = make([]RepoSourceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StorageSource != nil { + in, out := &in.StorageSource, &out.StorageSource + *out = make([]StorageSourceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// 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 *StepObservation) DeepCopyInto(out *StepObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepObservation. +func (in *StepObservation) DeepCopy() *StepObservation { + if in == nil { + return nil + } + out := new(StepObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StepParameters) DeepCopyInto(out *StepParameters) { + *out = *in + if in.Args != nil { + in, out := &in.Args, &out.Args + *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.Dir != nil { + in, out := &in.Dir, &out.Dir + *out = new(string) + **out = **in + } + if in.Entrypoint != nil { + in, out := &in.Entrypoint, &out.Entrypoint + *out = new(string) + **out = **in + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *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.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.SecretEnv != nil { + in, out := &in.SecretEnv, &out.SecretEnv + *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.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = new(string) + **out = **in + } + if in.Timing != nil { + in, out := &in.Timing, &out.Timing + *out = new(string) + **out = **in + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]StepVolumesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WaitFor != nil { + in, out := &in.WaitFor, &out.WaitFor + *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 StepParameters. +func (in *StepParameters) DeepCopy() *StepParameters { + if in == nil { + return nil + } + out := new(StepParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StepVolumesObservation) DeepCopyInto(out *StepVolumesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepVolumesObservation. +func (in *StepVolumesObservation) DeepCopy() *StepVolumesObservation { + if in == nil { + return nil + } + out := new(StepVolumesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StepVolumesParameters) DeepCopyInto(out *StepVolumesParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepVolumesParameters. +func (in *StepVolumesParameters) DeepCopy() *StepVolumesParameters { + if in == nil { + return nil + } + out := new(StepVolumesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StorageSourceObservation) DeepCopyInto(out *StorageSourceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageSourceObservation. +func (in *StorageSourceObservation) DeepCopy() *StorageSourceObservation { + if in == nil { + return nil + } + out := new(StorageSourceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StorageSourceParameters) DeepCopyInto(out *StorageSourceParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.Generation != nil { + in, out := &in.Generation, &out.Generation + *out = new(string) + **out = **in + } + if in.Object != nil { + in, out := &in.Object, &out.Object + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageSourceParameters. +func (in *StorageSourceParameters) DeepCopy() *StorageSourceParameters { + if in == nil { + return nil + } + out := new(StorageSourceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimingObservation) DeepCopyInto(out *TimingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimingObservation. +func (in *TimingObservation) DeepCopy() *TimingObservation { + if in == nil { + return nil + } + out := new(TimingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimingParameters) DeepCopyInto(out *TimingParameters) { + *out = *in + if in.EndTime != nil { + in, out := &in.EndTime, &out.EndTime + *out = new(string) + **out = **in + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimingParameters. +func (in *TimingParameters) DeepCopy() *TimingParameters { + if in == nil { + return nil + } + out := new(TimingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Trigger) DeepCopyInto(out *Trigger) { + *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 Trigger. +func (in *Trigger) DeepCopy() *Trigger { + if in == nil { + return nil + } + out := new(Trigger) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Trigger) 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 *TriggerList) DeepCopyInto(out *TriggerList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Trigger, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerList. +func (in *TriggerList) DeepCopy() *TriggerList { + if in == nil { + return nil + } + out := new(TriggerList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TriggerList) 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 *TriggerObservation) DeepCopyInto(out *TriggerObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.TriggerID != nil { + in, out := &in.TriggerID, &out.TriggerID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerObservation. +func (in *TriggerObservation) DeepCopy() *TriggerObservation { + if in == nil { + return nil + } + out := new(TriggerObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggerParameters) DeepCopyInto(out *TriggerParameters) { + *out = *in + if in.Build != nil { + in, out := &in.Build, &out.Build + *out = make([]BuildParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.Filename != nil { + in, out := &in.Filename, &out.Filename + *out = new(string) + **out = **in + } + if in.Github != nil { + in, out := &in.Github, &out.Github + *out = make([]GithubParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IgnoredFiles != nil { + in, out := &in.IgnoredFiles, &out.IgnoredFiles + *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.IncludedFiles != nil { + in, out := &in.IncludedFiles, &out.IncludedFiles + *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.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.PubsubConfig != nil { + in, out := &in.PubsubConfig, &out.PubsubConfig + *out = make([]PubsubConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } + if in.Substitutions != nil { + in, out := &in.Substitutions, &out.Substitutions + *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.Tags != nil { + in, out := &in.Tags, &out.Tags + *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.TriggerTemplate != nil { + in, out := &in.TriggerTemplate, &out.TriggerTemplate + *out = make([]TriggerTemplateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WebhookConfig != nil { + in, out := &in.WebhookConfig, &out.WebhookConfig + *out = make([]WebhookConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerParameters. +func (in *TriggerParameters) DeepCopy() *TriggerParameters { + if in == nil { + return nil + } + out := new(TriggerParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggerSpec) DeepCopyInto(out *TriggerSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerSpec. +func (in *TriggerSpec) DeepCopy() *TriggerSpec { + if in == nil { + return nil + } + out := new(TriggerSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggerStatus) DeepCopyInto(out *TriggerStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerStatus. +func (in *TriggerStatus) DeepCopy() *TriggerStatus { + if in == nil { + return nil + } + out := new(TriggerStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggerTemplateObservation) DeepCopyInto(out *TriggerTemplateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerTemplateObservation. +func (in *TriggerTemplateObservation) DeepCopy() *TriggerTemplateObservation { + if in == nil { + return nil + } + out := new(TriggerTemplateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggerTemplateParameters) DeepCopyInto(out *TriggerTemplateParameters) { + *out = *in + if in.BranchName != nil { + in, out := &in.BranchName, &out.BranchName + *out = new(string) + **out = **in + } + if in.CommitSha != nil { + in, out := &in.CommitSha, &out.CommitSha + *out = new(string) + **out = **in + } + if in.Dir != nil { + in, out := &in.Dir, &out.Dir + *out = new(string) + **out = **in + } + if in.InvertRegex != nil { + in, out := &in.InvertRegex, &out.InvertRegex + *out = new(bool) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.RepoName != nil { + in, out := &in.RepoName, &out.RepoName + *out = new(string) + **out = **in + } + if in.TagName != nil { + in, out := &in.TagName, &out.TagName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerTemplateParameters. +func (in *TriggerTemplateParameters) DeepCopy() *TriggerTemplateParameters { + if in == nil { + return nil + } + out := new(TriggerTemplateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VolumesObservation) DeepCopyInto(out *VolumesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumesObservation. +func (in *VolumesObservation) DeepCopy() *VolumesObservation { + if in == nil { + return nil + } + out := new(VolumesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VolumesParameters) DeepCopyInto(out *VolumesParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumesParameters. +func (in *VolumesParameters) DeepCopy() *VolumesParameters { + if in == nil { + return nil + } + out := new(VolumesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebhookConfigObservation) DeepCopyInto(out *WebhookConfigObservation) { + *out = *in + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookConfigObservation. +func (in *WebhookConfigObservation) DeepCopy() *WebhookConfigObservation { + if in == nil { + return nil + } + out := new(WebhookConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebhookConfigParameters) DeepCopyInto(out *WebhookConfigParameters) { + *out = *in + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookConfigParameters. +func (in *WebhookConfigParameters) DeepCopy() *WebhookConfigParameters { + if in == nil { + return nil + } + out := new(WebhookConfigParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/cloudbuild/v1alpha1/zz_generated.managed.go b/apis/cloudbuild/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..07939dee --- /dev/null +++ b/apis/cloudbuild/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Trigger. +func (mg *Trigger) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Trigger. +func (mg *Trigger) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Trigger. +func (mg *Trigger) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Trigger. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Trigger) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Trigger. +func (mg *Trigger) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Trigger. +func (mg *Trigger) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Trigger. +func (mg *Trigger) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Trigger. +func (mg *Trigger) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Trigger. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Trigger) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Trigger. +func (mg *Trigger) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/cloudbuild/v1alpha1/zz_generated.managedlist.go b/apis/cloudbuild/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..3c27c97c --- /dev/null +++ b/apis/cloudbuild/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this TriggerList. +func (l *TriggerList) 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/cloudbuild/v1alpha1/zz_groupversion_info.go b/apis/cloudbuild/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..b506a759 --- /dev/null +++ b/apis/cloudbuild/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=cloudbuild.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "cloudbuild.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/cloudbuild/v1alpha1/zz_trigger_terraformed.go b/apis/cloudbuild/v1alpha1/zz_trigger_terraformed.go new file mode 100755 index 00000000..41a7f895 --- /dev/null +++ b/apis/cloudbuild/v1alpha1/zz_trigger_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Trigger +func (mg *Trigger) GetTerraformResourceType() string { + return "google_cloudbuild_trigger" +} + +// GetConnectionDetailsMapping for this Trigger +func (tr *Trigger) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Trigger +func (tr *Trigger) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Trigger +func (tr *Trigger) SetObservation(obs map[string]interface{}) 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 Trigger +func (tr *Trigger) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Trigger +func (tr *Trigger) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Trigger +func (tr *Trigger) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Trigger using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Trigger) LateInitialize(attrs []byte) (bool, error) { + params := &TriggerParameters{} + 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 *Trigger) GetTerraformSchemaVersion() int { + return 1 +} diff --git a/apis/cloudbuild/v1alpha1/zz_trigger_types.go b/apis/cloudbuild/v1alpha1/zz_trigger_types.go new file mode 100755 index 00000000..b533809e --- /dev/null +++ b/apis/cloudbuild/v1alpha1/zz_trigger_types.go @@ -0,0 +1,760 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ArtifactsObservation struct { +} + +type ArtifactsParameters struct { + + // A list of images to be pushed upon the successful completion of all build steps. + // + // The images will be pushed using the builder service account's credentials. + // + // The digests of the pushed images will be stored in the Build resource's results field. + // + // If any of the images fail to be pushed, the build is marked FAILURE. + // +kubebuilder:validation:Optional + Images []*string `json:"images,omitempty" tf:"images,omitempty"` + + // A list of objects to be uploaded to Cloud Storage upon successful completion of all build steps. + // + // Files in the workspace matching specified paths globs will be uploaded to the + // Cloud Storage location using the builder service account's credentials. + // + // The location and generation of the uploaded objects will be stored in the Build resource's results field. + // + // If any objects fail to be pushed, the build is marked FAILURE. + // +kubebuilder:validation:Optional + Objects []ObjectsParameters `json:"objects,omitempty" tf:"objects,omitempty"` +} + +type BuildObservation struct { +} + +type BuildParameters struct { + + // Artifacts produced by the build that should be uploaded upon successful completion of all build steps. + // +kubebuilder:validation:Optional + Artifacts []ArtifactsParameters `json:"artifacts,omitempty" tf:"artifacts,omitempty"` + + // A list of images to be pushed upon the successful completion of all build steps. + // The images are pushed using the builder service account's credentials. + // The digests of the pushed images will be stored in the Build resource's results field. + // If any of the images fail to be pushed, the build status is marked FAILURE. + // +kubebuilder:validation:Optional + Images []*string `json:"images,omitempty" tf:"images,omitempty"` + + // Google Cloud Storage bucket where logs should be written. + // Logs file names will be of the format ${logsBucket}/log-${build_id}.txt. + // +kubebuilder:validation:Optional + LogsBucket *string `json:"logsBucket,omitempty" tf:"logs_bucket,omitempty"` + + // Special options for this build. + // +kubebuilder:validation:Optional + Options []OptionsParameters `json:"options,omitempty" tf:"options,omitempty"` + + // TTL in queue for this build. If provided and the build is enqueued longer than this value, + // the build will expire and the build status will be EXPIRED. + // The TTL starts ticking from createTime. + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + QueueTTL *string `json:"queueTtl,omitempty" tf:"queue_ttl,omitempty"` + + // Secrets to decrypt using Cloud Key Management Service. + // +kubebuilder:validation:Optional + Secret []SecretParameters `json:"secret,omitempty" tf:"secret,omitempty"` + + // The location of the source files to build. + // + // One of 'storageSource' or 'repoSource' must be provided. + // +kubebuilder:validation:Optional + Source []SourceParameters `json:"source,omitempty" tf:"source,omitempty"` + + // The operations to be performed on the workspace. + // +kubebuilder:validation:Required + Step []StepParameters `json:"step" tf:"step,omitempty"` + + // Substitutions data for Build resource. + // +kubebuilder:validation:Optional + Substitutions map[string]*string `json:"substitutions,omitempty" tf:"substitutions,omitempty"` + + // Tags for annotation of a Build. These are not docker tags. + // +kubebuilder:validation:Optional + Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // Amount of time that this build should be allowed to run, to second granularity. + // If this amount of time elapses, work on the build will cease and the build status will be TIMEOUT. + // This timeout must be equal to or greater than the sum of the timeouts for build steps within the build. + // The expected format is the number of seconds followed by s. + // Default time is ten minutes (600s). + // +kubebuilder:validation:Optional + Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"` +} + +type GithubObservation struct { +} + +type GithubParameters struct { + + // Name of the repository. For example: The name for + // https://github.com/googlecloudplatform/cloud-builders is "cloud-builders". + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Owner of the repository. For example: The owner for + // https://github.com/googlecloudplatform/cloud-builders is "googlecloudplatform". + // +kubebuilder:validation:Optional + Owner *string `json:"owner,omitempty" tf:"owner,omitempty"` + + // filter to match changes in pull requests. Specify only one of pullRequest or push. + // +kubebuilder:validation:Optional + PullRequest []PullRequestParameters `json:"pullRequest,omitempty" tf:"pull_request,omitempty"` + + // filter to match changes in refs, like branches or tags. Specify only one of pullRequest or push. + // +kubebuilder:validation:Optional + Push []PushParameters `json:"push,omitempty" tf:"push,omitempty"` +} + +type ObjectsObservation struct { + Timing []TimingObservation `json:"timing,omitempty" tf:"timing,omitempty"` +} + +type ObjectsParameters struct { + + // Cloud Storage bucket and optional object path, in the form "gs://bucket/path/to/somewhere/". + // + // Files in the workspace matching any path pattern will be uploaded to Cloud Storage with + // this location as a prefix. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // Path globs used to match files in the build's workspace. + // +kubebuilder:validation:Optional + Paths []*string `json:"paths,omitempty" tf:"paths,omitempty"` +} + +type OptionsObservation struct { +} + +type OptionsParameters struct { + + // Requested disk size for the VM that runs the build. Note that this is NOT "disk free"; + // some of the space will be used by the operating system and build utilities. + // Also note that this is the minimum disk size that will be allocated for the build -- + // the build may run with a larger disk than requested. At present, the maximum disk size + // is 1000GB; builds that request more than the maximum are rejected with an error. + // +kubebuilder:validation:Optional + DiskSizeGb *int64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"` + + // Option to specify whether or not to apply bash style string operations to the substitutions. + // + // NOTE this is always enabled for triggered builds and cannot be overridden in the build configuration file. + // +kubebuilder:validation:Optional + DynamicSubstitutions *bool `json:"dynamicSubstitutions,omitempty" tf:"dynamic_substitutions,omitempty"` + + // A list of global environment variable definitions that will exist for all build steps + // in this build. If a variable is defined in both globally and in a build step, + // the variable will use the build step value. + // + // The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE". + // +kubebuilder:validation:Optional + Env []*string `json:"env,omitempty" tf:"env,omitempty"` + + // Option to define build log streaming behavior to Google Cloud Storage. Possible values: ["STREAM_DEFAULT", "STREAM_ON", "STREAM_OFF"] + // +kubebuilder:validation:Optional + LogStreamingOption *string `json:"logStreamingOption,omitempty" tf:"log_streaming_option,omitempty"` + + // Option to specify the logging mode, which determines if and where build logs are stored. Possible values: ["LOGGING_UNSPECIFIED", "LEGACY", "GCS_ONLY", "STACKDRIVER_ONLY", "NONE"] + // +kubebuilder:validation:Optional + Logging *string `json:"logging,omitempty" tf:"logging,omitempty"` + + // Compute Engine machine type on which to run the build. Possible values: ["UNSPECIFIED", "N1_HIGHCPU_8", "N1_HIGHCPU_32", "E2_HIGHCPU_8", "E2_HIGHCPU_32"] + // +kubebuilder:validation:Optional + MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"` + + // Requested verifiability options. Possible values: ["NOT_VERIFIED", "VERIFIED"] + // +kubebuilder:validation:Optional + RequestedVerifyOption *string `json:"requestedVerifyOption,omitempty" tf:"requested_verify_option,omitempty"` + + // A list of global environment variables, which are encrypted using a Cloud Key Management + // Service crypto key. These values must be specified in the build's Secret. These variables + // will be available to all build steps in this build. + // +kubebuilder:validation:Optional + SecretEnv []*string `json:"secretEnv,omitempty" tf:"secret_env,omitempty"` + + // Requested hash for SourceProvenance. Possible values: ["NONE", "SHA256", "MD5"] + // +kubebuilder:validation:Optional + SourceProvenanceHash []*string `json:"sourceProvenanceHash,omitempty" tf:"source_provenance_hash,omitempty"` + + // Option to specify behavior when there is an error in the substitution checks. + // + // NOTE this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden + // in the build configuration file. Possible values: ["MUST_MATCH", "ALLOW_LOOSE"] + // +kubebuilder:validation:Optional + SubstitutionOption *string `json:"substitutionOption,omitempty" tf:"substitution_option,omitempty"` + + // Global list of volumes to mount for ALL build steps + // + // Each volume is created as an empty volume prior to starting the build process. + // Upon completion of the build, volumes and their contents are discarded. Global + // volume names and paths cannot conflict with the volumes defined a build step. + // + // Using a global volume in a build with only one step is not valid as it is indicative + // of a build request with an incorrect configuration. + // +kubebuilder:validation:Optional + Volumes []VolumesParameters `json:"volumes,omitempty" tf:"volumes,omitempty"` + + // Option to specify a WorkerPool for the build. Format projects/{project}/workerPools/{workerPool} + // + // This field is experimental. + // +kubebuilder:validation:Optional + WorkerPool *string `json:"workerPool,omitempty" tf:"worker_pool,omitempty"` +} + +type PubsubConfigObservation struct { + State *string `json:"state,omitempty" tf:"state,omitempty"` + + Subscription *string `json:"subscription,omitempty" tf:"subscription,omitempty"` +} + +type PubsubConfigParameters struct { + + // Service account that will make the push request. + // +kubebuilder:validation:Optional + ServiceAccountEmail *string `json:"serviceAccountEmail,omitempty" tf:"service_account_email,omitempty"` + + // The name of the topic from which this subscription is receiving messages. + // +kubebuilder:validation:Required + Topic *string `json:"topic" tf:"topic,omitempty"` +} + +type PullRequestObservation struct { +} + +type PullRequestParameters struct { + + // Regex of branches to match. + // +kubebuilder:validation:Required + Branch *string `json:"branch" tf:"branch,omitempty"` + + // Whether to block builds on a "/gcbrun" comment from a repository owner or collaborator. Possible values: ["COMMENTS_DISABLED", "COMMENTS_ENABLED", "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"] + // +kubebuilder:validation:Optional + CommentControl *string `json:"commentControl,omitempty" tf:"comment_control,omitempty"` + + // If true, branches that do NOT match the git_ref will trigger a build. + // +kubebuilder:validation:Optional + InvertRegex *bool `json:"invertRegex,omitempty" tf:"invert_regex,omitempty"` +} + +type PushObservation struct { +} + +type PushParameters struct { + + // Regex of branches to match. Specify only one of branch or tag. + // +kubebuilder:validation:Optional + Branch *string `json:"branch,omitempty" tf:"branch,omitempty"` + + // When true, only trigger a build if the revision regex does NOT match the git_ref regex. + // +kubebuilder:validation:Optional + InvertRegex *bool `json:"invertRegex,omitempty" tf:"invert_regex,omitempty"` + + // Regex of tags to match. Specify only one of branch or tag. + // +kubebuilder:validation:Optional + Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` +} + +type RepoSourceObservation struct { +} + +type RepoSourceParameters struct { + + // Regex matching branches to build. Exactly one a of branch name, tag, or commit SHA must be provided. + // The syntax of the regular expressions accepted is the syntax accepted by RE2 and + // described at https://github.com/google/re2/wiki/Syntax + // +kubebuilder:validation:Optional + BranchName *string `json:"branchName,omitempty" tf:"branch_name,omitempty"` + + // Explicit commit SHA to build. Exactly one a of branch name, tag, or commit SHA must be provided. + // +kubebuilder:validation:Optional + CommitSha *string `json:"commitSha,omitempty" tf:"commit_sha,omitempty"` + + // Directory, relative to the source root, in which to run the build. + // This must be a relative path. If a step's dir is specified and is an absolute path, + // this value is ignored for that step's execution. + // +kubebuilder:validation:Optional + Dir *string `json:"dir,omitempty" tf:"dir,omitempty"` + + // Only trigger a build if the revision regex does NOT match the revision regex. + // +kubebuilder:validation:Optional + InvertRegex *bool `json:"invertRegex,omitempty" tf:"invert_regex,omitempty"` + + // ID of the project that owns the Cloud Source Repository. + // If omitted, the project ID requesting the build is assumed. + // +kubebuilder:validation:Optional + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // Name of the Cloud Source Repository. + // +kubebuilder:validation:Required + RepoName *string `json:"repoName" tf:"repo_name,omitempty"` + + // Substitutions to use in a triggered build. Should only be used with triggers.run + // +kubebuilder:validation:Optional + Substitutions map[string]*string `json:"substitutions,omitempty" tf:"substitutions,omitempty"` + + // Regex matching tags to build. Exactly one a of branch name, tag, or commit SHA must be provided. + // The syntax of the regular expressions accepted is the syntax accepted by RE2 and + // described at https://github.com/google/re2/wiki/Syntax + // +kubebuilder:validation:Optional + TagName *string `json:"tagName,omitempty" tf:"tag_name,omitempty"` +} + +type SecretObservation struct { +} + +type SecretParameters struct { + + // Cloud KMS key name to use to decrypt these envs. + // +kubebuilder:validation:Required + KMSKeyName *string `json:"kmsKeyName" tf:"kms_key_name,omitempty"` + + // Map of environment variable name to its encrypted value. + // Secret environment variables must be unique across all of a build's secrets, + // and must be used by at least one build step. Values can be at most 64 KB in size. + // There can be at most 100 secret values across all of a build's secrets. + // +kubebuilder:validation:Optional + SecretEnv map[string]*string `json:"secretEnv,omitempty" tf:"secret_env,omitempty"` +} + +type SourceObservation struct { +} + +type SourceParameters struct { + + // Location of the source in a Google Cloud Source Repository. + // +kubebuilder:validation:Optional + RepoSource []RepoSourceParameters `json:"repoSource,omitempty" tf:"repo_source,omitempty"` + + // Location of the source in an archive file in Google Cloud Storage. + // +kubebuilder:validation:Optional + StorageSource []StorageSourceParameters `json:"storageSource,omitempty" tf:"storage_source,omitempty"` +} + +type StepObservation struct { +} + +type StepParameters struct { + + // A list of arguments that will be presented to the step when it is started. + // + // If the image used to run the step's container has an entrypoint, the args + // are used as arguments to that entrypoint. If the image does not define an + // entrypoint, the first element in args is used as the entrypoint, and the + // remainder will be used as arguments. + // +kubebuilder:validation:Optional + Args []*string `json:"args,omitempty" tf:"args,omitempty"` + + // Working directory to use when running this step's container. + // + // If this value is a relative path, it is relative to the build's working + // directory. If this value is absolute, it may be outside the build's working + // directory, in which case the contents of the path may not be persisted + // across build step executions, unless a 'volume' for that path is specified. + // + // If the build specifies a 'RepoSource' with 'dir' and a step with a + // 'dir', + // which specifies an absolute path, the 'RepoSource' 'dir' is ignored + // for the step's execution. + // +kubebuilder:validation:Optional + Dir *string `json:"dir,omitempty" tf:"dir,omitempty"` + + // Entrypoint to be used instead of the build step image's + // default entrypoint. + // If unset, the image's default entrypoint is used + // +kubebuilder:validation:Optional + Entrypoint *string `json:"entrypoint,omitempty" tf:"entrypoint,omitempty"` + + // A list of environment variable definitions to be used when + // running a step. + // + // The elements are of the form "KEY=VALUE" for the environment variable + // "KEY" being given the value "VALUE". + // +kubebuilder:validation:Optional + Env []*string `json:"env,omitempty" tf:"env,omitempty"` + + // Unique identifier for this build step, used in 'wait_for' to + // reference this build step as a dependency. + // +kubebuilder:validation:Optional + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // The name of the container image that will run this particular build step. + // + // If the image is available in the host's Docker daemon's cache, it will be + // run directly. If not, the host will attempt to pull the image first, using + // the builder service account's credentials if necessary. + // + // The Docker daemon's cache will already have the latest versions of all of + // the officially supported build steps (see https://github.com/GoogleCloudPlatform/cloud-builders + // for images and examples). + // The Docker daemon will also have cached many of the layers for some popular + // images, like "ubuntu", "debian", but they will be refreshed at the time + // you attempt to use them. + // + // If you built an image in a previous build step, it will be stored in the + // host's Docker daemon's cache and is available to use as the name for a + // later build step. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // A list of environment variables which are encrypted using + // a Cloud Key + // Management Service crypto key. These values must be specified in + // the build's 'Secret'. + // +kubebuilder:validation:Optional + SecretEnv []*string `json:"secretEnv,omitempty" tf:"secret_env,omitempty"` + + // Time limit for executing this build step. If not defined, + // the step has no + // time limit and will be allowed to continue to run until either it + // completes or the build itself times out. + // +kubebuilder:validation:Optional + Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"` + + // Output only. Stores timing information for executing this + // build step. + // +kubebuilder:validation:Optional + Timing *string `json:"timing,omitempty" tf:"timing,omitempty"` + + // List of volumes to mount into the build step. + // + // Each volume is created as an empty volume prior to execution of the + // build step. Upon completion of the build, volumes and their contents + // are discarded. + // + // Using a named volume in only one step is not valid as it is + // indicative of a build request with an incorrect configuration. + // +kubebuilder:validation:Optional + Volumes []StepVolumesParameters `json:"volumes,omitempty" tf:"volumes,omitempty"` + + // The ID(s) of the step(s) that this build step depends on. + // + // This build step will not start until all the build steps in 'wait_for' + // have completed successfully. If 'wait_for' is empty, this build step + // will start when all previous build steps in the 'Build.Steps' list + // have completed successfully. + // +kubebuilder:validation:Optional + WaitFor []*string `json:"waitFor,omitempty" tf:"wait_for,omitempty"` +} + +type StepVolumesObservation struct { +} + +type StepVolumesParameters struct { + + // Name of the volume to mount. + // + // Volume names must be unique per build step and must be valid names for + // Docker volumes. Each named volume must be used by at least two build steps. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Path at which to mount the volume. + // + // Paths must be absolute and cannot conflict with other volume paths on + // the same build step or with certain reserved volume paths. + // +kubebuilder:validation:Required + Path *string `json:"path" tf:"path,omitempty"` +} + +type StorageSourceObservation struct { +} + +type StorageSourceParameters struct { + + // Google Cloud Storage bucket containing the source. + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // Google Cloud Storage generation for the object. + // If the generation is omitted, the latest generation will be used + // +kubebuilder:validation:Optional + Generation *string `json:"generation,omitempty" tf:"generation,omitempty"` + + // Google Cloud Storage object containing the source. + // This object must be a gzipped archive file (.tar.gz) containing source to build. + // +kubebuilder:validation:Required + Object *string `json:"object" tf:"object,omitempty"` +} + +type TimingObservation struct { +} + +type TimingParameters struct { + + // End of time span. + // + // A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to + // nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". + // +kubebuilder:validation:Optional + EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"` + + // Start of time span. + // + // A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to + // nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". + // +kubebuilder:validation:Optional + StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"` +} + +type TriggerObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + TriggerID *string `json:"triggerId,omitempty" tf:"trigger_id,omitempty"` +} + +type TriggerParameters struct { + + // Contents of the build template. Either a filename or build template must be provided. + // +kubebuilder:validation:Optional + Build []BuildParameters `json:"build,omitempty" tf:"build,omitempty"` + + // Human-readable description of the trigger. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Whether the trigger is disabled or not. If true, the trigger will never result in a build. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // Path, from the source root, to a file whose contents is used for the template. Either a filename or build template must be provided. + // +kubebuilder:validation:Optional + Filename *string `json:"filename,omitempty" tf:"filename,omitempty"` + + // Describes the configuration of a trigger that creates a build whenever a GitHub event is received. + // + // One of 'trigger_template', 'github', 'pubsub_config' or 'webhook_config' must be provided. + // +kubebuilder:validation:Optional + Github []GithubParameters `json:"github,omitempty" tf:"github,omitempty"` + + // ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match + // extended with support for '**'. + // + // If ignoredFiles and changed files are both empty, then they are not + // used to determine whether or not to trigger a build. + // + // If ignoredFiles is not empty, then we ignore any files that match any + // of the ignored_file globs. If the change has no files that are outside + // of the ignoredFiles globs, then we do not trigger a build. + // +kubebuilder:validation:Optional + IgnoredFiles []*string `json:"ignoredFiles,omitempty" tf:"ignored_files,omitempty"` + + // ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match + // extended with support for '**'. + // + // If any of the files altered in the commit pass the ignoredFiles filter + // and includedFiles is empty, then as far as this filter is concerned, we + // should trigger the build. + // + // If any of the files altered in the commit pass the ignoredFiles filter + // and includedFiles is not empty, then we make sure that at least one of + // those files matches a includedFiles glob. If not, then we do not trigger + // a build. + // +kubebuilder:validation:Optional + IncludedFiles []*string `json:"includedFiles,omitempty" tf:"included_files,omitempty"` + + // Name of the trigger. Must be unique within the project. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // PubsubConfig describes the configuration of a trigger that creates + // a build whenever a Pub/Sub message is published. + // + // One of 'trigger_template', 'github', 'pubsub_config' or 'webhook_config' must be provided. + // +kubebuilder:validation:Optional + PubsubConfig []PubsubConfigParameters `json:"pubsubConfig,omitempty" tf:"pubsub_config,omitempty"` + + // The service account used for all user-controlled operations including + // triggers.patch, triggers.run, builds.create, and builds.cancel. + // + // If no service account is set, then the standard Cloud Build service account + // ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. + // + // Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL} + // +kubebuilder:validation:Optional + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // Substitutions data for Build resource. + // +kubebuilder:validation:Optional + Substitutions map[string]*string `json:"substitutions,omitempty" tf:"substitutions,omitempty"` + + // Tags for annotation of a BuildTrigger + // +kubebuilder:validation:Optional + Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // Template describing the types of source changes to trigger a build. + // + // Branch and tag names in trigger templates are interpreted as regular + // expressions. Any branch or tag change that matches that regular + // expression will trigger a build. + // + // One of 'trigger_template', 'github', 'pubsub_config' or 'webhook_config' must be provided. + // +kubebuilder:validation:Optional + TriggerTemplate []TriggerTemplateParameters `json:"triggerTemplate,omitempty" tf:"trigger_template,omitempty"` + + // WebhookConfig describes the configuration of a trigger that creates + // a build whenever a webhook is sent to a trigger's webhook URL. + // + // One of 'trigger_template', 'github', 'pubsub_config' or 'webhook_config' must be provided. + // +kubebuilder:validation:Optional + WebhookConfig []WebhookConfigParameters `json:"webhookConfig,omitempty" tf:"webhook_config,omitempty"` +} + +type TriggerTemplateObservation struct { +} + +type TriggerTemplateParameters struct { + + // Name of the branch to build. Exactly one a of branch name, tag, or commit SHA must be provided. + // This field is a regular expression. + // +kubebuilder:validation:Optional + BranchName *string `json:"branchName,omitempty" tf:"branch_name,omitempty"` + + // Explicit commit SHA to build. Exactly one of a branch name, tag, or commit SHA must be provided. + // +kubebuilder:validation:Optional + CommitSha *string `json:"commitSha,omitempty" tf:"commit_sha,omitempty"` + + // Directory, relative to the source root, in which to run the build. + // + // This must be a relative path. If a step's dir is specified and + // is an absolute path, this value is ignored for that step's + // execution. + // +kubebuilder:validation:Optional + Dir *string `json:"dir,omitempty" tf:"dir,omitempty"` + + // Only trigger a build if the revision regex does NOT match the revision regex. + // +kubebuilder:validation:Optional + InvertRegex *bool `json:"invertRegex,omitempty" tf:"invert_regex,omitempty"` + + // ID of the project that owns the Cloud Source Repository. If + // omitted, the project ID requesting the build is assumed. + // +kubebuilder:validation:Optional + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` + + // Name of the Cloud Source Repository. If omitted, the name "default" is assumed. + // +kubebuilder:validation:Optional + RepoName *string `json:"repoName,omitempty" tf:"repo_name,omitempty"` + + // Name of the tag to build. Exactly one of a branch name, tag, or commit SHA must be provided. + // This field is a regular expression. + // +kubebuilder:validation:Optional + TagName *string `json:"tagName,omitempty" tf:"tag_name,omitempty"` +} + +type VolumesObservation struct { +} + +type VolumesParameters struct { + + // Name of the volume to mount. + // + // Volume names must be unique per build step and must be valid names for Docker volumes. + // Each named volume must be used by at least two build steps. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Path at which to mount the volume. + // + // Paths must be absolute and cannot conflict with other volume paths on the same + // build step or with certain reserved volume paths. + // +kubebuilder:validation:Optional + Path *string `json:"path,omitempty" tf:"path,omitempty"` +} + +type WebhookConfigObservation struct { + State *string `json:"state,omitempty" tf:"state,omitempty"` +} + +type WebhookConfigParameters struct { + + // Resource name for the secret required as a URL parameter. + // +kubebuilder:validation:Required + Secret *string `json:"secret" tf:"secret,omitempty"` +} + +// TriggerSpec defines the desired state of Trigger +type TriggerSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TriggerParameters `json:"forProvider"` +} + +// TriggerStatus defines the observed state of Trigger. +type TriggerStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TriggerObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Trigger is the Schema for the Triggers 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,gcpjet} +type Trigger struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TriggerSpec `json:"spec"` + Status TriggerStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TriggerList contains a list of Triggers +type TriggerList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Trigger `json:"items"` +} + +// Repository type metadata. +var ( + Trigger_Kind = "Trigger" + Trigger_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Trigger_Kind}.String() + Trigger_KindAPIVersion = Trigger_Kind + "." + CRDGroupVersion.String() + Trigger_GroupVersionKind = CRDGroupVersion.WithKind(Trigger_Kind) +) + +func init() { + SchemeBuilder.Register(&Trigger{}, &TriggerList{}) +} diff --git a/apis/cloudfunctions/v1alpha1/zz_function_terraformed.go b/apis/cloudfunctions/v1alpha1/zz_function_terraformed.go new file mode 100755 index 00000000..8c462323 --- /dev/null +++ b/apis/cloudfunctions/v1alpha1/zz_function_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Function +func (mg *Function) GetTerraformResourceType() string { + return "google_cloudfunctions_function" +} + +// GetConnectionDetailsMapping for this Function +func (tr *Function) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Function +func (tr *Function) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Function +func (tr *Function) SetObservation(obs map[string]interface{}) 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 Function +func (tr *Function) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Function +func (tr *Function) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Function +func (tr *Function) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Function using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Function) LateInitialize(attrs []byte) (bool, error) { + params := &FunctionParameters{} + 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 *Function) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudfunctions/v1alpha1/zz_function_types.go b/apis/cloudfunctions/v1alpha1/zz_function_types.go new file mode 100755 index 00000000..05fff352 --- /dev/null +++ b/apis/cloudfunctions/v1alpha1/zz_function_types.go @@ -0,0 +1,209 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EventTriggerObservation struct { +} + +type EventTriggerParameters struct { + + // The type of event to observe. For example: "google.storage.object.finalize". See the documentation on calling Cloud Functions for a full reference of accepted triggers. + // +kubebuilder:validation:Required + EventType *string `json:"eventType" tf:"event_type,omitempty"` + + // Specifies policy for failed executions + // +kubebuilder:validation:Optional + FailurePolicy []FailurePolicyParameters `json:"failurePolicy,omitempty" tf:"failure_policy,omitempty"` + + // The name or partial URI of the resource from which to observe events. For example, "myBucket" or "projects/my-project/topics/my-topic" + // +kubebuilder:validation:Required + Resource *string `json:"resource" tf:"resource,omitempty"` +} + +type FailurePolicyObservation struct { +} + +type FailurePolicyParameters struct { + + // Whether the function should be retried on failure. Defaults to false. + // +kubebuilder:validation:Required + Retry *bool `json:"retry" tf:"retry,omitempty"` +} + +type FunctionObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type FunctionParameters struct { + + // Memory (in MB), available to the function. Default value is 256. Possible values include 128, 256, 512, 1024, etc. + // +kubebuilder:validation:Optional + AvailableMemoryMb *int64 `json:"availableMemoryMb,omitempty" tf:"available_memory_mb,omitempty"` + + // A set of key/value environment variable pairs available during build time. + // +kubebuilder:validation:Optional + BuildEnvironmentVariables map[string]string `json:"buildEnvironmentVariables,omitempty" tf:"build_environment_variables,omitempty"` + + // Description of the function. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the function that will be executed when the Google Cloud Function is triggered. + // +kubebuilder:validation:Optional + EntryPoint *string `json:"entryPoint,omitempty" tf:"entry_point,omitempty"` + + // A set of key/value environment variable pairs to assign to the function. + // +kubebuilder:validation:Optional + EnvironmentVariables map[string]string `json:"environmentVariables,omitempty" tf:"environment_variables,omitempty"` + + // A source that fires events in response to a condition in another service. Cannot be used with trigger_http. + // +kubebuilder:validation:Optional + EventTrigger []EventTriggerParameters `json:"eventTrigger,omitempty" tf:"event_trigger,omitempty"` + + // URL which triggers function execution. Returned only if trigger_http is used. + // +kubebuilder:validation:Optional + HTTPSTriggerURL *string `json:"httpsTriggerUrl,omitempty" tf:"https_trigger_url,omitempty"` + + // String value that controls what traffic can reach the function. Allowed values are ALLOW_ALL and ALLOW_INTERNAL_ONLY. Changes to this field will recreate the cloud function. + // +kubebuilder:validation:Optional + IngressSettings *string `json:"ingressSettings,omitempty" tf:"ingress_settings,omitempty"` + + // A set of key/value label pairs to assign to the function. Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements. + // +kubebuilder:validation:Optional + Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The limit on the maximum number of function instances that may coexist at a given time. + // +kubebuilder:validation:Optional + MaxInstances *int64 `json:"maxInstances,omitempty" tf:"max_instances,omitempty"` + + // A user-defined name of the function. Function names must be unique globally. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Project of the function. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Region of function. If it is not provided, the provider region is used. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // The runtime in which the function is going to run. Eg. "nodejs8", "nodejs10", "python37", "go111". + // +kubebuilder:validation:Required + Runtime *string `json:"runtime" tf:"runtime,omitempty"` + + // If provided, the self-provided service account to run the function with. + // +kubebuilder:validation:Optional + ServiceAccountEmail *string `json:"serviceAccountEmail,omitempty" tf:"service_account_email,omitempty"` + + // The GCS bucket containing the zip archive which contains the function. + // +kubebuilder:validation:Optional + SourceArchiveBucket *string `json:"sourceArchiveBucket,omitempty" tf:"source_archive_bucket,omitempty"` + + // The source archive object (file) in archive bucket. + // +kubebuilder:validation:Optional + SourceArchiveObject *string `json:"sourceArchiveObject,omitempty" tf:"source_archive_object,omitempty"` + + // Represents parameters related to source repository where a function is hosted. Cannot be set alongside source_archive_bucket or source_archive_object. + // +kubebuilder:validation:Optional + SourceRepository []SourceRepositoryParameters `json:"sourceRepository,omitempty" tf:"source_repository,omitempty"` + + // Timeout (in seconds) for the function. Default value is 60 seconds. Cannot be more than 540 seconds. + // +kubebuilder:validation:Optional + Timeout *int64 `json:"timeout,omitempty" tf:"timeout,omitempty"` + + // Boolean variable. Any HTTP request (of a supported type) to the endpoint will trigger function execution. Supported HTTP request types are: POST, PUT, GET, DELETE, and OPTIONS. Endpoint is returned as https_trigger_url. Cannot be used with trigger_bucket and trigger_topic. + // +kubebuilder:validation:Optional + TriggerHTTP *bool `json:"triggerHttp,omitempty" tf:"trigger_http,omitempty"` + + // The VPC Network Connector that this cloud function can connect to. It can be either the fully-qualified URI, or the short name of the network connector resource. The format of this field is projects/*/locations/*/connectors/*. + // +kubebuilder:validation:Optional + VPCConnector *string `json:"vpcConnector,omitempty" tf:"vpc_connector,omitempty"` + + // The egress settings for the connector, controlling what traffic is diverted through it. Allowed values are ALL_TRAFFIC and PRIVATE_RANGES_ONLY. Defaults to PRIVATE_RANGES_ONLY. If unset, this field preserves the previously set value. + // +kubebuilder:validation:Optional + VPCConnectorEgressSettings *string `json:"vpcConnectorEgressSettings,omitempty" tf:"vpc_connector_egress_settings,omitempty"` +} + +type SourceRepositoryObservation struct { + DeployedURL *string `json:"deployedUrl,omitempty" tf:"deployed_url,omitempty"` +} + +type SourceRepositoryParameters struct { + + // The URL pointing to the hosted repository where the function is defined. + // +kubebuilder:validation:Required + URL *string `json:"url" tf:"url,omitempty"` +} + +// FunctionSpec defines the desired state of Function +type FunctionSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FunctionParameters `json:"forProvider"` +} + +// FunctionStatus defines the observed state of Function. +type FunctionStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FunctionObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Function is the Schema for the Functions 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,gcpjet} +type Function struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FunctionSpec `json:"spec"` + Status FunctionStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FunctionList contains a list of Functions +type FunctionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Function `json:"items"` +} + +// Repository type metadata. +var ( + Function_Kind = "Function" + Function_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Function_Kind}.String() + Function_KindAPIVersion = Function_Kind + "." + CRDGroupVersion.String() + Function_GroupVersionKind = CRDGroupVersion.WithKind(Function_Kind) +) + +func init() { + SchemeBuilder.Register(&Function{}, &FunctionList{}) +} diff --git a/apis/cloudfunctions/v1alpha1/zz_functioniambinding_terraformed.go b/apis/cloudfunctions/v1alpha1/zz_functioniambinding_terraformed.go new file mode 100755 index 00000000..756a928f --- /dev/null +++ b/apis/cloudfunctions/v1alpha1/zz_functioniambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FunctionIAMBinding +func (mg *FunctionIAMBinding) GetTerraformResourceType() string { + return "google_cloudfunctions_function_iam_binding" +} + +// GetConnectionDetailsMapping for this FunctionIAMBinding +func (tr *FunctionIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FunctionIAMBinding +func (tr *FunctionIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FunctionIAMBinding +func (tr *FunctionIAMBinding) SetObservation(obs map[string]interface{}) 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 FunctionIAMBinding +func (tr *FunctionIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FunctionIAMBinding +func (tr *FunctionIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FunctionIAMBinding +func (tr *FunctionIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FunctionIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FunctionIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &FunctionIAMBindingParameters{} + 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 *FunctionIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudfunctions/v1alpha1/zz_functioniambinding_types.go b/apis/cloudfunctions/v1alpha1/zz_functioniambinding_types.go new file mode 100755 index 00000000..bcefa85b --- /dev/null +++ b/apis/cloudfunctions/v1alpha1/zz_functioniambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type FunctionIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type FunctionIAMBindingParameters struct { + + // +kubebuilder:validation:Required + CloudFunction *string `json:"cloudFunction" tf:"cloud_function,omitempty"` + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// FunctionIAMBindingSpec defines the desired state of FunctionIAMBinding +type FunctionIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FunctionIAMBindingParameters `json:"forProvider"` +} + +// FunctionIAMBindingStatus defines the observed state of FunctionIAMBinding. +type FunctionIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FunctionIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FunctionIAMBinding is the Schema for the FunctionIAMBindings 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,gcpjet} +type FunctionIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FunctionIAMBindingSpec `json:"spec"` + Status FunctionIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FunctionIAMBindingList contains a list of FunctionIAMBindings +type FunctionIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FunctionIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + FunctionIAMBinding_Kind = "FunctionIAMBinding" + FunctionIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FunctionIAMBinding_Kind}.String() + FunctionIAMBinding_KindAPIVersion = FunctionIAMBinding_Kind + "." + CRDGroupVersion.String() + FunctionIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(FunctionIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&FunctionIAMBinding{}, &FunctionIAMBindingList{}) +} diff --git a/apis/cloudfunctions/v1alpha1/zz_functioniammember_terraformed.go b/apis/cloudfunctions/v1alpha1/zz_functioniammember_terraformed.go new file mode 100755 index 00000000..1b492be9 --- /dev/null +++ b/apis/cloudfunctions/v1alpha1/zz_functioniammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FunctionIAMMember +func (mg *FunctionIAMMember) GetTerraformResourceType() string { + return "google_cloudfunctions_function_iam_member" +} + +// GetConnectionDetailsMapping for this FunctionIAMMember +func (tr *FunctionIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FunctionIAMMember +func (tr *FunctionIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FunctionIAMMember +func (tr *FunctionIAMMember) SetObservation(obs map[string]interface{}) 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 FunctionIAMMember +func (tr *FunctionIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FunctionIAMMember +func (tr *FunctionIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FunctionIAMMember +func (tr *FunctionIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FunctionIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FunctionIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &FunctionIAMMemberParameters{} + 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 *FunctionIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudfunctions/v1alpha1/zz_functioniammember_types.go b/apis/cloudfunctions/v1alpha1/zz_functioniammember_types.go new file mode 100755 index 00000000..820f4ea9 --- /dev/null +++ b/apis/cloudfunctions/v1alpha1/zz_functioniammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FunctionIAMMemberConditionObservation struct { +} + +type FunctionIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type FunctionIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type FunctionIAMMemberParameters struct { + + // +kubebuilder:validation:Required + CloudFunction *string `json:"cloudFunction" tf:"cloud_function,omitempty"` + + // +kubebuilder:validation:Optional + Condition []FunctionIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// FunctionIAMMemberSpec defines the desired state of FunctionIAMMember +type FunctionIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FunctionIAMMemberParameters `json:"forProvider"` +} + +// FunctionIAMMemberStatus defines the observed state of FunctionIAMMember. +type FunctionIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FunctionIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FunctionIAMMember is the Schema for the FunctionIAMMembers 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,gcpjet} +type FunctionIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FunctionIAMMemberSpec `json:"spec"` + Status FunctionIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FunctionIAMMemberList contains a list of FunctionIAMMembers +type FunctionIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FunctionIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + FunctionIAMMember_Kind = "FunctionIAMMember" + FunctionIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FunctionIAMMember_Kind}.String() + FunctionIAMMember_KindAPIVersion = FunctionIAMMember_Kind + "." + CRDGroupVersion.String() + FunctionIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(FunctionIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&FunctionIAMMember{}, &FunctionIAMMemberList{}) +} diff --git a/apis/cloudfunctions/v1alpha1/zz_functioniampolicy_terraformed.go b/apis/cloudfunctions/v1alpha1/zz_functioniampolicy_terraformed.go new file mode 100755 index 00000000..d7649d3f --- /dev/null +++ b/apis/cloudfunctions/v1alpha1/zz_functioniampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FunctionIAMPolicy +func (mg *FunctionIAMPolicy) GetTerraformResourceType() string { + return "google_cloudfunctions_function_iam_policy" +} + +// GetConnectionDetailsMapping for this FunctionIAMPolicy +func (tr *FunctionIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FunctionIAMPolicy +func (tr *FunctionIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FunctionIAMPolicy +func (tr *FunctionIAMPolicy) SetObservation(obs map[string]interface{}) 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 FunctionIAMPolicy +func (tr *FunctionIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FunctionIAMPolicy +func (tr *FunctionIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FunctionIAMPolicy +func (tr *FunctionIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FunctionIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FunctionIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &FunctionIAMPolicyParameters{} + 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 *FunctionIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudfunctions/v1alpha1/zz_functioniampolicy_types.go b/apis/cloudfunctions/v1alpha1/zz_functioniampolicy_types.go new file mode 100755 index 00000000..dd09e1b3 --- /dev/null +++ b/apis/cloudfunctions/v1alpha1/zz_functioniampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FunctionIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type FunctionIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + CloudFunction *string `json:"cloudFunction" tf:"cloud_function,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +// FunctionIAMPolicySpec defines the desired state of FunctionIAMPolicy +type FunctionIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FunctionIAMPolicyParameters `json:"forProvider"` +} + +// FunctionIAMPolicyStatus defines the observed state of FunctionIAMPolicy. +type FunctionIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FunctionIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FunctionIAMPolicy is the Schema for the FunctionIAMPolicys 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,gcpjet} +type FunctionIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FunctionIAMPolicySpec `json:"spec"` + Status FunctionIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FunctionIAMPolicyList contains a list of FunctionIAMPolicys +type FunctionIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FunctionIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + FunctionIAMPolicy_Kind = "FunctionIAMPolicy" + FunctionIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FunctionIAMPolicy_Kind}.String() + FunctionIAMPolicy_KindAPIVersion = FunctionIAMPolicy_Kind + "." + CRDGroupVersion.String() + FunctionIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(FunctionIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&FunctionIAMPolicy{}, &FunctionIAMPolicyList{}) +} diff --git a/apis/cloudfunctions/v1alpha1/zz_generated.deepcopy.go b/apis/cloudfunctions/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..5c10b8ef --- /dev/null +++ b/apis/cloudfunctions/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,974 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EventTriggerObservation) DeepCopyInto(out *EventTriggerObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventTriggerObservation. +func (in *EventTriggerObservation) DeepCopy() *EventTriggerObservation { + if in == nil { + return nil + } + out := new(EventTriggerObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EventTriggerParameters) DeepCopyInto(out *EventTriggerParameters) { + *out = *in + if in.EventType != nil { + in, out := &in.EventType, &out.EventType + *out = new(string) + **out = **in + } + if in.FailurePolicy != nil { + in, out := &in.FailurePolicy, &out.FailurePolicy + *out = make([]FailurePolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Resource != nil { + in, out := &in.Resource, &out.Resource + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventTriggerParameters. +func (in *EventTriggerParameters) DeepCopy() *EventTriggerParameters { + if in == nil { + return nil + } + out := new(EventTriggerParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FailurePolicyObservation) DeepCopyInto(out *FailurePolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailurePolicyObservation. +func (in *FailurePolicyObservation) DeepCopy() *FailurePolicyObservation { + if in == nil { + return nil + } + out := new(FailurePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FailurePolicyParameters) DeepCopyInto(out *FailurePolicyParameters) { + *out = *in + if in.Retry != nil { + in, out := &in.Retry, &out.Retry + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailurePolicyParameters. +func (in *FailurePolicyParameters) DeepCopy() *FailurePolicyParameters { + if in == nil { + return nil + } + out := new(FailurePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Function) DeepCopyInto(out *Function) { + *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 Function. +func (in *Function) DeepCopy() *Function { + if in == nil { + return nil + } + out := new(Function) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Function) 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 *FunctionIAMBinding) DeepCopyInto(out *FunctionIAMBinding) { + *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 FunctionIAMBinding. +func (in *FunctionIAMBinding) DeepCopy() *FunctionIAMBinding { + if in == nil { + return nil + } + out := new(FunctionIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FunctionIAMBinding) 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 *FunctionIAMBindingList) DeepCopyInto(out *FunctionIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FunctionIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMBindingList. +func (in *FunctionIAMBindingList) DeepCopy() *FunctionIAMBindingList { + if in == nil { + return nil + } + out := new(FunctionIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FunctionIAMBindingList) 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 *FunctionIAMBindingObservation) DeepCopyInto(out *FunctionIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMBindingObservation. +func (in *FunctionIAMBindingObservation) DeepCopy() *FunctionIAMBindingObservation { + if in == nil { + return nil + } + out := new(FunctionIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionIAMBindingParameters) DeepCopyInto(out *FunctionIAMBindingParameters) { + *out = *in + if in.CloudFunction != nil { + in, out := &in.CloudFunction, &out.CloudFunction + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMBindingParameters. +func (in *FunctionIAMBindingParameters) DeepCopy() *FunctionIAMBindingParameters { + if in == nil { + return nil + } + out := new(FunctionIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionIAMBindingSpec) DeepCopyInto(out *FunctionIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMBindingSpec. +func (in *FunctionIAMBindingSpec) DeepCopy() *FunctionIAMBindingSpec { + if in == nil { + return nil + } + out := new(FunctionIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionIAMBindingStatus) DeepCopyInto(out *FunctionIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMBindingStatus. +func (in *FunctionIAMBindingStatus) DeepCopy() *FunctionIAMBindingStatus { + if in == nil { + return nil + } + out := new(FunctionIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionIAMMember) DeepCopyInto(out *FunctionIAMMember) { + *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 FunctionIAMMember. +func (in *FunctionIAMMember) DeepCopy() *FunctionIAMMember { + if in == nil { + return nil + } + out := new(FunctionIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FunctionIAMMember) 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 *FunctionIAMMemberConditionObservation) DeepCopyInto(out *FunctionIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMMemberConditionObservation. +func (in *FunctionIAMMemberConditionObservation) DeepCopy() *FunctionIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(FunctionIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionIAMMemberConditionParameters) DeepCopyInto(out *FunctionIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMMemberConditionParameters. +func (in *FunctionIAMMemberConditionParameters) DeepCopy() *FunctionIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(FunctionIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionIAMMemberList) DeepCopyInto(out *FunctionIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FunctionIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMMemberList. +func (in *FunctionIAMMemberList) DeepCopy() *FunctionIAMMemberList { + if in == nil { + return nil + } + out := new(FunctionIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FunctionIAMMemberList) 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 *FunctionIAMMemberObservation) DeepCopyInto(out *FunctionIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMMemberObservation. +func (in *FunctionIAMMemberObservation) DeepCopy() *FunctionIAMMemberObservation { + if in == nil { + return nil + } + out := new(FunctionIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionIAMMemberParameters) DeepCopyInto(out *FunctionIAMMemberParameters) { + *out = *in + if in.CloudFunction != nil { + in, out := &in.CloudFunction, &out.CloudFunction + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]FunctionIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMMemberParameters. +func (in *FunctionIAMMemberParameters) DeepCopy() *FunctionIAMMemberParameters { + if in == nil { + return nil + } + out := new(FunctionIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionIAMMemberSpec) DeepCopyInto(out *FunctionIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMMemberSpec. +func (in *FunctionIAMMemberSpec) DeepCopy() *FunctionIAMMemberSpec { + if in == nil { + return nil + } + out := new(FunctionIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionIAMMemberStatus) DeepCopyInto(out *FunctionIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMMemberStatus. +func (in *FunctionIAMMemberStatus) DeepCopy() *FunctionIAMMemberStatus { + if in == nil { + return nil + } + out := new(FunctionIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionIAMPolicy) DeepCopyInto(out *FunctionIAMPolicy) { + *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 FunctionIAMPolicy. +func (in *FunctionIAMPolicy) DeepCopy() *FunctionIAMPolicy { + if in == nil { + return nil + } + out := new(FunctionIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FunctionIAMPolicy) 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 *FunctionIAMPolicyList) DeepCopyInto(out *FunctionIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FunctionIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMPolicyList. +func (in *FunctionIAMPolicyList) DeepCopy() *FunctionIAMPolicyList { + if in == nil { + return nil + } + out := new(FunctionIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FunctionIAMPolicyList) 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 *FunctionIAMPolicyObservation) DeepCopyInto(out *FunctionIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMPolicyObservation. +func (in *FunctionIAMPolicyObservation) DeepCopy() *FunctionIAMPolicyObservation { + if in == nil { + return nil + } + out := new(FunctionIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionIAMPolicyParameters) DeepCopyInto(out *FunctionIAMPolicyParameters) { + *out = *in + if in.CloudFunction != nil { + in, out := &in.CloudFunction, &out.CloudFunction + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMPolicyParameters. +func (in *FunctionIAMPolicyParameters) DeepCopy() *FunctionIAMPolicyParameters { + if in == nil { + return nil + } + out := new(FunctionIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionIAMPolicySpec) DeepCopyInto(out *FunctionIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMPolicySpec. +func (in *FunctionIAMPolicySpec) DeepCopy() *FunctionIAMPolicySpec { + if in == nil { + return nil + } + out := new(FunctionIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionIAMPolicyStatus) DeepCopyInto(out *FunctionIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionIAMPolicyStatus. +func (in *FunctionIAMPolicyStatus) DeepCopy() *FunctionIAMPolicyStatus { + if in == nil { + return nil + } + out := new(FunctionIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionList) DeepCopyInto(out *FunctionList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Function, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionList. +func (in *FunctionList) DeepCopy() *FunctionList { + if in == nil { + return nil + } + out := new(FunctionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FunctionList) 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 *FunctionObservation) DeepCopyInto(out *FunctionObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionObservation. +func (in *FunctionObservation) DeepCopy() *FunctionObservation { + if in == nil { + return nil + } + out := new(FunctionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionParameters) DeepCopyInto(out *FunctionParameters) { + *out = *in + if in.AvailableMemoryMb != nil { + in, out := &in.AvailableMemoryMb, &out.AvailableMemoryMb + *out = new(int64) + **out = **in + } + if in.BuildEnvironmentVariables != nil { + in, out := &in.BuildEnvironmentVariables, &out.BuildEnvironmentVariables + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.EntryPoint != nil { + in, out := &in.EntryPoint, &out.EntryPoint + *out = new(string) + **out = **in + } + if in.EnvironmentVariables != nil { + in, out := &in.EnvironmentVariables, &out.EnvironmentVariables + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.EventTrigger != nil { + in, out := &in.EventTrigger, &out.EventTrigger + *out = make([]EventTriggerParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HTTPSTriggerURL != nil { + in, out := &in.HTTPSTriggerURL, &out.HTTPSTriggerURL + *out = new(string) + **out = **in + } + if in.IngressSettings != nil { + in, out := &in.IngressSettings, &out.IngressSettings + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.MaxInstances != nil { + in, out := &in.MaxInstances, &out.MaxInstances + *out = new(int64) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Runtime != nil { + in, out := &in.Runtime, &out.Runtime + *out = new(string) + **out = **in + } + if in.ServiceAccountEmail != nil { + in, out := &in.ServiceAccountEmail, &out.ServiceAccountEmail + *out = new(string) + **out = **in + } + if in.SourceArchiveBucket != nil { + in, out := &in.SourceArchiveBucket, &out.SourceArchiveBucket + *out = new(string) + **out = **in + } + if in.SourceArchiveObject != nil { + in, out := &in.SourceArchiveObject, &out.SourceArchiveObject + *out = new(string) + **out = **in + } + if in.SourceRepository != nil { + in, out := &in.SourceRepository, &out.SourceRepository + *out = make([]SourceRepositoryParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = new(int64) + **out = **in + } + if in.TriggerHTTP != nil { + in, out := &in.TriggerHTTP, &out.TriggerHTTP + *out = new(bool) + **out = **in + } + if in.VPCConnector != nil { + in, out := &in.VPCConnector, &out.VPCConnector + *out = new(string) + **out = **in + } + if in.VPCConnectorEgressSettings != nil { + in, out := &in.VPCConnectorEgressSettings, &out.VPCConnectorEgressSettings + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionParameters. +func (in *FunctionParameters) DeepCopy() *FunctionParameters { + if in == nil { + return nil + } + out := new(FunctionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionSpec) DeepCopyInto(out *FunctionSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionSpec. +func (in *FunctionSpec) DeepCopy() *FunctionSpec { + if in == nil { + return nil + } + out := new(FunctionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionStatus) DeepCopyInto(out *FunctionStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionStatus. +func (in *FunctionStatus) DeepCopy() *FunctionStatus { + if in == nil { + return nil + } + out := new(FunctionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceRepositoryObservation) DeepCopyInto(out *SourceRepositoryObservation) { + *out = *in + if in.DeployedURL != nil { + in, out := &in.DeployedURL, &out.DeployedURL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceRepositoryObservation. +func (in *SourceRepositoryObservation) DeepCopy() *SourceRepositoryObservation { + if in == nil { + return nil + } + out := new(SourceRepositoryObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceRepositoryParameters) DeepCopyInto(out *SourceRepositoryParameters) { + *out = *in + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceRepositoryParameters. +func (in *SourceRepositoryParameters) DeepCopy() *SourceRepositoryParameters { + if in == nil { + return nil + } + out := new(SourceRepositoryParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/cloudfunctions/v1alpha1/zz_generated.managed.go b/apis/cloudfunctions/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..08505216 --- /dev/null +++ b/apis/cloudfunctions/v1alpha1/zz_generated.managed.go @@ -0,0 +1,244 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Function. +func (mg *Function) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Function. +func (mg *Function) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Function. +func (mg *Function) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Function. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Function) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Function. +func (mg *Function) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Function. +func (mg *Function) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Function. +func (mg *Function) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Function. +func (mg *Function) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Function. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Function) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Function. +func (mg *Function) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FunctionIAMBinding. +func (mg *FunctionIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FunctionIAMBinding. +func (mg *FunctionIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FunctionIAMBinding. +func (mg *FunctionIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FunctionIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FunctionIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FunctionIAMBinding. +func (mg *FunctionIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FunctionIAMBinding. +func (mg *FunctionIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FunctionIAMBinding. +func (mg *FunctionIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FunctionIAMBinding. +func (mg *FunctionIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FunctionIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FunctionIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FunctionIAMBinding. +func (mg *FunctionIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FunctionIAMMember. +func (mg *FunctionIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FunctionIAMMember. +func (mg *FunctionIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FunctionIAMMember. +func (mg *FunctionIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FunctionIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FunctionIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FunctionIAMMember. +func (mg *FunctionIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FunctionIAMMember. +func (mg *FunctionIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FunctionIAMMember. +func (mg *FunctionIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FunctionIAMMember. +func (mg *FunctionIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FunctionIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FunctionIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FunctionIAMMember. +func (mg *FunctionIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FunctionIAMPolicy. +func (mg *FunctionIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FunctionIAMPolicy. +func (mg *FunctionIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FunctionIAMPolicy. +func (mg *FunctionIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FunctionIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FunctionIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FunctionIAMPolicy. +func (mg *FunctionIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FunctionIAMPolicy. +func (mg *FunctionIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FunctionIAMPolicy. +func (mg *FunctionIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FunctionIAMPolicy. +func (mg *FunctionIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FunctionIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FunctionIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FunctionIAMPolicy. +func (mg *FunctionIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/cloudfunctions/v1alpha1/zz_generated.managedlist.go b/apis/cloudfunctions/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..328a283e --- /dev/null +++ b/apis/cloudfunctions/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,56 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this FunctionIAMBindingList. +func (l *FunctionIAMBindingList) 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 FunctionIAMMemberList. +func (l *FunctionIAMMemberList) 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 FunctionIAMPolicyList. +func (l *FunctionIAMPolicyList) 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 FunctionList. +func (l *FunctionList) 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/cloudfunctions/v1alpha1/zz_groupversion_info.go b/apis/cloudfunctions/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..ed7fc2ef --- /dev/null +++ b/apis/cloudfunctions/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=cloudfunctions.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "cloudfunctions.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/cloudidentity/v1alpha1/zz_generated.deepcopy.go b/apis/cloudidentity/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..c8493ecb --- /dev/null +++ b/apis/cloudidentity/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,492 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Group) DeepCopyInto(out *Group) { + *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 Group. +func (in *Group) DeepCopy() *Group { + if in == nil { + return nil + } + out := new(Group) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Group) 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 *GroupKeyObservation) DeepCopyInto(out *GroupKeyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupKeyObservation. +func (in *GroupKeyObservation) DeepCopy() *GroupKeyObservation { + if in == nil { + return nil + } + out := new(GroupKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupKeyParameters) DeepCopyInto(out *GroupKeyParameters) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupKeyParameters. +func (in *GroupKeyParameters) DeepCopy() *GroupKeyParameters { + if in == nil { + return nil + } + out := new(GroupKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupList) DeepCopyInto(out *GroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Group, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupList. +func (in *GroupList) DeepCopy() *GroupList { + if in == nil { + return nil + } + out := new(GroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GroupList) 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 *GroupMembership) DeepCopyInto(out *GroupMembership) { + *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 GroupMembership. +func (in *GroupMembership) DeepCopy() *GroupMembership { + if in == nil { + return nil + } + out := new(GroupMembership) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GroupMembership) 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 *GroupMembershipList) DeepCopyInto(out *GroupMembershipList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GroupMembership, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupMembershipList. +func (in *GroupMembershipList) DeepCopy() *GroupMembershipList { + if in == nil { + return nil + } + out := new(GroupMembershipList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GroupMembershipList) 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 *GroupMembershipObservation) DeepCopyInto(out *GroupMembershipObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *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.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupMembershipObservation. +func (in *GroupMembershipObservation) DeepCopy() *GroupMembershipObservation { + if in == nil { + return nil + } + out := new(GroupMembershipObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupMembershipParameters) DeepCopyInto(out *GroupMembershipParameters) { + *out = *in + if in.Group != nil { + in, out := &in.Group, &out.Group + *out = new(string) + **out = **in + } + if in.PreferredMemberKey != nil { + in, out := &in.PreferredMemberKey, &out.PreferredMemberKey + *out = make([]PreferredMemberKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Roles != nil { + in, out := &in.Roles, &out.Roles + *out = make([]RolesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupMembershipParameters. +func (in *GroupMembershipParameters) DeepCopy() *GroupMembershipParameters { + if in == nil { + return nil + } + out := new(GroupMembershipParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupMembershipSpec) DeepCopyInto(out *GroupMembershipSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupMembershipSpec. +func (in *GroupMembershipSpec) DeepCopy() *GroupMembershipSpec { + if in == nil { + return nil + } + out := new(GroupMembershipSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupMembershipStatus) DeepCopyInto(out *GroupMembershipStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupMembershipStatus. +func (in *GroupMembershipStatus) DeepCopy() *GroupMembershipStatus { + if in == nil { + return nil + } + out := new(GroupMembershipStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupObservation) DeepCopyInto(out *GroupObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *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.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupObservation. +func (in *GroupObservation) DeepCopy() *GroupObservation { + if in == nil { + return nil + } + out := new(GroupObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupParameters) DeepCopyInto(out *GroupParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.GroupKey != nil { + in, out := &in.GroupKey, &out.GroupKey + *out = make([]GroupKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InitialGroupConfig != nil { + in, out := &in.InitialGroupConfig, &out.InitialGroupConfig + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupParameters. +func (in *GroupParameters) DeepCopy() *GroupParameters { + if in == nil { + return nil + } + out := new(GroupParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupSpec) DeepCopyInto(out *GroupSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupSpec. +func (in *GroupSpec) DeepCopy() *GroupSpec { + if in == nil { + return nil + } + out := new(GroupSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupStatus) DeepCopyInto(out *GroupStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupStatus. +func (in *GroupStatus) DeepCopy() *GroupStatus { + if in == nil { + return nil + } + out := new(GroupStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreferredMemberKeyObservation) DeepCopyInto(out *PreferredMemberKeyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreferredMemberKeyObservation. +func (in *PreferredMemberKeyObservation) DeepCopy() *PreferredMemberKeyObservation { + if in == nil { + return nil + } + out := new(PreferredMemberKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreferredMemberKeyParameters) DeepCopyInto(out *PreferredMemberKeyParameters) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreferredMemberKeyParameters. +func (in *PreferredMemberKeyParameters) DeepCopy() *PreferredMemberKeyParameters { + if in == nil { + return nil + } + out := new(PreferredMemberKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RolesObservation) DeepCopyInto(out *RolesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolesObservation. +func (in *RolesObservation) DeepCopy() *RolesObservation { + if in == nil { + return nil + } + out := new(RolesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RolesParameters) DeepCopyInto(out *RolesParameters) { + *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 RolesParameters. +func (in *RolesParameters) DeepCopy() *RolesParameters { + if in == nil { + return nil + } + out := new(RolesParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/cloudidentity/v1alpha1/zz_generated.managed.go b/apis/cloudidentity/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..d8db8026 --- /dev/null +++ b/apis/cloudidentity/v1alpha1/zz_generated.managed.go @@ -0,0 +1,132 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Group. +func (mg *Group) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Group. +func (mg *Group) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Group. +func (mg *Group) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Group. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Group) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Group. +func (mg *Group) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Group. +func (mg *Group) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Group. +func (mg *Group) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Group. +func (mg *Group) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Group. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Group) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Group. +func (mg *Group) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this GroupMembership. +func (mg *GroupMembership) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this GroupMembership. +func (mg *GroupMembership) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this GroupMembership. +func (mg *GroupMembership) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this GroupMembership. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *GroupMembership) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this GroupMembership. +func (mg *GroupMembership) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this GroupMembership. +func (mg *GroupMembership) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this GroupMembership. +func (mg *GroupMembership) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this GroupMembership. +func (mg *GroupMembership) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this GroupMembership. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *GroupMembership) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this GroupMembership. +func (mg *GroupMembership) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/cloudidentity/v1alpha1/zz_generated.managedlist.go b/apis/cloudidentity/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..9fbbdd68 --- /dev/null +++ b/apis/cloudidentity/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,38 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this GroupList. +func (l *GroupList) 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 GroupMembershipList. +func (l *GroupMembershipList) 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/cloudidentity/v1alpha1/zz_group_terraformed.go b/apis/cloudidentity/v1alpha1/zz_group_terraformed.go new file mode 100755 index 00000000..1c1fff03 --- /dev/null +++ b/apis/cloudidentity/v1alpha1/zz_group_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Group +func (mg *Group) GetTerraformResourceType() string { + return "google_cloud_identity_group" +} + +// GetConnectionDetailsMapping for this Group +func (tr *Group) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Group +func (tr *Group) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Group +func (tr *Group) SetObservation(obs map[string]interface{}) 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 Group +func (tr *Group) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Group +func (tr *Group) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Group +func (tr *Group) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Group using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Group) LateInitialize(attrs []byte) (bool, error) { + params := &GroupParameters{} + 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 *Group) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudidentity/v1alpha1/zz_group_types.go b/apis/cloudidentity/v1alpha1/zz_group_types.go new file mode 100755 index 00000000..cd71cddd --- /dev/null +++ b/apis/cloudidentity/v1alpha1/zz_group_types.go @@ -0,0 +1,154 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 GroupKeyObservation struct { +} + +type GroupKeyParameters struct { + + // The ID of the entity. + // + // For Google-managed entities, the id must be the email address of an existing + // group or user. + // + // For external-identity-mapped entities, the id must be a string conforming + // to the Identity Source's requirements. + // + // Must be unique within a namespace. + // +kubebuilder:validation:Required + ID *string `json:"id" tf:"id,omitempty"` + + // The namespace in which the entity exists. + // + // If not specified, the EntityKey represents a Google-managed entity + // such as a Google user or a Google Group. + // + // If specified, the EntityKey represents an external-identity-mapped group. + // The namespace must correspond to an identity source created in Admin Console + // and must be in the form of 'identitysources/{identity_source_id}'. + // +kubebuilder:validation:Optional + Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` +} + +type GroupObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type GroupParameters struct { + + // An extended description to help users determine the purpose of a Group. + // Must not be longer than 4,096 characters. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The display name of the Group. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // EntityKey of the Group. + // +kubebuilder:validation:Required + GroupKey []GroupKeyParameters `json:"groupKey" tf:"group_key,omitempty"` + + // The initial configuration options for creating a Group. + // + // See the + // [API reference](https://cloud.google.com/identity/docs/reference/rest/v1beta1/groups/create#initialgroupconfig) + // for possible values. Default value: "EMPTY" Possible values: ["INITIAL_GROUP_CONFIG_UNSPECIFIED", "WITH_INITIAL_OWNER", "EMPTY"] + // +kubebuilder:validation:Optional + InitialGroupConfig *string `json:"initialGroupConfig,omitempty" tf:"initial_group_config,omitempty"` + + // The labels that apply to the Group. + // + // Must not contain more than one entry. Must contain the entry + // 'cloudidentity.googleapis.com/groups.discussion_forum': '' if the Group is a Google Group or + // 'system/groups/external': '' if the Group is an external-identity-mapped group. + // +kubebuilder:validation:Required + Labels map[string]*string `json:"labels" tf:"labels,omitempty"` + + // The resource name of the entity under which this Group resides in the + // Cloud Identity resource hierarchy. + // + // Must be of the form identitysources/{identity_source_id} for external-identity-mapped + // groups or customers/{customer_id} for Google Groups. + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` +} + +// GroupSpec defines the desired state of Group +type GroupSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider GroupParameters `json:"forProvider"` +} + +// GroupStatus defines the observed state of Group. +type GroupStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider GroupObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Group is the Schema for the Groups 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,gcpjet} +type Group struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec GroupSpec `json:"spec"` + Status GroupStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// GroupList contains a list of Groups +type GroupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Group `json:"items"` +} + +// Repository type metadata. +var ( + Group_Kind = "Group" + Group_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Group_Kind}.String() + Group_KindAPIVersion = Group_Kind + "." + CRDGroupVersion.String() + Group_GroupVersionKind = CRDGroupVersion.WithKind(Group_Kind) +) + +func init() { + SchemeBuilder.Register(&Group{}, &GroupList{}) +} diff --git a/apis/cloudidentity/v1alpha1/zz_groupmembership_terraformed.go b/apis/cloudidentity/v1alpha1/zz_groupmembership_terraformed.go new file mode 100755 index 00000000..844d8adf --- /dev/null +++ b/apis/cloudidentity/v1alpha1/zz_groupmembership_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this GroupMembership +func (mg *GroupMembership) GetTerraformResourceType() string { + return "google_cloud_identity_group_membership" +} + +// GetConnectionDetailsMapping for this GroupMembership +func (tr *GroupMembership) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this GroupMembership +func (tr *GroupMembership) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this GroupMembership +func (tr *GroupMembership) SetObservation(obs map[string]interface{}) 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 GroupMembership +func (tr *GroupMembership) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this GroupMembership +func (tr *GroupMembership) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this GroupMembership +func (tr *GroupMembership) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this GroupMembership using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *GroupMembership) LateInitialize(attrs []byte) (bool, error) { + params := &GroupMembershipParameters{} + 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 *GroupMembership) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudidentity/v1alpha1/zz_groupmembership_types.go b/apis/cloudidentity/v1alpha1/zz_groupmembership_types.go new file mode 100755 index 00000000..c2e94b60 --- /dev/null +++ b/apis/cloudidentity/v1alpha1/zz_groupmembership_types.go @@ -0,0 +1,142 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 GroupMembershipObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + Type *string `json:"type,omitempty" tf:"type,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type GroupMembershipParameters struct { + + // The name of the Group to create this membership in. + // +kubebuilder:validation:Required + Group *string `json:"group" tf:"group,omitempty"` + + // EntityKey of the member. + // +kubebuilder:validation:Optional + PreferredMemberKey []PreferredMemberKeyParameters `json:"preferredMemberKey,omitempty" tf:"preferred_member_key,omitempty"` + + // The MembershipRoles that apply to the Membership. + // Must not contain duplicate MembershipRoles with the same name. + // +kubebuilder:validation:Required + Roles []RolesParameters `json:"roles" tf:"roles,omitempty"` +} + +type PreferredMemberKeyObservation struct { +} + +type PreferredMemberKeyParameters struct { + + // The ID of the entity. + // + // For Google-managed entities, the id must be the email address of an existing + // group or user. + // + // For external-identity-mapped entities, the id must be a string conforming + // to the Identity Source's requirements. + // + // Must be unique within a namespace. + // +kubebuilder:validation:Required + ID *string `json:"id" tf:"id,omitempty"` + + // The namespace in which the entity exists. + // + // If not specified, the EntityKey represents a Google-managed entity + // such as a Google user or a Google Group. + // + // If specified, the EntityKey represents an external-identity-mapped group. + // The namespace must correspond to an identity source created in Admin Console + // and must be in the form of 'identitysources/{identity_source_id}'. + // +kubebuilder:validation:Optional + Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` +} + +type RolesObservation struct { +} + +type RolesParameters struct { + + // The name of the MembershipRole. Must be one of OWNER, MANAGER, MEMBER. Possible values: ["OWNER", "MANAGER", "MEMBER"] + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +// GroupMembershipSpec defines the desired state of GroupMembership +type GroupMembershipSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider GroupMembershipParameters `json:"forProvider"` +} + +// GroupMembershipStatus defines the observed state of GroupMembership. +type GroupMembershipStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider GroupMembershipObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// GroupMembership is the Schema for the GroupMemberships 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,gcpjet} +type GroupMembership struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec GroupMembershipSpec `json:"spec"` + Status GroupMembershipStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// GroupMembershipList contains a list of GroupMemberships +type GroupMembershipList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GroupMembership `json:"items"` +} + +// Repository type metadata. +var ( + GroupMembership_Kind = "GroupMembership" + GroupMembership_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: GroupMembership_Kind}.String() + GroupMembership_KindAPIVersion = GroupMembership_Kind + "." + CRDGroupVersion.String() + GroupMembership_GroupVersionKind = CRDGroupVersion.WithKind(GroupMembership_Kind) +) + +func init() { + SchemeBuilder.Register(&GroupMembership{}, &GroupMembershipList{}) +} diff --git a/apis/cloudidentity/v1alpha1/zz_groupversion_info.go b/apis/cloudidentity/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..6715c361 --- /dev/null +++ b/apis/cloudidentity/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=cloudidentity.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "cloudidentity.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/cloudiot/v1alpha1/zz_device_terraformed.go b/apis/cloudiot/v1alpha1/zz_device_terraformed.go new file mode 100755 index 00000000..954648e3 --- /dev/null +++ b/apis/cloudiot/v1alpha1/zz_device_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Device +func (mg *Device) GetTerraformResourceType() string { + return "google_cloudiot_device" +} + +// GetConnectionDetailsMapping for this Device +func (tr *Device) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Device +func (tr *Device) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Device +func (tr *Device) SetObservation(obs map[string]interface{}) 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 Device +func (tr *Device) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Device +func (tr *Device) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Device +func (tr *Device) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Device using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Device) LateInitialize(attrs []byte) (bool, error) { + params := &DeviceParameters{} + 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 *Device) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudiot/v1alpha1/zz_device_types.go b/apis/cloudiot/v1alpha1/zz_device_types.go new file mode 100755 index 00000000..d9759815 --- /dev/null +++ b/apis/cloudiot/v1alpha1/zz_device_types.go @@ -0,0 +1,222 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConfigObservation struct { + CloudUpdateTime *string `json:"cloudUpdateTime,omitempty" tf:"cloud_update_time,omitempty"` + + DeviceAckTime *string `json:"deviceAckTime,omitempty" tf:"device_ack_time,omitempty"` + + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type ConfigParameters struct { + + // The device configuration data. + // +kubebuilder:validation:Optional + BinaryData *string `json:"binaryData,omitempty" tf:"binary_data,omitempty"` +} + +type CredentialsObservation struct { +} + +type CredentialsParameters struct { + + // The time at which this credential becomes invalid. + // +kubebuilder:validation:Optional + ExpirationTime *string `json:"expirationTime,omitempty" tf:"expiration_time,omitempty"` + + // A public key used to verify the signature of JSON Web Tokens (JWTs). + // +kubebuilder:validation:Required + PublicKey []PublicKeyParameters `json:"publicKey" tf:"public_key,omitempty"` +} + +type DeviceObservation struct { + Config []ConfigObservation `json:"config,omitempty" tf:"config,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LastConfigAckTime *string `json:"lastConfigAckTime,omitempty" tf:"last_config_ack_time,omitempty"` + + LastConfigSendTime *string `json:"lastConfigSendTime,omitempty" tf:"last_config_send_time,omitempty"` + + LastErrorStatus []LastErrorStatusObservation `json:"lastErrorStatus,omitempty" tf:"last_error_status,omitempty"` + + LastErrorTime *string `json:"lastErrorTime,omitempty" tf:"last_error_time,omitempty"` + + LastEventTime *string `json:"lastEventTime,omitempty" tf:"last_event_time,omitempty"` + + LastHeartbeatTime *string `json:"lastHeartbeatTime,omitempty" tf:"last_heartbeat_time,omitempty"` + + LastStateTime *string `json:"lastStateTime,omitempty" tf:"last_state_time,omitempty"` + + NumID *string `json:"numId,omitempty" tf:"num_id,omitempty"` + + State []StateObservation `json:"state,omitempty" tf:"state,omitempty"` +} + +type DeviceParameters struct { + + // If a device is blocked, connections or requests from this device will fail. + // +kubebuilder:validation:Optional + Blocked *bool `json:"blocked,omitempty" tf:"blocked,omitempty"` + + // The credentials used to authenticate this device. + // +kubebuilder:validation:Optional + Credentials []CredentialsParameters `json:"credentials,omitempty" tf:"credentials,omitempty"` + + // Gateway-related configuration and state. + // +kubebuilder:validation:Optional + GatewayConfig []GatewayConfigParameters `json:"gatewayConfig,omitempty" tf:"gateway_config,omitempty"` + + // The logging verbosity for device activity. Possible values: ["NONE", "ERROR", "INFO", "DEBUG"] + // +kubebuilder:validation:Optional + LogLevel *string `json:"logLevel,omitempty" tf:"log_level,omitempty"` + + // The metadata key-value pairs assigned to the device. + // +kubebuilder:validation:Optional + Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"` + + // A unique name for the resource. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The name of the device registry where this device should be created. + // +kubebuilder:validation:Required + Registry *string `json:"registry" tf:"registry,omitempty"` +} + +type GatewayConfigObservation struct { + LastAccessedGatewayID *string `json:"lastAccessedGatewayId,omitempty" tf:"last_accessed_gateway_id,omitempty"` + + LastAccessedGatewayTime *string `json:"lastAccessedGatewayTime,omitempty" tf:"last_accessed_gateway_time,omitempty"` +} + +type GatewayConfigParameters struct { + + // Indicates whether the device is a gateway. Possible values: ["ASSOCIATION_ONLY", "DEVICE_AUTH_TOKEN_ONLY", "ASSOCIATION_AND_DEVICE_AUTH_TOKEN"] + // +kubebuilder:validation:Optional + GatewayAuthMethod *string `json:"gatewayAuthMethod,omitempty" tf:"gateway_auth_method,omitempty"` + + // Indicates whether the device is a gateway. Default value: "NON_GATEWAY" Possible values: ["GATEWAY", "NON_GATEWAY"] + // +kubebuilder:validation:Optional + GatewayType *string `json:"gatewayType,omitempty" tf:"gateway_type,omitempty"` +} + +type LastErrorStatusObservation struct { +} + +type LastErrorStatusParameters struct { + + // A list of messages that carry the error details. + // +kubebuilder:validation:Optional + Details []string `json:"details,omitempty" tf:"details,omitempty"` + + // A developer-facing error message, which should be in English. + // +kubebuilder:validation:Optional + Message *string `json:"message,omitempty" tf:"message,omitempty"` + + // The status code, which should be an enum value of google.rpc.Code. + // +kubebuilder:validation:Optional + Number *int64 `json:"number,omitempty" tf:"number,omitempty"` +} + +type PublicKeyObservation struct { +} + +type PublicKeyParameters struct { + + // The format of the key. Possible values: ["RSA_PEM", "RSA_X509_PEM", "ES256_PEM", "ES256_X509_PEM"] + // +kubebuilder:validation:Required + Format *string `json:"format" tf:"format,omitempty"` + + // The key data. + // +kubebuilder:validation:Required + Key *string `json:"key" tf:"key,omitempty"` +} + +type StateObservation struct { +} + +type StateParameters struct { + + // The device state data. + // +kubebuilder:validation:Optional + BinaryData *string `json:"binaryData,omitempty" tf:"binary_data,omitempty"` + + // The time at which this state version was updated in Cloud IoT Core. + // +kubebuilder:validation:Optional + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +// DeviceSpec defines the desired state of Device +type DeviceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DeviceParameters `json:"forProvider"` +} + +// DeviceStatus defines the observed state of Device. +type DeviceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DeviceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Device is the Schema for the Devices 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,gcpjet} +type Device struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DeviceSpec `json:"spec"` + Status DeviceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DeviceList contains a list of Devices +type DeviceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Device `json:"items"` +} + +// Repository type metadata. +var ( + Device_Kind = "Device" + Device_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Device_Kind}.String() + Device_KindAPIVersion = Device_Kind + "." + CRDGroupVersion.String() + Device_GroupVersionKind = CRDGroupVersion.WithKind(Device_Kind) +) + +func init() { + SchemeBuilder.Register(&Device{}, &DeviceList{}) +} diff --git a/apis/cloudiot/v1alpha1/zz_generated.deepcopy.go b/apis/cloudiot/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..a872c4e1 --- /dev/null +++ b/apis/cloudiot/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,781 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigObservation) DeepCopyInto(out *ConfigObservation) { + *out = *in + if in.CloudUpdateTime != nil { + in, out := &in.CloudUpdateTime, &out.CloudUpdateTime + *out = new(string) + **out = **in + } + if in.DeviceAckTime != nil { + in, out := &in.DeviceAckTime, &out.DeviceAckTime + *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 ConfigObservation. +func (in *ConfigObservation) DeepCopy() *ConfigObservation { + if in == nil { + return nil + } + out := new(ConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigParameters) DeepCopyInto(out *ConfigParameters) { + *out = *in + if in.BinaryData != nil { + in, out := &in.BinaryData, &out.BinaryData + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigParameters. +func (in *ConfigParameters) DeepCopy() *ConfigParameters { + if in == nil { + return nil + } + out := new(ConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CredentialsObservation) DeepCopyInto(out *CredentialsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialsObservation. +func (in *CredentialsObservation) DeepCopy() *CredentialsObservation { + if in == nil { + return nil + } + out := new(CredentialsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CredentialsParameters) DeepCopyInto(out *CredentialsParameters) { + *out = *in + if in.ExpirationTime != nil { + in, out := &in.ExpirationTime, &out.ExpirationTime + *out = new(string) + **out = **in + } + if in.PublicKey != nil { + in, out := &in.PublicKey, &out.PublicKey + *out = make([]PublicKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialsParameters. +func (in *CredentialsParameters) DeepCopy() *CredentialsParameters { + if in == nil { + return nil + } + out := new(CredentialsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Device) DeepCopyInto(out *Device) { + *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 Device. +func (in *Device) DeepCopy() *Device { + if in == nil { + return nil + } + out := new(Device) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Device) 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 *DeviceList) DeepCopyInto(out *DeviceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Device, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceList. +func (in *DeviceList) DeepCopy() *DeviceList { + if in == nil { + return nil + } + out := new(DeviceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DeviceList) 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 *DeviceObservation) DeepCopyInto(out *DeviceObservation) { + *out = *in + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = make([]ConfigObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LastConfigAckTime != nil { + in, out := &in.LastConfigAckTime, &out.LastConfigAckTime + *out = new(string) + **out = **in + } + if in.LastConfigSendTime != nil { + in, out := &in.LastConfigSendTime, &out.LastConfigSendTime + *out = new(string) + **out = **in + } + if in.LastErrorStatus != nil { + in, out := &in.LastErrorStatus, &out.LastErrorStatus + *out = make([]LastErrorStatusObservation, len(*in)) + copy(*out, *in) + } + if in.LastErrorTime != nil { + in, out := &in.LastErrorTime, &out.LastErrorTime + *out = new(string) + **out = **in + } + if in.LastEventTime != nil { + in, out := &in.LastEventTime, &out.LastEventTime + *out = new(string) + **out = **in + } + if in.LastHeartbeatTime != nil { + in, out := &in.LastHeartbeatTime, &out.LastHeartbeatTime + *out = new(string) + **out = **in + } + if in.LastStateTime != nil { + in, out := &in.LastStateTime, &out.LastStateTime + *out = new(string) + **out = **in + } + if in.NumID != nil { + in, out := &in.NumID, &out.NumID + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = make([]StateObservation, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceObservation. +func (in *DeviceObservation) DeepCopy() *DeviceObservation { + if in == nil { + return nil + } + out := new(DeviceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeviceParameters) DeepCopyInto(out *DeviceParameters) { + *out = *in + if in.Blocked != nil { + in, out := &in.Blocked, &out.Blocked + *out = new(bool) + **out = **in + } + if in.Credentials != nil { + in, out := &in.Credentials, &out.Credentials + *out = make([]CredentialsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GatewayConfig != nil { + in, out := &in.GatewayConfig, &out.GatewayConfig + *out = make([]GatewayConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LogLevel != nil { + in, out := &in.LogLevel, &out.LogLevel + *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.Registry != nil { + in, out := &in.Registry, &out.Registry + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceParameters. +func (in *DeviceParameters) DeepCopy() *DeviceParameters { + if in == nil { + return nil + } + out := new(DeviceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeviceSpec) DeepCopyInto(out *DeviceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceSpec. +func (in *DeviceSpec) DeepCopy() *DeviceSpec { + if in == nil { + return nil + } + out := new(DeviceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeviceStatus) DeepCopyInto(out *DeviceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceStatus. +func (in *DeviceStatus) DeepCopy() *DeviceStatus { + if in == nil { + return nil + } + out := new(DeviceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EventNotificationConfigsObservation) DeepCopyInto(out *EventNotificationConfigsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventNotificationConfigsObservation. +func (in *EventNotificationConfigsObservation) DeepCopy() *EventNotificationConfigsObservation { + if in == nil { + return nil + } + out := new(EventNotificationConfigsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EventNotificationConfigsParameters) DeepCopyInto(out *EventNotificationConfigsParameters) { + *out = *in + if in.PubsubTopicName != nil { + in, out := &in.PubsubTopicName, &out.PubsubTopicName + *out = new(string) + **out = **in + } + if in.SubfolderMatches != nil { + in, out := &in.SubfolderMatches, &out.SubfolderMatches + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventNotificationConfigsParameters. +func (in *EventNotificationConfigsParameters) DeepCopy() *EventNotificationConfigsParameters { + if in == nil { + return nil + } + out := new(EventNotificationConfigsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GatewayConfigObservation) DeepCopyInto(out *GatewayConfigObservation) { + *out = *in + if in.LastAccessedGatewayID != nil { + in, out := &in.LastAccessedGatewayID, &out.LastAccessedGatewayID + *out = new(string) + **out = **in + } + if in.LastAccessedGatewayTime != nil { + in, out := &in.LastAccessedGatewayTime, &out.LastAccessedGatewayTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayConfigObservation. +func (in *GatewayConfigObservation) DeepCopy() *GatewayConfigObservation { + if in == nil { + return nil + } + out := new(GatewayConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GatewayConfigParameters) DeepCopyInto(out *GatewayConfigParameters) { + *out = *in + if in.GatewayAuthMethod != nil { + in, out := &in.GatewayAuthMethod, &out.GatewayAuthMethod + *out = new(string) + **out = **in + } + if in.GatewayType != nil { + in, out := &in.GatewayType, &out.GatewayType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayConfigParameters. +func (in *GatewayConfigParameters) DeepCopy() *GatewayConfigParameters { + if in == nil { + return nil + } + out := new(GatewayConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LastErrorStatusObservation) DeepCopyInto(out *LastErrorStatusObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LastErrorStatusObservation. +func (in *LastErrorStatusObservation) DeepCopy() *LastErrorStatusObservation { + if in == nil { + return nil + } + out := new(LastErrorStatusObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LastErrorStatusParameters) DeepCopyInto(out *LastErrorStatusParameters) { + *out = *in + if in.Details != nil { + in, out := &in.Details, &out.Details + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Message != nil { + in, out := &in.Message, &out.Message + *out = new(string) + **out = **in + } + if in.Number != nil { + in, out := &in.Number, &out.Number + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LastErrorStatusParameters. +func (in *LastErrorStatusParameters) DeepCopy() *LastErrorStatusParameters { + if in == nil { + return nil + } + out := new(LastErrorStatusParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublicKeyObservation) DeepCopyInto(out *PublicKeyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicKeyObservation. +func (in *PublicKeyObservation) DeepCopy() *PublicKeyObservation { + if in == nil { + return nil + } + out := new(PublicKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublicKeyParameters) DeepCopyInto(out *PublicKeyParameters) { + *out = *in + if in.Format != nil { + in, out := &in.Format, &out.Format + *out = new(string) + **out = **in + } + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicKeyParameters. +func (in *PublicKeyParameters) DeepCopy() *PublicKeyParameters { + if in == nil { + return nil + } + out := new(PublicKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Registry) DeepCopyInto(out *Registry) { + *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 Registry. +func (in *Registry) DeepCopy() *Registry { + if in == nil { + return nil + } + out := new(Registry) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Registry) 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 *RegistryCredentialsObservation) DeepCopyInto(out *RegistryCredentialsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryCredentialsObservation. +func (in *RegistryCredentialsObservation) DeepCopy() *RegistryCredentialsObservation { + if in == nil { + return nil + } + out := new(RegistryCredentialsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistryCredentialsParameters) DeepCopyInto(out *RegistryCredentialsParameters) { + *out = *in + if in.PublicKeyCertificate != nil { + in, out := &in.PublicKeyCertificate, &out.PublicKeyCertificate + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryCredentialsParameters. +func (in *RegistryCredentialsParameters) DeepCopy() *RegistryCredentialsParameters { + if in == nil { + return nil + } + out := new(RegistryCredentialsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistryList) DeepCopyInto(out *RegistryList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Registry, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryList. +func (in *RegistryList) DeepCopy() *RegistryList { + if in == nil { + return nil + } + out := new(RegistryList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegistryList) 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 *RegistryObservation) DeepCopyInto(out *RegistryObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryObservation. +func (in *RegistryObservation) DeepCopy() *RegistryObservation { + if in == nil { + return nil + } + out := new(RegistryObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistryParameters) DeepCopyInto(out *RegistryParameters) { + *out = *in + if in.Credentials != nil { + in, out := &in.Credentials, &out.Credentials + *out = make([]RegistryCredentialsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EventNotificationConfigs != nil { + in, out := &in.EventNotificationConfigs, &out.EventNotificationConfigs + *out = make([]EventNotificationConfigsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HTTPConfig != nil { + in, out := &in.HTTPConfig, &out.HTTPConfig + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.LogLevel != nil { + in, out := &in.LogLevel, &out.LogLevel + *out = new(string) + **out = **in + } + if in.MqttConfig != nil { + in, out := &in.MqttConfig, &out.MqttConfig + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.StateNotificationConfig != nil { + in, out := &in.StateNotificationConfig, &out.StateNotificationConfig + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryParameters. +func (in *RegistryParameters) DeepCopy() *RegistryParameters { + if in == nil { + return nil + } + out := new(RegistryParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistrySpec) DeepCopyInto(out *RegistrySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistrySpec. +func (in *RegistrySpec) DeepCopy() *RegistrySpec { + if in == nil { + return nil + } + out := new(RegistrySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistryStatus) DeepCopyInto(out *RegistryStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStatus. +func (in *RegistryStatus) DeepCopy() *RegistryStatus { + if in == nil { + return nil + } + out := new(RegistryStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StateObservation) DeepCopyInto(out *StateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StateObservation. +func (in *StateObservation) DeepCopy() *StateObservation { + if in == nil { + return nil + } + out := new(StateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StateParameters) DeepCopyInto(out *StateParameters) { + *out = *in + if in.BinaryData != nil { + in, out := &in.BinaryData, &out.BinaryData + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StateParameters. +func (in *StateParameters) DeepCopy() *StateParameters { + if in == nil { + return nil + } + out := new(StateParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/cloudiot/v1alpha1/zz_generated.managed.go b/apis/cloudiot/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..b6c458a7 --- /dev/null +++ b/apis/cloudiot/v1alpha1/zz_generated.managed.go @@ -0,0 +1,132 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Device. +func (mg *Device) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Device. +func (mg *Device) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Device. +func (mg *Device) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Device. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Device) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Device. +func (mg *Device) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Device. +func (mg *Device) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Device. +func (mg *Device) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Device. +func (mg *Device) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Device. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Device) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Device. +func (mg *Device) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Registry. +func (mg *Registry) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Registry. +func (mg *Registry) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Registry. +func (mg *Registry) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Registry. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Registry) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Registry. +func (mg *Registry) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Registry. +func (mg *Registry) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Registry. +func (mg *Registry) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Registry. +func (mg *Registry) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Registry. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Registry) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Registry. +func (mg *Registry) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/cloudiot/v1alpha1/zz_generated.managedlist.go b/apis/cloudiot/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..2965c366 --- /dev/null +++ b/apis/cloudiot/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,38 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this DeviceList. +func (l *DeviceList) 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 RegistryList. +func (l *RegistryList) 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/cloudiot/v1alpha1/zz_groupversion_info.go b/apis/cloudiot/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..f9ee9a9c --- /dev/null +++ b/apis/cloudiot/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=cloudiot.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "cloudiot.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/cloudiot/v1alpha1/zz_registry_terraformed.go b/apis/cloudiot/v1alpha1/zz_registry_terraformed.go new file mode 100755 index 00000000..a3f43018 --- /dev/null +++ b/apis/cloudiot/v1alpha1/zz_registry_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Registry +func (mg *Registry) GetTerraformResourceType() string { + return "google_cloudiot_registry" +} + +// GetConnectionDetailsMapping for this Registry +func (tr *Registry) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Registry +func (tr *Registry) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Registry +func (tr *Registry) SetObservation(obs map[string]interface{}) 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 Registry +func (tr *Registry) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Registry +func (tr *Registry) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Registry +func (tr *Registry) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Registry using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Registry) LateInitialize(attrs []byte) (bool, error) { + params := &RegistryParameters{} + 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 *Registry) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudiot/v1alpha1/zz_registry_types.go b/apis/cloudiot/v1alpha1/zz_registry_types.go new file mode 100755 index 00000000..27f7ac57 --- /dev/null +++ b/apis/cloudiot/v1alpha1/zz_registry_types.go @@ -0,0 +1,151 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EventNotificationConfigsObservation struct { +} + +type EventNotificationConfigsParameters struct { + + // PubSub topic name to publish device events. + // +kubebuilder:validation:Required + PubsubTopicName *string `json:"pubsubTopicName" tf:"pubsub_topic_name,omitempty"` + + // If the subfolder name matches this string exactly, this + // configuration will be used. The string must not include the + // leading '/' character. If empty, all strings are matched. Empty + // value can only be used for the last 'event_notification_configs' + // item. + // +kubebuilder:validation:Optional + SubfolderMatches *string `json:"subfolderMatches,omitempty" tf:"subfolder_matches,omitempty"` +} + +type RegistryCredentialsObservation struct { +} + +type RegistryCredentialsParameters struct { + + // A public key certificate format and data. + // +kubebuilder:validation:Required + PublicKeyCertificate map[string]string `json:"publicKeyCertificate" tf:"public_key_certificate,omitempty"` +} + +type RegistryObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type RegistryParameters struct { + + // List of public key certificates to authenticate devices. + // +kubebuilder:validation:Optional + Credentials []RegistryCredentialsParameters `json:"credentials,omitempty" tf:"credentials,omitempty"` + + // List of configurations for event notifications, such as PubSub topics + // to publish device events to. + // +kubebuilder:validation:Optional + EventNotificationConfigs []EventNotificationConfigsParameters `json:"eventNotificationConfigs,omitempty" tf:"event_notification_configs,omitempty"` + + // Activate or deactivate HTTP. + // +kubebuilder:validation:Optional + HTTPConfig map[string]string `json:"httpConfig,omitempty" tf:"http_config,omitempty"` + + // The default logging verbosity for activity from devices in this + // registry. Specifies which events should be written to logs. For + // example, if the LogLevel is ERROR, only events that terminate in + // errors will be logged. LogLevel is inclusive; enabling INFO logging + // will also enable ERROR logging. Default value: "NONE" Possible values: ["NONE", "ERROR", "INFO", "DEBUG"] + // +kubebuilder:validation:Optional + LogLevel *string `json:"logLevel,omitempty" tf:"log_level,omitempty"` + + // Activate or deactivate MQTT. + // +kubebuilder:validation:Optional + MqttConfig map[string]string `json:"mqttConfig,omitempty" tf:"mqtt_config,omitempty"` + + // A unique name for the resource, required by device registry. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The region in which the created registry should reside. + // If it is not provided, the provider region is used. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // A PubSub topic to publish device state updates. + // +kubebuilder:validation:Optional + StateNotificationConfig map[string]string `json:"stateNotificationConfig,omitempty" tf:"state_notification_config,omitempty"` +} + +// RegistrySpec defines the desired state of Registry +type RegistrySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegistryParameters `json:"forProvider"` +} + +// RegistryStatus defines the observed state of Registry. +type RegistryStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegistryObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Registry is the Schema for the Registrys 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,gcpjet} +type Registry struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegistrySpec `json:"spec"` + Status RegistryStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegistryList contains a list of Registrys +type RegistryList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Registry `json:"items"` +} + +// Repository type metadata. +var ( + Registry_Kind = "Registry" + Registry_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Registry_Kind}.String() + Registry_KindAPIVersion = Registry_Kind + "." + CRDGroupVersion.String() + Registry_GroupVersionKind = CRDGroupVersion.WithKind(Registry_Kind) +) + +func init() { + SchemeBuilder.Register(&Registry{}, &RegistryList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_billingsubaccount_terraformed.go b/apis/cloudplatform/v1alpha1/zz_billingsubaccount_terraformed.go new file mode 100755 index 00000000..11cbaecb --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_billingsubaccount_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this BillingSubaccount +func (mg *BillingSubaccount) GetTerraformResourceType() string { + return "google_billing_subaccount" +} + +// GetConnectionDetailsMapping for this BillingSubaccount +func (tr *BillingSubaccount) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this BillingSubaccount +func (tr *BillingSubaccount) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this BillingSubaccount +func (tr *BillingSubaccount) SetObservation(obs map[string]interface{}) 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 BillingSubaccount +func (tr *BillingSubaccount) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this BillingSubaccount +func (tr *BillingSubaccount) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this BillingSubaccount +func (tr *BillingSubaccount) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this BillingSubaccount using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *BillingSubaccount) LateInitialize(attrs []byte) (bool, error) { + params := &BillingSubaccountParameters{} + 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 *BillingSubaccount) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_billingsubaccount_types.go b/apis/cloudplatform/v1alpha1/zz_billingsubaccount_types.go new file mode 100755 index 00000000..09cb4859 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_billingsubaccount_types.go @@ -0,0 +1,97 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BillingSubaccountObservation struct { + BillingAccountID *string `json:"billingAccountId,omitempty" tf:"billing_account_id,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + Open *bool `json:"open,omitempty" tf:"open,omitempty"` +} + +type BillingSubaccountParameters struct { + + // +kubebuilder:validation:Optional + DeletionPolicy *string `json:"deletionPolicy,omitempty" tf:"deletion_policy,omitempty"` + + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // +kubebuilder:validation:Required + MasterBillingAccount *string `json:"masterBillingAccount" tf:"master_billing_account,omitempty"` +} + +// BillingSubaccountSpec defines the desired state of BillingSubaccount +type BillingSubaccountSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BillingSubaccountParameters `json:"forProvider"` +} + +// BillingSubaccountStatus defines the observed state of BillingSubaccount. +type BillingSubaccountStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BillingSubaccountObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// BillingSubaccount is the Schema for the BillingSubaccounts 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,gcpjet} +type BillingSubaccount struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BillingSubaccountSpec `json:"spec"` + Status BillingSubaccountStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BillingSubaccountList contains a list of BillingSubaccounts +type BillingSubaccountList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []BillingSubaccount `json:"items"` +} + +// Repository type metadata. +var ( + BillingSubaccount_Kind = "BillingSubaccount" + BillingSubaccount_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BillingSubaccount_Kind}.String() + BillingSubaccount_KindAPIVersion = BillingSubaccount_Kind + "." + CRDGroupVersion.String() + BillingSubaccount_GroupVersionKind = CRDGroupVersion.WithKind(BillingSubaccount_Kind) +) + +func init() { + SchemeBuilder.Register(&BillingSubaccount{}, &BillingSubaccountList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_folder_terraformed.go b/apis/cloudplatform/v1alpha1/zz_folder_terraformed.go new file mode 100755 index 00000000..1ef488b5 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_folder_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Folder +func (mg *Folder) GetTerraformResourceType() string { + return "google_folder" +} + +// GetConnectionDetailsMapping for this Folder +func (tr *Folder) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Folder +func (tr *Folder) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Folder +func (tr *Folder) SetObservation(obs map[string]interface{}) 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 Folder +func (tr *Folder) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Folder +func (tr *Folder) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Folder +func (tr *Folder) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Folder using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Folder) LateInitialize(attrs []byte) (bool, error) { + params := &FolderParameters{} + 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 *Folder) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_folder_types.go b/apis/cloudplatform/v1alpha1/zz_folder_types.go new file mode 100755 index 00000000..dfaf228f --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_folder_types.go @@ -0,0 +1,98 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FolderObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + FolderID *string `json:"folderId,omitempty" tf:"folder_id,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LifecycleState *string `json:"lifecycleState,omitempty" tf:"lifecycle_state,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type FolderParameters struct { + + // The folder's display name. A folder's display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // The resource name of the parent Folder or Organization. Must be of the form folders/{folder_id} or organizations/{org_id}. + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` +} + +// FolderSpec defines the desired state of Folder +type FolderSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FolderParameters `json:"forProvider"` +} + +// FolderStatus defines the observed state of Folder. +type FolderStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FolderObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Folder is the Schema for the Folders 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,gcpjet} +type Folder struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FolderSpec `json:"spec"` + Status FolderStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderList contains a list of Folders +type FolderList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Folder `json:"items"` +} + +// Repository type metadata. +var ( + Folder_Kind = "Folder" + Folder_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Folder_Kind}.String() + Folder_KindAPIVersion = Folder_Kind + "." + CRDGroupVersion.String() + Folder_GroupVersionKind = CRDGroupVersion.WithKind(Folder_Kind) +) + +func init() { + SchemeBuilder.Register(&Folder{}, &FolderList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_folderiamauditconfig_terraformed.go b/apis/cloudplatform/v1alpha1/zz_folderiamauditconfig_terraformed.go new file mode 100755 index 00000000..bfa423ab --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_folderiamauditconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FolderIAMAuditConfig +func (mg *FolderIAMAuditConfig) GetTerraformResourceType() string { + return "google_folder_iam_audit_config" +} + +// GetConnectionDetailsMapping for this FolderIAMAuditConfig +func (tr *FolderIAMAuditConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FolderIAMAuditConfig +func (tr *FolderIAMAuditConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FolderIAMAuditConfig +func (tr *FolderIAMAuditConfig) SetObservation(obs map[string]interface{}) 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 FolderIAMAuditConfig +func (tr *FolderIAMAuditConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FolderIAMAuditConfig +func (tr *FolderIAMAuditConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FolderIAMAuditConfig +func (tr *FolderIAMAuditConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FolderIAMAuditConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FolderIAMAuditConfig) LateInitialize(attrs []byte) (bool, error) { + params := &FolderIAMAuditConfigParameters{} + 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 *FolderIAMAuditConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_folderiamauditconfig_types.go b/apis/cloudplatform/v1alpha1/zz_folderiamauditconfig_types.go new file mode 100755 index 00000000..6bff56b6 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_folderiamauditconfig_types.go @@ -0,0 +1,109 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AuditLogConfigObservation struct { +} + +type AuditLogConfigParameters struct { + + // Identities that do not cause logging for this type of permission. Each entry can have one of the following values:user:{emailid}: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. serviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. + // +kubebuilder:validation:Optional + ExemptedMembers []*string `json:"exemptedMembers,omitempty" tf:"exempted_members,omitempty"` + + // Permission type for which logging is to be configured. Must be one of DATA_READ, DATA_WRITE, or ADMIN_READ. + // +kubebuilder:validation:Required + LogType *string `json:"logType" tf:"log_type,omitempty"` +} + +type FolderIAMAuditConfigObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type FolderIAMAuditConfigParameters struct { + + // The configuration for logging of each type of permission. This can be specified multiple times. + // +kubebuilder:validation:Required + AuditLogConfig []AuditLogConfigParameters `json:"auditLogConfig" tf:"audit_log_config,omitempty"` + + // +kubebuilder:validation:Required + Folder *string `json:"folder" tf:"folder,omitempty"` + + // Service which will be enabled for audit logging. The special value allServices covers all services. + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +// FolderIAMAuditConfigSpec defines the desired state of FolderIAMAuditConfig +type FolderIAMAuditConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FolderIAMAuditConfigParameters `json:"forProvider"` +} + +// FolderIAMAuditConfigStatus defines the observed state of FolderIAMAuditConfig. +type FolderIAMAuditConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FolderIAMAuditConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderIAMAuditConfig is the Schema for the FolderIAMAuditConfigs 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,gcpjet} +type FolderIAMAuditConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FolderIAMAuditConfigSpec `json:"spec"` + Status FolderIAMAuditConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderIAMAuditConfigList contains a list of FolderIAMAuditConfigs +type FolderIAMAuditConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FolderIAMAuditConfig `json:"items"` +} + +// Repository type metadata. +var ( + FolderIAMAuditConfig_Kind = "FolderIAMAuditConfig" + FolderIAMAuditConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FolderIAMAuditConfig_Kind}.String() + FolderIAMAuditConfig_KindAPIVersion = FolderIAMAuditConfig_Kind + "." + CRDGroupVersion.String() + FolderIAMAuditConfig_GroupVersionKind = CRDGroupVersion.WithKind(FolderIAMAuditConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&FolderIAMAuditConfig{}, &FolderIAMAuditConfigList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_folderiambinding_terraformed.go b/apis/cloudplatform/v1alpha1/zz_folderiambinding_terraformed.go new file mode 100755 index 00000000..efaf41b8 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_folderiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FolderIAMBinding +func (mg *FolderIAMBinding) GetTerraformResourceType() string { + return "google_folder_iam_binding" +} + +// GetConnectionDetailsMapping for this FolderIAMBinding +func (tr *FolderIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FolderIAMBinding +func (tr *FolderIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FolderIAMBinding +func (tr *FolderIAMBinding) SetObservation(obs map[string]interface{}) 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 FolderIAMBinding +func (tr *FolderIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FolderIAMBinding +func (tr *FolderIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FolderIAMBinding +func (tr *FolderIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FolderIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FolderIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &FolderIAMBindingParameters{} + 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 *FolderIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_folderiambinding_types.go b/apis/cloudplatform/v1alpha1/zz_folderiambinding_types.go new file mode 100755 index 00000000..cf4e6e8b --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_folderiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type FolderIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type FolderIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Folder *string `json:"folder" tf:"folder,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// FolderIAMBindingSpec defines the desired state of FolderIAMBinding +type FolderIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FolderIAMBindingParameters `json:"forProvider"` +} + +// FolderIAMBindingStatus defines the observed state of FolderIAMBinding. +type FolderIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FolderIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderIAMBinding is the Schema for the FolderIAMBindings 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,gcpjet} +type FolderIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FolderIAMBindingSpec `json:"spec"` + Status FolderIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderIAMBindingList contains a list of FolderIAMBindings +type FolderIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FolderIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + FolderIAMBinding_Kind = "FolderIAMBinding" + FolderIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FolderIAMBinding_Kind}.String() + FolderIAMBinding_KindAPIVersion = FolderIAMBinding_Kind + "." + CRDGroupVersion.String() + FolderIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(FolderIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&FolderIAMBinding{}, &FolderIAMBindingList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_folderiammember_terraformed.go b/apis/cloudplatform/v1alpha1/zz_folderiammember_terraformed.go new file mode 100755 index 00000000..601bbaeb --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_folderiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FolderIAMMember +func (mg *FolderIAMMember) GetTerraformResourceType() string { + return "google_folder_iam_member" +} + +// GetConnectionDetailsMapping for this FolderIAMMember +func (tr *FolderIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FolderIAMMember +func (tr *FolderIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FolderIAMMember +func (tr *FolderIAMMember) SetObservation(obs map[string]interface{}) 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 FolderIAMMember +func (tr *FolderIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FolderIAMMember +func (tr *FolderIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FolderIAMMember +func (tr *FolderIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FolderIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FolderIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &FolderIAMMemberParameters{} + 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 *FolderIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_folderiammember_types.go b/apis/cloudplatform/v1alpha1/zz_folderiammember_types.go new file mode 100755 index 00000000..0060df01 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_folderiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FolderIAMMemberConditionObservation struct { +} + +type FolderIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type FolderIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type FolderIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []FolderIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Folder *string `json:"folder" tf:"folder,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// FolderIAMMemberSpec defines the desired state of FolderIAMMember +type FolderIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FolderIAMMemberParameters `json:"forProvider"` +} + +// FolderIAMMemberStatus defines the observed state of FolderIAMMember. +type FolderIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FolderIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderIAMMember is the Schema for the FolderIAMMembers 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,gcpjet} +type FolderIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FolderIAMMemberSpec `json:"spec"` + Status FolderIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderIAMMemberList contains a list of FolderIAMMembers +type FolderIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FolderIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + FolderIAMMember_Kind = "FolderIAMMember" + FolderIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FolderIAMMember_Kind}.String() + FolderIAMMember_KindAPIVersion = FolderIAMMember_Kind + "." + CRDGroupVersion.String() + FolderIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(FolderIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&FolderIAMMember{}, &FolderIAMMemberList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_folderiampolicy_terraformed.go b/apis/cloudplatform/v1alpha1/zz_folderiampolicy_terraformed.go new file mode 100755 index 00000000..e2a88096 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_folderiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FolderIAMPolicy +func (mg *FolderIAMPolicy) GetTerraformResourceType() string { + return "google_folder_iam_policy" +} + +// GetConnectionDetailsMapping for this FolderIAMPolicy +func (tr *FolderIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FolderIAMPolicy +func (tr *FolderIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FolderIAMPolicy +func (tr *FolderIAMPolicy) SetObservation(obs map[string]interface{}) 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 FolderIAMPolicy +func (tr *FolderIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FolderIAMPolicy +func (tr *FolderIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FolderIAMPolicy +func (tr *FolderIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FolderIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FolderIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &FolderIAMPolicyParameters{} + 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 *FolderIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_folderiampolicy_types.go b/apis/cloudplatform/v1alpha1/zz_folderiampolicy_types.go new file mode 100755 index 00000000..16b9f9b2 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_folderiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FolderIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type FolderIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + Folder *string `json:"folder" tf:"folder,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` +} + +// FolderIAMPolicySpec defines the desired state of FolderIAMPolicy +type FolderIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FolderIAMPolicyParameters `json:"forProvider"` +} + +// FolderIAMPolicyStatus defines the observed state of FolderIAMPolicy. +type FolderIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FolderIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderIAMPolicy is the Schema for the FolderIAMPolicys 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,gcpjet} +type FolderIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FolderIAMPolicySpec `json:"spec"` + Status FolderIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderIAMPolicyList contains a list of FolderIAMPolicys +type FolderIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FolderIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + FolderIAMPolicy_Kind = "FolderIAMPolicy" + FolderIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FolderIAMPolicy_Kind}.String() + FolderIAMPolicy_KindAPIVersion = FolderIAMPolicy_Kind + "." + CRDGroupVersion.String() + FolderIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(FolderIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&FolderIAMPolicy{}, &FolderIAMPolicyList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_folderorganizationpolicy_terraformed.go b/apis/cloudplatform/v1alpha1/zz_folderorganizationpolicy_terraformed.go new file mode 100755 index 00000000..1c6a5a09 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_folderorganizationpolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FolderOrganizationPolicy +func (mg *FolderOrganizationPolicy) GetTerraformResourceType() string { + return "google_folder_organization_policy" +} + +// GetConnectionDetailsMapping for this FolderOrganizationPolicy +func (tr *FolderOrganizationPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FolderOrganizationPolicy +func (tr *FolderOrganizationPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FolderOrganizationPolicy +func (tr *FolderOrganizationPolicy) SetObservation(obs map[string]interface{}) 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 FolderOrganizationPolicy +func (tr *FolderOrganizationPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FolderOrganizationPolicy +func (tr *FolderOrganizationPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FolderOrganizationPolicy +func (tr *FolderOrganizationPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FolderOrganizationPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FolderOrganizationPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &FolderOrganizationPolicyParameters{} + 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 *FolderOrganizationPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_folderorganizationpolicy_types.go b/apis/cloudplatform/v1alpha1/zz_folderorganizationpolicy_types.go new file mode 100755 index 00000000..4769d26a --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_folderorganizationpolicy_types.go @@ -0,0 +1,180 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AllowObservation struct { +} + +type AllowParameters struct { + + // The policy allows or denies all values. + // +kubebuilder:validation:Optional + All *bool `json:"all,omitempty" tf:"all,omitempty"` + + // The policy can define specific values that are allowed or denied. + // +kubebuilder:validation:Optional + Values []*string `json:"values,omitempty" tf:"values,omitempty"` +} + +type BooleanPolicyObservation struct { +} + +type BooleanPolicyParameters struct { + + // If true, then the Policy is enforced. If false, then any configuration is acceptable. + // +kubebuilder:validation:Required + Enforced *bool `json:"enforced" tf:"enforced,omitempty"` +} + +type DenyObservation struct { +} + +type DenyParameters struct { + + // The policy allows or denies all values. + // +kubebuilder:validation:Optional + All *bool `json:"all,omitempty" tf:"all,omitempty"` + + // The policy can define specific values that are allowed or denied. + // +kubebuilder:validation:Optional + Values []*string `json:"values,omitempty" tf:"values,omitempty"` +} + +type FolderOrganizationPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type FolderOrganizationPolicyParameters struct { + + // A boolean policy is a constraint that is either enforced or not. + // +kubebuilder:validation:Optional + BooleanPolicy []BooleanPolicyParameters `json:"booleanPolicy,omitempty" tf:"boolean_policy,omitempty"` + + // The name of the Constraint the Policy is configuring, for example, serviceuser.services. + // +kubebuilder:validation:Required + Constraint *string `json:"constraint" tf:"constraint,omitempty"` + + // The resource name of the folder to set the policy for. Its format is folders/{folder_id}. + // +kubebuilder:validation:Required + Folder *string `json:"folder" tf:"folder,omitempty"` + + // A policy that can define specific values that are allowed or denied for the given constraint. It can also be used to allow or deny all values. + // +kubebuilder:validation:Optional + ListPolicy []ListPolicyParameters `json:"listPolicy,omitempty" tf:"list_policy,omitempty"` + + // A restore policy is a constraint to restore the default policy. + // +kubebuilder:validation:Optional + RestorePolicy []RestorePolicyParameters `json:"restorePolicy,omitempty" tf:"restore_policy,omitempty"` + + // Version of the Policy. Default version is 0. + // +kubebuilder:validation:Optional + Version *int64 `json:"version,omitempty" tf:"version,omitempty"` +} + +type ListPolicyObservation struct { +} + +type ListPolicyParameters struct { + + // One or the other must be set. + // +kubebuilder:validation:Optional + Allow []AllowParameters `json:"allow,omitempty" tf:"allow,omitempty"` + + // One or the other must be set. + // +kubebuilder:validation:Optional + Deny []DenyParameters `json:"deny,omitempty" tf:"deny,omitempty"` + + // If set to true, the values from the effective Policy of the parent resource are inherited, meaning the values set in this Policy are added to the values inherited up the hierarchy. + // +kubebuilder:validation:Optional + InheritFromParent *bool `json:"inheritFromParent,omitempty" tf:"inherit_from_parent,omitempty"` + + // The Google Cloud Console will try to default to a configuration that matches the value specified in this field. + // +kubebuilder:validation:Optional + SuggestedValue *string `json:"suggestedValue,omitempty" tf:"suggested_value,omitempty"` +} + +type RestorePolicyObservation struct { +} + +type RestorePolicyParameters struct { + + // May only be set to true. If set, then the default Policy is restored. + // +kubebuilder:validation:Required + Default *bool `json:"default" tf:"default,omitempty"` +} + +// FolderOrganizationPolicySpec defines the desired state of FolderOrganizationPolicy +type FolderOrganizationPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FolderOrganizationPolicyParameters `json:"forProvider"` +} + +// FolderOrganizationPolicyStatus defines the observed state of FolderOrganizationPolicy. +type FolderOrganizationPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FolderOrganizationPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderOrganizationPolicy is the Schema for the FolderOrganizationPolicys 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,gcpjet} +type FolderOrganizationPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FolderOrganizationPolicySpec `json:"spec"` + Status FolderOrganizationPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderOrganizationPolicyList contains a list of FolderOrganizationPolicys +type FolderOrganizationPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FolderOrganizationPolicy `json:"items"` +} + +// Repository type metadata. +var ( + FolderOrganizationPolicy_Kind = "FolderOrganizationPolicy" + FolderOrganizationPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FolderOrganizationPolicy_Kind}.String() + FolderOrganizationPolicy_KindAPIVersion = FolderOrganizationPolicy_Kind + "." + CRDGroupVersion.String() + FolderOrganizationPolicy_GroupVersionKind = CRDGroupVersion.WithKind(FolderOrganizationPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&FolderOrganizationPolicy{}, &FolderOrganizationPolicyList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_generated.deepcopy.go b/apis/cloudplatform/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..c75eb60d --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,5242 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowObservation) DeepCopyInto(out *AllowObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowObservation. +func (in *AllowObservation) DeepCopy() *AllowObservation { + if in == nil { + return nil + } + out := new(AllowObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowParameters) DeepCopyInto(out *AllowParameters) { + *out = *in + if in.All != nil { + in, out := &in.All, &out.All + *out = new(bool) + **out = **in + } + if in.Values != nil { + in, out := &in.Values, &out.Values + *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 AllowParameters. +func (in *AllowParameters) DeepCopy() *AllowParameters { + if in == nil { + return nil + } + out := new(AllowParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuditLogConfigObservation) DeepCopyInto(out *AuditLogConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditLogConfigObservation. +func (in *AuditLogConfigObservation) DeepCopy() *AuditLogConfigObservation { + if in == nil { + return nil + } + out := new(AuditLogConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuditLogConfigParameters) DeepCopyInto(out *AuditLogConfigParameters) { + *out = *in + if in.ExemptedMembers != nil { + in, out := &in.ExemptedMembers, &out.ExemptedMembers + *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.LogType != nil { + in, out := &in.LogType, &out.LogType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditLogConfigParameters. +func (in *AuditLogConfigParameters) DeepCopy() *AuditLogConfigParameters { + if in == nil { + return nil + } + out := new(AuditLogConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingSubaccount) DeepCopyInto(out *BillingSubaccount) { + *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 BillingSubaccount. +func (in *BillingSubaccount) DeepCopy() *BillingSubaccount { + if in == nil { + return nil + } + out := new(BillingSubaccount) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BillingSubaccount) 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 *BillingSubaccountList) DeepCopyInto(out *BillingSubaccountList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BillingSubaccount, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingSubaccountList. +func (in *BillingSubaccountList) DeepCopy() *BillingSubaccountList { + if in == nil { + return nil + } + out := new(BillingSubaccountList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BillingSubaccountList) 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 *BillingSubaccountObservation) DeepCopyInto(out *BillingSubaccountObservation) { + *out = *in + if in.BillingAccountID != nil { + in, out := &in.BillingAccountID, &out.BillingAccountID + *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.Open != nil { + in, out := &in.Open, &out.Open + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingSubaccountObservation. +func (in *BillingSubaccountObservation) DeepCopy() *BillingSubaccountObservation { + if in == nil { + return nil + } + out := new(BillingSubaccountObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingSubaccountParameters) DeepCopyInto(out *BillingSubaccountParameters) { + *out = *in + if in.DeletionPolicy != nil { + in, out := &in.DeletionPolicy, &out.DeletionPolicy + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.MasterBillingAccount != nil { + in, out := &in.MasterBillingAccount, &out.MasterBillingAccount + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingSubaccountParameters. +func (in *BillingSubaccountParameters) DeepCopy() *BillingSubaccountParameters { + if in == nil { + return nil + } + out := new(BillingSubaccountParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingSubaccountSpec) DeepCopyInto(out *BillingSubaccountSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingSubaccountSpec. +func (in *BillingSubaccountSpec) DeepCopy() *BillingSubaccountSpec { + if in == nil { + return nil + } + out := new(BillingSubaccountSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingSubaccountStatus) DeepCopyInto(out *BillingSubaccountStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingSubaccountStatus. +func (in *BillingSubaccountStatus) DeepCopy() *BillingSubaccountStatus { + if in == nil { + return nil + } + out := new(BillingSubaccountStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BooleanPolicyObservation) DeepCopyInto(out *BooleanPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BooleanPolicyObservation. +func (in *BooleanPolicyObservation) DeepCopy() *BooleanPolicyObservation { + if in == nil { + return nil + } + out := new(BooleanPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BooleanPolicyParameters) DeepCopyInto(out *BooleanPolicyParameters) { + *out = *in + if in.Enforced != nil { + in, out := &in.Enforced, &out.Enforced + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BooleanPolicyParameters. +func (in *BooleanPolicyParameters) DeepCopy() *BooleanPolicyParameters { + if in == nil { + return nil + } + out := new(BooleanPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DenyObservation) DeepCopyInto(out *DenyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DenyObservation. +func (in *DenyObservation) DeepCopy() *DenyObservation { + if in == nil { + return nil + } + out := new(DenyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DenyParameters) DeepCopyInto(out *DenyParameters) { + *out = *in + if in.All != nil { + in, out := &in.All, &out.All + *out = new(bool) + **out = **in + } + if in.Values != nil { + in, out := &in.Values, &out.Values + *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 DenyParameters. +func (in *DenyParameters) DeepCopy() *DenyParameters { + if in == nil { + return nil + } + out := new(DenyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Folder) DeepCopyInto(out *Folder) { + *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 Folder. +func (in *Folder) DeepCopy() *Folder { + if in == nil { + return nil + } + out := new(Folder) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Folder) 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 *FolderIAMAuditConfig) DeepCopyInto(out *FolderIAMAuditConfig) { + *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 FolderIAMAuditConfig. +func (in *FolderIAMAuditConfig) DeepCopy() *FolderIAMAuditConfig { + if in == nil { + return nil + } + out := new(FolderIAMAuditConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderIAMAuditConfig) 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 *FolderIAMAuditConfigList) DeepCopyInto(out *FolderIAMAuditConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FolderIAMAuditConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMAuditConfigList. +func (in *FolderIAMAuditConfigList) DeepCopy() *FolderIAMAuditConfigList { + if in == nil { + return nil + } + out := new(FolderIAMAuditConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderIAMAuditConfigList) 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 *FolderIAMAuditConfigObservation) DeepCopyInto(out *FolderIAMAuditConfigObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMAuditConfigObservation. +func (in *FolderIAMAuditConfigObservation) DeepCopy() *FolderIAMAuditConfigObservation { + if in == nil { + return nil + } + out := new(FolderIAMAuditConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMAuditConfigParameters) DeepCopyInto(out *FolderIAMAuditConfigParameters) { + *out = *in + if in.AuditLogConfig != nil { + in, out := &in.AuditLogConfig, &out.AuditLogConfig + *out = make([]AuditLogConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Folder != nil { + in, out := &in.Folder, &out.Folder + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMAuditConfigParameters. +func (in *FolderIAMAuditConfigParameters) DeepCopy() *FolderIAMAuditConfigParameters { + if in == nil { + return nil + } + out := new(FolderIAMAuditConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMAuditConfigSpec) DeepCopyInto(out *FolderIAMAuditConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMAuditConfigSpec. +func (in *FolderIAMAuditConfigSpec) DeepCopy() *FolderIAMAuditConfigSpec { + if in == nil { + return nil + } + out := new(FolderIAMAuditConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMAuditConfigStatus) DeepCopyInto(out *FolderIAMAuditConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMAuditConfigStatus. +func (in *FolderIAMAuditConfigStatus) DeepCopy() *FolderIAMAuditConfigStatus { + if in == nil { + return nil + } + out := new(FolderIAMAuditConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMBinding) DeepCopyInto(out *FolderIAMBinding) { + *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 FolderIAMBinding. +func (in *FolderIAMBinding) DeepCopy() *FolderIAMBinding { + if in == nil { + return nil + } + out := new(FolderIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderIAMBinding) 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 *FolderIAMBindingList) DeepCopyInto(out *FolderIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FolderIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMBindingList. +func (in *FolderIAMBindingList) DeepCopy() *FolderIAMBindingList { + if in == nil { + return nil + } + out := new(FolderIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderIAMBindingList) 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 *FolderIAMBindingObservation) DeepCopyInto(out *FolderIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMBindingObservation. +func (in *FolderIAMBindingObservation) DeepCopy() *FolderIAMBindingObservation { + if in == nil { + return nil + } + out := new(FolderIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMBindingParameters) DeepCopyInto(out *FolderIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Folder != nil { + in, out := &in.Folder, &out.Folder + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMBindingParameters. +func (in *FolderIAMBindingParameters) DeepCopy() *FolderIAMBindingParameters { + if in == nil { + return nil + } + out := new(FolderIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMBindingSpec) DeepCopyInto(out *FolderIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMBindingSpec. +func (in *FolderIAMBindingSpec) DeepCopy() *FolderIAMBindingSpec { + if in == nil { + return nil + } + out := new(FolderIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMBindingStatus) DeepCopyInto(out *FolderIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMBindingStatus. +func (in *FolderIAMBindingStatus) DeepCopy() *FolderIAMBindingStatus { + if in == nil { + return nil + } + out := new(FolderIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMMember) DeepCopyInto(out *FolderIAMMember) { + *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 FolderIAMMember. +func (in *FolderIAMMember) DeepCopy() *FolderIAMMember { + if in == nil { + return nil + } + out := new(FolderIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderIAMMember) 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 *FolderIAMMemberConditionObservation) DeepCopyInto(out *FolderIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMMemberConditionObservation. +func (in *FolderIAMMemberConditionObservation) DeepCopy() *FolderIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(FolderIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMMemberConditionParameters) DeepCopyInto(out *FolderIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMMemberConditionParameters. +func (in *FolderIAMMemberConditionParameters) DeepCopy() *FolderIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(FolderIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMMemberList) DeepCopyInto(out *FolderIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FolderIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMMemberList. +func (in *FolderIAMMemberList) DeepCopy() *FolderIAMMemberList { + if in == nil { + return nil + } + out := new(FolderIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderIAMMemberList) 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 *FolderIAMMemberObservation) DeepCopyInto(out *FolderIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMMemberObservation. +func (in *FolderIAMMemberObservation) DeepCopy() *FolderIAMMemberObservation { + if in == nil { + return nil + } + out := new(FolderIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMMemberParameters) DeepCopyInto(out *FolderIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]FolderIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Folder != nil { + in, out := &in.Folder, &out.Folder + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMMemberParameters. +func (in *FolderIAMMemberParameters) DeepCopy() *FolderIAMMemberParameters { + if in == nil { + return nil + } + out := new(FolderIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMMemberSpec) DeepCopyInto(out *FolderIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMMemberSpec. +func (in *FolderIAMMemberSpec) DeepCopy() *FolderIAMMemberSpec { + if in == nil { + return nil + } + out := new(FolderIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMMemberStatus) DeepCopyInto(out *FolderIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMMemberStatus. +func (in *FolderIAMMemberStatus) DeepCopy() *FolderIAMMemberStatus { + if in == nil { + return nil + } + out := new(FolderIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMPolicy) DeepCopyInto(out *FolderIAMPolicy) { + *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 FolderIAMPolicy. +func (in *FolderIAMPolicy) DeepCopy() *FolderIAMPolicy { + if in == nil { + return nil + } + out := new(FolderIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderIAMPolicy) 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 *FolderIAMPolicyList) DeepCopyInto(out *FolderIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FolderIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMPolicyList. +func (in *FolderIAMPolicyList) DeepCopy() *FolderIAMPolicyList { + if in == nil { + return nil + } + out := new(FolderIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderIAMPolicyList) 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 *FolderIAMPolicyObservation) DeepCopyInto(out *FolderIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMPolicyObservation. +func (in *FolderIAMPolicyObservation) DeepCopy() *FolderIAMPolicyObservation { + if in == nil { + return nil + } + out := new(FolderIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMPolicyParameters) DeepCopyInto(out *FolderIAMPolicyParameters) { + *out = *in + if in.Folder != nil { + in, out := &in.Folder, &out.Folder + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMPolicyParameters. +func (in *FolderIAMPolicyParameters) DeepCopy() *FolderIAMPolicyParameters { + if in == nil { + return nil + } + out := new(FolderIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMPolicySpec) DeepCopyInto(out *FolderIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMPolicySpec. +func (in *FolderIAMPolicySpec) DeepCopy() *FolderIAMPolicySpec { + if in == nil { + return nil + } + out := new(FolderIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderIAMPolicyStatus) DeepCopyInto(out *FolderIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderIAMPolicyStatus. +func (in *FolderIAMPolicyStatus) DeepCopy() *FolderIAMPolicyStatus { + if in == nil { + return nil + } + out := new(FolderIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderList) DeepCopyInto(out *FolderList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Folder, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderList. +func (in *FolderList) DeepCopy() *FolderList { + if in == nil { + return nil + } + out := new(FolderList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderList) 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 *FolderObservation) DeepCopyInto(out *FolderObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.FolderID != nil { + in, out := &in.FolderID, &out.FolderID + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LifecycleState != nil { + in, out := &in.LifecycleState, &out.LifecycleState + *out = new(string) + **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 FolderObservation. +func (in *FolderObservation) DeepCopy() *FolderObservation { + if in == nil { + return nil + } + out := new(FolderObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderOrganizationPolicy) DeepCopyInto(out *FolderOrganizationPolicy) { + *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 FolderOrganizationPolicy. +func (in *FolderOrganizationPolicy) DeepCopy() *FolderOrganizationPolicy { + if in == nil { + return nil + } + out := new(FolderOrganizationPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderOrganizationPolicy) 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 *FolderOrganizationPolicyList) DeepCopyInto(out *FolderOrganizationPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FolderOrganizationPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderOrganizationPolicyList. +func (in *FolderOrganizationPolicyList) DeepCopy() *FolderOrganizationPolicyList { + if in == nil { + return nil + } + out := new(FolderOrganizationPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderOrganizationPolicyList) 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 *FolderOrganizationPolicyObservation) DeepCopyInto(out *FolderOrganizationPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderOrganizationPolicyObservation. +func (in *FolderOrganizationPolicyObservation) DeepCopy() *FolderOrganizationPolicyObservation { + if in == nil { + return nil + } + out := new(FolderOrganizationPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderOrganizationPolicyParameters) DeepCopyInto(out *FolderOrganizationPolicyParameters) { + *out = *in + if in.BooleanPolicy != nil { + in, out := &in.BooleanPolicy, &out.BooleanPolicy + *out = make([]BooleanPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Constraint != nil { + in, out := &in.Constraint, &out.Constraint + *out = new(string) + **out = **in + } + if in.Folder != nil { + in, out := &in.Folder, &out.Folder + *out = new(string) + **out = **in + } + if in.ListPolicy != nil { + in, out := &in.ListPolicy, &out.ListPolicy + *out = make([]ListPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RestorePolicy != nil { + in, out := &in.RestorePolicy, &out.RestorePolicy + *out = make([]RestorePolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderOrganizationPolicyParameters. +func (in *FolderOrganizationPolicyParameters) DeepCopy() *FolderOrganizationPolicyParameters { + if in == nil { + return nil + } + out := new(FolderOrganizationPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderOrganizationPolicySpec) DeepCopyInto(out *FolderOrganizationPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderOrganizationPolicySpec. +func (in *FolderOrganizationPolicySpec) DeepCopy() *FolderOrganizationPolicySpec { + if in == nil { + return nil + } + out := new(FolderOrganizationPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderOrganizationPolicyStatus) DeepCopyInto(out *FolderOrganizationPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderOrganizationPolicyStatus. +func (in *FolderOrganizationPolicyStatus) DeepCopy() *FolderOrganizationPolicyStatus { + if in == nil { + return nil + } + out := new(FolderOrganizationPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderParameters) DeepCopyInto(out *FolderParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderParameters. +func (in *FolderParameters) DeepCopy() *FolderParameters { + if in == nil { + return nil + } + out := new(FolderParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderSpec) DeepCopyInto(out *FolderSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderSpec. +func (in *FolderSpec) DeepCopy() *FolderSpec { + if in == nil { + return nil + } + out := new(FolderSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderStatus) DeepCopyInto(out *FolderStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderStatus. +func (in *FolderStatus) DeepCopy() *FolderStatus { + if in == nil { + return nil + } + out := new(FolderStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListPolicyAllowObservation) DeepCopyInto(out *ListPolicyAllowObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListPolicyAllowObservation. +func (in *ListPolicyAllowObservation) DeepCopy() *ListPolicyAllowObservation { + if in == nil { + return nil + } + out := new(ListPolicyAllowObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListPolicyAllowParameters) DeepCopyInto(out *ListPolicyAllowParameters) { + *out = *in + if in.All != nil { + in, out := &in.All, &out.All + *out = new(bool) + **out = **in + } + if in.Values != nil { + in, out := &in.Values, &out.Values + *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 ListPolicyAllowParameters. +func (in *ListPolicyAllowParameters) DeepCopy() *ListPolicyAllowParameters { + if in == nil { + return nil + } + out := new(ListPolicyAllowParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListPolicyDenyObservation) DeepCopyInto(out *ListPolicyDenyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListPolicyDenyObservation. +func (in *ListPolicyDenyObservation) DeepCopy() *ListPolicyDenyObservation { + if in == nil { + return nil + } + out := new(ListPolicyDenyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListPolicyDenyParameters) DeepCopyInto(out *ListPolicyDenyParameters) { + *out = *in + if in.All != nil { + in, out := &in.All, &out.All + *out = new(bool) + **out = **in + } + if in.Values != nil { + in, out := &in.Values, &out.Values + *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 ListPolicyDenyParameters. +func (in *ListPolicyDenyParameters) DeepCopy() *ListPolicyDenyParameters { + if in == nil { + return nil + } + out := new(ListPolicyDenyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListPolicyObservation) DeepCopyInto(out *ListPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListPolicyObservation. +func (in *ListPolicyObservation) DeepCopy() *ListPolicyObservation { + if in == nil { + return nil + } + out := new(ListPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListPolicyParameters) DeepCopyInto(out *ListPolicyParameters) { + *out = *in + if in.Allow != nil { + in, out := &in.Allow, &out.Allow + *out = make([]AllowParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Deny != nil { + in, out := &in.Deny, &out.Deny + *out = make([]DenyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InheritFromParent != nil { + in, out := &in.InheritFromParent, &out.InheritFromParent + *out = new(bool) + **out = **in + } + if in.SuggestedValue != nil { + in, out := &in.SuggestedValue, &out.SuggestedValue + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListPolicyParameters. +func (in *ListPolicyParameters) DeepCopy() *ListPolicyParameters { + if in == nil { + return nil + } + out := new(ListPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMAuditConfig) DeepCopyInto(out *OrganizationIAMAuditConfig) { + *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 OrganizationIAMAuditConfig. +func (in *OrganizationIAMAuditConfig) DeepCopy() *OrganizationIAMAuditConfig { + if in == nil { + return nil + } + out := new(OrganizationIAMAuditConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationIAMAuditConfig) 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 *OrganizationIAMAuditConfigAuditLogConfigObservation) DeepCopyInto(out *OrganizationIAMAuditConfigAuditLogConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMAuditConfigAuditLogConfigObservation. +func (in *OrganizationIAMAuditConfigAuditLogConfigObservation) DeepCopy() *OrganizationIAMAuditConfigAuditLogConfigObservation { + if in == nil { + return nil + } + out := new(OrganizationIAMAuditConfigAuditLogConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMAuditConfigAuditLogConfigParameters) DeepCopyInto(out *OrganizationIAMAuditConfigAuditLogConfigParameters) { + *out = *in + if in.ExemptedMembers != nil { + in, out := &in.ExemptedMembers, &out.ExemptedMembers + *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.LogType != nil { + in, out := &in.LogType, &out.LogType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMAuditConfigAuditLogConfigParameters. +func (in *OrganizationIAMAuditConfigAuditLogConfigParameters) DeepCopy() *OrganizationIAMAuditConfigAuditLogConfigParameters { + if in == nil { + return nil + } + out := new(OrganizationIAMAuditConfigAuditLogConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMAuditConfigList) DeepCopyInto(out *OrganizationIAMAuditConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OrganizationIAMAuditConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMAuditConfigList. +func (in *OrganizationIAMAuditConfigList) DeepCopy() *OrganizationIAMAuditConfigList { + if in == nil { + return nil + } + out := new(OrganizationIAMAuditConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationIAMAuditConfigList) 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 *OrganizationIAMAuditConfigObservation) DeepCopyInto(out *OrganizationIAMAuditConfigObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMAuditConfigObservation. +func (in *OrganizationIAMAuditConfigObservation) DeepCopy() *OrganizationIAMAuditConfigObservation { + if in == nil { + return nil + } + out := new(OrganizationIAMAuditConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMAuditConfigParameters) DeepCopyInto(out *OrganizationIAMAuditConfigParameters) { + *out = *in + if in.AuditLogConfig != nil { + in, out := &in.AuditLogConfig, &out.AuditLogConfig + *out = make([]OrganizationIAMAuditConfigAuditLogConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OrgID != nil { + in, out := &in.OrgID, &out.OrgID + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMAuditConfigParameters. +func (in *OrganizationIAMAuditConfigParameters) DeepCopy() *OrganizationIAMAuditConfigParameters { + if in == nil { + return nil + } + out := new(OrganizationIAMAuditConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMAuditConfigSpec) DeepCopyInto(out *OrganizationIAMAuditConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMAuditConfigSpec. +func (in *OrganizationIAMAuditConfigSpec) DeepCopy() *OrganizationIAMAuditConfigSpec { + if in == nil { + return nil + } + out := new(OrganizationIAMAuditConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMAuditConfigStatus) DeepCopyInto(out *OrganizationIAMAuditConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMAuditConfigStatus. +func (in *OrganizationIAMAuditConfigStatus) DeepCopy() *OrganizationIAMAuditConfigStatus { + if in == nil { + return nil + } + out := new(OrganizationIAMAuditConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMBinding) DeepCopyInto(out *OrganizationIAMBinding) { + *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 OrganizationIAMBinding. +func (in *OrganizationIAMBinding) DeepCopy() *OrganizationIAMBinding { + if in == nil { + return nil + } + out := new(OrganizationIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationIAMBinding) 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 *OrganizationIAMBindingConditionObservation) DeepCopyInto(out *OrganizationIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMBindingConditionObservation. +func (in *OrganizationIAMBindingConditionObservation) DeepCopy() *OrganizationIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(OrganizationIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMBindingConditionParameters) DeepCopyInto(out *OrganizationIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMBindingConditionParameters. +func (in *OrganizationIAMBindingConditionParameters) DeepCopy() *OrganizationIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(OrganizationIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMBindingList) DeepCopyInto(out *OrganizationIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OrganizationIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMBindingList. +func (in *OrganizationIAMBindingList) DeepCopy() *OrganizationIAMBindingList { + if in == nil { + return nil + } + out := new(OrganizationIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationIAMBindingList) 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 *OrganizationIAMBindingObservation) DeepCopyInto(out *OrganizationIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMBindingObservation. +func (in *OrganizationIAMBindingObservation) DeepCopy() *OrganizationIAMBindingObservation { + if in == nil { + return nil + } + out := new(OrganizationIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMBindingParameters) DeepCopyInto(out *OrganizationIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]OrganizationIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.OrgID != nil { + in, out := &in.OrgID, &out.OrgID + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMBindingParameters. +func (in *OrganizationIAMBindingParameters) DeepCopy() *OrganizationIAMBindingParameters { + if in == nil { + return nil + } + out := new(OrganizationIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMBindingSpec) DeepCopyInto(out *OrganizationIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMBindingSpec. +func (in *OrganizationIAMBindingSpec) DeepCopy() *OrganizationIAMBindingSpec { + if in == nil { + return nil + } + out := new(OrganizationIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMBindingStatus) DeepCopyInto(out *OrganizationIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMBindingStatus. +func (in *OrganizationIAMBindingStatus) DeepCopy() *OrganizationIAMBindingStatus { + if in == nil { + return nil + } + out := new(OrganizationIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMCustomRole) DeepCopyInto(out *OrganizationIAMCustomRole) { + *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 OrganizationIAMCustomRole. +func (in *OrganizationIAMCustomRole) DeepCopy() *OrganizationIAMCustomRole { + if in == nil { + return nil + } + out := new(OrganizationIAMCustomRole) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationIAMCustomRole) 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 *OrganizationIAMCustomRoleList) DeepCopyInto(out *OrganizationIAMCustomRoleList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OrganizationIAMCustomRole, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMCustomRoleList. +func (in *OrganizationIAMCustomRoleList) DeepCopy() *OrganizationIAMCustomRoleList { + if in == nil { + return nil + } + out := new(OrganizationIAMCustomRoleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationIAMCustomRoleList) 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 *OrganizationIAMCustomRoleObservation) DeepCopyInto(out *OrganizationIAMCustomRoleObservation) { + *out = *in + if in.Deleted != nil { + in, out := &in.Deleted, &out.Deleted + *out = new(bool) + **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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMCustomRoleObservation. +func (in *OrganizationIAMCustomRoleObservation) DeepCopy() *OrganizationIAMCustomRoleObservation { + if in == nil { + return nil + } + out := new(OrganizationIAMCustomRoleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMCustomRoleParameters) DeepCopyInto(out *OrganizationIAMCustomRoleParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.OrgID != nil { + in, out := &in.OrgID, &out.OrgID + *out = new(string) + **out = **in + } + if in.Permissions != nil { + in, out := &in.Permissions, &out.Permissions + *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.RoleID != nil { + in, out := &in.RoleID, &out.RoleID + *out = new(string) + **out = **in + } + if in.Stage != nil { + in, out := &in.Stage, &out.Stage + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMCustomRoleParameters. +func (in *OrganizationIAMCustomRoleParameters) DeepCopy() *OrganizationIAMCustomRoleParameters { + if in == nil { + return nil + } + out := new(OrganizationIAMCustomRoleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMCustomRoleSpec) DeepCopyInto(out *OrganizationIAMCustomRoleSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMCustomRoleSpec. +func (in *OrganizationIAMCustomRoleSpec) DeepCopy() *OrganizationIAMCustomRoleSpec { + if in == nil { + return nil + } + out := new(OrganizationIAMCustomRoleSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMCustomRoleStatus) DeepCopyInto(out *OrganizationIAMCustomRoleStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMCustomRoleStatus. +func (in *OrganizationIAMCustomRoleStatus) DeepCopy() *OrganizationIAMCustomRoleStatus { + if in == nil { + return nil + } + out := new(OrganizationIAMCustomRoleStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMMember) DeepCopyInto(out *OrganizationIAMMember) { + *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 OrganizationIAMMember. +func (in *OrganizationIAMMember) DeepCopy() *OrganizationIAMMember { + if in == nil { + return nil + } + out := new(OrganizationIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationIAMMember) 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 *OrganizationIAMMemberConditionObservation) DeepCopyInto(out *OrganizationIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMMemberConditionObservation. +func (in *OrganizationIAMMemberConditionObservation) DeepCopy() *OrganizationIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(OrganizationIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMMemberConditionParameters) DeepCopyInto(out *OrganizationIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMMemberConditionParameters. +func (in *OrganizationIAMMemberConditionParameters) DeepCopy() *OrganizationIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(OrganizationIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMMemberList) DeepCopyInto(out *OrganizationIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OrganizationIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMMemberList. +func (in *OrganizationIAMMemberList) DeepCopy() *OrganizationIAMMemberList { + if in == nil { + return nil + } + out := new(OrganizationIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationIAMMemberList) 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 *OrganizationIAMMemberObservation) DeepCopyInto(out *OrganizationIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMMemberObservation. +func (in *OrganizationIAMMemberObservation) DeepCopy() *OrganizationIAMMemberObservation { + if in == nil { + return nil + } + out := new(OrganizationIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMMemberParameters) DeepCopyInto(out *OrganizationIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]OrganizationIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.OrgID != nil { + in, out := &in.OrgID, &out.OrgID + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMMemberParameters. +func (in *OrganizationIAMMemberParameters) DeepCopy() *OrganizationIAMMemberParameters { + if in == nil { + return nil + } + out := new(OrganizationIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMMemberSpec) DeepCopyInto(out *OrganizationIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMMemberSpec. +func (in *OrganizationIAMMemberSpec) DeepCopy() *OrganizationIAMMemberSpec { + if in == nil { + return nil + } + out := new(OrganizationIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMMemberStatus) DeepCopyInto(out *OrganizationIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMMemberStatus. +func (in *OrganizationIAMMemberStatus) DeepCopy() *OrganizationIAMMemberStatus { + if in == nil { + return nil + } + out := new(OrganizationIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMPolicy) DeepCopyInto(out *OrganizationIAMPolicy) { + *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 OrganizationIAMPolicy. +func (in *OrganizationIAMPolicy) DeepCopy() *OrganizationIAMPolicy { + if in == nil { + return nil + } + out := new(OrganizationIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationIAMPolicy) 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 *OrganizationIAMPolicyList) DeepCopyInto(out *OrganizationIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OrganizationIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMPolicyList. +func (in *OrganizationIAMPolicyList) DeepCopy() *OrganizationIAMPolicyList { + if in == nil { + return nil + } + out := new(OrganizationIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationIAMPolicyList) 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 *OrganizationIAMPolicyObservation) DeepCopyInto(out *OrganizationIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMPolicyObservation. +func (in *OrganizationIAMPolicyObservation) DeepCopy() *OrganizationIAMPolicyObservation { + if in == nil { + return nil + } + out := new(OrganizationIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMPolicyParameters) DeepCopyInto(out *OrganizationIAMPolicyParameters) { + *out = *in + if in.OrgID != nil { + in, out := &in.OrgID, &out.OrgID + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMPolicyParameters. +func (in *OrganizationIAMPolicyParameters) DeepCopy() *OrganizationIAMPolicyParameters { + if in == nil { + return nil + } + out := new(OrganizationIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMPolicySpec) DeepCopyInto(out *OrganizationIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMPolicySpec. +func (in *OrganizationIAMPolicySpec) DeepCopy() *OrganizationIAMPolicySpec { + if in == nil { + return nil + } + out := new(OrganizationIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationIAMPolicyStatus) DeepCopyInto(out *OrganizationIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationIAMPolicyStatus. +func (in *OrganizationIAMPolicyStatus) DeepCopy() *OrganizationIAMPolicyStatus { + if in == nil { + return nil + } + out := new(OrganizationIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationPolicy) DeepCopyInto(out *OrganizationPolicy) { + *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 OrganizationPolicy. +func (in *OrganizationPolicy) DeepCopy() *OrganizationPolicy { + if in == nil { + return nil + } + out := new(OrganizationPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationPolicy) 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 *OrganizationPolicyBooleanPolicyObservation) DeepCopyInto(out *OrganizationPolicyBooleanPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationPolicyBooleanPolicyObservation. +func (in *OrganizationPolicyBooleanPolicyObservation) DeepCopy() *OrganizationPolicyBooleanPolicyObservation { + if in == nil { + return nil + } + out := new(OrganizationPolicyBooleanPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationPolicyBooleanPolicyParameters) DeepCopyInto(out *OrganizationPolicyBooleanPolicyParameters) { + *out = *in + if in.Enforced != nil { + in, out := &in.Enforced, &out.Enforced + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationPolicyBooleanPolicyParameters. +func (in *OrganizationPolicyBooleanPolicyParameters) DeepCopy() *OrganizationPolicyBooleanPolicyParameters { + if in == nil { + return nil + } + out := new(OrganizationPolicyBooleanPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationPolicyList) DeepCopyInto(out *OrganizationPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OrganizationPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationPolicyList. +func (in *OrganizationPolicyList) DeepCopy() *OrganizationPolicyList { + if in == nil { + return nil + } + out := new(OrganizationPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationPolicyList) 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 *OrganizationPolicyListPolicyObservation) DeepCopyInto(out *OrganizationPolicyListPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationPolicyListPolicyObservation. +func (in *OrganizationPolicyListPolicyObservation) DeepCopy() *OrganizationPolicyListPolicyObservation { + if in == nil { + return nil + } + out := new(OrganizationPolicyListPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationPolicyListPolicyParameters) DeepCopyInto(out *OrganizationPolicyListPolicyParameters) { + *out = *in + if in.Allow != nil { + in, out := &in.Allow, &out.Allow + *out = make([]ListPolicyAllowParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Deny != nil { + in, out := &in.Deny, &out.Deny + *out = make([]ListPolicyDenyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InheritFromParent != nil { + in, out := &in.InheritFromParent, &out.InheritFromParent + *out = new(bool) + **out = **in + } + if in.SuggestedValue != nil { + in, out := &in.SuggestedValue, &out.SuggestedValue + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationPolicyListPolicyParameters. +func (in *OrganizationPolicyListPolicyParameters) DeepCopy() *OrganizationPolicyListPolicyParameters { + if in == nil { + return nil + } + out := new(OrganizationPolicyListPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationPolicyObservation) DeepCopyInto(out *OrganizationPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationPolicyObservation. +func (in *OrganizationPolicyObservation) DeepCopy() *OrganizationPolicyObservation { + if in == nil { + return nil + } + out := new(OrganizationPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationPolicyParameters) DeepCopyInto(out *OrganizationPolicyParameters) { + *out = *in + if in.BooleanPolicy != nil { + in, out := &in.BooleanPolicy, &out.BooleanPolicy + *out = make([]OrganizationPolicyBooleanPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Constraint != nil { + in, out := &in.Constraint, &out.Constraint + *out = new(string) + **out = **in + } + if in.ListPolicy != nil { + in, out := &in.ListPolicy, &out.ListPolicy + *out = make([]OrganizationPolicyListPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OrgID != nil { + in, out := &in.OrgID, &out.OrgID + *out = new(string) + **out = **in + } + if in.RestorePolicy != nil { + in, out := &in.RestorePolicy, &out.RestorePolicy + *out = make([]OrganizationPolicyRestorePolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationPolicyParameters. +func (in *OrganizationPolicyParameters) DeepCopy() *OrganizationPolicyParameters { + if in == nil { + return nil + } + out := new(OrganizationPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationPolicyRestorePolicyObservation) DeepCopyInto(out *OrganizationPolicyRestorePolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationPolicyRestorePolicyObservation. +func (in *OrganizationPolicyRestorePolicyObservation) DeepCopy() *OrganizationPolicyRestorePolicyObservation { + if in == nil { + return nil + } + out := new(OrganizationPolicyRestorePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationPolicyRestorePolicyParameters) DeepCopyInto(out *OrganizationPolicyRestorePolicyParameters) { + *out = *in + if in.Default != nil { + in, out := &in.Default, &out.Default + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationPolicyRestorePolicyParameters. +func (in *OrganizationPolicyRestorePolicyParameters) DeepCopy() *OrganizationPolicyRestorePolicyParameters { + if in == nil { + return nil + } + out := new(OrganizationPolicyRestorePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationPolicySpec) DeepCopyInto(out *OrganizationPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationPolicySpec. +func (in *OrganizationPolicySpec) DeepCopy() *OrganizationPolicySpec { + if in == nil { + return nil + } + out := new(OrganizationPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationPolicyStatus) DeepCopyInto(out *OrganizationPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationPolicyStatus. +func (in *OrganizationPolicyStatus) DeepCopy() *OrganizationPolicyStatus { + if in == nil { + return nil + } + out := new(OrganizationPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectDefaultServiceAccounts) DeepCopyInto(out *ProjectDefaultServiceAccounts) { + *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 ProjectDefaultServiceAccounts. +func (in *ProjectDefaultServiceAccounts) DeepCopy() *ProjectDefaultServiceAccounts { + if in == nil { + return nil + } + out := new(ProjectDefaultServiceAccounts) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectDefaultServiceAccounts) 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 *ProjectDefaultServiceAccountsList) DeepCopyInto(out *ProjectDefaultServiceAccountsList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectDefaultServiceAccounts, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectDefaultServiceAccountsList. +func (in *ProjectDefaultServiceAccountsList) DeepCopy() *ProjectDefaultServiceAccountsList { + if in == nil { + return nil + } + out := new(ProjectDefaultServiceAccountsList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectDefaultServiceAccountsList) 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 *ProjectDefaultServiceAccountsObservation) DeepCopyInto(out *ProjectDefaultServiceAccountsObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.ServiceAccounts != nil { + in, out := &in.ServiceAccounts, &out.ServiceAccounts + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectDefaultServiceAccountsObservation. +func (in *ProjectDefaultServiceAccountsObservation) DeepCopy() *ProjectDefaultServiceAccountsObservation { + if in == nil { + return nil + } + out := new(ProjectDefaultServiceAccountsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectDefaultServiceAccountsParameters) DeepCopyInto(out *ProjectDefaultServiceAccountsParameters) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RestorePolicy != nil { + in, out := &in.RestorePolicy, &out.RestorePolicy + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectDefaultServiceAccountsParameters. +func (in *ProjectDefaultServiceAccountsParameters) DeepCopy() *ProjectDefaultServiceAccountsParameters { + if in == nil { + return nil + } + out := new(ProjectDefaultServiceAccountsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectDefaultServiceAccountsSpec) DeepCopyInto(out *ProjectDefaultServiceAccountsSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectDefaultServiceAccountsSpec. +func (in *ProjectDefaultServiceAccountsSpec) DeepCopy() *ProjectDefaultServiceAccountsSpec { + if in == nil { + return nil + } + out := new(ProjectDefaultServiceAccountsSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectDefaultServiceAccountsStatus) DeepCopyInto(out *ProjectDefaultServiceAccountsStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectDefaultServiceAccountsStatus. +func (in *ProjectDefaultServiceAccountsStatus) DeepCopy() *ProjectDefaultServiceAccountsStatus { + if in == nil { + return nil + } + out := new(ProjectDefaultServiceAccountsStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMAuditConfig) DeepCopyInto(out *ProjectIAMAuditConfig) { + *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 ProjectIAMAuditConfig. +func (in *ProjectIAMAuditConfig) DeepCopy() *ProjectIAMAuditConfig { + if in == nil { + return nil + } + out := new(ProjectIAMAuditConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectIAMAuditConfig) 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 *ProjectIAMAuditConfigAuditLogConfigObservation) DeepCopyInto(out *ProjectIAMAuditConfigAuditLogConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMAuditConfigAuditLogConfigObservation. +func (in *ProjectIAMAuditConfigAuditLogConfigObservation) DeepCopy() *ProjectIAMAuditConfigAuditLogConfigObservation { + if in == nil { + return nil + } + out := new(ProjectIAMAuditConfigAuditLogConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMAuditConfigAuditLogConfigParameters) DeepCopyInto(out *ProjectIAMAuditConfigAuditLogConfigParameters) { + *out = *in + if in.ExemptedMembers != nil { + in, out := &in.ExemptedMembers, &out.ExemptedMembers + *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.LogType != nil { + in, out := &in.LogType, &out.LogType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMAuditConfigAuditLogConfigParameters. +func (in *ProjectIAMAuditConfigAuditLogConfigParameters) DeepCopy() *ProjectIAMAuditConfigAuditLogConfigParameters { + if in == nil { + return nil + } + out := new(ProjectIAMAuditConfigAuditLogConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMAuditConfigList) DeepCopyInto(out *ProjectIAMAuditConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectIAMAuditConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMAuditConfigList. +func (in *ProjectIAMAuditConfigList) DeepCopy() *ProjectIAMAuditConfigList { + if in == nil { + return nil + } + out := new(ProjectIAMAuditConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectIAMAuditConfigList) 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 *ProjectIAMAuditConfigObservation) DeepCopyInto(out *ProjectIAMAuditConfigObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMAuditConfigObservation. +func (in *ProjectIAMAuditConfigObservation) DeepCopy() *ProjectIAMAuditConfigObservation { + if in == nil { + return nil + } + out := new(ProjectIAMAuditConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMAuditConfigParameters) DeepCopyInto(out *ProjectIAMAuditConfigParameters) { + *out = *in + if in.AuditLogConfig != nil { + in, out := &in.AuditLogConfig, &out.AuditLogConfig + *out = make([]ProjectIAMAuditConfigAuditLogConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMAuditConfigParameters. +func (in *ProjectIAMAuditConfigParameters) DeepCopy() *ProjectIAMAuditConfigParameters { + if in == nil { + return nil + } + out := new(ProjectIAMAuditConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMAuditConfigSpec) DeepCopyInto(out *ProjectIAMAuditConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMAuditConfigSpec. +func (in *ProjectIAMAuditConfigSpec) DeepCopy() *ProjectIAMAuditConfigSpec { + if in == nil { + return nil + } + out := new(ProjectIAMAuditConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMAuditConfigStatus) DeepCopyInto(out *ProjectIAMAuditConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMAuditConfigStatus. +func (in *ProjectIAMAuditConfigStatus) DeepCopy() *ProjectIAMAuditConfigStatus { + if in == nil { + return nil + } + out := new(ProjectIAMAuditConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMBinding) DeepCopyInto(out *ProjectIAMBinding) { + *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 ProjectIAMBinding. +func (in *ProjectIAMBinding) DeepCopy() *ProjectIAMBinding { + if in == nil { + return nil + } + out := new(ProjectIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectIAMBinding) 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 *ProjectIAMBindingConditionObservation) DeepCopyInto(out *ProjectIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMBindingConditionObservation. +func (in *ProjectIAMBindingConditionObservation) DeepCopy() *ProjectIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(ProjectIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMBindingConditionParameters) DeepCopyInto(out *ProjectIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMBindingConditionParameters. +func (in *ProjectIAMBindingConditionParameters) DeepCopy() *ProjectIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(ProjectIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMBindingList) DeepCopyInto(out *ProjectIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMBindingList. +func (in *ProjectIAMBindingList) DeepCopy() *ProjectIAMBindingList { + if in == nil { + return nil + } + out := new(ProjectIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectIAMBindingList) 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 *ProjectIAMBindingObservation) DeepCopyInto(out *ProjectIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMBindingObservation. +func (in *ProjectIAMBindingObservation) DeepCopy() *ProjectIAMBindingObservation { + if in == nil { + return nil + } + out := new(ProjectIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMBindingParameters) DeepCopyInto(out *ProjectIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ProjectIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMBindingParameters. +func (in *ProjectIAMBindingParameters) DeepCopy() *ProjectIAMBindingParameters { + if in == nil { + return nil + } + out := new(ProjectIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMBindingSpec) DeepCopyInto(out *ProjectIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMBindingSpec. +func (in *ProjectIAMBindingSpec) DeepCopy() *ProjectIAMBindingSpec { + if in == nil { + return nil + } + out := new(ProjectIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMBindingStatus) DeepCopyInto(out *ProjectIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMBindingStatus. +func (in *ProjectIAMBindingStatus) DeepCopy() *ProjectIAMBindingStatus { + if in == nil { + return nil + } + out := new(ProjectIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMCustomRole) DeepCopyInto(out *ProjectIAMCustomRole) { + *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 ProjectIAMCustomRole. +func (in *ProjectIAMCustomRole) DeepCopy() *ProjectIAMCustomRole { + if in == nil { + return nil + } + out := new(ProjectIAMCustomRole) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectIAMCustomRole) 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 *ProjectIAMCustomRoleList) DeepCopyInto(out *ProjectIAMCustomRoleList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectIAMCustomRole, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMCustomRoleList. +func (in *ProjectIAMCustomRoleList) DeepCopy() *ProjectIAMCustomRoleList { + if in == nil { + return nil + } + out := new(ProjectIAMCustomRoleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectIAMCustomRoleList) 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 *ProjectIAMCustomRoleObservation) DeepCopyInto(out *ProjectIAMCustomRoleObservation) { + *out = *in + if in.Deleted != nil { + in, out := &in.Deleted, &out.Deleted + *out = new(bool) + **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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMCustomRoleObservation. +func (in *ProjectIAMCustomRoleObservation) DeepCopy() *ProjectIAMCustomRoleObservation { + if in == nil { + return nil + } + out := new(ProjectIAMCustomRoleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMCustomRoleParameters) DeepCopyInto(out *ProjectIAMCustomRoleParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Permissions != nil { + in, out := &in.Permissions, &out.Permissions + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RoleID != nil { + in, out := &in.RoleID, &out.RoleID + *out = new(string) + **out = **in + } + if in.Stage != nil { + in, out := &in.Stage, &out.Stage + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMCustomRoleParameters. +func (in *ProjectIAMCustomRoleParameters) DeepCopy() *ProjectIAMCustomRoleParameters { + if in == nil { + return nil + } + out := new(ProjectIAMCustomRoleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMCustomRoleSpec) DeepCopyInto(out *ProjectIAMCustomRoleSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMCustomRoleSpec. +func (in *ProjectIAMCustomRoleSpec) DeepCopy() *ProjectIAMCustomRoleSpec { + if in == nil { + return nil + } + out := new(ProjectIAMCustomRoleSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMCustomRoleStatus) DeepCopyInto(out *ProjectIAMCustomRoleStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMCustomRoleStatus. +func (in *ProjectIAMCustomRoleStatus) DeepCopy() *ProjectIAMCustomRoleStatus { + if in == nil { + return nil + } + out := new(ProjectIAMCustomRoleStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMMember) DeepCopyInto(out *ProjectIAMMember) { + *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 ProjectIAMMember. +func (in *ProjectIAMMember) DeepCopy() *ProjectIAMMember { + if in == nil { + return nil + } + out := new(ProjectIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectIAMMember) 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 *ProjectIAMMemberConditionObservation) DeepCopyInto(out *ProjectIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMMemberConditionObservation. +func (in *ProjectIAMMemberConditionObservation) DeepCopy() *ProjectIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(ProjectIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMMemberConditionParameters) DeepCopyInto(out *ProjectIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMMemberConditionParameters. +func (in *ProjectIAMMemberConditionParameters) DeepCopy() *ProjectIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(ProjectIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMMemberList) DeepCopyInto(out *ProjectIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMMemberList. +func (in *ProjectIAMMemberList) DeepCopy() *ProjectIAMMemberList { + if in == nil { + return nil + } + out := new(ProjectIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectIAMMemberList) 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 *ProjectIAMMemberObservation) DeepCopyInto(out *ProjectIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMMemberObservation. +func (in *ProjectIAMMemberObservation) DeepCopy() *ProjectIAMMemberObservation { + if in == nil { + return nil + } + out := new(ProjectIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMMemberParameters) DeepCopyInto(out *ProjectIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ProjectIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMMemberParameters. +func (in *ProjectIAMMemberParameters) DeepCopy() *ProjectIAMMemberParameters { + if in == nil { + return nil + } + out := new(ProjectIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMMemberSpec) DeepCopyInto(out *ProjectIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMMemberSpec. +func (in *ProjectIAMMemberSpec) DeepCopy() *ProjectIAMMemberSpec { + if in == nil { + return nil + } + out := new(ProjectIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMMemberStatus) DeepCopyInto(out *ProjectIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMMemberStatus. +func (in *ProjectIAMMemberStatus) DeepCopy() *ProjectIAMMemberStatus { + if in == nil { + return nil + } + out := new(ProjectIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMPolicy) DeepCopyInto(out *ProjectIAMPolicy) { + *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 ProjectIAMPolicy. +func (in *ProjectIAMPolicy) DeepCopy() *ProjectIAMPolicy { + if in == nil { + return nil + } + out := new(ProjectIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectIAMPolicy) 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 *ProjectIAMPolicyList) DeepCopyInto(out *ProjectIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMPolicyList. +func (in *ProjectIAMPolicyList) DeepCopy() *ProjectIAMPolicyList { + if in == nil { + return nil + } + out := new(ProjectIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectIAMPolicyList) 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 *ProjectIAMPolicyObservation) DeepCopyInto(out *ProjectIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMPolicyObservation. +func (in *ProjectIAMPolicyObservation) DeepCopy() *ProjectIAMPolicyObservation { + if in == nil { + return nil + } + out := new(ProjectIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMPolicyParameters) DeepCopyInto(out *ProjectIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMPolicyParameters. +func (in *ProjectIAMPolicyParameters) DeepCopy() *ProjectIAMPolicyParameters { + if in == nil { + return nil + } + out := new(ProjectIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMPolicySpec) DeepCopyInto(out *ProjectIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMPolicySpec. +func (in *ProjectIAMPolicySpec) DeepCopy() *ProjectIAMPolicySpec { + if in == nil { + return nil + } + out := new(ProjectIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectIAMPolicyStatus) DeepCopyInto(out *ProjectIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectIAMPolicyStatus. +func (in *ProjectIAMPolicyStatus) DeepCopy() *ProjectIAMPolicyStatus { + if in == nil { + return nil + } + out := new(ProjectIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectOrganizationPolicy) DeepCopyInto(out *ProjectOrganizationPolicy) { + *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 ProjectOrganizationPolicy. +func (in *ProjectOrganizationPolicy) DeepCopy() *ProjectOrganizationPolicy { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectOrganizationPolicy) 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 *ProjectOrganizationPolicyBooleanPolicyObservation) DeepCopyInto(out *ProjectOrganizationPolicyBooleanPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectOrganizationPolicyBooleanPolicyObservation. +func (in *ProjectOrganizationPolicyBooleanPolicyObservation) DeepCopy() *ProjectOrganizationPolicyBooleanPolicyObservation { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicyBooleanPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectOrganizationPolicyBooleanPolicyParameters) DeepCopyInto(out *ProjectOrganizationPolicyBooleanPolicyParameters) { + *out = *in + if in.Enforced != nil { + in, out := &in.Enforced, &out.Enforced + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectOrganizationPolicyBooleanPolicyParameters. +func (in *ProjectOrganizationPolicyBooleanPolicyParameters) DeepCopy() *ProjectOrganizationPolicyBooleanPolicyParameters { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicyBooleanPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectOrganizationPolicyList) DeepCopyInto(out *ProjectOrganizationPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectOrganizationPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectOrganizationPolicyList. +func (in *ProjectOrganizationPolicyList) DeepCopy() *ProjectOrganizationPolicyList { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectOrganizationPolicyList) 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 *ProjectOrganizationPolicyListPolicyAllowObservation) DeepCopyInto(out *ProjectOrganizationPolicyListPolicyAllowObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectOrganizationPolicyListPolicyAllowObservation. +func (in *ProjectOrganizationPolicyListPolicyAllowObservation) DeepCopy() *ProjectOrganizationPolicyListPolicyAllowObservation { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicyListPolicyAllowObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectOrganizationPolicyListPolicyAllowParameters) DeepCopyInto(out *ProjectOrganizationPolicyListPolicyAllowParameters) { + *out = *in + if in.All != nil { + in, out := &in.All, &out.All + *out = new(bool) + **out = **in + } + if in.Values != nil { + in, out := &in.Values, &out.Values + *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 ProjectOrganizationPolicyListPolicyAllowParameters. +func (in *ProjectOrganizationPolicyListPolicyAllowParameters) DeepCopy() *ProjectOrganizationPolicyListPolicyAllowParameters { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicyListPolicyAllowParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectOrganizationPolicyListPolicyDenyObservation) DeepCopyInto(out *ProjectOrganizationPolicyListPolicyDenyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectOrganizationPolicyListPolicyDenyObservation. +func (in *ProjectOrganizationPolicyListPolicyDenyObservation) DeepCopy() *ProjectOrganizationPolicyListPolicyDenyObservation { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicyListPolicyDenyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectOrganizationPolicyListPolicyDenyParameters) DeepCopyInto(out *ProjectOrganizationPolicyListPolicyDenyParameters) { + *out = *in + if in.All != nil { + in, out := &in.All, &out.All + *out = new(bool) + **out = **in + } + if in.Values != nil { + in, out := &in.Values, &out.Values + *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 ProjectOrganizationPolicyListPolicyDenyParameters. +func (in *ProjectOrganizationPolicyListPolicyDenyParameters) DeepCopy() *ProjectOrganizationPolicyListPolicyDenyParameters { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicyListPolicyDenyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectOrganizationPolicyListPolicyObservation) DeepCopyInto(out *ProjectOrganizationPolicyListPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectOrganizationPolicyListPolicyObservation. +func (in *ProjectOrganizationPolicyListPolicyObservation) DeepCopy() *ProjectOrganizationPolicyListPolicyObservation { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicyListPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectOrganizationPolicyListPolicyParameters) DeepCopyInto(out *ProjectOrganizationPolicyListPolicyParameters) { + *out = *in + if in.Allow != nil { + in, out := &in.Allow, &out.Allow + *out = make([]ProjectOrganizationPolicyListPolicyAllowParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Deny != nil { + in, out := &in.Deny, &out.Deny + *out = make([]ProjectOrganizationPolicyListPolicyDenyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InheritFromParent != nil { + in, out := &in.InheritFromParent, &out.InheritFromParent + *out = new(bool) + **out = **in + } + if in.SuggestedValue != nil { + in, out := &in.SuggestedValue, &out.SuggestedValue + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectOrganizationPolicyListPolicyParameters. +func (in *ProjectOrganizationPolicyListPolicyParameters) DeepCopy() *ProjectOrganizationPolicyListPolicyParameters { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicyListPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectOrganizationPolicyObservation) DeepCopyInto(out *ProjectOrganizationPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectOrganizationPolicyObservation. +func (in *ProjectOrganizationPolicyObservation) DeepCopy() *ProjectOrganizationPolicyObservation { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectOrganizationPolicyParameters) DeepCopyInto(out *ProjectOrganizationPolicyParameters) { + *out = *in + if in.BooleanPolicy != nil { + in, out := &in.BooleanPolicy, &out.BooleanPolicy + *out = make([]ProjectOrganizationPolicyBooleanPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Constraint != nil { + in, out := &in.Constraint, &out.Constraint + *out = new(string) + **out = **in + } + if in.ListPolicy != nil { + in, out := &in.ListPolicy, &out.ListPolicy + *out = make([]ProjectOrganizationPolicyListPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RestorePolicy != nil { + in, out := &in.RestorePolicy, &out.RestorePolicy + *out = make([]ProjectOrganizationPolicyRestorePolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectOrganizationPolicyParameters. +func (in *ProjectOrganizationPolicyParameters) DeepCopy() *ProjectOrganizationPolicyParameters { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectOrganizationPolicyRestorePolicyObservation) DeepCopyInto(out *ProjectOrganizationPolicyRestorePolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectOrganizationPolicyRestorePolicyObservation. +func (in *ProjectOrganizationPolicyRestorePolicyObservation) DeepCopy() *ProjectOrganizationPolicyRestorePolicyObservation { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicyRestorePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectOrganizationPolicyRestorePolicyParameters) DeepCopyInto(out *ProjectOrganizationPolicyRestorePolicyParameters) { + *out = *in + if in.Default != nil { + in, out := &in.Default, &out.Default + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectOrganizationPolicyRestorePolicyParameters. +func (in *ProjectOrganizationPolicyRestorePolicyParameters) DeepCopy() *ProjectOrganizationPolicyRestorePolicyParameters { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicyRestorePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectOrganizationPolicySpec) DeepCopyInto(out *ProjectOrganizationPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectOrganizationPolicySpec. +func (in *ProjectOrganizationPolicySpec) DeepCopy() *ProjectOrganizationPolicySpec { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectOrganizationPolicyStatus) DeepCopyInto(out *ProjectOrganizationPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectOrganizationPolicyStatus. +func (in *ProjectOrganizationPolicyStatus) DeepCopy() *ProjectOrganizationPolicyStatus { + if in == nil { + return nil + } + out := new(ProjectOrganizationPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectService) DeepCopyInto(out *ProjectService) { + *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 ProjectService. +func (in *ProjectService) DeepCopy() *ProjectService { + if in == nil { + return nil + } + out := new(ProjectService) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectService) 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 *ProjectServiceList) DeepCopyInto(out *ProjectServiceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectService, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectServiceList. +func (in *ProjectServiceList) DeepCopy() *ProjectServiceList { + if in == nil { + return nil + } + out := new(ProjectServiceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectServiceList) 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 *ProjectServiceObservation) DeepCopyInto(out *ProjectServiceObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectServiceObservation. +func (in *ProjectServiceObservation) DeepCopy() *ProjectServiceObservation { + if in == nil { + return nil + } + out := new(ProjectServiceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectServiceParameters) DeepCopyInto(out *ProjectServiceParameters) { + *out = *in + if in.DisableDependentServices != nil { + in, out := &in.DisableDependentServices, &out.DisableDependentServices + *out = new(bool) + **out = **in + } + if in.DisableOnDestroy != nil { + in, out := &in.DisableOnDestroy, &out.DisableOnDestroy + *out = new(bool) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectServiceParameters. +func (in *ProjectServiceParameters) DeepCopy() *ProjectServiceParameters { + if in == nil { + return nil + } + out := new(ProjectServiceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectServiceSpec) DeepCopyInto(out *ProjectServiceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectServiceSpec. +func (in *ProjectServiceSpec) DeepCopy() *ProjectServiceSpec { + if in == nil { + return nil + } + out := new(ProjectServiceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectServiceStatus) DeepCopyInto(out *ProjectServiceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectServiceStatus. +func (in *ProjectServiceStatus) DeepCopy() *ProjectServiceStatus { + if in == nil { + return nil + } + out := new(ProjectServiceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectUsageExportBucket) DeepCopyInto(out *ProjectUsageExportBucket) { + *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 ProjectUsageExportBucket. +func (in *ProjectUsageExportBucket) DeepCopy() *ProjectUsageExportBucket { + if in == nil { + return nil + } + out := new(ProjectUsageExportBucket) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectUsageExportBucket) 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 *ProjectUsageExportBucketList) DeepCopyInto(out *ProjectUsageExportBucketList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectUsageExportBucket, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectUsageExportBucketList. +func (in *ProjectUsageExportBucketList) DeepCopy() *ProjectUsageExportBucketList { + if in == nil { + return nil + } + out := new(ProjectUsageExportBucketList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectUsageExportBucketList) 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 *ProjectUsageExportBucketObservation) DeepCopyInto(out *ProjectUsageExportBucketObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectUsageExportBucketObservation. +func (in *ProjectUsageExportBucketObservation) DeepCopy() *ProjectUsageExportBucketObservation { + if in == nil { + return nil + } + out := new(ProjectUsageExportBucketObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectUsageExportBucketParameters) DeepCopyInto(out *ProjectUsageExportBucketParameters) { + *out = *in + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectUsageExportBucketParameters. +func (in *ProjectUsageExportBucketParameters) DeepCopy() *ProjectUsageExportBucketParameters { + if in == nil { + return nil + } + out := new(ProjectUsageExportBucketParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectUsageExportBucketSpec) DeepCopyInto(out *ProjectUsageExportBucketSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectUsageExportBucketSpec. +func (in *ProjectUsageExportBucketSpec) DeepCopy() *ProjectUsageExportBucketSpec { + if in == nil { + return nil + } + out := new(ProjectUsageExportBucketSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectUsageExportBucketStatus) DeepCopyInto(out *ProjectUsageExportBucketStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectUsageExportBucketStatus. +func (in *ProjectUsageExportBucketStatus) DeepCopy() *ProjectUsageExportBucketStatus { + if in == nil { + return nil + } + out := new(ProjectUsageExportBucketStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RestorePolicyObservation) DeepCopyInto(out *RestorePolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestorePolicyObservation. +func (in *RestorePolicyObservation) DeepCopy() *RestorePolicyObservation { + if in == nil { + return nil + } + out := new(RestorePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RestorePolicyParameters) DeepCopyInto(out *RestorePolicyParameters) { + *out = *in + if in.Default != nil { + in, out := &in.Default, &out.Default + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestorePolicyParameters. +func (in *RestorePolicyParameters) DeepCopy() *RestorePolicyParameters { + if in == nil { + return nil + } + out := new(RestorePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMBinding) DeepCopyInto(out *ServiceAccountIAMBinding) { + *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 ServiceAccountIAMBinding. +func (in *ServiceAccountIAMBinding) DeepCopy() *ServiceAccountIAMBinding { + if in == nil { + return nil + } + out := new(ServiceAccountIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceAccountIAMBinding) 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 *ServiceAccountIAMBindingConditionObservation) DeepCopyInto(out *ServiceAccountIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMBindingConditionObservation. +func (in *ServiceAccountIAMBindingConditionObservation) DeepCopy() *ServiceAccountIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(ServiceAccountIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMBindingConditionParameters) DeepCopyInto(out *ServiceAccountIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMBindingConditionParameters. +func (in *ServiceAccountIAMBindingConditionParameters) DeepCopy() *ServiceAccountIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(ServiceAccountIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMBindingList) DeepCopyInto(out *ServiceAccountIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceAccountIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMBindingList. +func (in *ServiceAccountIAMBindingList) DeepCopy() *ServiceAccountIAMBindingList { + if in == nil { + return nil + } + out := new(ServiceAccountIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceAccountIAMBindingList) 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 *ServiceAccountIAMBindingObservation) DeepCopyInto(out *ServiceAccountIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMBindingObservation. +func (in *ServiceAccountIAMBindingObservation) DeepCopy() *ServiceAccountIAMBindingObservation { + if in == nil { + return nil + } + out := new(ServiceAccountIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMBindingParameters) DeepCopyInto(out *ServiceAccountIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ServiceAccountIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.ServiceAccountID != nil { + in, out := &in.ServiceAccountID, &out.ServiceAccountID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMBindingParameters. +func (in *ServiceAccountIAMBindingParameters) DeepCopy() *ServiceAccountIAMBindingParameters { + if in == nil { + return nil + } + out := new(ServiceAccountIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMBindingSpec) DeepCopyInto(out *ServiceAccountIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMBindingSpec. +func (in *ServiceAccountIAMBindingSpec) DeepCopy() *ServiceAccountIAMBindingSpec { + if in == nil { + return nil + } + out := new(ServiceAccountIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMBindingStatus) DeepCopyInto(out *ServiceAccountIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMBindingStatus. +func (in *ServiceAccountIAMBindingStatus) DeepCopy() *ServiceAccountIAMBindingStatus { + if in == nil { + return nil + } + out := new(ServiceAccountIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMMember) DeepCopyInto(out *ServiceAccountIAMMember) { + *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 ServiceAccountIAMMember. +func (in *ServiceAccountIAMMember) DeepCopy() *ServiceAccountIAMMember { + if in == nil { + return nil + } + out := new(ServiceAccountIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceAccountIAMMember) 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 *ServiceAccountIAMMemberConditionObservation) DeepCopyInto(out *ServiceAccountIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMMemberConditionObservation. +func (in *ServiceAccountIAMMemberConditionObservation) DeepCopy() *ServiceAccountIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(ServiceAccountIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMMemberConditionParameters) DeepCopyInto(out *ServiceAccountIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMMemberConditionParameters. +func (in *ServiceAccountIAMMemberConditionParameters) DeepCopy() *ServiceAccountIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(ServiceAccountIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMMemberList) DeepCopyInto(out *ServiceAccountIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceAccountIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMMemberList. +func (in *ServiceAccountIAMMemberList) DeepCopy() *ServiceAccountIAMMemberList { + if in == nil { + return nil + } + out := new(ServiceAccountIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceAccountIAMMemberList) 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 *ServiceAccountIAMMemberObservation) DeepCopyInto(out *ServiceAccountIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMMemberObservation. +func (in *ServiceAccountIAMMemberObservation) DeepCopy() *ServiceAccountIAMMemberObservation { + if in == nil { + return nil + } + out := new(ServiceAccountIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMMemberParameters) DeepCopyInto(out *ServiceAccountIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ServiceAccountIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.ServiceAccountID != nil { + in, out := &in.ServiceAccountID, &out.ServiceAccountID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMMemberParameters. +func (in *ServiceAccountIAMMemberParameters) DeepCopy() *ServiceAccountIAMMemberParameters { + if in == nil { + return nil + } + out := new(ServiceAccountIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMMemberSpec) DeepCopyInto(out *ServiceAccountIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMMemberSpec. +func (in *ServiceAccountIAMMemberSpec) DeepCopy() *ServiceAccountIAMMemberSpec { + if in == nil { + return nil + } + out := new(ServiceAccountIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMMemberStatus) DeepCopyInto(out *ServiceAccountIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMMemberStatus. +func (in *ServiceAccountIAMMemberStatus) DeepCopy() *ServiceAccountIAMMemberStatus { + if in == nil { + return nil + } + out := new(ServiceAccountIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMPolicy) DeepCopyInto(out *ServiceAccountIAMPolicy) { + *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 ServiceAccountIAMPolicy. +func (in *ServiceAccountIAMPolicy) DeepCopy() *ServiceAccountIAMPolicy { + if in == nil { + return nil + } + out := new(ServiceAccountIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceAccountIAMPolicy) 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 *ServiceAccountIAMPolicyList) DeepCopyInto(out *ServiceAccountIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceAccountIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMPolicyList. +func (in *ServiceAccountIAMPolicyList) DeepCopy() *ServiceAccountIAMPolicyList { + if in == nil { + return nil + } + out := new(ServiceAccountIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceAccountIAMPolicyList) 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 *ServiceAccountIAMPolicyObservation) DeepCopyInto(out *ServiceAccountIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMPolicyObservation. +func (in *ServiceAccountIAMPolicyObservation) DeepCopy() *ServiceAccountIAMPolicyObservation { + if in == nil { + return nil + } + out := new(ServiceAccountIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMPolicyParameters) DeepCopyInto(out *ServiceAccountIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.ServiceAccountID != nil { + in, out := &in.ServiceAccountID, &out.ServiceAccountID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMPolicyParameters. +func (in *ServiceAccountIAMPolicyParameters) DeepCopy() *ServiceAccountIAMPolicyParameters { + if in == nil { + return nil + } + out := new(ServiceAccountIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMPolicySpec) DeepCopyInto(out *ServiceAccountIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMPolicySpec. +func (in *ServiceAccountIAMPolicySpec) DeepCopy() *ServiceAccountIAMPolicySpec { + if in == nil { + return nil + } + out := new(ServiceAccountIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountIAMPolicyStatus) DeepCopyInto(out *ServiceAccountIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountIAMPolicyStatus. +func (in *ServiceAccountIAMPolicyStatus) DeepCopy() *ServiceAccountIAMPolicyStatus { + if in == nil { + return nil + } + out := new(ServiceAccountIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceNetworkingPeeredDNSDomain) DeepCopyInto(out *ServiceNetworkingPeeredDNSDomain) { + *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 ServiceNetworkingPeeredDNSDomain. +func (in *ServiceNetworkingPeeredDNSDomain) DeepCopy() *ServiceNetworkingPeeredDNSDomain { + if in == nil { + return nil + } + out := new(ServiceNetworkingPeeredDNSDomain) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceNetworkingPeeredDNSDomain) 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 *ServiceNetworkingPeeredDNSDomainList) DeepCopyInto(out *ServiceNetworkingPeeredDNSDomainList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceNetworkingPeeredDNSDomain, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceNetworkingPeeredDNSDomainList. +func (in *ServiceNetworkingPeeredDNSDomainList) DeepCopy() *ServiceNetworkingPeeredDNSDomainList { + if in == nil { + return nil + } + out := new(ServiceNetworkingPeeredDNSDomainList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceNetworkingPeeredDNSDomainList) 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 *ServiceNetworkingPeeredDNSDomainObservation) DeepCopyInto(out *ServiceNetworkingPeeredDNSDomainObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceNetworkingPeeredDNSDomainObservation. +func (in *ServiceNetworkingPeeredDNSDomainObservation) DeepCopy() *ServiceNetworkingPeeredDNSDomainObservation { + if in == nil { + return nil + } + out := new(ServiceNetworkingPeeredDNSDomainObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceNetworkingPeeredDNSDomainParameters) DeepCopyInto(out *ServiceNetworkingPeeredDNSDomainParameters) { + *out = *in + if in.DNSSuffix != nil { + in, out := &in.DNSSuffix, &out.DNSSuffix + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceNetworkingPeeredDNSDomainParameters. +func (in *ServiceNetworkingPeeredDNSDomainParameters) DeepCopy() *ServiceNetworkingPeeredDNSDomainParameters { + if in == nil { + return nil + } + out := new(ServiceNetworkingPeeredDNSDomainParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceNetworkingPeeredDNSDomainSpec) DeepCopyInto(out *ServiceNetworkingPeeredDNSDomainSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceNetworkingPeeredDNSDomainSpec. +func (in *ServiceNetworkingPeeredDNSDomainSpec) DeepCopy() *ServiceNetworkingPeeredDNSDomainSpec { + if in == nil { + return nil + } + out := new(ServiceNetworkingPeeredDNSDomainSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceNetworkingPeeredDNSDomainStatus) DeepCopyInto(out *ServiceNetworkingPeeredDNSDomainStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceNetworkingPeeredDNSDomainStatus. +func (in *ServiceNetworkingPeeredDNSDomainStatus) DeepCopy() *ServiceNetworkingPeeredDNSDomainStatus { + if in == nil { + return nil + } + out := new(ServiceNetworkingPeeredDNSDomainStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/cloudplatform/v1alpha1/zz_generated.managed.go b/apis/cloudplatform/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..e09bfe59 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_generated.managed.go @@ -0,0 +1,1476 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this BillingSubaccount. +func (mg *BillingSubaccount) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this BillingSubaccount. +func (mg *BillingSubaccount) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this BillingSubaccount. +func (mg *BillingSubaccount) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this BillingSubaccount. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *BillingSubaccount) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this BillingSubaccount. +func (mg *BillingSubaccount) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this BillingSubaccount. +func (mg *BillingSubaccount) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this BillingSubaccount. +func (mg *BillingSubaccount) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this BillingSubaccount. +func (mg *BillingSubaccount) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this BillingSubaccount. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *BillingSubaccount) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this BillingSubaccount. +func (mg *BillingSubaccount) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Folder. +func (mg *Folder) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Folder. +func (mg *Folder) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Folder. +func (mg *Folder) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Folder. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Folder) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Folder. +func (mg *Folder) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Folder. +func (mg *Folder) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Folder. +func (mg *Folder) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Folder. +func (mg *Folder) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Folder. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Folder) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Folder. +func (mg *Folder) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FolderIAMAuditConfig. +func (mg *FolderIAMAuditConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FolderIAMAuditConfig. +func (mg *FolderIAMAuditConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FolderIAMAuditConfig. +func (mg *FolderIAMAuditConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FolderIAMAuditConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FolderIAMAuditConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FolderIAMAuditConfig. +func (mg *FolderIAMAuditConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FolderIAMAuditConfig. +func (mg *FolderIAMAuditConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FolderIAMAuditConfig. +func (mg *FolderIAMAuditConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FolderIAMAuditConfig. +func (mg *FolderIAMAuditConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FolderIAMAuditConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FolderIAMAuditConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FolderIAMAuditConfig. +func (mg *FolderIAMAuditConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FolderIAMBinding. +func (mg *FolderIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FolderIAMBinding. +func (mg *FolderIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FolderIAMBinding. +func (mg *FolderIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FolderIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FolderIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FolderIAMBinding. +func (mg *FolderIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FolderIAMBinding. +func (mg *FolderIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FolderIAMBinding. +func (mg *FolderIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FolderIAMBinding. +func (mg *FolderIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FolderIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FolderIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FolderIAMBinding. +func (mg *FolderIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FolderIAMMember. +func (mg *FolderIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FolderIAMMember. +func (mg *FolderIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FolderIAMMember. +func (mg *FolderIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FolderIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FolderIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FolderIAMMember. +func (mg *FolderIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FolderIAMMember. +func (mg *FolderIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FolderIAMMember. +func (mg *FolderIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FolderIAMMember. +func (mg *FolderIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FolderIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FolderIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FolderIAMMember. +func (mg *FolderIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FolderIAMPolicy. +func (mg *FolderIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FolderIAMPolicy. +func (mg *FolderIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FolderIAMPolicy. +func (mg *FolderIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FolderIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FolderIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FolderIAMPolicy. +func (mg *FolderIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FolderIAMPolicy. +func (mg *FolderIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FolderIAMPolicy. +func (mg *FolderIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FolderIAMPolicy. +func (mg *FolderIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FolderIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FolderIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FolderIAMPolicy. +func (mg *FolderIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FolderOrganizationPolicy. +func (mg *FolderOrganizationPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FolderOrganizationPolicy. +func (mg *FolderOrganizationPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FolderOrganizationPolicy. +func (mg *FolderOrganizationPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FolderOrganizationPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FolderOrganizationPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FolderOrganizationPolicy. +func (mg *FolderOrganizationPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FolderOrganizationPolicy. +func (mg *FolderOrganizationPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FolderOrganizationPolicy. +func (mg *FolderOrganizationPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FolderOrganizationPolicy. +func (mg *FolderOrganizationPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FolderOrganizationPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FolderOrganizationPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FolderOrganizationPolicy. +func (mg *FolderOrganizationPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this OrganizationIAMAuditConfig. +func (mg *OrganizationIAMAuditConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this OrganizationIAMAuditConfig. +func (mg *OrganizationIAMAuditConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this OrganizationIAMAuditConfig. +func (mg *OrganizationIAMAuditConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this OrganizationIAMAuditConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *OrganizationIAMAuditConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this OrganizationIAMAuditConfig. +func (mg *OrganizationIAMAuditConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this OrganizationIAMAuditConfig. +func (mg *OrganizationIAMAuditConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this OrganizationIAMAuditConfig. +func (mg *OrganizationIAMAuditConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this OrganizationIAMAuditConfig. +func (mg *OrganizationIAMAuditConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this OrganizationIAMAuditConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *OrganizationIAMAuditConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this OrganizationIAMAuditConfig. +func (mg *OrganizationIAMAuditConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this OrganizationIAMBinding. +func (mg *OrganizationIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this OrganizationIAMBinding. +func (mg *OrganizationIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this OrganizationIAMBinding. +func (mg *OrganizationIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this OrganizationIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *OrganizationIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this OrganizationIAMBinding. +func (mg *OrganizationIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this OrganizationIAMBinding. +func (mg *OrganizationIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this OrganizationIAMBinding. +func (mg *OrganizationIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this OrganizationIAMBinding. +func (mg *OrganizationIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this OrganizationIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *OrganizationIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this OrganizationIAMBinding. +func (mg *OrganizationIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this OrganizationIAMCustomRole. +func (mg *OrganizationIAMCustomRole) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this OrganizationIAMCustomRole. +func (mg *OrganizationIAMCustomRole) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this OrganizationIAMCustomRole. +func (mg *OrganizationIAMCustomRole) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this OrganizationIAMCustomRole. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *OrganizationIAMCustomRole) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this OrganizationIAMCustomRole. +func (mg *OrganizationIAMCustomRole) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this OrganizationIAMCustomRole. +func (mg *OrganizationIAMCustomRole) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this OrganizationIAMCustomRole. +func (mg *OrganizationIAMCustomRole) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this OrganizationIAMCustomRole. +func (mg *OrganizationIAMCustomRole) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this OrganizationIAMCustomRole. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *OrganizationIAMCustomRole) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this OrganizationIAMCustomRole. +func (mg *OrganizationIAMCustomRole) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this OrganizationIAMMember. +func (mg *OrganizationIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this OrganizationIAMMember. +func (mg *OrganizationIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this OrganizationIAMMember. +func (mg *OrganizationIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this OrganizationIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *OrganizationIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this OrganizationIAMMember. +func (mg *OrganizationIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this OrganizationIAMMember. +func (mg *OrganizationIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this OrganizationIAMMember. +func (mg *OrganizationIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this OrganizationIAMMember. +func (mg *OrganizationIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this OrganizationIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *OrganizationIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this OrganizationIAMMember. +func (mg *OrganizationIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this OrganizationIAMPolicy. +func (mg *OrganizationIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this OrganizationIAMPolicy. +func (mg *OrganizationIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this OrganizationIAMPolicy. +func (mg *OrganizationIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this OrganizationIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *OrganizationIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this OrganizationIAMPolicy. +func (mg *OrganizationIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this OrganizationIAMPolicy. +func (mg *OrganizationIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this OrganizationIAMPolicy. +func (mg *OrganizationIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this OrganizationIAMPolicy. +func (mg *OrganizationIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this OrganizationIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *OrganizationIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this OrganizationIAMPolicy. +func (mg *OrganizationIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this OrganizationPolicy. +func (mg *OrganizationPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this OrganizationPolicy. +func (mg *OrganizationPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this OrganizationPolicy. +func (mg *OrganizationPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this OrganizationPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *OrganizationPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this OrganizationPolicy. +func (mg *OrganizationPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this OrganizationPolicy. +func (mg *OrganizationPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this OrganizationPolicy. +func (mg *OrganizationPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this OrganizationPolicy. +func (mg *OrganizationPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this OrganizationPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *OrganizationPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this OrganizationPolicy. +func (mg *OrganizationPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectDefaultServiceAccounts. +func (mg *ProjectDefaultServiceAccounts) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectDefaultServiceAccounts. +func (mg *ProjectDefaultServiceAccounts) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectDefaultServiceAccounts. +func (mg *ProjectDefaultServiceAccounts) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectDefaultServiceAccounts. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectDefaultServiceAccounts) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectDefaultServiceAccounts. +func (mg *ProjectDefaultServiceAccounts) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectDefaultServiceAccounts. +func (mg *ProjectDefaultServiceAccounts) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectDefaultServiceAccounts. +func (mg *ProjectDefaultServiceAccounts) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectDefaultServiceAccounts. +func (mg *ProjectDefaultServiceAccounts) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectDefaultServiceAccounts. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectDefaultServiceAccounts) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectDefaultServiceAccounts. +func (mg *ProjectDefaultServiceAccounts) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectIAMAuditConfig. +func (mg *ProjectIAMAuditConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectIAMAuditConfig. +func (mg *ProjectIAMAuditConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectIAMAuditConfig. +func (mg *ProjectIAMAuditConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectIAMAuditConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectIAMAuditConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectIAMAuditConfig. +func (mg *ProjectIAMAuditConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectIAMAuditConfig. +func (mg *ProjectIAMAuditConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectIAMAuditConfig. +func (mg *ProjectIAMAuditConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectIAMAuditConfig. +func (mg *ProjectIAMAuditConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectIAMAuditConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectIAMAuditConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectIAMAuditConfig. +func (mg *ProjectIAMAuditConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectIAMBinding. +func (mg *ProjectIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectIAMBinding. +func (mg *ProjectIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectIAMBinding. +func (mg *ProjectIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectIAMBinding. +func (mg *ProjectIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectIAMBinding. +func (mg *ProjectIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectIAMBinding. +func (mg *ProjectIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectIAMBinding. +func (mg *ProjectIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectIAMBinding. +func (mg *ProjectIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectIAMCustomRole. +func (mg *ProjectIAMCustomRole) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectIAMCustomRole. +func (mg *ProjectIAMCustomRole) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectIAMCustomRole. +func (mg *ProjectIAMCustomRole) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectIAMCustomRole. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectIAMCustomRole) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectIAMCustomRole. +func (mg *ProjectIAMCustomRole) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectIAMCustomRole. +func (mg *ProjectIAMCustomRole) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectIAMCustomRole. +func (mg *ProjectIAMCustomRole) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectIAMCustomRole. +func (mg *ProjectIAMCustomRole) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectIAMCustomRole. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectIAMCustomRole) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectIAMCustomRole. +func (mg *ProjectIAMCustomRole) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectIAMMember. +func (mg *ProjectIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectIAMMember. +func (mg *ProjectIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectIAMMember. +func (mg *ProjectIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectIAMMember. +func (mg *ProjectIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectIAMMember. +func (mg *ProjectIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectIAMMember. +func (mg *ProjectIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectIAMMember. +func (mg *ProjectIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectIAMMember. +func (mg *ProjectIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectIAMPolicy. +func (mg *ProjectIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectIAMPolicy. +func (mg *ProjectIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectIAMPolicy. +func (mg *ProjectIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectIAMPolicy. +func (mg *ProjectIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectIAMPolicy. +func (mg *ProjectIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectIAMPolicy. +func (mg *ProjectIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectIAMPolicy. +func (mg *ProjectIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectIAMPolicy. +func (mg *ProjectIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectOrganizationPolicy. +func (mg *ProjectOrganizationPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectOrganizationPolicy. +func (mg *ProjectOrganizationPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectOrganizationPolicy. +func (mg *ProjectOrganizationPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectOrganizationPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectOrganizationPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectOrganizationPolicy. +func (mg *ProjectOrganizationPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectOrganizationPolicy. +func (mg *ProjectOrganizationPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectOrganizationPolicy. +func (mg *ProjectOrganizationPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectOrganizationPolicy. +func (mg *ProjectOrganizationPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectOrganizationPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectOrganizationPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectOrganizationPolicy. +func (mg *ProjectOrganizationPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectService. +func (mg *ProjectService) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectService. +func (mg *ProjectService) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectService. +func (mg *ProjectService) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectService. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectService) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectService. +func (mg *ProjectService) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectService. +func (mg *ProjectService) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectService. +func (mg *ProjectService) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectService. +func (mg *ProjectService) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectService. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectService) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectService. +func (mg *ProjectService) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectUsageExportBucket. +func (mg *ProjectUsageExportBucket) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectUsageExportBucket. +func (mg *ProjectUsageExportBucket) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectUsageExportBucket. +func (mg *ProjectUsageExportBucket) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectUsageExportBucket. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectUsageExportBucket) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectUsageExportBucket. +func (mg *ProjectUsageExportBucket) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectUsageExportBucket. +func (mg *ProjectUsageExportBucket) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectUsageExportBucket. +func (mg *ProjectUsageExportBucket) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectUsageExportBucket. +func (mg *ProjectUsageExportBucket) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectUsageExportBucket. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectUsageExportBucket) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectUsageExportBucket. +func (mg *ProjectUsageExportBucket) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServiceAccountIAMBinding. +func (mg *ServiceAccountIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServiceAccountIAMBinding. +func (mg *ServiceAccountIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServiceAccountIAMBinding. +func (mg *ServiceAccountIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServiceAccountIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServiceAccountIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServiceAccountIAMBinding. +func (mg *ServiceAccountIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServiceAccountIAMBinding. +func (mg *ServiceAccountIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServiceAccountIAMBinding. +func (mg *ServiceAccountIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServiceAccountIAMBinding. +func (mg *ServiceAccountIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServiceAccountIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServiceAccountIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServiceAccountIAMBinding. +func (mg *ServiceAccountIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServiceAccountIAMMember. +func (mg *ServiceAccountIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServiceAccountIAMMember. +func (mg *ServiceAccountIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServiceAccountIAMMember. +func (mg *ServiceAccountIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServiceAccountIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServiceAccountIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServiceAccountIAMMember. +func (mg *ServiceAccountIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServiceAccountIAMMember. +func (mg *ServiceAccountIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServiceAccountIAMMember. +func (mg *ServiceAccountIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServiceAccountIAMMember. +func (mg *ServiceAccountIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServiceAccountIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServiceAccountIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServiceAccountIAMMember. +func (mg *ServiceAccountIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServiceAccountIAMPolicy. +func (mg *ServiceAccountIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServiceAccountIAMPolicy. +func (mg *ServiceAccountIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServiceAccountIAMPolicy. +func (mg *ServiceAccountIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServiceAccountIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServiceAccountIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServiceAccountIAMPolicy. +func (mg *ServiceAccountIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServiceAccountIAMPolicy. +func (mg *ServiceAccountIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServiceAccountIAMPolicy. +func (mg *ServiceAccountIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServiceAccountIAMPolicy. +func (mg *ServiceAccountIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServiceAccountIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServiceAccountIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServiceAccountIAMPolicy. +func (mg *ServiceAccountIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServiceNetworkingPeeredDNSDomain. +func (mg *ServiceNetworkingPeeredDNSDomain) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServiceNetworkingPeeredDNSDomain. +func (mg *ServiceNetworkingPeeredDNSDomain) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServiceNetworkingPeeredDNSDomain. +func (mg *ServiceNetworkingPeeredDNSDomain) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServiceNetworkingPeeredDNSDomain. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServiceNetworkingPeeredDNSDomain) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServiceNetworkingPeeredDNSDomain. +func (mg *ServiceNetworkingPeeredDNSDomain) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServiceNetworkingPeeredDNSDomain. +func (mg *ServiceNetworkingPeeredDNSDomain) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServiceNetworkingPeeredDNSDomain. +func (mg *ServiceNetworkingPeeredDNSDomain) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServiceNetworkingPeeredDNSDomain. +func (mg *ServiceNetworkingPeeredDNSDomain) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServiceNetworkingPeeredDNSDomain. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServiceNetworkingPeeredDNSDomain) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServiceNetworkingPeeredDNSDomain. +func (mg *ServiceNetworkingPeeredDNSDomain) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/cloudplatform/v1alpha1/zz_generated.managedlist.go b/apis/cloudplatform/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..860259a2 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,254 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this BillingSubaccountList. +func (l *BillingSubaccountList) 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 FolderIAMAuditConfigList. +func (l *FolderIAMAuditConfigList) 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 FolderIAMBindingList. +func (l *FolderIAMBindingList) 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 FolderIAMMemberList. +func (l *FolderIAMMemberList) 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 FolderIAMPolicyList. +func (l *FolderIAMPolicyList) 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 FolderList. +func (l *FolderList) 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 FolderOrganizationPolicyList. +func (l *FolderOrganizationPolicyList) 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 OrganizationIAMAuditConfigList. +func (l *OrganizationIAMAuditConfigList) 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 OrganizationIAMBindingList. +func (l *OrganizationIAMBindingList) 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 OrganizationIAMCustomRoleList. +func (l *OrganizationIAMCustomRoleList) 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 OrganizationIAMMemberList. +func (l *OrganizationIAMMemberList) 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 OrganizationIAMPolicyList. +func (l *OrganizationIAMPolicyList) 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 OrganizationPolicyList. +func (l *OrganizationPolicyList) 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 ProjectDefaultServiceAccountsList. +func (l *ProjectDefaultServiceAccountsList) 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 ProjectIAMAuditConfigList. +func (l *ProjectIAMAuditConfigList) 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 ProjectIAMBindingList. +func (l *ProjectIAMBindingList) 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 ProjectIAMCustomRoleList. +func (l *ProjectIAMCustomRoleList) 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 ProjectIAMMemberList. +func (l *ProjectIAMMemberList) 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 ProjectIAMPolicyList. +func (l *ProjectIAMPolicyList) 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 ProjectOrganizationPolicyList. +func (l *ProjectOrganizationPolicyList) 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 ProjectServiceList. +func (l *ProjectServiceList) 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 ProjectUsageExportBucketList. +func (l *ProjectUsageExportBucketList) 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 ServiceAccountIAMBindingList. +func (l *ServiceAccountIAMBindingList) 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 ServiceAccountIAMMemberList. +func (l *ServiceAccountIAMMemberList) 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 ServiceAccountIAMPolicyList. +func (l *ServiceAccountIAMPolicyList) 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 ServiceNetworkingPeeredDNSDomainList. +func (l *ServiceNetworkingPeeredDNSDomainList) 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/cloudplatform/v1alpha1/zz_groupversion_info.go b/apis/cloudplatform/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..c12923fe --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=cloudplatform.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "cloudplatform.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/cloudplatform/v1alpha1/zz_organizationiamauditconfig_terraformed.go b/apis/cloudplatform/v1alpha1/zz_organizationiamauditconfig_terraformed.go new file mode 100755 index 00000000..4173f72e --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_organizationiamauditconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this OrganizationIAMAuditConfig +func (mg *OrganizationIAMAuditConfig) GetTerraformResourceType() string { + return "google_organization_iam_audit_config" +} + +// GetConnectionDetailsMapping for this OrganizationIAMAuditConfig +func (tr *OrganizationIAMAuditConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this OrganizationIAMAuditConfig +func (tr *OrganizationIAMAuditConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this OrganizationIAMAuditConfig +func (tr *OrganizationIAMAuditConfig) SetObservation(obs map[string]interface{}) 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 OrganizationIAMAuditConfig +func (tr *OrganizationIAMAuditConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this OrganizationIAMAuditConfig +func (tr *OrganizationIAMAuditConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this OrganizationIAMAuditConfig +func (tr *OrganizationIAMAuditConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this OrganizationIAMAuditConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *OrganizationIAMAuditConfig) LateInitialize(attrs []byte) (bool, error) { + params := &OrganizationIAMAuditConfigParameters{} + 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 *OrganizationIAMAuditConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_organizationiamauditconfig_types.go b/apis/cloudplatform/v1alpha1/zz_organizationiamauditconfig_types.go new file mode 100755 index 00000000..615c11cb --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_organizationiamauditconfig_types.go @@ -0,0 +1,110 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 OrganizationIAMAuditConfigAuditLogConfigObservation struct { +} + +type OrganizationIAMAuditConfigAuditLogConfigParameters struct { + + // Identities that do not cause logging for this type of permission. Each entry can have one of the following values:user:{emailid}: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. serviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. + // +kubebuilder:validation:Optional + ExemptedMembers []*string `json:"exemptedMembers,omitempty" tf:"exempted_members,omitempty"` + + // Permission type for which logging is to be configured. Must be one of DATA_READ, DATA_WRITE, or ADMIN_READ. + // +kubebuilder:validation:Required + LogType *string `json:"logType" tf:"log_type,omitempty"` +} + +type OrganizationIAMAuditConfigObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type OrganizationIAMAuditConfigParameters struct { + + // The configuration for logging of each type of permission. This can be specified multiple times. + // +kubebuilder:validation:Required + AuditLogConfig []OrganizationIAMAuditConfigAuditLogConfigParameters `json:"auditLogConfig" tf:"audit_log_config,omitempty"` + + // The numeric ID of the organization in which you want to manage the audit logging config. + // +kubebuilder:validation:Required + OrgID *string `json:"orgId" tf:"org_id,omitempty"` + + // Service which will be enabled for audit logging. The special value allServices covers all services. + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +// OrganizationIAMAuditConfigSpec defines the desired state of OrganizationIAMAuditConfig +type OrganizationIAMAuditConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider OrganizationIAMAuditConfigParameters `json:"forProvider"` +} + +// OrganizationIAMAuditConfigStatus defines the observed state of OrganizationIAMAuditConfig. +type OrganizationIAMAuditConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider OrganizationIAMAuditConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationIAMAuditConfig is the Schema for the OrganizationIAMAuditConfigs 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,gcpjet} +type OrganizationIAMAuditConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec OrganizationIAMAuditConfigSpec `json:"spec"` + Status OrganizationIAMAuditConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationIAMAuditConfigList contains a list of OrganizationIAMAuditConfigs +type OrganizationIAMAuditConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []OrganizationIAMAuditConfig `json:"items"` +} + +// Repository type metadata. +var ( + OrganizationIAMAuditConfig_Kind = "OrganizationIAMAuditConfig" + OrganizationIAMAuditConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: OrganizationIAMAuditConfig_Kind}.String() + OrganizationIAMAuditConfig_KindAPIVersion = OrganizationIAMAuditConfig_Kind + "." + CRDGroupVersion.String() + OrganizationIAMAuditConfig_GroupVersionKind = CRDGroupVersion.WithKind(OrganizationIAMAuditConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&OrganizationIAMAuditConfig{}, &OrganizationIAMAuditConfigList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_organizationiambinding_terraformed.go b/apis/cloudplatform/v1alpha1/zz_organizationiambinding_terraformed.go new file mode 100755 index 00000000..d38013c8 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_organizationiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this OrganizationIAMBinding +func (mg *OrganizationIAMBinding) GetTerraformResourceType() string { + return "google_organization_iam_binding" +} + +// GetConnectionDetailsMapping for this OrganizationIAMBinding +func (tr *OrganizationIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this OrganizationIAMBinding +func (tr *OrganizationIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this OrganizationIAMBinding +func (tr *OrganizationIAMBinding) SetObservation(obs map[string]interface{}) 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 OrganizationIAMBinding +func (tr *OrganizationIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this OrganizationIAMBinding +func (tr *OrganizationIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this OrganizationIAMBinding +func (tr *OrganizationIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this OrganizationIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *OrganizationIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &OrganizationIAMBindingParameters{} + 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 *OrganizationIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_organizationiambinding_types.go b/apis/cloudplatform/v1alpha1/zz_organizationiambinding_types.go new file mode 100755 index 00000000..9c8385a8 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_organizationiambinding_types.go @@ -0,0 +1,112 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 OrganizationIAMBindingConditionObservation struct { +} + +type OrganizationIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type OrganizationIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type OrganizationIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []OrganizationIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // The numeric ID of the organization in which you want to manage the audit logging config. + // +kubebuilder:validation:Required + OrgID *string `json:"orgId" tf:"org_id,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// OrganizationIAMBindingSpec defines the desired state of OrganizationIAMBinding +type OrganizationIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider OrganizationIAMBindingParameters `json:"forProvider"` +} + +// OrganizationIAMBindingStatus defines the observed state of OrganizationIAMBinding. +type OrganizationIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider OrganizationIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationIAMBinding is the Schema for the OrganizationIAMBindings 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,gcpjet} +type OrganizationIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec OrganizationIAMBindingSpec `json:"spec"` + Status OrganizationIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationIAMBindingList contains a list of OrganizationIAMBindings +type OrganizationIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []OrganizationIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + OrganizationIAMBinding_Kind = "OrganizationIAMBinding" + OrganizationIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: OrganizationIAMBinding_Kind}.String() + OrganizationIAMBinding_KindAPIVersion = OrganizationIAMBinding_Kind + "." + CRDGroupVersion.String() + OrganizationIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(OrganizationIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&OrganizationIAMBinding{}, &OrganizationIAMBindingList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_organizationiamcustomrole_terraformed.go b/apis/cloudplatform/v1alpha1/zz_organizationiamcustomrole_terraformed.go new file mode 100755 index 00000000..f8d1fca1 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_organizationiamcustomrole_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this OrganizationIAMCustomRole +func (mg *OrganizationIAMCustomRole) GetTerraformResourceType() string { + return "google_organization_iam_custom_role" +} + +// GetConnectionDetailsMapping for this OrganizationIAMCustomRole +func (tr *OrganizationIAMCustomRole) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this OrganizationIAMCustomRole +func (tr *OrganizationIAMCustomRole) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this OrganizationIAMCustomRole +func (tr *OrganizationIAMCustomRole) SetObservation(obs map[string]interface{}) 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 OrganizationIAMCustomRole +func (tr *OrganizationIAMCustomRole) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this OrganizationIAMCustomRole +func (tr *OrganizationIAMCustomRole) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this OrganizationIAMCustomRole +func (tr *OrganizationIAMCustomRole) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this OrganizationIAMCustomRole using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *OrganizationIAMCustomRole) LateInitialize(attrs []byte) (bool, error) { + params := &OrganizationIAMCustomRoleParameters{} + 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 *OrganizationIAMCustomRole) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_organizationiamcustomrole_types.go b/apis/cloudplatform/v1alpha1/zz_organizationiamcustomrole_types.go new file mode 100755 index 00000000..204dd7ce --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_organizationiamcustomrole_types.go @@ -0,0 +1,110 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 OrganizationIAMCustomRoleObservation struct { + Deleted *bool `json:"deleted,omitempty" tf:"deleted,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type OrganizationIAMCustomRoleParameters struct { + + // A human-readable description for the role. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The numeric ID of the organization in which you want to create a custom role. + // +kubebuilder:validation:Required + OrgID *string `json:"orgId" tf:"org_id,omitempty"` + + // The names of the permissions this role grants when bound in an IAM policy. At least one permission must be specified. + // +kubebuilder:validation:Required + Permissions []*string `json:"permissions" tf:"permissions,omitempty"` + + // The role id to use for this role. + // +kubebuilder:validation:Required + RoleID *string `json:"roleId" tf:"role_id,omitempty"` + + // The current launch stage of the role. Defaults to GA. + // +kubebuilder:validation:Optional + Stage *string `json:"stage,omitempty" tf:"stage,omitempty"` + + // A human-readable title for the role. + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +// OrganizationIAMCustomRoleSpec defines the desired state of OrganizationIAMCustomRole +type OrganizationIAMCustomRoleSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider OrganizationIAMCustomRoleParameters `json:"forProvider"` +} + +// OrganizationIAMCustomRoleStatus defines the observed state of OrganizationIAMCustomRole. +type OrganizationIAMCustomRoleStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider OrganizationIAMCustomRoleObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationIAMCustomRole is the Schema for the OrganizationIAMCustomRoles 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,gcpjet} +type OrganizationIAMCustomRole struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec OrganizationIAMCustomRoleSpec `json:"spec"` + Status OrganizationIAMCustomRoleStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationIAMCustomRoleList contains a list of OrganizationIAMCustomRoles +type OrganizationIAMCustomRoleList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []OrganizationIAMCustomRole `json:"items"` +} + +// Repository type metadata. +var ( + OrganizationIAMCustomRole_Kind = "OrganizationIAMCustomRole" + OrganizationIAMCustomRole_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: OrganizationIAMCustomRole_Kind}.String() + OrganizationIAMCustomRole_KindAPIVersion = OrganizationIAMCustomRole_Kind + "." + CRDGroupVersion.String() + OrganizationIAMCustomRole_GroupVersionKind = CRDGroupVersion.WithKind(OrganizationIAMCustomRole_Kind) +) + +func init() { + SchemeBuilder.Register(&OrganizationIAMCustomRole{}, &OrganizationIAMCustomRoleList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_organizationiammember_terraformed.go b/apis/cloudplatform/v1alpha1/zz_organizationiammember_terraformed.go new file mode 100755 index 00000000..40e73886 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_organizationiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this OrganizationIAMMember +func (mg *OrganizationIAMMember) GetTerraformResourceType() string { + return "google_organization_iam_member" +} + +// GetConnectionDetailsMapping for this OrganizationIAMMember +func (tr *OrganizationIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this OrganizationIAMMember +func (tr *OrganizationIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this OrganizationIAMMember +func (tr *OrganizationIAMMember) SetObservation(obs map[string]interface{}) 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 OrganizationIAMMember +func (tr *OrganizationIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this OrganizationIAMMember +func (tr *OrganizationIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this OrganizationIAMMember +func (tr *OrganizationIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this OrganizationIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *OrganizationIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &OrganizationIAMMemberParameters{} + 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 *OrganizationIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_organizationiammember_types.go b/apis/cloudplatform/v1alpha1/zz_organizationiammember_types.go new file mode 100755 index 00000000..cd9d7d92 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_organizationiammember_types.go @@ -0,0 +1,112 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 OrganizationIAMMemberConditionObservation struct { +} + +type OrganizationIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type OrganizationIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type OrganizationIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []OrganizationIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // The numeric ID of the organization in which you want to manage the audit logging config. + // +kubebuilder:validation:Required + OrgID *string `json:"orgId" tf:"org_id,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// OrganizationIAMMemberSpec defines the desired state of OrganizationIAMMember +type OrganizationIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider OrganizationIAMMemberParameters `json:"forProvider"` +} + +// OrganizationIAMMemberStatus defines the observed state of OrganizationIAMMember. +type OrganizationIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider OrganizationIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationIAMMember is the Schema for the OrganizationIAMMembers 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,gcpjet} +type OrganizationIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec OrganizationIAMMemberSpec `json:"spec"` + Status OrganizationIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationIAMMemberList contains a list of OrganizationIAMMembers +type OrganizationIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []OrganizationIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + OrganizationIAMMember_Kind = "OrganizationIAMMember" + OrganizationIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: OrganizationIAMMember_Kind}.String() + OrganizationIAMMember_KindAPIVersion = OrganizationIAMMember_Kind + "." + CRDGroupVersion.String() + OrganizationIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(OrganizationIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&OrganizationIAMMember{}, &OrganizationIAMMemberList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_organizationiampolicy_terraformed.go b/apis/cloudplatform/v1alpha1/zz_organizationiampolicy_terraformed.go new file mode 100755 index 00000000..1127741e --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_organizationiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this OrganizationIAMPolicy +func (mg *OrganizationIAMPolicy) GetTerraformResourceType() string { + return "google_organization_iam_policy" +} + +// GetConnectionDetailsMapping for this OrganizationIAMPolicy +func (tr *OrganizationIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this OrganizationIAMPolicy +func (tr *OrganizationIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this OrganizationIAMPolicy +func (tr *OrganizationIAMPolicy) SetObservation(obs map[string]interface{}) 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 OrganizationIAMPolicy +func (tr *OrganizationIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this OrganizationIAMPolicy +func (tr *OrganizationIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this OrganizationIAMPolicy +func (tr *OrganizationIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this OrganizationIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *OrganizationIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &OrganizationIAMPolicyParameters{} + 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 *OrganizationIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_organizationiampolicy_types.go b/apis/cloudplatform/v1alpha1/zz_organizationiampolicy_types.go new file mode 100755 index 00000000..2a174b3a --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_organizationiampolicy_types.go @@ -0,0 +1,91 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 OrganizationIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type OrganizationIAMPolicyParameters struct { + + // The numeric ID of the organization in which you want to manage the audit logging config. + // +kubebuilder:validation:Required + OrgID *string `json:"orgId" tf:"org_id,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` +} + +// OrganizationIAMPolicySpec defines the desired state of OrganizationIAMPolicy +type OrganizationIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider OrganizationIAMPolicyParameters `json:"forProvider"` +} + +// OrganizationIAMPolicyStatus defines the observed state of OrganizationIAMPolicy. +type OrganizationIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider OrganizationIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationIAMPolicy is the Schema for the OrganizationIAMPolicys 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,gcpjet} +type OrganizationIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec OrganizationIAMPolicySpec `json:"spec"` + Status OrganizationIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationIAMPolicyList contains a list of OrganizationIAMPolicys +type OrganizationIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []OrganizationIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + OrganizationIAMPolicy_Kind = "OrganizationIAMPolicy" + OrganizationIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: OrganizationIAMPolicy_Kind}.String() + OrganizationIAMPolicy_KindAPIVersion = OrganizationIAMPolicy_Kind + "." + CRDGroupVersion.String() + OrganizationIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(OrganizationIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&OrganizationIAMPolicy{}, &OrganizationIAMPolicyList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_organizationpolicy_terraformed.go b/apis/cloudplatform/v1alpha1/zz_organizationpolicy_terraformed.go new file mode 100755 index 00000000..ecf03362 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_organizationpolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this OrganizationPolicy +func (mg *OrganizationPolicy) GetTerraformResourceType() string { + return "google_organization_policy" +} + +// GetConnectionDetailsMapping for this OrganizationPolicy +func (tr *OrganizationPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this OrganizationPolicy +func (tr *OrganizationPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this OrganizationPolicy +func (tr *OrganizationPolicy) SetObservation(obs map[string]interface{}) 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 OrganizationPolicy +func (tr *OrganizationPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this OrganizationPolicy +func (tr *OrganizationPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this OrganizationPolicy +func (tr *OrganizationPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this OrganizationPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *OrganizationPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &OrganizationPolicyParameters{} + 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 *OrganizationPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_organizationpolicy_types.go b/apis/cloudplatform/v1alpha1/zz_organizationpolicy_types.go new file mode 100755 index 00000000..1284cba8 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_organizationpolicy_types.go @@ -0,0 +1,179 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ListPolicyAllowObservation struct { +} + +type ListPolicyAllowParameters struct { + + // The policy allows or denies all values. + // +kubebuilder:validation:Optional + All *bool `json:"all,omitempty" tf:"all,omitempty"` + + // The policy can define specific values that are allowed or denied. + // +kubebuilder:validation:Optional + Values []*string `json:"values,omitempty" tf:"values,omitempty"` +} + +type ListPolicyDenyObservation struct { +} + +type ListPolicyDenyParameters struct { + + // The policy allows or denies all values. + // +kubebuilder:validation:Optional + All *bool `json:"all,omitempty" tf:"all,omitempty"` + + // The policy can define specific values that are allowed or denied. + // +kubebuilder:validation:Optional + Values []*string `json:"values,omitempty" tf:"values,omitempty"` +} + +type OrganizationPolicyBooleanPolicyObservation struct { +} + +type OrganizationPolicyBooleanPolicyParameters struct { + + // If true, then the Policy is enforced. If false, then any configuration is acceptable. + // +kubebuilder:validation:Required + Enforced *bool `json:"enforced" tf:"enforced,omitempty"` +} + +type OrganizationPolicyListPolicyObservation struct { +} + +type OrganizationPolicyListPolicyParameters struct { + + // One or the other must be set. + // +kubebuilder:validation:Optional + Allow []ListPolicyAllowParameters `json:"allow,omitempty" tf:"allow,omitempty"` + + // One or the other must be set. + // +kubebuilder:validation:Optional + Deny []ListPolicyDenyParameters `json:"deny,omitempty" tf:"deny,omitempty"` + + // If set to true, the values from the effective Policy of the parent resource are inherited, meaning the values set in this Policy are added to the values inherited up the hierarchy. + // +kubebuilder:validation:Optional + InheritFromParent *bool `json:"inheritFromParent,omitempty" tf:"inherit_from_parent,omitempty"` + + // The Google Cloud Console will try to default to a configuration that matches the value specified in this field. + // +kubebuilder:validation:Optional + SuggestedValue *string `json:"suggestedValue,omitempty" tf:"suggested_value,omitempty"` +} + +type OrganizationPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type OrganizationPolicyParameters struct { + + // A boolean policy is a constraint that is either enforced or not. + // +kubebuilder:validation:Optional + BooleanPolicy []OrganizationPolicyBooleanPolicyParameters `json:"booleanPolicy,omitempty" tf:"boolean_policy,omitempty"` + + // The name of the Constraint the Policy is configuring, for example, serviceuser.services. + // +kubebuilder:validation:Required + Constraint *string `json:"constraint" tf:"constraint,omitempty"` + + // A policy that can define specific values that are allowed or denied for the given constraint. It can also be used to allow or deny all values. + // +kubebuilder:validation:Optional + ListPolicy []OrganizationPolicyListPolicyParameters `json:"listPolicy,omitempty" tf:"list_policy,omitempty"` + + // +kubebuilder:validation:Required + OrgID *string `json:"orgId" tf:"org_id,omitempty"` + + // A restore policy is a constraint to restore the default policy. + // +kubebuilder:validation:Optional + RestorePolicy []OrganizationPolicyRestorePolicyParameters `json:"restorePolicy,omitempty" tf:"restore_policy,omitempty"` + + // Version of the Policy. Default version is 0. + // +kubebuilder:validation:Optional + Version *int64 `json:"version,omitempty" tf:"version,omitempty"` +} + +type OrganizationPolicyRestorePolicyObservation struct { +} + +type OrganizationPolicyRestorePolicyParameters struct { + + // May only be set to true. If set, then the default Policy is restored. + // +kubebuilder:validation:Required + Default *bool `json:"default" tf:"default,omitempty"` +} + +// OrganizationPolicySpec defines the desired state of OrganizationPolicy +type OrganizationPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider OrganizationPolicyParameters `json:"forProvider"` +} + +// OrganizationPolicyStatus defines the observed state of OrganizationPolicy. +type OrganizationPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider OrganizationPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationPolicy is the Schema for the OrganizationPolicys 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,gcpjet} +type OrganizationPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec OrganizationPolicySpec `json:"spec"` + Status OrganizationPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationPolicyList contains a list of OrganizationPolicys +type OrganizationPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []OrganizationPolicy `json:"items"` +} + +// Repository type metadata. +var ( + OrganizationPolicy_Kind = "OrganizationPolicy" + OrganizationPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: OrganizationPolicy_Kind}.String() + OrganizationPolicy_KindAPIVersion = OrganizationPolicy_Kind + "." + CRDGroupVersion.String() + OrganizationPolicy_GroupVersionKind = CRDGroupVersion.WithKind(OrganizationPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&OrganizationPolicy{}, &OrganizationPolicyList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectdefaultserviceaccounts_terraformed.go b/apis/cloudplatform/v1alpha1/zz_projectdefaultserviceaccounts_terraformed.go new file mode 100755 index 00000000..86ffbf6c --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectdefaultserviceaccounts_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectDefaultServiceAccounts +func (mg *ProjectDefaultServiceAccounts) GetTerraformResourceType() string { + return "google_project_default_service_accounts" +} + +// GetConnectionDetailsMapping for this ProjectDefaultServiceAccounts +func (tr *ProjectDefaultServiceAccounts) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectDefaultServiceAccounts +func (tr *ProjectDefaultServiceAccounts) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectDefaultServiceAccounts +func (tr *ProjectDefaultServiceAccounts) SetObservation(obs map[string]interface{}) 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 ProjectDefaultServiceAccounts +func (tr *ProjectDefaultServiceAccounts) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectDefaultServiceAccounts +func (tr *ProjectDefaultServiceAccounts) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectDefaultServiceAccounts +func (tr *ProjectDefaultServiceAccounts) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectDefaultServiceAccounts using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectDefaultServiceAccounts) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectDefaultServiceAccountsParameters{} + 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 *ProjectDefaultServiceAccounts) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectdefaultserviceaccounts_types.go b/apis/cloudplatform/v1alpha1/zz_projectdefaultserviceaccounts_types.go new file mode 100755 index 00000000..c1e987c2 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectdefaultserviceaccounts_types.go @@ -0,0 +1,98 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectDefaultServiceAccountsObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + ServiceAccounts map[string]string `json:"serviceAccounts,omitempty" tf:"service_accounts,omitempty"` +} + +type ProjectDefaultServiceAccountsParameters struct { + + // The action to be performed in the default service accounts. Valid values are: DEPRIVILEGE, DELETE, DISABLE. + // Note that DEPRIVILEGE action will ignore the REVERT configuration in the restore_policy. + // +kubebuilder:validation:Required + Action *string `json:"action" tf:"action,omitempty"` + + // The project ID where service accounts are created. + // +kubebuilder:validation:Required + Project *string `json:"project" tf:"project,omitempty"` + + // The action to be performed in the default service accounts on the resource destroy. + // Valid values are NONE, REVERT and REVERT_AND_IGNORE_FAILURE. It is applied for any action but in the DEPRIVILEGE. + // +kubebuilder:validation:Optional + RestorePolicy *string `json:"restorePolicy,omitempty" tf:"restore_policy,omitempty"` +} + +// ProjectDefaultServiceAccountsSpec defines the desired state of ProjectDefaultServiceAccounts +type ProjectDefaultServiceAccountsSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectDefaultServiceAccountsParameters `json:"forProvider"` +} + +// ProjectDefaultServiceAccountsStatus defines the observed state of ProjectDefaultServiceAccounts. +type ProjectDefaultServiceAccountsStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectDefaultServiceAccountsObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectDefaultServiceAccounts is the Schema for the ProjectDefaultServiceAccountss 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,gcpjet} +type ProjectDefaultServiceAccounts struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectDefaultServiceAccountsSpec `json:"spec"` + Status ProjectDefaultServiceAccountsStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectDefaultServiceAccountsList contains a list of ProjectDefaultServiceAccountss +type ProjectDefaultServiceAccountsList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectDefaultServiceAccounts `json:"items"` +} + +// Repository type metadata. +var ( + ProjectDefaultServiceAccounts_Kind = "ProjectDefaultServiceAccounts" + ProjectDefaultServiceAccounts_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectDefaultServiceAccounts_Kind}.String() + ProjectDefaultServiceAccounts_KindAPIVersion = ProjectDefaultServiceAccounts_Kind + "." + CRDGroupVersion.String() + ProjectDefaultServiceAccounts_GroupVersionKind = CRDGroupVersion.WithKind(ProjectDefaultServiceAccounts_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectDefaultServiceAccounts{}, &ProjectDefaultServiceAccountsList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectiamauditconfig_terraformed.go b/apis/cloudplatform/v1alpha1/zz_projectiamauditconfig_terraformed.go new file mode 100755 index 00000000..6b61336c --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectiamauditconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectIAMAuditConfig +func (mg *ProjectIAMAuditConfig) GetTerraformResourceType() string { + return "google_project_iam_audit_config" +} + +// GetConnectionDetailsMapping for this ProjectIAMAuditConfig +func (tr *ProjectIAMAuditConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectIAMAuditConfig +func (tr *ProjectIAMAuditConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectIAMAuditConfig +func (tr *ProjectIAMAuditConfig) SetObservation(obs map[string]interface{}) 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 ProjectIAMAuditConfig +func (tr *ProjectIAMAuditConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectIAMAuditConfig +func (tr *ProjectIAMAuditConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectIAMAuditConfig +func (tr *ProjectIAMAuditConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectIAMAuditConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectIAMAuditConfig) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectIAMAuditConfigParameters{} + 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 *ProjectIAMAuditConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectiamauditconfig_types.go b/apis/cloudplatform/v1alpha1/zz_projectiamauditconfig_types.go new file mode 100755 index 00000000..577cbabd --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectiamauditconfig_types.go @@ -0,0 +1,109 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectIAMAuditConfigAuditLogConfigObservation struct { +} + +type ProjectIAMAuditConfigAuditLogConfigParameters struct { + + // Identities that do not cause logging for this type of permission. Each entry can have one of the following values:user:{emailid}: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. serviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. + // +kubebuilder:validation:Optional + ExemptedMembers []*string `json:"exemptedMembers,omitempty" tf:"exempted_members,omitempty"` + + // Permission type for which logging is to be configured. Must be one of DATA_READ, DATA_WRITE, or ADMIN_READ. + // +kubebuilder:validation:Required + LogType *string `json:"logType" tf:"log_type,omitempty"` +} + +type ProjectIAMAuditConfigObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ProjectIAMAuditConfigParameters struct { + + // The configuration for logging of each type of permission. This can be specified multiple times. + // +kubebuilder:validation:Required + AuditLogConfig []ProjectIAMAuditConfigAuditLogConfigParameters `json:"auditLogConfig" tf:"audit_log_config,omitempty"` + + // +kubebuilder:validation:Required + Project *string `json:"project" tf:"project,omitempty"` + + // Service which will be enabled for audit logging. The special value allServices covers all services. + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +// ProjectIAMAuditConfigSpec defines the desired state of ProjectIAMAuditConfig +type ProjectIAMAuditConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectIAMAuditConfigParameters `json:"forProvider"` +} + +// ProjectIAMAuditConfigStatus defines the observed state of ProjectIAMAuditConfig. +type ProjectIAMAuditConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectIAMAuditConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectIAMAuditConfig is the Schema for the ProjectIAMAuditConfigs 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,gcpjet} +type ProjectIAMAuditConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectIAMAuditConfigSpec `json:"spec"` + Status ProjectIAMAuditConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectIAMAuditConfigList contains a list of ProjectIAMAuditConfigs +type ProjectIAMAuditConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectIAMAuditConfig `json:"items"` +} + +// Repository type metadata. +var ( + ProjectIAMAuditConfig_Kind = "ProjectIAMAuditConfig" + ProjectIAMAuditConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectIAMAuditConfig_Kind}.String() + ProjectIAMAuditConfig_KindAPIVersion = ProjectIAMAuditConfig_Kind + "." + CRDGroupVersion.String() + ProjectIAMAuditConfig_GroupVersionKind = CRDGroupVersion.WithKind(ProjectIAMAuditConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectIAMAuditConfig{}, &ProjectIAMAuditConfigList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectiambinding_terraformed.go b/apis/cloudplatform/v1alpha1/zz_projectiambinding_terraformed.go new file mode 100755 index 00000000..013007fd --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectIAMBinding +func (mg *ProjectIAMBinding) GetTerraformResourceType() string { + return "google_project_iam_binding" +} + +// GetConnectionDetailsMapping for this ProjectIAMBinding +func (tr *ProjectIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectIAMBinding +func (tr *ProjectIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectIAMBinding +func (tr *ProjectIAMBinding) SetObservation(obs map[string]interface{}) 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 ProjectIAMBinding +func (tr *ProjectIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectIAMBinding +func (tr *ProjectIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectIAMBinding +func (tr *ProjectIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectIAMBindingParameters{} + 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 *ProjectIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectiambinding_types.go b/apis/cloudplatform/v1alpha1/zz_projectiambinding_types.go new file mode 100755 index 00000000..7e8ad4b8 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectIAMBindingConditionObservation struct { +} + +type ProjectIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type ProjectIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ProjectIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ProjectIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Project *string `json:"project" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// ProjectIAMBindingSpec defines the desired state of ProjectIAMBinding +type ProjectIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectIAMBindingParameters `json:"forProvider"` +} + +// ProjectIAMBindingStatus defines the observed state of ProjectIAMBinding. +type ProjectIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectIAMBinding is the Schema for the ProjectIAMBindings 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,gcpjet} +type ProjectIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectIAMBindingSpec `json:"spec"` + Status ProjectIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectIAMBindingList contains a list of ProjectIAMBindings +type ProjectIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + ProjectIAMBinding_Kind = "ProjectIAMBinding" + ProjectIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectIAMBinding_Kind}.String() + ProjectIAMBinding_KindAPIVersion = ProjectIAMBinding_Kind + "." + CRDGroupVersion.String() + ProjectIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(ProjectIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectIAMBinding{}, &ProjectIAMBindingList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectiamcustomrole_terraformed.go b/apis/cloudplatform/v1alpha1/zz_projectiamcustomrole_terraformed.go new file mode 100755 index 00000000..f740bc6d --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectiamcustomrole_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectIAMCustomRole +func (mg *ProjectIAMCustomRole) GetTerraformResourceType() string { + return "google_project_iam_custom_role" +} + +// GetConnectionDetailsMapping for this ProjectIAMCustomRole +func (tr *ProjectIAMCustomRole) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectIAMCustomRole +func (tr *ProjectIAMCustomRole) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectIAMCustomRole +func (tr *ProjectIAMCustomRole) SetObservation(obs map[string]interface{}) 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 ProjectIAMCustomRole +func (tr *ProjectIAMCustomRole) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectIAMCustomRole +func (tr *ProjectIAMCustomRole) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectIAMCustomRole +func (tr *ProjectIAMCustomRole) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectIAMCustomRole using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectIAMCustomRole) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectIAMCustomRoleParameters{} + 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 *ProjectIAMCustomRole) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectiamcustomrole_types.go b/apis/cloudplatform/v1alpha1/zz_projectiamcustomrole_types.go new file mode 100755 index 00000000..b582235c --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectiamcustomrole_types.go @@ -0,0 +1,110 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectIAMCustomRoleObservation struct { + Deleted *bool `json:"deleted,omitempty" tf:"deleted,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type ProjectIAMCustomRoleParameters struct { + + // A human-readable description for the role. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The names of the permissions this role grants when bound in an IAM policy. At least one permission must be specified. + // +kubebuilder:validation:Required + Permissions []*string `json:"permissions" tf:"permissions,omitempty"` + + // The project that the service account will be created in. Defaults to the provider project configuration. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The camel case role id to use for this role. Cannot contain - characters. + // +kubebuilder:validation:Required + RoleID *string `json:"roleId" tf:"role_id,omitempty"` + + // The current launch stage of the role. Defaults to GA. + // +kubebuilder:validation:Optional + Stage *string `json:"stage,omitempty" tf:"stage,omitempty"` + + // A human-readable title for the role. + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +// ProjectIAMCustomRoleSpec defines the desired state of ProjectIAMCustomRole +type ProjectIAMCustomRoleSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectIAMCustomRoleParameters `json:"forProvider"` +} + +// ProjectIAMCustomRoleStatus defines the observed state of ProjectIAMCustomRole. +type ProjectIAMCustomRoleStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectIAMCustomRoleObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectIAMCustomRole is the Schema for the ProjectIAMCustomRoles 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,gcpjet} +type ProjectIAMCustomRole struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectIAMCustomRoleSpec `json:"spec"` + Status ProjectIAMCustomRoleStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectIAMCustomRoleList contains a list of ProjectIAMCustomRoles +type ProjectIAMCustomRoleList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectIAMCustomRole `json:"items"` +} + +// Repository type metadata. +var ( + ProjectIAMCustomRole_Kind = "ProjectIAMCustomRole" + ProjectIAMCustomRole_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectIAMCustomRole_Kind}.String() + ProjectIAMCustomRole_KindAPIVersion = ProjectIAMCustomRole_Kind + "." + CRDGroupVersion.String() + ProjectIAMCustomRole_GroupVersionKind = CRDGroupVersion.WithKind(ProjectIAMCustomRole_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectIAMCustomRole{}, &ProjectIAMCustomRoleList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectiammember_terraformed.go b/apis/cloudplatform/v1alpha1/zz_projectiammember_terraformed.go new file mode 100755 index 00000000..6e3e9718 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectIAMMember +func (mg *ProjectIAMMember) GetTerraformResourceType() string { + return "google_project_iam_member" +} + +// GetConnectionDetailsMapping for this ProjectIAMMember +func (tr *ProjectIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectIAMMember +func (tr *ProjectIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectIAMMember +func (tr *ProjectIAMMember) SetObservation(obs map[string]interface{}) 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 ProjectIAMMember +func (tr *ProjectIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectIAMMember +func (tr *ProjectIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectIAMMember +func (tr *ProjectIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectIAMMemberParameters{} + 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 *ProjectIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectiammember_types.go b/apis/cloudplatform/v1alpha1/zz_projectiammember_types.go new file mode 100755 index 00000000..4cc7cb05 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectIAMMemberConditionObservation struct { +} + +type ProjectIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type ProjectIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ProjectIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []ProjectIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Project *string `json:"project" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// ProjectIAMMemberSpec defines the desired state of ProjectIAMMember +type ProjectIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectIAMMemberParameters `json:"forProvider"` +} + +// ProjectIAMMemberStatus defines the observed state of ProjectIAMMember. +type ProjectIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectIAMMember is the Schema for the ProjectIAMMembers 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,gcpjet} +type ProjectIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectIAMMemberSpec `json:"spec"` + Status ProjectIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectIAMMemberList contains a list of ProjectIAMMembers +type ProjectIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + ProjectIAMMember_Kind = "ProjectIAMMember" + ProjectIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectIAMMember_Kind}.String() + ProjectIAMMember_KindAPIVersion = ProjectIAMMember_Kind + "." + CRDGroupVersion.String() + ProjectIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(ProjectIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectIAMMember{}, &ProjectIAMMemberList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectiampolicy_terraformed.go b/apis/cloudplatform/v1alpha1/zz_projectiampolicy_terraformed.go new file mode 100755 index 00000000..19b98837 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectIAMPolicy +func (mg *ProjectIAMPolicy) GetTerraformResourceType() string { + return "google_project_iam_policy" +} + +// GetConnectionDetailsMapping for this ProjectIAMPolicy +func (tr *ProjectIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectIAMPolicy +func (tr *ProjectIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectIAMPolicy +func (tr *ProjectIAMPolicy) SetObservation(obs map[string]interface{}) 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 ProjectIAMPolicy +func (tr *ProjectIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectIAMPolicy +func (tr *ProjectIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectIAMPolicy +func (tr *ProjectIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectIAMPolicyParameters{} + 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 *ProjectIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectiampolicy_types.go b/apis/cloudplatform/v1alpha1/zz_projectiampolicy_types.go new file mode 100755 index 00000000..e7c7af9d --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ProjectIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Required + Project *string `json:"project" tf:"project,omitempty"` +} + +// ProjectIAMPolicySpec defines the desired state of ProjectIAMPolicy +type ProjectIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectIAMPolicyParameters `json:"forProvider"` +} + +// ProjectIAMPolicyStatus defines the observed state of ProjectIAMPolicy. +type ProjectIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectIAMPolicy is the Schema for the ProjectIAMPolicys 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,gcpjet} +type ProjectIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectIAMPolicySpec `json:"spec"` + Status ProjectIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectIAMPolicyList contains a list of ProjectIAMPolicys +type ProjectIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + ProjectIAMPolicy_Kind = "ProjectIAMPolicy" + ProjectIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectIAMPolicy_Kind}.String() + ProjectIAMPolicy_KindAPIVersion = ProjectIAMPolicy_Kind + "." + CRDGroupVersion.String() + ProjectIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(ProjectIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectIAMPolicy{}, &ProjectIAMPolicyList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectorganizationpolicy_terraformed.go b/apis/cloudplatform/v1alpha1/zz_projectorganizationpolicy_terraformed.go new file mode 100755 index 00000000..3c8e33b7 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectorganizationpolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectOrganizationPolicy +func (mg *ProjectOrganizationPolicy) GetTerraformResourceType() string { + return "google_project_organization_policy" +} + +// GetConnectionDetailsMapping for this ProjectOrganizationPolicy +func (tr *ProjectOrganizationPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectOrganizationPolicy +func (tr *ProjectOrganizationPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectOrganizationPolicy +func (tr *ProjectOrganizationPolicy) SetObservation(obs map[string]interface{}) 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 ProjectOrganizationPolicy +func (tr *ProjectOrganizationPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectOrganizationPolicy +func (tr *ProjectOrganizationPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectOrganizationPolicy +func (tr *ProjectOrganizationPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectOrganizationPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectOrganizationPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectOrganizationPolicyParameters{} + 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 *ProjectOrganizationPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectorganizationpolicy_types.go b/apis/cloudplatform/v1alpha1/zz_projectorganizationpolicy_types.go new file mode 100755 index 00000000..da3335de --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectorganizationpolicy_types.go @@ -0,0 +1,180 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectOrganizationPolicyBooleanPolicyObservation struct { +} + +type ProjectOrganizationPolicyBooleanPolicyParameters struct { + + // If true, then the Policy is enforced. If false, then any configuration is acceptable. + // +kubebuilder:validation:Required + Enforced *bool `json:"enforced" tf:"enforced,omitempty"` +} + +type ProjectOrganizationPolicyListPolicyAllowObservation struct { +} + +type ProjectOrganizationPolicyListPolicyAllowParameters struct { + + // The policy allows or denies all values. + // +kubebuilder:validation:Optional + All *bool `json:"all,omitempty" tf:"all,omitempty"` + + // The policy can define specific values that are allowed or denied. + // +kubebuilder:validation:Optional + Values []*string `json:"values,omitempty" tf:"values,omitempty"` +} + +type ProjectOrganizationPolicyListPolicyDenyObservation struct { +} + +type ProjectOrganizationPolicyListPolicyDenyParameters struct { + + // The policy allows or denies all values. + // +kubebuilder:validation:Optional + All *bool `json:"all,omitempty" tf:"all,omitempty"` + + // The policy can define specific values that are allowed or denied. + // +kubebuilder:validation:Optional + Values []*string `json:"values,omitempty" tf:"values,omitempty"` +} + +type ProjectOrganizationPolicyListPolicyObservation struct { +} + +type ProjectOrganizationPolicyListPolicyParameters struct { + + // One or the other must be set. + // +kubebuilder:validation:Optional + Allow []ProjectOrganizationPolicyListPolicyAllowParameters `json:"allow,omitempty" tf:"allow,omitempty"` + + // One or the other must be set. + // +kubebuilder:validation:Optional + Deny []ProjectOrganizationPolicyListPolicyDenyParameters `json:"deny,omitempty" tf:"deny,omitempty"` + + // If set to true, the values from the effective Policy of the parent resource are inherited, meaning the values set in this Policy are added to the values inherited up the hierarchy. + // +kubebuilder:validation:Optional + InheritFromParent *bool `json:"inheritFromParent,omitempty" tf:"inherit_from_parent,omitempty"` + + // The Google Cloud Console will try to default to a configuration that matches the value specified in this field. + // +kubebuilder:validation:Optional + SuggestedValue *string `json:"suggestedValue,omitempty" tf:"suggested_value,omitempty"` +} + +type ProjectOrganizationPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type ProjectOrganizationPolicyParameters struct { + + // A boolean policy is a constraint that is either enforced or not. + // +kubebuilder:validation:Optional + BooleanPolicy []ProjectOrganizationPolicyBooleanPolicyParameters `json:"booleanPolicy,omitempty" tf:"boolean_policy,omitempty"` + + // The name of the Constraint the Policy is configuring, for example, serviceuser.services. + // +kubebuilder:validation:Required + Constraint *string `json:"constraint" tf:"constraint,omitempty"` + + // A policy that can define specific values that are allowed or denied for the given constraint. It can also be used to allow or deny all values. + // +kubebuilder:validation:Optional + ListPolicy []ProjectOrganizationPolicyListPolicyParameters `json:"listPolicy,omitempty" tf:"list_policy,omitempty"` + + // The project ID. + // +kubebuilder:validation:Required + Project *string `json:"project" tf:"project,omitempty"` + + // A restore policy is a constraint to restore the default policy. + // +kubebuilder:validation:Optional + RestorePolicy []ProjectOrganizationPolicyRestorePolicyParameters `json:"restorePolicy,omitempty" tf:"restore_policy,omitempty"` + + // Version of the Policy. Default version is 0. + // +kubebuilder:validation:Optional + Version *int64 `json:"version,omitempty" tf:"version,omitempty"` +} + +type ProjectOrganizationPolicyRestorePolicyObservation struct { +} + +type ProjectOrganizationPolicyRestorePolicyParameters struct { + + // May only be set to true. If set, then the default Policy is restored. + // +kubebuilder:validation:Required + Default *bool `json:"default" tf:"default,omitempty"` +} + +// ProjectOrganizationPolicySpec defines the desired state of ProjectOrganizationPolicy +type ProjectOrganizationPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectOrganizationPolicyParameters `json:"forProvider"` +} + +// ProjectOrganizationPolicyStatus defines the observed state of ProjectOrganizationPolicy. +type ProjectOrganizationPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectOrganizationPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectOrganizationPolicy is the Schema for the ProjectOrganizationPolicys 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,gcpjet} +type ProjectOrganizationPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectOrganizationPolicySpec `json:"spec"` + Status ProjectOrganizationPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectOrganizationPolicyList contains a list of ProjectOrganizationPolicys +type ProjectOrganizationPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectOrganizationPolicy `json:"items"` +} + +// Repository type metadata. +var ( + ProjectOrganizationPolicy_Kind = "ProjectOrganizationPolicy" + ProjectOrganizationPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectOrganizationPolicy_Kind}.String() + ProjectOrganizationPolicy_KindAPIVersion = ProjectOrganizationPolicy_Kind + "." + CRDGroupVersion.String() + ProjectOrganizationPolicy_GroupVersionKind = CRDGroupVersion.WithKind(ProjectOrganizationPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectOrganizationPolicy{}, &ProjectOrganizationPolicyList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectservice_terraformed.go b/apis/cloudplatform/v1alpha1/zz_projectservice_terraformed.go new file mode 100755 index 00000000..7c88bcd8 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectservice_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectService +func (mg *ProjectService) GetTerraformResourceType() string { + return "google_project_service" +} + +// GetConnectionDetailsMapping for this ProjectService +func (tr *ProjectService) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectService +func (tr *ProjectService) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectService +func (tr *ProjectService) SetObservation(obs map[string]interface{}) 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 ProjectService +func (tr *ProjectService) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectService +func (tr *ProjectService) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectService +func (tr *ProjectService) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectService using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectService) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectServiceParameters{} + 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 *ProjectService) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectservice_types.go b/apis/cloudplatform/v1alpha1/zz_projectservice_types.go new file mode 100755 index 00000000..1c86de7a --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectservice_types.go @@ -0,0 +1,94 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectServiceObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ProjectServiceParameters struct { + + // +kubebuilder:validation:Optional + DisableDependentServices *bool `json:"disableDependentServices,omitempty" tf:"disable_dependent_services,omitempty"` + + // +kubebuilder:validation:Optional + DisableOnDestroy *bool `json:"disableOnDestroy,omitempty" tf:"disable_on_destroy,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +// ProjectServiceSpec defines the desired state of ProjectService +type ProjectServiceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectServiceParameters `json:"forProvider"` +} + +// ProjectServiceStatus defines the observed state of ProjectService. +type ProjectServiceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectServiceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectService is the Schema for the ProjectServices 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,gcpjet} +type ProjectService struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectServiceSpec `json:"spec"` + Status ProjectServiceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectServiceList contains a list of ProjectServices +type ProjectServiceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectService `json:"items"` +} + +// Repository type metadata. +var ( + ProjectService_Kind = "ProjectService" + ProjectService_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectService_Kind}.String() + ProjectService_KindAPIVersion = ProjectService_Kind + "." + CRDGroupVersion.String() + ProjectService_GroupVersionKind = CRDGroupVersion.WithKind(ProjectService_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectService{}, &ProjectServiceList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectusageexportbucket_terraformed.go b/apis/cloudplatform/v1alpha1/zz_projectusageexportbucket_terraformed.go new file mode 100755 index 00000000..c8212182 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectusageexportbucket_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectUsageExportBucket +func (mg *ProjectUsageExportBucket) GetTerraformResourceType() string { + return "google_project_usage_export_bucket" +} + +// GetConnectionDetailsMapping for this ProjectUsageExportBucket +func (tr *ProjectUsageExportBucket) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectUsageExportBucket +func (tr *ProjectUsageExportBucket) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectUsageExportBucket +func (tr *ProjectUsageExportBucket) SetObservation(obs map[string]interface{}) 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 ProjectUsageExportBucket +func (tr *ProjectUsageExportBucket) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectUsageExportBucket +func (tr *ProjectUsageExportBucket) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectUsageExportBucket +func (tr *ProjectUsageExportBucket) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectUsageExportBucket using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectUsageExportBucket) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectUsageExportBucketParameters{} + 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 *ProjectUsageExportBucket) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_projectusageexportbucket_types.go b/apis/cloudplatform/v1alpha1/zz_projectusageexportbucket_types.go new file mode 100755 index 00000000..eb2392dc --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_projectusageexportbucket_types.go @@ -0,0 +1,94 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectUsageExportBucketObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ProjectUsageExportBucketParameters struct { + + // The bucket to store reports in. + // +kubebuilder:validation:Required + BucketName *string `json:"bucketName" tf:"bucket_name,omitempty"` + + // A prefix for the reports, for instance, the project name. + // +kubebuilder:validation:Optional + Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` + + // The project to set the export bucket on. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// ProjectUsageExportBucketSpec defines the desired state of ProjectUsageExportBucket +type ProjectUsageExportBucketSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectUsageExportBucketParameters `json:"forProvider"` +} + +// ProjectUsageExportBucketStatus defines the observed state of ProjectUsageExportBucket. +type ProjectUsageExportBucketStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectUsageExportBucketObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectUsageExportBucket is the Schema for the ProjectUsageExportBuckets 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,gcpjet} +type ProjectUsageExportBucket struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectUsageExportBucketSpec `json:"spec"` + Status ProjectUsageExportBucketStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectUsageExportBucketList contains a list of ProjectUsageExportBuckets +type ProjectUsageExportBucketList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectUsageExportBucket `json:"items"` +} + +// Repository type metadata. +var ( + ProjectUsageExportBucket_Kind = "ProjectUsageExportBucket" + ProjectUsageExportBucket_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectUsageExportBucket_Kind}.String() + ProjectUsageExportBucket_KindAPIVersion = ProjectUsageExportBucket_Kind + "." + CRDGroupVersion.String() + ProjectUsageExportBucket_GroupVersionKind = CRDGroupVersion.WithKind(ProjectUsageExportBucket_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectUsageExportBucket{}, &ProjectUsageExportBucketList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_serviceaccountiambinding_terraformed.go b/apis/cloudplatform/v1alpha1/zz_serviceaccountiambinding_terraformed.go new file mode 100755 index 00000000..aef29fc7 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_serviceaccountiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServiceAccountIAMBinding +func (mg *ServiceAccountIAMBinding) GetTerraformResourceType() string { + return "google_service_account_iam_binding" +} + +// GetConnectionDetailsMapping for this ServiceAccountIAMBinding +func (tr *ServiceAccountIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServiceAccountIAMBinding +func (tr *ServiceAccountIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServiceAccountIAMBinding +func (tr *ServiceAccountIAMBinding) SetObservation(obs map[string]interface{}) 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 ServiceAccountIAMBinding +func (tr *ServiceAccountIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServiceAccountIAMBinding +func (tr *ServiceAccountIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServiceAccountIAMBinding +func (tr *ServiceAccountIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServiceAccountIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServiceAccountIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceAccountIAMBindingParameters{} + 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 *ServiceAccountIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_serviceaccountiambinding_types.go b/apis/cloudplatform/v1alpha1/zz_serviceaccountiambinding_types.go new file mode 100755 index 00000000..553f87ed --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_serviceaccountiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ServiceAccountIAMBindingConditionObservation struct { +} + +type ServiceAccountIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type ServiceAccountIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ServiceAccountIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ServiceAccountIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + ServiceAccountID *string `json:"serviceAccountId" tf:"service_account_id,omitempty"` +} + +// ServiceAccountIAMBindingSpec defines the desired state of ServiceAccountIAMBinding +type ServiceAccountIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceAccountIAMBindingParameters `json:"forProvider"` +} + +// ServiceAccountIAMBindingStatus defines the observed state of ServiceAccountIAMBinding. +type ServiceAccountIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceAccountIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceAccountIAMBinding is the Schema for the ServiceAccountIAMBindings 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,gcpjet} +type ServiceAccountIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceAccountIAMBindingSpec `json:"spec"` + Status ServiceAccountIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceAccountIAMBindingList contains a list of ServiceAccountIAMBindings +type ServiceAccountIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServiceAccountIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + ServiceAccountIAMBinding_Kind = "ServiceAccountIAMBinding" + ServiceAccountIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceAccountIAMBinding_Kind}.String() + ServiceAccountIAMBinding_KindAPIVersion = ServiceAccountIAMBinding_Kind + "." + CRDGroupVersion.String() + ServiceAccountIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(ServiceAccountIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&ServiceAccountIAMBinding{}, &ServiceAccountIAMBindingList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_serviceaccountiammember_terraformed.go b/apis/cloudplatform/v1alpha1/zz_serviceaccountiammember_terraformed.go new file mode 100755 index 00000000..83f65e4f --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_serviceaccountiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServiceAccountIAMMember +func (mg *ServiceAccountIAMMember) GetTerraformResourceType() string { + return "google_service_account_iam_member" +} + +// GetConnectionDetailsMapping for this ServiceAccountIAMMember +func (tr *ServiceAccountIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServiceAccountIAMMember +func (tr *ServiceAccountIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServiceAccountIAMMember +func (tr *ServiceAccountIAMMember) SetObservation(obs map[string]interface{}) 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 ServiceAccountIAMMember +func (tr *ServiceAccountIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServiceAccountIAMMember +func (tr *ServiceAccountIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServiceAccountIAMMember +func (tr *ServiceAccountIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServiceAccountIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServiceAccountIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceAccountIAMMemberParameters{} + 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 *ServiceAccountIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_serviceaccountiammember_types.go b/apis/cloudplatform/v1alpha1/zz_serviceaccountiammember_types.go new file mode 100755 index 00000000..a7777018 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_serviceaccountiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ServiceAccountIAMMemberConditionObservation struct { +} + +type ServiceAccountIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type ServiceAccountIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ServiceAccountIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []ServiceAccountIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + ServiceAccountID *string `json:"serviceAccountId" tf:"service_account_id,omitempty"` +} + +// ServiceAccountIAMMemberSpec defines the desired state of ServiceAccountIAMMember +type ServiceAccountIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceAccountIAMMemberParameters `json:"forProvider"` +} + +// ServiceAccountIAMMemberStatus defines the observed state of ServiceAccountIAMMember. +type ServiceAccountIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceAccountIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceAccountIAMMember is the Schema for the ServiceAccountIAMMembers 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,gcpjet} +type ServiceAccountIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceAccountIAMMemberSpec `json:"spec"` + Status ServiceAccountIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceAccountIAMMemberList contains a list of ServiceAccountIAMMembers +type ServiceAccountIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServiceAccountIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + ServiceAccountIAMMember_Kind = "ServiceAccountIAMMember" + ServiceAccountIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceAccountIAMMember_Kind}.String() + ServiceAccountIAMMember_KindAPIVersion = ServiceAccountIAMMember_Kind + "." + CRDGroupVersion.String() + ServiceAccountIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(ServiceAccountIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&ServiceAccountIAMMember{}, &ServiceAccountIAMMemberList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_serviceaccountiampolicy_terraformed.go b/apis/cloudplatform/v1alpha1/zz_serviceaccountiampolicy_terraformed.go new file mode 100755 index 00000000..337f7028 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_serviceaccountiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServiceAccountIAMPolicy +func (mg *ServiceAccountIAMPolicy) GetTerraformResourceType() string { + return "google_service_account_iam_policy" +} + +// GetConnectionDetailsMapping for this ServiceAccountIAMPolicy +func (tr *ServiceAccountIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServiceAccountIAMPolicy +func (tr *ServiceAccountIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServiceAccountIAMPolicy +func (tr *ServiceAccountIAMPolicy) SetObservation(obs map[string]interface{}) 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 ServiceAccountIAMPolicy +func (tr *ServiceAccountIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServiceAccountIAMPolicy +func (tr *ServiceAccountIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServiceAccountIAMPolicy +func (tr *ServiceAccountIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServiceAccountIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServiceAccountIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceAccountIAMPolicyParameters{} + 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 *ServiceAccountIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_serviceaccountiampolicy_types.go b/apis/cloudplatform/v1alpha1/zz_serviceaccountiampolicy_types.go new file mode 100755 index 00000000..62d83692 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_serviceaccountiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ServiceAccountIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ServiceAccountIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Required + ServiceAccountID *string `json:"serviceAccountId" tf:"service_account_id,omitempty"` +} + +// ServiceAccountIAMPolicySpec defines the desired state of ServiceAccountIAMPolicy +type ServiceAccountIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceAccountIAMPolicyParameters `json:"forProvider"` +} + +// ServiceAccountIAMPolicyStatus defines the observed state of ServiceAccountIAMPolicy. +type ServiceAccountIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceAccountIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceAccountIAMPolicy is the Schema for the ServiceAccountIAMPolicys 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,gcpjet} +type ServiceAccountIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceAccountIAMPolicySpec `json:"spec"` + Status ServiceAccountIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceAccountIAMPolicyList contains a list of ServiceAccountIAMPolicys +type ServiceAccountIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServiceAccountIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + ServiceAccountIAMPolicy_Kind = "ServiceAccountIAMPolicy" + ServiceAccountIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceAccountIAMPolicy_Kind}.String() + ServiceAccountIAMPolicy_KindAPIVersion = ServiceAccountIAMPolicy_Kind + "." + CRDGroupVersion.String() + ServiceAccountIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(ServiceAccountIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&ServiceAccountIAMPolicy{}, &ServiceAccountIAMPolicyList{}) +} diff --git a/apis/cloudplatform/v1alpha1/zz_servicenetworkingpeereddnsdomain_terraformed.go b/apis/cloudplatform/v1alpha1/zz_servicenetworkingpeereddnsdomain_terraformed.go new file mode 100755 index 00000000..88990c2f --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_servicenetworkingpeereddnsdomain_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServiceNetworkingPeeredDNSDomain +func (mg *ServiceNetworkingPeeredDNSDomain) GetTerraformResourceType() string { + return "google_service_networking_peered_dns_domain" +} + +// GetConnectionDetailsMapping for this ServiceNetworkingPeeredDNSDomain +func (tr *ServiceNetworkingPeeredDNSDomain) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServiceNetworkingPeeredDNSDomain +func (tr *ServiceNetworkingPeeredDNSDomain) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServiceNetworkingPeeredDNSDomain +func (tr *ServiceNetworkingPeeredDNSDomain) SetObservation(obs map[string]interface{}) 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 ServiceNetworkingPeeredDNSDomain +func (tr *ServiceNetworkingPeeredDNSDomain) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServiceNetworkingPeeredDNSDomain +func (tr *ServiceNetworkingPeeredDNSDomain) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServiceNetworkingPeeredDNSDomain +func (tr *ServiceNetworkingPeeredDNSDomain) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServiceNetworkingPeeredDNSDomain using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServiceNetworkingPeeredDNSDomain) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceNetworkingPeeredDNSDomainParameters{} + 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 *ServiceNetworkingPeeredDNSDomain) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudplatform/v1alpha1/zz_servicenetworkingpeereddnsdomain_types.go b/apis/cloudplatform/v1alpha1/zz_servicenetworkingpeereddnsdomain_types.go new file mode 100755 index 00000000..1e00ece8 --- /dev/null +++ b/apis/cloudplatform/v1alpha1/zz_servicenetworkingpeereddnsdomain_types.go @@ -0,0 +1,104 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ServiceNetworkingPeeredDNSDomainObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` +} + +type ServiceNetworkingPeeredDNSDomainParameters struct { + + // The DNS domain name suffix of the peered DNS domain. + // +kubebuilder:validation:Required + DNSSuffix *string `json:"dnsSuffix" tf:"dns_suffix,omitempty"` + + // Name of the peered DNS domain. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Network in the consumer project to peer with. + // +kubebuilder:validation:Required + Network *string `json:"network" tf:"network,omitempty"` + + // The ID of the project that the service account will be created in. Defaults to the provider project configuration. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The name of the service to create a peered DNS domain for, e.g. servicenetworking.googleapis.com + // +kubebuilder:validation:Optional + Service *string `json:"service,omitempty" tf:"service,omitempty"` +} + +// ServiceNetworkingPeeredDNSDomainSpec defines the desired state of ServiceNetworkingPeeredDNSDomain +type ServiceNetworkingPeeredDNSDomainSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceNetworkingPeeredDNSDomainParameters `json:"forProvider"` +} + +// ServiceNetworkingPeeredDNSDomainStatus defines the observed state of ServiceNetworkingPeeredDNSDomain. +type ServiceNetworkingPeeredDNSDomainStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceNetworkingPeeredDNSDomainObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceNetworkingPeeredDNSDomain is the Schema for the ServiceNetworkingPeeredDNSDomains 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,gcpjet} +type ServiceNetworkingPeeredDNSDomain struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceNetworkingPeeredDNSDomainSpec `json:"spec"` + Status ServiceNetworkingPeeredDNSDomainStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceNetworkingPeeredDNSDomainList contains a list of ServiceNetworkingPeeredDNSDomains +type ServiceNetworkingPeeredDNSDomainList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServiceNetworkingPeeredDNSDomain `json:"items"` +} + +// Repository type metadata. +var ( + ServiceNetworkingPeeredDNSDomain_Kind = "ServiceNetworkingPeeredDNSDomain" + ServiceNetworkingPeeredDNSDomain_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceNetworkingPeeredDNSDomain_Kind}.String() + ServiceNetworkingPeeredDNSDomain_KindAPIVersion = ServiceNetworkingPeeredDNSDomain_Kind + "." + CRDGroupVersion.String() + ServiceNetworkingPeeredDNSDomain_GroupVersionKind = CRDGroupVersion.WithKind(ServiceNetworkingPeeredDNSDomain_Kind) +) + +func init() { + SchemeBuilder.Register(&ServiceNetworkingPeeredDNSDomain{}, &ServiceNetworkingPeeredDNSDomainList{}) +} diff --git a/apis/cloudplatform/v1alpha2/zz_generated.deepcopy.go b/apis/cloudplatform/v1alpha2/zz_generated.deepcopy.go index d7b8b825..b30cd542 100644 --- a/apis/cloudplatform/v1alpha2/zz_generated.deepcopy.go +++ b/apis/cloudplatform/v1alpha2/zz_generated.deepcopy.go @@ -25,6 +25,189 @@ import ( runtime "k8s.io/apimachinery/pkg/runtime" ) +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Project) DeepCopyInto(out *Project) { + *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 Project. +func (in *Project) DeepCopy() *Project { + if in == nil { + return nil + } + out := new(Project) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Project) 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 *ProjectList) DeepCopyInto(out *ProjectList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Project, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectList. +func (in *ProjectList) DeepCopy() *ProjectList { + if in == nil { + return nil + } + out := new(ProjectList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectList) 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 *ProjectObservation) DeepCopyInto(out *ProjectObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Number != nil { + in, out := &in.Number, &out.Number + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectObservation. +func (in *ProjectObservation) DeepCopy() *ProjectObservation { + if in == nil { + return nil + } + out := new(ProjectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectParameters) DeepCopyInto(out *ProjectParameters) { + *out = *in + if in.AutoCreateNetwork != nil { + in, out := &in.AutoCreateNetwork, &out.AutoCreateNetwork + *out = new(bool) + **out = **in + } + if in.BillingAccount != nil { + in, out := &in.BillingAccount, &out.BillingAccount + *out = new(string) + **out = **in + } + if in.FolderID != nil { + in, out := &in.FolderID, &out.FolderID + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.OrgID != nil { + in, out := &in.OrgID, &out.OrgID + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.SkipDelete != nil { + in, out := &in.SkipDelete, &out.SkipDelete + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectParameters. +func (in *ProjectParameters) DeepCopy() *ProjectParameters { + if in == nil { + return nil + } + out := new(ProjectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSpec. +func (in *ProjectSpec) DeepCopy() *ProjectSpec { + if in == nil { + return nil + } + out := new(ProjectSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectStatus. +func (in *ProjectStatus) DeepCopy() *ProjectStatus { + if in == nil { + return nil + } + out := new(ProjectStatus) + 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 diff --git a/apis/cloudplatform/v1alpha2/zz_generated.managed.go b/apis/cloudplatform/v1alpha2/zz_generated.managed.go index 39c9fd81..62038007 100644 --- a/apis/cloudplatform/v1alpha2/zz_generated.managed.go +++ b/apis/cloudplatform/v1alpha2/zz_generated.managed.go @@ -19,6 +19,62 @@ package v1alpha2 import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +// GetCondition of this Project. +func (mg *Project) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Project. +func (mg *Project) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Project. +func (mg *Project) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Project. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Project) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Project. +func (mg *Project) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Project. +func (mg *Project) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Project. +func (mg *Project) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Project. +func (mg *Project) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Project. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Project) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Project. +func (mg *Project) 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) diff --git a/apis/cloudplatform/v1alpha2/zz_generated.managedlist.go b/apis/cloudplatform/v1alpha2/zz_generated.managedlist.go index 1a93ce30..6474d2a8 100644 --- a/apis/cloudplatform/v1alpha2/zz_generated.managedlist.go +++ b/apis/cloudplatform/v1alpha2/zz_generated.managedlist.go @@ -19,6 +19,15 @@ package v1alpha2 import resource "github.com/crossplane/crossplane-runtime/pkg/resource" +// GetItems of this ProjectList. +func (l *ProjectList) 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 ServiceAccountKeyList. func (l *ServiceAccountKeyList) GetItems() []resource.Managed { items := make([]resource.Managed, len(l.Items)) diff --git a/apis/cloudplatform/v1alpha2/zz_project_terraformed.go b/apis/cloudplatform/v1alpha2/zz_project_terraformed.go new file mode 100755 index 00000000..0e59a868 --- /dev/null +++ b/apis/cloudplatform/v1alpha2/zz_project_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha2 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Project +func (mg *Project) GetTerraformResourceType() string { + return "google_project" +} + +// GetConnectionDetailsMapping for this Project +func (tr *Project) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Project +func (tr *Project) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Project +func (tr *Project) SetObservation(obs map[string]interface{}) 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 Project +func (tr *Project) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Project +func (tr *Project) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Project +func (tr *Project) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Project using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Project) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectParameters{} + 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 *Project) GetTerraformSchemaVersion() int { + return 1 +} diff --git a/apis/cloudplatform/v1alpha2/zz_project_types.go b/apis/cloudplatform/v1alpha2/zz_project_types.go new file mode 100755 index 00000000..ba4de73f --- /dev/null +++ b/apis/cloudplatform/v1alpha2/zz_project_types.go @@ -0,0 +1,116 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha2 + +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 ProjectObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Number *string `json:"number,omitempty" tf:"number,omitempty"` +} + +type ProjectParameters struct { + + // Create the 'default' network automatically. Default true. If set to false, the default network will be deleted. Note that, for quota purposes, you will still need to have 1 network slot available to create the project successfully, even if you set auto_create_network to false, since the network will exist momentarily. + // +kubebuilder:validation:Optional + AutoCreateNetwork *bool `json:"autoCreateNetwork,omitempty" tf:"auto_create_network,omitempty"` + + // The alphanumeric ID of the billing account this project belongs to. The user or service account performing this operation with Terraform must have Billing Account Administrator privileges (roles/billing.admin) in the organization. See Google Cloud Billing API Access Control for more details. + // +kubebuilder:validation:Optional + BillingAccount *string `json:"billingAccount,omitempty" tf:"billing_account,omitempty"` + + // The numeric ID of the folder this project should be created under. Only one of org_id or folder_id may be specified. If the folder_id is specified, then the project is created under the specified folder. Changing this forces the project to be migrated to the newly specified folder. + // +kubebuilder:validation:Optional + FolderID *string `json:"folderId,omitempty" tf:"folder_id,omitempty"` + + // A set of key/value label pairs to assign to the project. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The display name of the project. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The numeric ID of the organization this project belongs to. + // +kubebuilder:validation:Optional + OrgID *string `json:"orgId,omitempty" tf:"org_id,omitempty"` + + // The project ID. Changing this forces a new project to be created. + // +kubebuilder:validation:Required + ProjectID *string `json:"projectId" tf:"project_id,omitempty"` + + // If true, the Terraform resource can be deleted without deleting the Project via the Google API. + // +kubebuilder:validation:Optional + SkipDelete *bool `json:"skipDelete,omitempty" tf:"skip_delete,omitempty"` +} + +// ProjectSpec defines the desired state of Project +type ProjectSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectParameters `json:"forProvider"` +} + +// ProjectStatus defines the observed state of Project. +type ProjectStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Project is the Schema for the Projects 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,gcpjet} +type Project struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectSpec `json:"spec"` + Status ProjectStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectList contains a list of Projects +type ProjectList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Project `json:"items"` +} + +// Repository type metadata. +var ( + Project_Kind = "Project" + Project_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Project_Kind}.String() + Project_KindAPIVersion = Project_Kind + "." + CRDGroupVersion.String() + Project_GroupVersionKind = CRDGroupVersion.WithKind(Project_Kind) +) + +func init() { + SchemeBuilder.Register(&Project{}, &ProjectList{}) +} diff --git a/apis/cloudrun/v1alpha1/zz_domainmapping_terraformed.go b/apis/cloudrun/v1alpha1/zz_domainmapping_terraformed.go new file mode 100755 index 00000000..70086160 --- /dev/null +++ b/apis/cloudrun/v1alpha1/zz_domainmapping_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DomainMapping +func (mg *DomainMapping) GetTerraformResourceType() string { + return "google_cloud_run_domain_mapping" +} + +// GetConnectionDetailsMapping for this DomainMapping +func (tr *DomainMapping) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DomainMapping +func (tr *DomainMapping) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DomainMapping +func (tr *DomainMapping) SetObservation(obs map[string]interface{}) 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 DomainMapping +func (tr *DomainMapping) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DomainMapping +func (tr *DomainMapping) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DomainMapping +func (tr *DomainMapping) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DomainMapping using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DomainMapping) LateInitialize(attrs []byte) (bool, error) { + params := &DomainMappingParameters{} + 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 *DomainMapping) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudrun/v1alpha1/zz_domainmapping_types.go b/apis/cloudrun/v1alpha1/zz_domainmapping_types.go new file mode 100755 index 00000000..7e0a8a28 --- /dev/null +++ b/apis/cloudrun/v1alpha1/zz_domainmapping_types.go @@ -0,0 +1,203 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionsObservation struct { + Message *string `json:"message,omitempty" tf:"message,omitempty"` + + Reason *string `json:"reason,omitempty" tf:"reason,omitempty"` + + Status *string `json:"status,omitempty" tf:"status,omitempty"` + + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type ConditionsParameters struct { +} + +type DomainMappingObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Status []StatusObservation `json:"status,omitempty" tf:"status,omitempty"` +} + +type DomainMappingParameters struct { + + // The location of the cloud run instance. eg us-central1 + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // Metadata associated with this DomainMapping. + // +kubebuilder:validation:Required + Metadata []MetadataParameters `json:"metadata" tf:"metadata,omitempty"` + + // Name should be a [verified](https://support.google.com/webmasters/answer/9008080) domain + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The spec for this DomainMapping. + // +kubebuilder:validation:Required + Spec []SpecParameters `json:"spec" tf:"spec,omitempty"` +} + +type MetadataObservation struct { + Generation *int64 `json:"generation,omitempty" tf:"generation,omitempty"` + + ResourceVersion *string `json:"resourceVersion,omitempty" tf:"resource_version,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + UID *string `json:"uid,omitempty" tf:"uid,omitempty"` +} + +type MetadataParameters struct { + + // Annotations is a key value map stored with a resource that + // may be set by external tools to store and retrieve arbitrary metadata. More + // info: http://kubernetes.io/docs/user-guide/annotations + // + // **Note**: The Cloud Run API may add additional annotations that were not provided in your config. + // If terraform plan shows a diff where a server-side annotation is added, you can add it to your config + // or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. + // +kubebuilder:validation:Optional + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` + + // Map of string keys and values that can be used to organize and categorize + // (scope and select) objects. May match selectors of replication controllers + // and routes. + // More info: http://kubernetes.io/docs/user-guide/labels + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // In Cloud Run the namespace must be equal to either the + // project ID or project number. + // +kubebuilder:validation:Required + Namespace *string `json:"namespace" tf:"namespace,omitempty"` +} + +type ResourceRecordsObservation struct { + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + Rrdata *string `json:"rrdata,omitempty" tf:"rrdata,omitempty"` +} + +type ResourceRecordsParameters struct { + + // Resource record type. Example: 'AAAA'. Possible values: ["A", "AAAA", "CNAME"] + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type SpecObservation struct { +} + +type SpecParameters struct { + + // The mode of the certificate. Default value: "AUTOMATIC" Possible values: ["NONE", "AUTOMATIC"] + // +kubebuilder:validation:Optional + CertificateMode *string `json:"certificateMode,omitempty" tf:"certificate_mode,omitempty"` + + // If set, the mapping will override any mapping set before this spec was set. + // It is recommended that the user leaves this empty to receive an error + // warning about a potential conflict and only set it once the respective UI + // has given such a warning. + // +kubebuilder:validation:Optional + ForceOverride *bool `json:"forceOverride,omitempty" tf:"force_override,omitempty"` + + // The name of the Cloud Run Service that this DomainMapping applies to. + // The route must exist. + // +kubebuilder:validation:Required + RouteName *string `json:"routeName" tf:"route_name,omitempty"` +} + +type StatusObservation struct { + Conditions []ConditionsObservation `json:"conditions,omitempty" tf:"conditions,omitempty"` + + MappedRouteName *string `json:"mappedRouteName,omitempty" tf:"mapped_route_name,omitempty"` + + ObservedGeneration *int64 `json:"observedGeneration,omitempty" tf:"observed_generation,omitempty"` +} + +type StatusParameters struct { + + // The resource records required to configure this domain mapping. These + // records must be added to the domain's DNS configuration in order to + // serve the application via this domain mapping. + // +kubebuilder:validation:Optional + ResourceRecords []ResourceRecordsParameters `json:"resourceRecords,omitempty" tf:"resource_records,omitempty"` +} + +// DomainMappingSpec defines the desired state of DomainMapping +type DomainMappingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DomainMappingParameters `json:"forProvider"` +} + +// DomainMappingStatus defines the observed state of DomainMapping. +type DomainMappingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DomainMappingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DomainMapping is the Schema for the DomainMappings 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,gcpjet} +type DomainMapping struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DomainMappingSpec `json:"spec"` + Status DomainMappingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DomainMappingList contains a list of DomainMappings +type DomainMappingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DomainMapping `json:"items"` +} + +// Repository type metadata. +var ( + DomainMapping_Kind = "DomainMapping" + DomainMapping_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DomainMapping_Kind}.String() + DomainMapping_KindAPIVersion = DomainMapping_Kind + "." + CRDGroupVersion.String() + DomainMapping_GroupVersionKind = CRDGroupVersion.WithKind(DomainMapping_Kind) +) + +func init() { + SchemeBuilder.Register(&DomainMapping{}, &DomainMappingList{}) +} diff --git a/apis/cloudrun/v1alpha1/zz_generated.deepcopy.go b/apis/cloudrun/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..dea636ed --- /dev/null +++ b/apis/cloudrun/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,2089 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionsObservation) DeepCopyInto(out *ConditionsObservation) { + *out = *in + if in.Message != nil { + in, out := &in.Message, &out.Message + *out = new(string) + **out = **in + } + if in.Reason != nil { + in, out := &in.Reason, &out.Reason + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(string) + **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 ConditionsObservation. +func (in *ConditionsObservation) DeepCopy() *ConditionsObservation { + if in == nil { + return nil + } + out := new(ConditionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionsParameters) DeepCopyInto(out *ConditionsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionsParameters. +func (in *ConditionsParameters) DeepCopy() *ConditionsParameters { + if in == nil { + return nil + } + out := new(ConditionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigMapRefObservation) DeepCopyInto(out *ConfigMapRefObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapRefObservation. +func (in *ConfigMapRefObservation) DeepCopy() *ConfigMapRefObservation { + if in == nil { + return nil + } + out := new(ConfigMapRefObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigMapRefParameters) DeepCopyInto(out *ConfigMapRefParameters) { + *out = *in + if in.LocalObjectReference != nil { + in, out := &in.LocalObjectReference, &out.LocalObjectReference + *out = make([]LocalObjectReferenceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapRefParameters. +func (in *ConfigMapRefParameters) DeepCopy() *ConfigMapRefParameters { + if in == nil { + return nil + } + out := new(ConfigMapRefParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainersObservation) DeepCopyInto(out *ContainersObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainersObservation. +func (in *ContainersObservation) DeepCopy() *ContainersObservation { + if in == nil { + return nil + } + out := new(ContainersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainersParameters) DeepCopyInto(out *ContainersParameters) { + *out = *in + if in.Args != nil { + in, out := &in.Args, &out.Args + *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.Command != nil { + in, out := &in.Command, &out.Command + *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.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]EnvParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EnvFrom != nil { + in, out := &in.EnvFrom, &out.EnvFrom + *out = make([]EnvFromParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.Ports != nil { + in, out := &in.Ports, &out.Ports + *out = make([]PortsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = make([]ResourcesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WorkingDir != nil { + in, out := &in.WorkingDir, &out.WorkingDir + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainersParameters. +func (in *ContainersParameters) DeepCopy() *ContainersParameters { + if in == nil { + return nil + } + out := new(ContainersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainMapping) DeepCopyInto(out *DomainMapping) { + *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 DomainMapping. +func (in *DomainMapping) DeepCopy() *DomainMapping { + if in == nil { + return nil + } + out := new(DomainMapping) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DomainMapping) 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 *DomainMappingList) DeepCopyInto(out *DomainMappingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DomainMapping, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainMappingList. +func (in *DomainMappingList) DeepCopy() *DomainMappingList { + if in == nil { + return nil + } + out := new(DomainMappingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DomainMappingList) 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 *DomainMappingObservation) DeepCopyInto(out *DomainMappingObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = make([]StatusObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainMappingObservation. +func (in *DomainMappingObservation) DeepCopy() *DomainMappingObservation { + if in == nil { + return nil + } + out := new(DomainMappingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainMappingParameters) DeepCopyInto(out *DomainMappingParameters) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make([]MetadataParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Spec != nil { + in, out := &in.Spec, &out.Spec + *out = make([]SpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainMappingParameters. +func (in *DomainMappingParameters) DeepCopy() *DomainMappingParameters { + if in == nil { + return nil + } + out := new(DomainMappingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainMappingSpec) DeepCopyInto(out *DomainMappingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainMappingSpec. +func (in *DomainMappingSpec) DeepCopy() *DomainMappingSpec { + if in == nil { + return nil + } + out := new(DomainMappingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DomainMappingStatus) DeepCopyInto(out *DomainMappingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainMappingStatus. +func (in *DomainMappingStatus) DeepCopy() *DomainMappingStatus { + if in == nil { + return nil + } + out := new(DomainMappingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvFromObservation) DeepCopyInto(out *EnvFromObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvFromObservation. +func (in *EnvFromObservation) DeepCopy() *EnvFromObservation { + if in == nil { + return nil + } + out := new(EnvFromObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvFromParameters) DeepCopyInto(out *EnvFromParameters) { + *out = *in + if in.ConfigMapRef != nil { + in, out := &in.ConfigMapRef, &out.ConfigMapRef + *out = make([]ConfigMapRefParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = make([]SecretRefParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvFromParameters. +func (in *EnvFromParameters) DeepCopy() *EnvFromParameters { + if in == nil { + return nil + } + out := new(EnvFromParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvObservation) DeepCopyInto(out *EnvObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvObservation. +func (in *EnvObservation) DeepCopy() *EnvObservation { + if in == nil { + return nil + } + out := new(EnvObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvParameters) DeepCopyInto(out *EnvParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *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 EnvParameters. +func (in *EnvParameters) DeepCopy() *EnvParameters { + if in == nil { + return nil + } + out := new(EnvParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LocalObjectReferenceObservation) DeepCopyInto(out *LocalObjectReferenceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalObjectReferenceObservation. +func (in *LocalObjectReferenceObservation) DeepCopy() *LocalObjectReferenceObservation { + if in == nil { + return nil + } + out := new(LocalObjectReferenceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LocalObjectReferenceParameters) DeepCopyInto(out *LocalObjectReferenceParameters) { + *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 LocalObjectReferenceParameters. +func (in *LocalObjectReferenceParameters) DeepCopy() *LocalObjectReferenceParameters { + if in == nil { + return nil + } + out := new(LocalObjectReferenceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetadataObservation) DeepCopyInto(out *MetadataObservation) { + *out = *in + if in.Generation != nil { + in, out := &in.Generation, &out.Generation + *out = new(int64) + **out = **in + } + if in.ResourceVersion != nil { + in, out := &in.ResourceVersion, &out.ResourceVersion + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.UID != nil { + in, out := &in.UID, &out.UID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataObservation. +func (in *MetadataObservation) DeepCopy() *MetadataObservation { + if in == nil { + return nil + } + out := new(MetadataObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetadataParameters) DeepCopyInto(out *MetadataParameters) { + *out = *in + if in.Annotations != nil { + in, out := &in.Annotations, &out.Annotations + *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.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataParameters. +func (in *MetadataParameters) DeepCopy() *MetadataParameters { + if in == nil { + return nil + } + out := new(MetadataParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PortsObservation) DeepCopyInto(out *PortsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortsObservation. +func (in *PortsObservation) DeepCopy() *PortsObservation { + if in == nil { + return nil + } + out := new(PortsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PortsParameters) DeepCopyInto(out *PortsParameters) { + *out = *in + if in.ContainerPort != nil { + in, out := &in.ContainerPort, &out.ContainerPort + *out = new(int64) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortsParameters. +func (in *PortsParameters) DeepCopy() *PortsParameters { + if in == nil { + return nil + } + out := new(PortsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceRecordsObservation) DeepCopyInto(out *ResourceRecordsObservation) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Rrdata != nil { + in, out := &in.Rrdata, &out.Rrdata + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRecordsObservation. +func (in *ResourceRecordsObservation) DeepCopy() *ResourceRecordsObservation { + if in == nil { + return nil + } + out := new(ResourceRecordsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceRecordsParameters) DeepCopyInto(out *ResourceRecordsParameters) { + *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 ResourceRecordsParameters. +func (in *ResourceRecordsParameters) DeepCopy() *ResourceRecordsParameters { + if in == nil { + return nil + } + out := new(ResourceRecordsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourcesObservation) DeepCopyInto(out *ResourcesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcesObservation. +func (in *ResourcesObservation) DeepCopy() *ResourcesObservation { + if in == nil { + return nil + } + out := new(ResourcesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourcesParameters) DeepCopyInto(out *ResourcesParameters) { + *out = *in + if in.Limits != nil { + in, out := &in.Limits, &out.Limits + *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.Requests != nil { + in, out := &in.Requests, &out.Requests + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcesParameters. +func (in *ResourcesParameters) DeepCopy() *ResourcesParameters { + if in == nil { + return nil + } + out := new(ResourcesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretRefLocalObjectReferenceObservation) DeepCopyInto(out *SecretRefLocalObjectReferenceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRefLocalObjectReferenceObservation. +func (in *SecretRefLocalObjectReferenceObservation) DeepCopy() *SecretRefLocalObjectReferenceObservation { + if in == nil { + return nil + } + out := new(SecretRefLocalObjectReferenceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretRefLocalObjectReferenceParameters) DeepCopyInto(out *SecretRefLocalObjectReferenceParameters) { + *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 SecretRefLocalObjectReferenceParameters. +func (in *SecretRefLocalObjectReferenceParameters) DeepCopy() *SecretRefLocalObjectReferenceParameters { + if in == nil { + return nil + } + out := new(SecretRefLocalObjectReferenceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretRefObservation) DeepCopyInto(out *SecretRefObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRefObservation. +func (in *SecretRefObservation) DeepCopy() *SecretRefObservation { + if in == nil { + return nil + } + out := new(SecretRefObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretRefParameters) DeepCopyInto(out *SecretRefParameters) { + *out = *in + if in.LocalObjectReference != nil { + in, out := &in.LocalObjectReference, &out.LocalObjectReference + *out = make([]SecretRefLocalObjectReferenceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRefParameters. +func (in *SecretRefParameters) DeepCopy() *SecretRefParameters { + if in == nil { + return nil + } + out := new(SecretRefParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Service) DeepCopyInto(out *Service) { + *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 Service. +func (in *Service) DeepCopy() *Service { + if in == nil { + return nil + } + out := new(Service) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Service) 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 *ServiceIAMBinding) DeepCopyInto(out *ServiceIAMBinding) { + *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 ServiceIAMBinding. +func (in *ServiceIAMBinding) DeepCopy() *ServiceIAMBinding { + if in == nil { + return nil + } + out := new(ServiceIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceIAMBinding) 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 *ServiceIAMBindingList) DeepCopyInto(out *ServiceIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMBindingList. +func (in *ServiceIAMBindingList) DeepCopy() *ServiceIAMBindingList { + if in == nil { + return nil + } + out := new(ServiceIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceIAMBindingList) 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 *ServiceIAMBindingObservation) DeepCopyInto(out *ServiceIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMBindingObservation. +func (in *ServiceIAMBindingObservation) DeepCopy() *ServiceIAMBindingObservation { + if in == nil { + return nil + } + out := new(ServiceIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMBindingParameters) DeepCopyInto(out *ServiceIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMBindingParameters. +func (in *ServiceIAMBindingParameters) DeepCopy() *ServiceIAMBindingParameters { + if in == nil { + return nil + } + out := new(ServiceIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMBindingSpec) DeepCopyInto(out *ServiceIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMBindingSpec. +func (in *ServiceIAMBindingSpec) DeepCopy() *ServiceIAMBindingSpec { + if in == nil { + return nil + } + out := new(ServiceIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMBindingStatus) DeepCopyInto(out *ServiceIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMBindingStatus. +func (in *ServiceIAMBindingStatus) DeepCopy() *ServiceIAMBindingStatus { + if in == nil { + return nil + } + out := new(ServiceIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMMember) DeepCopyInto(out *ServiceIAMMember) { + *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 ServiceIAMMember. +func (in *ServiceIAMMember) DeepCopy() *ServiceIAMMember { + if in == nil { + return nil + } + out := new(ServiceIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceIAMMember) 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 *ServiceIAMMemberConditionObservation) DeepCopyInto(out *ServiceIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberConditionObservation. +func (in *ServiceIAMMemberConditionObservation) DeepCopy() *ServiceIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(ServiceIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMMemberConditionParameters) DeepCopyInto(out *ServiceIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberConditionParameters. +func (in *ServiceIAMMemberConditionParameters) DeepCopy() *ServiceIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(ServiceIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMMemberList) DeepCopyInto(out *ServiceIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberList. +func (in *ServiceIAMMemberList) DeepCopy() *ServiceIAMMemberList { + if in == nil { + return nil + } + out := new(ServiceIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceIAMMemberList) 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 *ServiceIAMMemberObservation) DeepCopyInto(out *ServiceIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberObservation. +func (in *ServiceIAMMemberObservation) DeepCopy() *ServiceIAMMemberObservation { + if in == nil { + return nil + } + out := new(ServiceIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMMemberParameters) DeepCopyInto(out *ServiceIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ServiceIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberParameters. +func (in *ServiceIAMMemberParameters) DeepCopy() *ServiceIAMMemberParameters { + if in == nil { + return nil + } + out := new(ServiceIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMMemberSpec) DeepCopyInto(out *ServiceIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberSpec. +func (in *ServiceIAMMemberSpec) DeepCopy() *ServiceIAMMemberSpec { + if in == nil { + return nil + } + out := new(ServiceIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMMemberStatus) DeepCopyInto(out *ServiceIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberStatus. +func (in *ServiceIAMMemberStatus) DeepCopy() *ServiceIAMMemberStatus { + if in == nil { + return nil + } + out := new(ServiceIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMPolicy) DeepCopyInto(out *ServiceIAMPolicy) { + *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 ServiceIAMPolicy. +func (in *ServiceIAMPolicy) DeepCopy() *ServiceIAMPolicy { + if in == nil { + return nil + } + out := new(ServiceIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceIAMPolicy) 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 *ServiceIAMPolicyList) DeepCopyInto(out *ServiceIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMPolicyList. +func (in *ServiceIAMPolicyList) DeepCopy() *ServiceIAMPolicyList { + if in == nil { + return nil + } + out := new(ServiceIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceIAMPolicyList) 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 *ServiceIAMPolicyObservation) DeepCopyInto(out *ServiceIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMPolicyObservation. +func (in *ServiceIAMPolicyObservation) DeepCopy() *ServiceIAMPolicyObservation { + if in == nil { + return nil + } + out := new(ServiceIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMPolicyParameters) DeepCopyInto(out *ServiceIAMPolicyParameters) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMPolicyParameters. +func (in *ServiceIAMPolicyParameters) DeepCopy() *ServiceIAMPolicyParameters { + if in == nil { + return nil + } + out := new(ServiceIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMPolicySpec) DeepCopyInto(out *ServiceIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMPolicySpec. +func (in *ServiceIAMPolicySpec) DeepCopy() *ServiceIAMPolicySpec { + if in == nil { + return nil + } + out := new(ServiceIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMPolicyStatus) DeepCopyInto(out *ServiceIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMPolicyStatus. +func (in *ServiceIAMPolicyStatus) DeepCopy() *ServiceIAMPolicyStatus { + if in == nil { + return nil + } + out := new(ServiceIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceList) DeepCopyInto(out *ServiceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Service, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceList. +func (in *ServiceList) DeepCopy() *ServiceList { + if in == nil { + return nil + } + out := new(ServiceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceList) 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 *ServiceMetadataObservation) DeepCopyInto(out *ServiceMetadataObservation) { + *out = *in + if in.Generation != nil { + in, out := &in.Generation, &out.Generation + *out = new(int64) + **out = **in + } + if in.ResourceVersion != nil { + in, out := &in.ResourceVersion, &out.ResourceVersion + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.UID != nil { + in, out := &in.UID, &out.UID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMetadataObservation. +func (in *ServiceMetadataObservation) DeepCopy() *ServiceMetadataObservation { + if in == nil { + return nil + } + out := new(ServiceMetadataObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceMetadataParameters) DeepCopyInto(out *ServiceMetadataParameters) { + *out = *in + if in.Annotations != nil { + in, out := &in.Annotations, &out.Annotations + *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.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMetadataParameters. +func (in *ServiceMetadataParameters) DeepCopy() *ServiceMetadataParameters { + if in == nil { + return nil + } + out := new(ServiceMetadataParameters) + 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.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = make([]ServiceStatusObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// 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.AutogenerateRevisionName != nil { + in, out := &in.AutogenerateRevisionName, &out.AutogenerateRevisionName + *out = new(bool) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make([]ServiceMetadataParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Template != nil { + in, out := &in.Template, &out.Template + *out = make([]TemplateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Traffic != nil { + in, out := &in.Traffic, &out.Traffic + *out = make([]TrafficParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// 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 *ServiceSpec) DeepCopyInto(out *ServiceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSpec. +func (in *ServiceSpec) DeepCopy() *ServiceSpec { + if in == nil { + return nil + } + out := new(ServiceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceStatus. +func (in *ServiceStatus) DeepCopy() *ServiceStatus { + if in == nil { + return nil + } + out := new(ServiceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceStatusObservation) DeepCopyInto(out *ServiceStatusObservation) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]StatusConditionsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LatestCreatedRevisionName != nil { + in, out := &in.LatestCreatedRevisionName, &out.LatestCreatedRevisionName + *out = new(string) + **out = **in + } + if in.LatestReadyRevisionName != nil { + in, out := &in.LatestReadyRevisionName, &out.LatestReadyRevisionName + *out = new(string) + **out = **in + } + if in.ObservedGeneration != nil { + in, out := &in.ObservedGeneration, &out.ObservedGeneration + *out = new(int64) + **out = **in + } + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceStatusObservation. +func (in *ServiceStatusObservation) DeepCopy() *ServiceStatusObservation { + if in == nil { + return nil + } + out := new(ServiceStatusObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceStatusParameters) DeepCopyInto(out *ServiceStatusParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceStatusParameters. +func (in *ServiceStatusParameters) DeepCopy() *ServiceStatusParameters { + if in == nil { + return nil + } + out := new(ServiceStatusParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecObservation) DeepCopyInto(out *SpecObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecObservation. +func (in *SpecObservation) DeepCopy() *SpecObservation { + if in == nil { + return nil + } + out := new(SpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecParameters) DeepCopyInto(out *SpecParameters) { + *out = *in + if in.CertificateMode != nil { + in, out := &in.CertificateMode, &out.CertificateMode + *out = new(string) + **out = **in + } + if in.ForceOverride != nil { + in, out := &in.ForceOverride, &out.ForceOverride + *out = new(bool) + **out = **in + } + if in.RouteName != nil { + in, out := &in.RouteName, &out.RouteName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecParameters. +func (in *SpecParameters) DeepCopy() *SpecParameters { + if in == nil { + return nil + } + out := new(SpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusConditionsObservation) DeepCopyInto(out *StatusConditionsObservation) { + *out = *in + if in.Message != nil { + in, out := &in.Message, &out.Message + *out = new(string) + **out = **in + } + if in.Reason != nil { + in, out := &in.Reason, &out.Reason + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(string) + **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 StatusConditionsObservation. +func (in *StatusConditionsObservation) DeepCopy() *StatusConditionsObservation { + if in == nil { + return nil + } + out := new(StatusConditionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusConditionsParameters) DeepCopyInto(out *StatusConditionsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusConditionsParameters. +func (in *StatusConditionsParameters) DeepCopy() *StatusConditionsParameters { + if in == nil { + return nil + } + out := new(StatusConditionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusObservation) DeepCopyInto(out *StatusObservation) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]ConditionsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MappedRouteName != nil { + in, out := &in.MappedRouteName, &out.MappedRouteName + *out = new(string) + **out = **in + } + if in.ObservedGeneration != nil { + in, out := &in.ObservedGeneration, &out.ObservedGeneration + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusObservation. +func (in *StatusObservation) DeepCopy() *StatusObservation { + if in == nil { + return nil + } + out := new(StatusObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusParameters) DeepCopyInto(out *StatusParameters) { + *out = *in + if in.ResourceRecords != nil { + in, out := &in.ResourceRecords, &out.ResourceRecords + *out = make([]ResourceRecordsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusParameters. +func (in *StatusParameters) DeepCopy() *StatusParameters { + if in == nil { + return nil + } + out := new(StatusParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TemplateMetadataObservation) DeepCopyInto(out *TemplateMetadataObservation) { + *out = *in + if in.Generation != nil { + in, out := &in.Generation, &out.Generation + *out = new(int64) + **out = **in + } + if in.ResourceVersion != nil { + in, out := &in.ResourceVersion, &out.ResourceVersion + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.UID != nil { + in, out := &in.UID, &out.UID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateMetadataObservation. +func (in *TemplateMetadataObservation) DeepCopy() *TemplateMetadataObservation { + if in == nil { + return nil + } + out := new(TemplateMetadataObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TemplateMetadataParameters) DeepCopyInto(out *TemplateMetadataParameters) { + *out = *in + if in.Annotations != nil { + in, out := &in.Annotations, &out.Annotations + *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.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateMetadataParameters. +func (in *TemplateMetadataParameters) DeepCopy() *TemplateMetadataParameters { + if in == nil { + return nil + } + out := new(TemplateMetadataParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TemplateObservation) DeepCopyInto(out *TemplateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateObservation. +func (in *TemplateObservation) DeepCopy() *TemplateObservation { + if in == nil { + return nil + } + out := new(TemplateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TemplateParameters) DeepCopyInto(out *TemplateParameters) { + *out = *in + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make([]TemplateMetadataParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Spec != nil { + in, out := &in.Spec, &out.Spec + *out = make([]TemplateSpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateParameters. +func (in *TemplateParameters) DeepCopy() *TemplateParameters { + if in == nil { + return nil + } + out := new(TemplateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TemplateSpecObservation) DeepCopyInto(out *TemplateSpecObservation) { + *out = *in + if in.ServingState != nil { + in, out := &in.ServingState, &out.ServingState + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateSpecObservation. +func (in *TemplateSpecObservation) DeepCopy() *TemplateSpecObservation { + if in == nil { + return nil + } + out := new(TemplateSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TemplateSpecParameters) DeepCopyInto(out *TemplateSpecParameters) { + *out = *in + if in.ContainerConcurrency != nil { + in, out := &in.ContainerConcurrency, &out.ContainerConcurrency + *out = new(int64) + **out = **in + } + if in.Containers != nil { + in, out := &in.Containers, &out.Containers + *out = make([]ContainersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceAccountName != nil { + in, out := &in.ServiceAccountName, &out.ServiceAccountName + *out = new(string) + **out = **in + } + if in.TimeoutSeconds != nil { + in, out := &in.TimeoutSeconds, &out.TimeoutSeconds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateSpecParameters. +func (in *TemplateSpecParameters) DeepCopy() *TemplateSpecParameters { + if in == nil { + return nil + } + out := new(TemplateSpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrafficObservation) DeepCopyInto(out *TrafficObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficObservation. +func (in *TrafficObservation) DeepCopy() *TrafficObservation { + if in == nil { + return nil + } + out := new(TrafficObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrafficParameters) DeepCopyInto(out *TrafficParameters) { + *out = *in + if in.LatestRevision != nil { + in, out := &in.LatestRevision, &out.LatestRevision + *out = new(bool) + **out = **in + } + if in.Percent != nil { + in, out := &in.Percent, &out.Percent + *out = new(int64) + **out = **in + } + if in.RevisionName != nil { + in, out := &in.RevisionName, &out.RevisionName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficParameters. +func (in *TrafficParameters) DeepCopy() *TrafficParameters { + if in == nil { + return nil + } + out := new(TrafficParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/cloudrun/v1alpha1/zz_generated.managed.go b/apis/cloudrun/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..338d8346 --- /dev/null +++ b/apis/cloudrun/v1alpha1/zz_generated.managed.go @@ -0,0 +1,300 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this DomainMapping. +func (mg *DomainMapping) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DomainMapping. +func (mg *DomainMapping) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DomainMapping. +func (mg *DomainMapping) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DomainMapping. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DomainMapping) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DomainMapping. +func (mg *DomainMapping) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DomainMapping. +func (mg *DomainMapping) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DomainMapping. +func (mg *DomainMapping) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DomainMapping. +func (mg *DomainMapping) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DomainMapping. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DomainMapping) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DomainMapping. +func (mg *DomainMapping) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Service. +func (mg *Service) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Service. +func (mg *Service) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Service. +func (mg *Service) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Service. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Service) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Service. +func (mg *Service) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Service. +func (mg *Service) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Service. +func (mg *Service) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Service. +func (mg *Service) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Service. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Service) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Service. +func (mg *Service) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServiceIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServiceIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServiceIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServiceIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServiceIAMMember. +func (mg *ServiceIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServiceIAMMember. +func (mg *ServiceIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServiceIAMMember. +func (mg *ServiceIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServiceIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServiceIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServiceIAMMember. +func (mg *ServiceIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServiceIAMMember. +func (mg *ServiceIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServiceIAMMember. +func (mg *ServiceIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServiceIAMMember. +func (mg *ServiceIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServiceIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServiceIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServiceIAMMember. +func (mg *ServiceIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServiceIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServiceIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServiceIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServiceIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/cloudrun/v1alpha1/zz_generated.managedlist.go b/apis/cloudrun/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..9cff04db --- /dev/null +++ b/apis/cloudrun/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,65 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this DomainMappingList. +func (l *DomainMappingList) 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 ServiceIAMBindingList. +func (l *ServiceIAMBindingList) 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 ServiceIAMMemberList. +func (l *ServiceIAMMemberList) 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 ServiceIAMPolicyList. +func (l *ServiceIAMPolicyList) 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 ServiceList. +func (l *ServiceList) 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/cloudrun/v1alpha1/zz_groupversion_info.go b/apis/cloudrun/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..921c1e0a --- /dev/null +++ b/apis/cloudrun/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=cloudrun.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "cloudrun.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/cloudrun/v1alpha1/zz_service_terraformed.go b/apis/cloudrun/v1alpha1/zz_service_terraformed.go new file mode 100755 index 00000000..5713df30 --- /dev/null +++ b/apis/cloudrun/v1alpha1/zz_service_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Service +func (mg *Service) GetTerraformResourceType() string { + return "google_cloud_run_service" +} + +// GetConnectionDetailsMapping for this Service +func (tr *Service) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Service +func (tr *Service) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Service +func (tr *Service) SetObservation(obs map[string]interface{}) 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 Service +func (tr *Service) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Service +func (tr *Service) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Service +func (tr *Service) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Service using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Service) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceParameters{} + 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 *Service) GetTerraformSchemaVersion() int { + return 1 +} diff --git a/apis/cloudrun/v1alpha1/zz_service_types.go b/apis/cloudrun/v1alpha1/zz_service_types.go new file mode 100755 index 00000000..3d25762e --- /dev/null +++ b/apis/cloudrun/v1alpha1/zz_service_types.go @@ -0,0 +1,505 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConfigMapRefObservation struct { +} + +type ConfigMapRefParameters struct { + + // The ConfigMap to select from. + // +kubebuilder:validation:Optional + LocalObjectReference []LocalObjectReferenceParameters `json:"localObjectReference,omitempty" tf:"local_object_reference,omitempty"` + + // Specify whether the ConfigMap must be defined + // +kubebuilder:validation:Optional + Optional *bool `json:"optional,omitempty" tf:"optional,omitempty"` +} + +type ContainersObservation struct { +} + +type ContainersParameters struct { + + // Arguments to the entrypoint. + // The docker image's CMD is used if this is not provided. + // Variable references $(VAR_NAME) are expanded using the container's + // environment. If a variable cannot be resolved, the reference in the input + // string will be unchanged. The $(VAR_NAME) syntax can be escaped with a + // double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, + // regardless of whether the variable exists or not. + // More info: + // https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + // +kubebuilder:validation:Optional + Args []*string `json:"args,omitempty" tf:"args,omitempty"` + + // Entrypoint array. Not executed within a shell. + // The docker image's ENTRYPOINT is used if this is not provided. + // Variable references $(VAR_NAME) are expanded using the container's + // environment. If a variable cannot be resolved, the reference in the input + // string will be unchanged. The $(VAR_NAME) syntax can be escaped with a + // double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, + // regardless of whether the variable exists or not. + // More info: + // https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + // +kubebuilder:validation:Optional + Command []*string `json:"command,omitempty" tf:"command,omitempty"` + + // List of environment variables to set in the container. + // +kubebuilder:validation:Optional + Env []EnvParameters `json:"env,omitempty" tf:"env,omitempty"` + + // List of sources to populate environment variables in the container. + // All invalid keys will be reported as an event when the container is starting. + // When a key exists in multiple sources, the value associated with the last source will + // take precedence. Values defined by an Env with a duplicate key will take + // precedence. + // +kubebuilder:validation:Optional + EnvFrom []EnvFromParameters `json:"envFrom,omitempty" tf:"env_from,omitempty"` + + // Docker image name. This is most often a reference to a container located + // in the container registry, such as gcr.io/cloudrun/hello + // More info: https://kubernetes.io/docs/concepts/containers/images + // +kubebuilder:validation:Required + Image *string `json:"image" tf:"image,omitempty"` + + // List of open ports in the container. + // More Info: + // https://cloud.google.com/run/docs/reference/rest/v1/RevisionSpec#ContainerPort + // +kubebuilder:validation:Optional + Ports []PortsParameters `json:"ports,omitempty" tf:"ports,omitempty"` + + // Compute Resources required by this container. Used to set values such as max memory + // More info: + // https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits + // +kubebuilder:validation:Optional + Resources []ResourcesParameters `json:"resources,omitempty" tf:"resources,omitempty"` + + // Container's working directory. + // If not specified, the container runtime's default will be used, which + // might be configured in the container image. + // +kubebuilder:validation:Optional + WorkingDir *string `json:"workingDir,omitempty" tf:"working_dir,omitempty"` +} + +type EnvFromObservation struct { +} + +type EnvFromParameters struct { + + // The ConfigMap to select from. + // +kubebuilder:validation:Optional + ConfigMapRef []ConfigMapRefParameters `json:"configMapRef,omitempty" tf:"config_map_ref,omitempty"` + + // An optional identifier to prepend to each key in the ConfigMap. + // +kubebuilder:validation:Optional + Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` + + // The Secret to select from. + // +kubebuilder:validation:Optional + SecretRef []SecretRefParameters `json:"secretRef,omitempty" tf:"secret_ref,omitempty"` +} + +type EnvObservation struct { +} + +type EnvParameters struct { + + // Name of the environment variable. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Variable references $(VAR_NAME) are expanded + // using the previous defined environment variables in the container and + // any route environment variables. If a variable cannot be resolved, + // the reference in the input string will be unchanged. The $(VAR_NAME) + // syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped + // references will never be expanded, regardless of whether the variable + // exists or not. + // Defaults to "". + // +kubebuilder:validation:Optional + Value *string `json:"value,omitempty" tf:"value,omitempty"` +} + +type LocalObjectReferenceObservation struct { +} + +type LocalObjectReferenceParameters struct { + + // Name of the referent. + // More info: + // https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type PortsObservation struct { +} + +type PortsParameters struct { + + // Port number. + // +kubebuilder:validation:Required + ContainerPort *int64 `json:"containerPort" tf:"container_port,omitempty"` + + // Name of the port. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Protocol used on port. Defaults to TCP. + // +kubebuilder:validation:Optional + Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"` +} + +type ResourcesObservation struct { +} + +type ResourcesParameters struct { + + // Limits describes the maximum amount of compute resources allowed. + // The values of the map is string form of the 'quantity' k8s type: + // https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go + // +kubebuilder:validation:Optional + Limits map[string]*string `json:"limits,omitempty" tf:"limits,omitempty"` + + // Requests describes the minimum amount of compute resources required. + // If Requests is omitted for a container, it defaults to Limits if that is + // explicitly specified, otherwise to an implementation-defined value. + // The values of the map is string form of the 'quantity' k8s type: + // https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go + // +kubebuilder:validation:Optional + Requests map[string]*string `json:"requests,omitempty" tf:"requests,omitempty"` +} + +type SecretRefLocalObjectReferenceObservation struct { +} + +type SecretRefLocalObjectReferenceParameters struct { + + // Name of the referent. + // More info: + // https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type SecretRefObservation struct { +} + +type SecretRefParameters struct { + + // The Secret to select from. + // +kubebuilder:validation:Optional + LocalObjectReference []SecretRefLocalObjectReferenceParameters `json:"localObjectReference,omitempty" tf:"local_object_reference,omitempty"` + + // Specify whether the Secret must be defined + // +kubebuilder:validation:Optional + Optional *bool `json:"optional,omitempty" tf:"optional,omitempty"` +} + +type ServiceMetadataObservation struct { + Generation *int64 `json:"generation,omitempty" tf:"generation,omitempty"` + + ResourceVersion *string `json:"resourceVersion,omitempty" tf:"resource_version,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + UID *string `json:"uid,omitempty" tf:"uid,omitempty"` +} + +type ServiceMetadataParameters struct { + + // Annotations is a key value map stored with a resource that + // may be set by external tools to store and retrieve arbitrary metadata. More + // info: http://kubernetes.io/docs/user-guide/annotations + // + // **Note**: The Cloud Run API may add additional annotations that were not provided in your config. + // If terraform plan shows a diff where a server-side annotation is added, you can add it to your config + // or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. + // + // Cloud Run (fully managed) uses the following annotation keys to configure features on a Service: + // + // - 'run.googleapis.com/ingress' sets the [ingress settings](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--ingress) + // for the Service. For example, '"run.googleapis.com/ingress" = "all"'. + // +kubebuilder:validation:Optional + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` + + // Map of string keys and values that can be used to organize and categorize + // (scope and select) objects. May match selectors of replication controllers + // and routes. + // More info: http://kubernetes.io/docs/user-guide/labels + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // In Cloud Run the namespace must be equal to either the + // project ID or project number. + // +kubebuilder:validation:Optional + Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` +} + +type ServiceObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Status []ServiceStatusObservation `json:"status,omitempty" tf:"status,omitempty"` +} + +type ServiceParameters struct { + + // +kubebuilder:validation:Optional + AutogenerateRevisionName *bool `json:"autogenerateRevisionName,omitempty" tf:"autogenerate_revision_name,omitempty"` + + // The location of the cloud run instance. eg us-central1 + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // Metadata associated with this Service, including name, namespace, labels, + // and annotations. + // +kubebuilder:validation:Optional + Metadata []ServiceMetadataParameters `json:"metadata,omitempty" tf:"metadata,omitempty"` + + // Name must be unique within a namespace, within a Cloud Run region. + // Is required when creating resources. Name is primarily intended + // for creation idempotence and configuration definition. Cannot be updated. + // More info: http://kubernetes.io/docs/user-guide/identifiers#names + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // template holds the latest specification for the Revision to + // be stamped out. The template references the container image, and may also + // include labels and annotations that should be attached to the Revision. + // To correlate a Revision, and/or to force a Revision to be created when the + // spec doesn't otherwise change, a nonce label may be provided in the + // template metadata. For more details, see: + // https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions + // + // Cloud Run does not currently support referencing a build that is + // responsible for materializing the container image from source. + // +kubebuilder:validation:Optional + Template []TemplateParameters `json:"template,omitempty" tf:"template,omitempty"` + + // Traffic specifies how to distribute traffic over a collection of Knative Revisions + // and Configurations + // +kubebuilder:validation:Optional + Traffic []TrafficParameters `json:"traffic,omitempty" tf:"traffic,omitempty"` +} + +type ServiceStatusObservation struct { + Conditions []StatusConditionsObservation `json:"conditions,omitempty" tf:"conditions,omitempty"` + + LatestCreatedRevisionName *string `json:"latestCreatedRevisionName,omitempty" tf:"latest_created_revision_name,omitempty"` + + LatestReadyRevisionName *string `json:"latestReadyRevisionName,omitempty" tf:"latest_ready_revision_name,omitempty"` + + ObservedGeneration *int64 `json:"observedGeneration,omitempty" tf:"observed_generation,omitempty"` + + URL *string `json:"url,omitempty" tf:"url,omitempty"` +} + +type ServiceStatusParameters struct { +} + +type StatusConditionsObservation struct { + Message *string `json:"message,omitempty" tf:"message,omitempty"` + + Reason *string `json:"reason,omitempty" tf:"reason,omitempty"` + + Status *string `json:"status,omitempty" tf:"status,omitempty"` + + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type StatusConditionsParameters struct { +} + +type TemplateMetadataObservation struct { + Generation *int64 `json:"generation,omitempty" tf:"generation,omitempty"` + + ResourceVersion *string `json:"resourceVersion,omitempty" tf:"resource_version,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + UID *string `json:"uid,omitempty" tf:"uid,omitempty"` +} + +type TemplateMetadataParameters struct { + + // Annotations is a key value map stored with a resource that + // may be set by external tools to store and retrieve arbitrary metadata. More + // info: http://kubernetes.io/docs/user-guide/annotations + // + // **Note**: The Cloud Run API may add additional annotations that were not provided in your config. + // If terraform plan shows a diff where a server-side annotation is added, you can add it to your config + // or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field. + // +kubebuilder:validation:Optional + Annotations map[string]*string `json:"annotations,omitempty" tf:"annotations,omitempty"` + + // Map of string keys and values that can be used to organize and categorize + // (scope and select) objects. May match selectors of replication controllers + // and routes. + // More info: http://kubernetes.io/docs/user-guide/labels + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Name must be unique within a namespace, within a Cloud Run region. + // Is required when creating resources. Name is primarily intended + // for creation idempotence and configuration definition. Cannot be updated. + // More info: http://kubernetes.io/docs/user-guide/identifiers#names + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // In Cloud Run the namespace must be equal to either the + // project ID or project number. It will default to the resource's project. + // +kubebuilder:validation:Optional + Namespace *string `json:"namespace,omitempty" tf:"namespace,omitempty"` +} + +type TemplateObservation struct { +} + +type TemplateParameters struct { + + // Optional metadata for this Revision, including labels and annotations. + // Name will be generated by the Configuration. To set minimum instances + // for this revision, use the "autoscaling.knative.dev/minScale" annotation + // key. To set maximum instances for this revision, use the + // "autoscaling.knative.dev/maxScale" annotation key. To set Cloud SQL + // connections for the revision, use the "run.googleapis.com/cloudsql-instances" + // annotation key. + // +kubebuilder:validation:Optional + Metadata []TemplateMetadataParameters `json:"metadata,omitempty" tf:"metadata,omitempty"` + + // RevisionSpec holds the desired state of the Revision (from the client). + // +kubebuilder:validation:Optional + Spec []TemplateSpecParameters `json:"spec,omitempty" tf:"spec,omitempty"` +} + +type TemplateSpecObservation struct { + ServingState *string `json:"servingState,omitempty" tf:"serving_state,omitempty"` +} + +type TemplateSpecParameters struct { + + // ContainerConcurrency specifies the maximum allowed in-flight (concurrent) + // requests per container of the Revision. Values are: + // - '0' thread-safe, the system should manage the max concurrency. This is + // the default value. + // - '1' not-thread-safe. Single concurrency + // - '2-N' thread-safe, max concurrency of N + // +kubebuilder:validation:Optional + ContainerConcurrency *int64 `json:"containerConcurrency,omitempty" tf:"container_concurrency,omitempty"` + + // Container defines the unit of execution for this Revision. + // In the context of a Revision, we disallow a number of the fields of + // this Container, including: name, ports, and volumeMounts. + // The runtime contract is documented here: + // https://github.com/knative/serving/blob/master/docs/runtime-contract.md + // +kubebuilder:validation:Optional + Containers []ContainersParameters `json:"containers,omitempty" tf:"containers,omitempty"` + + // Email address of the IAM service account associated with the revision of the + // service. The service account represents the identity of the running revision, + // and determines what permissions the revision has. If not provided, the revision + // will use the project's default service account. + // +kubebuilder:validation:Optional + ServiceAccountName *string `json:"serviceAccountName,omitempty" tf:"service_account_name,omitempty"` + + // TimeoutSeconds holds the max duration the instance is allowed for responding to a request. + // +kubebuilder:validation:Optional + TimeoutSeconds *int64 `json:"timeoutSeconds,omitempty" tf:"timeout_seconds,omitempty"` +} + +type TrafficObservation struct { +} + +type TrafficParameters struct { + + // LatestRevision may be optionally provided to indicate that the latest ready + // Revision of the Configuration should be used for this traffic target. When + // provided LatestRevision must be true if RevisionName is empty; it must be + // false when RevisionName is non-empty. + // +kubebuilder:validation:Optional + LatestRevision *bool `json:"latestRevision,omitempty" tf:"latest_revision,omitempty"` + + // Percent specifies percent of the traffic to this Revision or Configuration. + // +kubebuilder:validation:Required + Percent *int64 `json:"percent" tf:"percent,omitempty"` + + // RevisionName of a specific revision to which to send this portion of traffic. + // +kubebuilder:validation:Optional + RevisionName *string `json:"revisionName,omitempty" tf:"revision_name,omitempty"` +} + +// ServiceSpec defines the desired state of Service +type ServiceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceParameters `json:"forProvider"` +} + +// ServiceStatus defines the observed state of Service. +type ServiceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Service is the Schema for the Services 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,gcpjet} +type Service struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceSpec `json:"spec"` + Status ServiceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceList contains a list of Services +type ServiceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Service `json:"items"` +} + +// Repository type metadata. +var ( + Service_Kind = "Service" + Service_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Service_Kind}.String() + Service_KindAPIVersion = Service_Kind + "." + CRDGroupVersion.String() + Service_GroupVersionKind = CRDGroupVersion.WithKind(Service_Kind) +) + +func init() { + SchemeBuilder.Register(&Service{}, &ServiceList{}) +} diff --git a/apis/cloudrun/v1alpha1/zz_serviceiambinding_terraformed.go b/apis/cloudrun/v1alpha1/zz_serviceiambinding_terraformed.go new file mode 100755 index 00000000..cf0d14ab --- /dev/null +++ b/apis/cloudrun/v1alpha1/zz_serviceiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServiceIAMBinding +func (mg *ServiceIAMBinding) GetTerraformResourceType() string { + return "google_cloud_run_service_iam_binding" +} + +// GetConnectionDetailsMapping for this ServiceIAMBinding +func (tr *ServiceIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServiceIAMBinding +func (tr *ServiceIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServiceIAMBinding +func (tr *ServiceIAMBinding) SetObservation(obs map[string]interface{}) 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 ServiceIAMBinding +func (tr *ServiceIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServiceIAMBinding +func (tr *ServiceIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServiceIAMBinding +func (tr *ServiceIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServiceIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServiceIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceIAMBindingParameters{} + 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 *ServiceIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudrun/v1alpha1/zz_serviceiambinding_types.go b/apis/cloudrun/v1alpha1/zz_serviceiambinding_types.go new file mode 100755 index 00000000..cd3904de --- /dev/null +++ b/apis/cloudrun/v1alpha1/zz_serviceiambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type ServiceIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ServiceIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +// ServiceIAMBindingSpec defines the desired state of ServiceIAMBinding +type ServiceIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceIAMBindingParameters `json:"forProvider"` +} + +// ServiceIAMBindingStatus defines the observed state of ServiceIAMBinding. +type ServiceIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceIAMBinding is the Schema for the ServiceIAMBindings 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,gcpjet} +type ServiceIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceIAMBindingSpec `json:"spec"` + Status ServiceIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceIAMBindingList contains a list of ServiceIAMBindings +type ServiceIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServiceIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + ServiceIAMBinding_Kind = "ServiceIAMBinding" + ServiceIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceIAMBinding_Kind}.String() + ServiceIAMBinding_KindAPIVersion = ServiceIAMBinding_Kind + "." + CRDGroupVersion.String() + ServiceIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(ServiceIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&ServiceIAMBinding{}, &ServiceIAMBindingList{}) +} diff --git a/apis/cloudrun/v1alpha1/zz_serviceiammember_terraformed.go b/apis/cloudrun/v1alpha1/zz_serviceiammember_terraformed.go new file mode 100755 index 00000000..27acb4d0 --- /dev/null +++ b/apis/cloudrun/v1alpha1/zz_serviceiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServiceIAMMember +func (mg *ServiceIAMMember) GetTerraformResourceType() string { + return "google_cloud_run_service_iam_member" +} + +// GetConnectionDetailsMapping for this ServiceIAMMember +func (tr *ServiceIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServiceIAMMember +func (tr *ServiceIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServiceIAMMember +func (tr *ServiceIAMMember) SetObservation(obs map[string]interface{}) 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 ServiceIAMMember +func (tr *ServiceIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServiceIAMMember +func (tr *ServiceIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServiceIAMMember +func (tr *ServiceIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServiceIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServiceIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceIAMMemberParameters{} + 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 *ServiceIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudrun/v1alpha1/zz_serviceiammember_types.go b/apis/cloudrun/v1alpha1/zz_serviceiammember_types.go new file mode 100755 index 00000000..154dd221 --- /dev/null +++ b/apis/cloudrun/v1alpha1/zz_serviceiammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ServiceIAMMemberConditionObservation struct { +} + +type ServiceIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type ServiceIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ServiceIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []ServiceIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +// ServiceIAMMemberSpec defines the desired state of ServiceIAMMember +type ServiceIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceIAMMemberParameters `json:"forProvider"` +} + +// ServiceIAMMemberStatus defines the observed state of ServiceIAMMember. +type ServiceIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceIAMMember is the Schema for the ServiceIAMMembers 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,gcpjet} +type ServiceIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceIAMMemberSpec `json:"spec"` + Status ServiceIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceIAMMemberList contains a list of ServiceIAMMembers +type ServiceIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServiceIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + ServiceIAMMember_Kind = "ServiceIAMMember" + ServiceIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceIAMMember_Kind}.String() + ServiceIAMMember_KindAPIVersion = ServiceIAMMember_Kind + "." + CRDGroupVersion.String() + ServiceIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(ServiceIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&ServiceIAMMember{}, &ServiceIAMMemberList{}) +} diff --git a/apis/cloudrun/v1alpha1/zz_serviceiampolicy_terraformed.go b/apis/cloudrun/v1alpha1/zz_serviceiampolicy_terraformed.go new file mode 100755 index 00000000..ab680e49 --- /dev/null +++ b/apis/cloudrun/v1alpha1/zz_serviceiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServiceIAMPolicy +func (mg *ServiceIAMPolicy) GetTerraformResourceType() string { + return "google_cloud_run_service_iam_policy" +} + +// GetConnectionDetailsMapping for this ServiceIAMPolicy +func (tr *ServiceIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServiceIAMPolicy +func (tr *ServiceIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServiceIAMPolicy +func (tr *ServiceIAMPolicy) SetObservation(obs map[string]interface{}) 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 ServiceIAMPolicy +func (tr *ServiceIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServiceIAMPolicy +func (tr *ServiceIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServiceIAMPolicy +func (tr *ServiceIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServiceIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServiceIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceIAMPolicyParameters{} + 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 *ServiceIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudrun/v1alpha1/zz_serviceiampolicy_types.go b/apis/cloudrun/v1alpha1/zz_serviceiampolicy_types.go new file mode 100755 index 00000000..6b9199d9 --- /dev/null +++ b/apis/cloudrun/v1alpha1/zz_serviceiampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ServiceIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ServiceIAMPolicyParameters struct { + + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +// ServiceIAMPolicySpec defines the desired state of ServiceIAMPolicy +type ServiceIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceIAMPolicyParameters `json:"forProvider"` +} + +// ServiceIAMPolicyStatus defines the observed state of ServiceIAMPolicy. +type ServiceIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceIAMPolicy is the Schema for the ServiceIAMPolicys 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,gcpjet} +type ServiceIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceIAMPolicySpec `json:"spec"` + Status ServiceIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceIAMPolicyList contains a list of ServiceIAMPolicys +type ServiceIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServiceIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + ServiceIAMPolicy_Kind = "ServiceIAMPolicy" + ServiceIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceIAMPolicy_Kind}.String() + ServiceIAMPolicy_KindAPIVersion = ServiceIAMPolicy_Kind + "." + CRDGroupVersion.String() + ServiceIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(ServiceIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&ServiceIAMPolicy{}, &ServiceIAMPolicyList{}) +} diff --git a/apis/cloudscheduler/v1alpha1/zz_generated.deepcopy.go b/apis/cloudscheduler/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..859c0ec5 --- /dev/null +++ b/apis/cloudscheduler/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,592 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineHTTPTargetObservation) DeepCopyInto(out *AppEngineHTTPTargetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineHTTPTargetObservation. +func (in *AppEngineHTTPTargetObservation) DeepCopy() *AppEngineHTTPTargetObservation { + if in == nil { + return nil + } + out := new(AppEngineHTTPTargetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineHTTPTargetParameters) DeepCopyInto(out *AppEngineHTTPTargetParameters) { + *out = *in + if in.AppEngineRouting != nil { + in, out := &in.AppEngineRouting, &out.AppEngineRouting + *out = make([]AppEngineRoutingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Body != nil { + in, out := &in.Body, &out.Body + *out = new(string) + **out = **in + } + if in.HTTPMethod != nil { + in, out := &in.HTTPMethod, &out.HTTPMethod + *out = new(string) + **out = **in + } + if in.Headers != nil { + in, out := &in.Headers, &out.Headers + *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.RelativeURI != nil { + in, out := &in.RelativeURI, &out.RelativeURI + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineHTTPTargetParameters. +func (in *AppEngineHTTPTargetParameters) DeepCopy() *AppEngineHTTPTargetParameters { + if in == nil { + return nil + } + out := new(AppEngineHTTPTargetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineRoutingObservation) DeepCopyInto(out *AppEngineRoutingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineRoutingObservation. +func (in *AppEngineRoutingObservation) DeepCopy() *AppEngineRoutingObservation { + if in == nil { + return nil + } + out := new(AppEngineRoutingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineRoutingParameters) DeepCopyInto(out *AppEngineRoutingParameters) { + *out = *in + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *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 AppEngineRoutingParameters. +func (in *AppEngineRoutingParameters) DeepCopy() *AppEngineRoutingParameters { + if in == nil { + return nil + } + out := new(AppEngineRoutingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPTargetObservation) DeepCopyInto(out *HTTPTargetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPTargetObservation. +func (in *HTTPTargetObservation) DeepCopy() *HTTPTargetObservation { + if in == nil { + return nil + } + out := new(HTTPTargetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPTargetParameters) DeepCopyInto(out *HTTPTargetParameters) { + *out = *in + if in.Body != nil { + in, out := &in.Body, &out.Body + *out = new(string) + **out = **in + } + if in.HTTPMethod != nil { + in, out := &in.HTTPMethod, &out.HTTPMethod + *out = new(string) + **out = **in + } + if in.Headers != nil { + in, out := &in.Headers, &out.Headers + *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.OAuthToken != nil { + in, out := &in.OAuthToken, &out.OAuthToken + *out = make([]OAuthTokenParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OidcToken != nil { + in, out := &in.OidcToken, &out.OidcToken + *out = make([]OidcTokenParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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 HTTPTargetParameters. +func (in *HTTPTargetParameters) DeepCopy() *HTTPTargetParameters { + if in == nil { + return nil + } + out := new(HTTPTargetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Job) DeepCopyInto(out *Job) { + *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 Job. +func (in *Job) DeepCopy() *Job { + if in == nil { + return nil + } + out := new(Job) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Job) 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 *JobList) DeepCopyInto(out *JobList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Job, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobList. +func (in *JobList) DeepCopy() *JobList { + if in == nil { + return nil + } + out := new(JobList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobList) 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 *JobObservation) DeepCopyInto(out *JobObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobObservation. +func (in *JobObservation) DeepCopy() *JobObservation { + if in == nil { + return nil + } + out := new(JobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobParameters) DeepCopyInto(out *JobParameters) { + *out = *in + if in.AppEngineHTTPTarget != nil { + in, out := &in.AppEngineHTTPTarget, &out.AppEngineHTTPTarget + *out = make([]AppEngineHTTPTargetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AttemptDeadline != nil { + in, out := &in.AttemptDeadline, &out.AttemptDeadline + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.HTTPTarget != nil { + in, out := &in.HTTPTarget, &out.HTTPTarget + *out = make([]HTTPTargetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.PubsubTarget != nil { + in, out := &in.PubsubTarget, &out.PubsubTarget + *out = make([]PubsubTargetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.RetryConfig != nil { + in, out := &in.RetryConfig, &out.RetryConfig + *out = make([]RetryConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Schedule != nil { + in, out := &in.Schedule, &out.Schedule + *out = new(string) + **out = **in + } + if in.TimeZone != nil { + in, out := &in.TimeZone, &out.TimeZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobParameters. +func (in *JobParameters) DeepCopy() *JobParameters { + if in == nil { + return nil + } + out := new(JobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobSpec) DeepCopyInto(out *JobSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobSpec. +func (in *JobSpec) DeepCopy() *JobSpec { + if in == nil { + return nil + } + out := new(JobSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobStatus) DeepCopyInto(out *JobStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobStatus. +func (in *JobStatus) DeepCopy() *JobStatus { + if in == nil { + return nil + } + out := new(JobStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthTokenObservation) DeepCopyInto(out *OAuthTokenObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthTokenObservation. +func (in *OAuthTokenObservation) DeepCopy() *OAuthTokenObservation { + if in == nil { + return nil + } + out := new(OAuthTokenObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthTokenParameters) DeepCopyInto(out *OAuthTokenParameters) { + *out = *in + if in.Scope != nil { + in, out := &in.Scope, &out.Scope + *out = new(string) + **out = **in + } + if in.ServiceAccountEmail != nil { + in, out := &in.ServiceAccountEmail, &out.ServiceAccountEmail + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthTokenParameters. +func (in *OAuthTokenParameters) DeepCopy() *OAuthTokenParameters { + if in == nil { + return nil + } + out := new(OAuthTokenParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OidcTokenObservation) DeepCopyInto(out *OidcTokenObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OidcTokenObservation. +func (in *OidcTokenObservation) DeepCopy() *OidcTokenObservation { + if in == nil { + return nil + } + out := new(OidcTokenObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OidcTokenParameters) DeepCopyInto(out *OidcTokenParameters) { + *out = *in + if in.Audience != nil { + in, out := &in.Audience, &out.Audience + *out = new(string) + **out = **in + } + if in.ServiceAccountEmail != nil { + in, out := &in.ServiceAccountEmail, &out.ServiceAccountEmail + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OidcTokenParameters. +func (in *OidcTokenParameters) DeepCopy() *OidcTokenParameters { + if in == nil { + return nil + } + out := new(OidcTokenParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PubsubTargetObservation) DeepCopyInto(out *PubsubTargetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PubsubTargetObservation. +func (in *PubsubTargetObservation) DeepCopy() *PubsubTargetObservation { + if in == nil { + return nil + } + out := new(PubsubTargetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PubsubTargetParameters) DeepCopyInto(out *PubsubTargetParameters) { + *out = *in + if in.Attributes != nil { + in, out := &in.Attributes, &out.Attributes + *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.Data != nil { + in, out := &in.Data, &out.Data + *out = new(string) + **out = **in + } + if in.TopicName != nil { + in, out := &in.TopicName, &out.TopicName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PubsubTargetParameters. +func (in *PubsubTargetParameters) DeepCopy() *PubsubTargetParameters { + if in == nil { + return nil + } + out := new(PubsubTargetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetryConfigObservation) DeepCopyInto(out *RetryConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryConfigObservation. +func (in *RetryConfigObservation) DeepCopy() *RetryConfigObservation { + if in == nil { + return nil + } + out := new(RetryConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetryConfigParameters) DeepCopyInto(out *RetryConfigParameters) { + *out = *in + if in.MaxBackoffDuration != nil { + in, out := &in.MaxBackoffDuration, &out.MaxBackoffDuration + *out = new(string) + **out = **in + } + if in.MaxDoublings != nil { + in, out := &in.MaxDoublings, &out.MaxDoublings + *out = new(int64) + **out = **in + } + if in.MaxRetryDuration != nil { + in, out := &in.MaxRetryDuration, &out.MaxRetryDuration + *out = new(string) + **out = **in + } + if in.MinBackoffDuration != nil { + in, out := &in.MinBackoffDuration, &out.MinBackoffDuration + *out = new(string) + **out = **in + } + if in.RetryCount != nil { + in, out := &in.RetryCount, &out.RetryCount + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryConfigParameters. +func (in *RetryConfigParameters) DeepCopy() *RetryConfigParameters { + if in == nil { + return nil + } + out := new(RetryConfigParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/cloudscheduler/v1alpha1/zz_generated.managed.go b/apis/cloudscheduler/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..ce51e9a0 --- /dev/null +++ b/apis/cloudscheduler/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Job. +func (mg *Job) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Job. +func (mg *Job) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Job. +func (mg *Job) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Job. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Job) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Job. +func (mg *Job) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Job. +func (mg *Job) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Job. +func (mg *Job) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Job. +func (mg *Job) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Job. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Job) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Job. +func (mg *Job) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/cloudscheduler/v1alpha1/zz_generated.managedlist.go b/apis/cloudscheduler/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..067d9014 --- /dev/null +++ b/apis/cloudscheduler/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this JobList. +func (l *JobList) 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/cloudscheduler/v1alpha1/zz_groupversion_info.go b/apis/cloudscheduler/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..07d643d6 --- /dev/null +++ b/apis/cloudscheduler/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=cloudscheduler.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "cloudscheduler.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/cloudscheduler/v1alpha1/zz_job_terraformed.go b/apis/cloudscheduler/v1alpha1/zz_job_terraformed.go new file mode 100755 index 00000000..657f2b93 --- /dev/null +++ b/apis/cloudscheduler/v1alpha1/zz_job_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Job +func (mg *Job) GetTerraformResourceType() string { + return "google_cloud_scheduler_job" +} + +// GetConnectionDetailsMapping for this Job +func (tr *Job) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Job +func (tr *Job) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Job +func (tr *Job) SetObservation(obs map[string]interface{}) 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 Job +func (tr *Job) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Job +func (tr *Job) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Job +func (tr *Job) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Job using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Job) LateInitialize(attrs []byte) (bool, error) { + params := &JobParameters{} + 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 *Job) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudscheduler/v1alpha1/zz_job_types.go b/apis/cloudscheduler/v1alpha1/zz_job_types.go new file mode 100755 index 00000000..c64d2c9c --- /dev/null +++ b/apis/cloudscheduler/v1alpha1/zz_job_types.go @@ -0,0 +1,328 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AppEngineHTTPTargetObservation struct { +} + +type AppEngineHTTPTargetParameters struct { + + // App Engine Routing setting for the job. + // +kubebuilder:validation:Optional + AppEngineRouting []AppEngineRoutingParameters `json:"appEngineRouting,omitempty" tf:"app_engine_routing,omitempty"` + + // HTTP request body. + // A request body is allowed only if the HTTP method is POST or PUT. + // It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. + // + // A base64-encoded string. + // +kubebuilder:validation:Optional + Body *string `json:"body,omitempty" tf:"body,omitempty"` + + // Which HTTP method to use for the request. + // +kubebuilder:validation:Optional + HTTPMethod *string `json:"httpMethod,omitempty" tf:"http_method,omitempty"` + + // HTTP request headers. + // This map contains the header field names and values. + // Headers can be set when the job is created. + // +kubebuilder:validation:Optional + Headers map[string]*string `json:"headers,omitempty" tf:"headers,omitempty"` + + // The relative URI. + // The relative URL must begin with "/" and must be a valid HTTP relative URL. + // It can contain a path, query string arguments, and \# fragments. + // If the relative URL is empty, then the root path "/" will be used. + // No spaces are allowed, and the maximum length allowed is 2083 characters + // +kubebuilder:validation:Required + RelativeURI *string `json:"relativeUri" tf:"relative_uri,omitempty"` +} + +type AppEngineRoutingObservation struct { +} + +type AppEngineRoutingParameters struct { + + // App instance. + // By default, the job is sent to an instance which is available when the job is attempted. + // +kubebuilder:validation:Optional + Instance *string `json:"instance,omitempty" tf:"instance,omitempty"` + + // App service. + // By default, the job is sent to the service which is the default service when the job is attempted. + // +kubebuilder:validation:Optional + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // App version. + // By default, the job is sent to the version which is the default version when the job is attempted. + // +kubebuilder:validation:Optional + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type HTTPTargetObservation struct { +} + +type HTTPTargetParameters struct { + + // HTTP request body. + // A request body is allowed only if the HTTP method is POST, PUT, or PATCH. + // It is an error to set body on a job with an incompatible HttpMethod. + // + // A base64-encoded string. + // +kubebuilder:validation:Optional + Body *string `json:"body,omitempty" tf:"body,omitempty"` + + // Which HTTP method to use for the request. + // +kubebuilder:validation:Optional + HTTPMethod *string `json:"httpMethod,omitempty" tf:"http_method,omitempty"` + + // This map contains the header field names and values. + // Repeated headers are not supported, but a header value can contain commas. + // +kubebuilder:validation:Optional + Headers map[string]*string `json:"headers,omitempty" tf:"headers,omitempty"` + + // Contains information needed for generating an OAuth token. + // This type of authorization should be used when sending requests to a GCP endpoint. + // +kubebuilder:validation:Optional + OAuthToken []OAuthTokenParameters `json:"oauthToken,omitempty" tf:"oauth_token,omitempty"` + + // Contains information needed for generating an OpenID Connect token. + // This type of authorization should be used when sending requests to third party endpoints or Cloud Run. + // +kubebuilder:validation:Optional + OidcToken []OidcTokenParameters `json:"oidcToken,omitempty" tf:"oidc_token,omitempty"` + + // The full URI path that the request will be sent to. + // +kubebuilder:validation:Required + URI *string `json:"uri" tf:"uri,omitempty"` +} + +type JobObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type JobParameters struct { + + // App Engine HTTP target. + // If the job providers a App Engine HTTP target the cron will + // send a request to the service instance + // +kubebuilder:validation:Optional + AppEngineHTTPTarget []AppEngineHTTPTargetParameters `json:"appEngineHttpTarget,omitempty" tf:"app_engine_http_target,omitempty"` + + // The deadline for job attempts. If the request handler does not respond by this deadline then the request is + // cancelled and the attempt is marked as a DEADLINE_EXCEEDED failure. The failed attempt can be viewed in + // execution logs. Cloud Scheduler will retry the job according to the RetryConfig. + // The allowed duration for this deadline is: + // * For HTTP targets, between 15 seconds and 30 minutes. + // * For App Engine HTTP targets, between 15 seconds and 24 hours. + // * **Note**: For PubSub targets, this field is ignored - setting it will introduce an unresolvable diff. + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s" + // +kubebuilder:validation:Optional + AttemptDeadline *string `json:"attemptDeadline,omitempty" tf:"attempt_deadline,omitempty"` + + // A human-readable description for the job. + // This string must not contain more than 500 characters. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // HTTP target. + // If the job providers a http_target the cron will + // send a request to the targeted url + // +kubebuilder:validation:Optional + HTTPTarget []HTTPTargetParameters `json:"httpTarget,omitempty" tf:"http_target,omitempty"` + + // The name of the job. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Pub/Sub target + // If the job providers a Pub/Sub target the cron will publish + // a message to the provided topic + // +kubebuilder:validation:Optional + PubsubTarget []PubsubTargetParameters `json:"pubsubTarget,omitempty" tf:"pubsub_target,omitempty"` + + // Region where the scheduler job resides. If it is not provided, Terraform will use the provider default. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // By default, if a job does not complete successfully, + // meaning that an acknowledgement is not received from the handler, + // then it will be retried with exponential backoff according to the settings + // +kubebuilder:validation:Optional + RetryConfig []RetryConfigParameters `json:"retryConfig,omitempty" tf:"retry_config,omitempty"` + + // Describes the schedule on which the job will be executed. + // +kubebuilder:validation:Optional + Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"` + + // Specifies the time zone to be used in interpreting schedule. + // The value of this field must be a time zone name from the tz database. + // +kubebuilder:validation:Optional + TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"` +} + +type OAuthTokenObservation struct { +} + +type OAuthTokenParameters struct { + + // OAuth scope to be used for generating OAuth access token. If not specified, + // "https://www.googleapis.com/auth/cloud-platform" will be used. + // +kubebuilder:validation:Optional + Scope *string `json:"scope,omitempty" tf:"scope,omitempty"` + + // Service account email to be used for generating OAuth token. + // The service account must be within the same project as the job. + // +kubebuilder:validation:Required + ServiceAccountEmail *string `json:"serviceAccountEmail" tf:"service_account_email,omitempty"` +} + +type OidcTokenObservation struct { +} + +type OidcTokenParameters struct { + + // Audience to be used when generating OIDC token. If not specified, + // the URI specified in target will be used. + // +kubebuilder:validation:Optional + Audience *string `json:"audience,omitempty" tf:"audience,omitempty"` + + // Service account email to be used for generating OAuth token. + // The service account must be within the same project as the job. + // +kubebuilder:validation:Required + ServiceAccountEmail *string `json:"serviceAccountEmail" tf:"service_account_email,omitempty"` +} + +type PubsubTargetObservation struct { +} + +type PubsubTargetParameters struct { + + // Attributes for PubsubMessage. + // Pubsub message must contain either non-empty data, or at least one attribute. + // +kubebuilder:validation:Optional + Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"` + + // The message payload for PubsubMessage. + // Pubsub message must contain either non-empty data, or at least one attribute. + // + // A base64-encoded string. + // +kubebuilder:validation:Optional + Data *string `json:"data,omitempty" tf:"data,omitempty"` + + // The full resource name for the Cloud Pub/Sub topic to which + // messages will be published when a job is delivered. ~>**NOTE:** + // The topic name must be in the same format as required by PubSub's + // PublishRequest.name, e.g. 'projects/my-project/topics/my-topic'. + // +kubebuilder:validation:Required + TopicName *string `json:"topicName" tf:"topic_name,omitempty"` +} + +type RetryConfigObservation struct { +} + +type RetryConfigParameters struct { + + // The maximum amount of time to wait before retrying a job after it fails. + // A duration in seconds with up to nine fractional digits, terminated by 's'. + // +kubebuilder:validation:Optional + MaxBackoffDuration *string `json:"maxBackoffDuration,omitempty" tf:"max_backoff_duration,omitempty"` + + // The time between retries will double maxDoublings times. + // A job's retry interval starts at minBackoffDuration, + // then doubles maxDoublings times, then increases linearly, + // and finally retries retries at intervals of maxBackoffDuration up to retryCount times. + // +kubebuilder:validation:Optional + MaxDoublings *int64 `json:"maxDoublings,omitempty" tf:"max_doublings,omitempty"` + + // The time limit for retrying a failed job, measured from time when an execution was first attempted. + // If specified with retryCount, the job will be retried until both limits are reached. + // A duration in seconds with up to nine fractional digits, terminated by 's'. + // +kubebuilder:validation:Optional + MaxRetryDuration *string `json:"maxRetryDuration,omitempty" tf:"max_retry_duration,omitempty"` + + // The minimum amount of time to wait before retrying a job after it fails. + // A duration in seconds with up to nine fractional digits, terminated by 's'. + // +kubebuilder:validation:Optional + MinBackoffDuration *string `json:"minBackoffDuration,omitempty" tf:"min_backoff_duration,omitempty"` + + // The number of attempts that the system will make to run a + // job using the exponential backoff procedure described by maxDoublings. + // Values greater than 5 and negative values are not allowed. + // +kubebuilder:validation:Optional + RetryCount *int64 `json:"retryCount,omitempty" tf:"retry_count,omitempty"` +} + +// JobSpec defines the desired state of Job +type JobSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider JobParameters `json:"forProvider"` +} + +// JobStatus defines the observed state of Job. +type JobStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider JobObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Job is the Schema for the Jobs 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,gcpjet} +type Job struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec JobSpec `json:"spec"` + Status JobStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// JobList contains a list of Jobs +type JobList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Job `json:"items"` +} + +// Repository type metadata. +var ( + Job_Kind = "Job" + Job_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Job_Kind}.String() + Job_KindAPIVersion = Job_Kind + "." + CRDGroupVersion.String() + Job_GroupVersionKind = CRDGroupVersion.WithKind(Job_Kind) +) + +func init() { + SchemeBuilder.Register(&Job{}, &JobList{}) +} diff --git a/apis/cloudtasks/v1alpha1/zz_generated.deepcopy.go b/apis/cloudtasks/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..388854a4 --- /dev/null +++ b/apis/cloudtasks/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,381 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineRoutingOverrideObservation) DeepCopyInto(out *AppEngineRoutingOverrideObservation) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineRoutingOverrideObservation. +func (in *AppEngineRoutingOverrideObservation) DeepCopy() *AppEngineRoutingOverrideObservation { + if in == nil { + return nil + } + out := new(AppEngineRoutingOverrideObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineRoutingOverrideParameters) DeepCopyInto(out *AppEngineRoutingOverrideParameters) { + *out = *in + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *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 AppEngineRoutingOverrideParameters. +func (in *AppEngineRoutingOverrideParameters) DeepCopy() *AppEngineRoutingOverrideParameters { + if in == nil { + return nil + } + out := new(AppEngineRoutingOverrideParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Queue) DeepCopyInto(out *Queue) { + *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 Queue. +func (in *Queue) DeepCopy() *Queue { + if in == nil { + return nil + } + out := new(Queue) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Queue) 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 *QueueList) DeepCopyInto(out *QueueList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Queue, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueList. +func (in *QueueList) DeepCopy() *QueueList { + if in == nil { + return nil + } + out := new(QueueList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *QueueList) 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 *QueueObservation) DeepCopyInto(out *QueueObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueObservation. +func (in *QueueObservation) DeepCopy() *QueueObservation { + if in == nil { + return nil + } + out := new(QueueObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueParameters) DeepCopyInto(out *QueueParameters) { + *out = *in + if in.AppEngineRoutingOverride != nil { + in, out := &in.AppEngineRoutingOverride, &out.AppEngineRoutingOverride + *out = make([]AppEngineRoutingOverrideParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RateLimits != nil { + in, out := &in.RateLimits, &out.RateLimits + *out = make([]RateLimitsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryConfig != nil { + in, out := &in.RetryConfig, &out.RetryConfig + *out = make([]RetryConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StackdriverLoggingConfig != nil { + in, out := &in.StackdriverLoggingConfig, &out.StackdriverLoggingConfig + *out = make([]StackdriverLoggingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueParameters. +func (in *QueueParameters) DeepCopy() *QueueParameters { + if in == nil { + return nil + } + out := new(QueueParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueSpec) DeepCopyInto(out *QueueSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueSpec. +func (in *QueueSpec) DeepCopy() *QueueSpec { + if in == nil { + return nil + } + out := new(QueueSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueStatus) DeepCopyInto(out *QueueStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueStatus. +func (in *QueueStatus) DeepCopy() *QueueStatus { + if in == nil { + return nil + } + out := new(QueueStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RateLimitsObservation) DeepCopyInto(out *RateLimitsObservation) { + *out = *in + if in.MaxBurstSize != nil { + in, out := &in.MaxBurstSize, &out.MaxBurstSize + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitsObservation. +func (in *RateLimitsObservation) DeepCopy() *RateLimitsObservation { + if in == nil { + return nil + } + out := new(RateLimitsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RateLimitsParameters) DeepCopyInto(out *RateLimitsParameters) { + *out = *in + if in.MaxConcurrentDispatches != nil { + in, out := &in.MaxConcurrentDispatches, &out.MaxConcurrentDispatches + *out = new(int64) + **out = **in + } + if in.MaxDispatchesPerSecond != nil { + in, out := &in.MaxDispatchesPerSecond, &out.MaxDispatchesPerSecond + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitsParameters. +func (in *RateLimitsParameters) DeepCopy() *RateLimitsParameters { + if in == nil { + return nil + } + out := new(RateLimitsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetryConfigObservation) DeepCopyInto(out *RetryConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryConfigObservation. +func (in *RetryConfigObservation) DeepCopy() *RetryConfigObservation { + if in == nil { + return nil + } + out := new(RetryConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetryConfigParameters) DeepCopyInto(out *RetryConfigParameters) { + *out = *in + if in.MaxAttempts != nil { + in, out := &in.MaxAttempts, &out.MaxAttempts + *out = new(int64) + **out = **in + } + if in.MaxBackoff != nil { + in, out := &in.MaxBackoff, &out.MaxBackoff + *out = new(string) + **out = **in + } + if in.MaxDoublings != nil { + in, out := &in.MaxDoublings, &out.MaxDoublings + *out = new(int64) + **out = **in + } + if in.MaxRetryDuration != nil { + in, out := &in.MaxRetryDuration, &out.MaxRetryDuration + *out = new(string) + **out = **in + } + if in.MinBackoff != nil { + in, out := &in.MinBackoff, &out.MinBackoff + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryConfigParameters. +func (in *RetryConfigParameters) DeepCopy() *RetryConfigParameters { + if in == nil { + return nil + } + out := new(RetryConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StackdriverLoggingConfigObservation) DeepCopyInto(out *StackdriverLoggingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackdriverLoggingConfigObservation. +func (in *StackdriverLoggingConfigObservation) DeepCopy() *StackdriverLoggingConfigObservation { + if in == nil { + return nil + } + out := new(StackdriverLoggingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StackdriverLoggingConfigParameters) DeepCopyInto(out *StackdriverLoggingConfigParameters) { + *out = *in + if in.SamplingRatio != nil { + in, out := &in.SamplingRatio, &out.SamplingRatio + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StackdriverLoggingConfigParameters. +func (in *StackdriverLoggingConfigParameters) DeepCopy() *StackdriverLoggingConfigParameters { + if in == nil { + return nil + } + out := new(StackdriverLoggingConfigParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/cloudtasks/v1alpha1/zz_generated.managed.go b/apis/cloudtasks/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..3bacf70c --- /dev/null +++ b/apis/cloudtasks/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Queue. +func (mg *Queue) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Queue. +func (mg *Queue) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Queue. +func (mg *Queue) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Queue. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Queue) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Queue. +func (mg *Queue) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Queue. +func (mg *Queue) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Queue. +func (mg *Queue) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Queue. +func (mg *Queue) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Queue. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Queue) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Queue. +func (mg *Queue) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/cloudtasks/v1alpha1/zz_generated.managedlist.go b/apis/cloudtasks/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..745f1e51 --- /dev/null +++ b/apis/cloudtasks/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this QueueList. +func (l *QueueList) 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/cloudtasks/v1alpha1/zz_groupversion_info.go b/apis/cloudtasks/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..fae949ce --- /dev/null +++ b/apis/cloudtasks/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=cloudtasks.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "cloudtasks.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/cloudtasks/v1alpha1/zz_queue_terraformed.go b/apis/cloudtasks/v1alpha1/zz_queue_terraformed.go new file mode 100755 index 00000000..f027a422 --- /dev/null +++ b/apis/cloudtasks/v1alpha1/zz_queue_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Queue +func (mg *Queue) GetTerraformResourceType() string { + return "google_cloud_tasks_queue" +} + +// GetConnectionDetailsMapping for this Queue +func (tr *Queue) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Queue +func (tr *Queue) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Queue +func (tr *Queue) SetObservation(obs map[string]interface{}) 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 Queue +func (tr *Queue) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Queue +func (tr *Queue) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Queue +func (tr *Queue) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Queue using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Queue) LateInitialize(attrs []byte) (bool, error) { + params := &QueueParameters{} + 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 *Queue) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloudtasks/v1alpha1/zz_queue_types.go b/apis/cloudtasks/v1alpha1/zz_queue_types.go new file mode 100755 index 00000000..408d44f1 --- /dev/null +++ b/apis/cloudtasks/v1alpha1/zz_queue_types.go @@ -0,0 +1,224 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AppEngineRoutingOverrideObservation struct { + Host *string `json:"host,omitempty" tf:"host,omitempty"` +} + +type AppEngineRoutingOverrideParameters struct { + + // App instance. + // + // By default, the task is sent to an instance which is available when the task is attempted. + // +kubebuilder:validation:Optional + Instance *string `json:"instance,omitempty" tf:"instance,omitempty"` + + // App service. + // + // By default, the task is sent to the service which is the default service when the task is attempted. + // +kubebuilder:validation:Optional + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // App version. + // + // By default, the task is sent to the version which is the default version when the task is attempted. + // +kubebuilder:validation:Optional + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type QueueObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type QueueParameters struct { + + // Overrides for task-level appEngineRouting. These settings apply only + // to App Engine tasks in this queue + // +kubebuilder:validation:Optional + AppEngineRoutingOverride []AppEngineRoutingOverrideParameters `json:"appEngineRoutingOverride,omitempty" tf:"app_engine_routing_override,omitempty"` + + // The location of the queue + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // The queue name. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Rate limits for task dispatches. + // + // The queue's actual dispatch rate is the result of: + // + // * Number of tasks in the queue + // * User-specified throttling: rateLimits, retryConfig, and the queue's state. + // * System throttling due to 429 (Too Many Requests) or 503 (Service + // Unavailable) responses from the worker, high error rates, or to + // smooth sudden large traffic spikes. + // +kubebuilder:validation:Optional + RateLimits []RateLimitsParameters `json:"rateLimits,omitempty" tf:"rate_limits,omitempty"` + + // Settings that determine the retry behavior. + // +kubebuilder:validation:Optional + RetryConfig []RetryConfigParameters `json:"retryConfig,omitempty" tf:"retry_config,omitempty"` + + // Configuration options for writing logs to Stackdriver Logging. + // +kubebuilder:validation:Optional + StackdriverLoggingConfig []StackdriverLoggingConfigParameters `json:"stackdriverLoggingConfig,omitempty" tf:"stackdriver_logging_config,omitempty"` +} + +type RateLimitsObservation struct { + MaxBurstSize *int64 `json:"maxBurstSize,omitempty" tf:"max_burst_size,omitempty"` +} + +type RateLimitsParameters struct { + + // The maximum number of concurrent tasks that Cloud Tasks allows to + // be dispatched for this queue. After this threshold has been + // reached, Cloud Tasks stops dispatching tasks until the number of + // concurrent requests decreases. + // +kubebuilder:validation:Optional + MaxConcurrentDispatches *int64 `json:"maxConcurrentDispatches,omitempty" tf:"max_concurrent_dispatches,omitempty"` + + // The maximum rate at which tasks are dispatched from this queue. + // + // If unspecified when the queue is created, Cloud Tasks will pick the default. + // +kubebuilder:validation:Optional + MaxDispatchesPerSecond *float64 `json:"maxDispatchesPerSecond,omitempty" tf:"max_dispatches_per_second,omitempty"` +} + +type RetryConfigObservation struct { +} + +type RetryConfigParameters struct { + + // Number of attempts per task. + // + // Cloud Tasks will attempt the task maxAttempts times (that is, if + // the first attempt fails, then there will be maxAttempts - 1 + // retries). Must be >= -1. + // + // If unspecified when the queue is created, Cloud Tasks will pick + // the default. + // + // -1 indicates unlimited attempts. + // +kubebuilder:validation:Optional + MaxAttempts *int64 `json:"maxAttempts,omitempty" tf:"max_attempts,omitempty"` + + // A task will be scheduled for retry between minBackoff and + // maxBackoff duration after it fails, if the queue's RetryConfig + // specifies that the task should be retried. + // +kubebuilder:validation:Optional + MaxBackoff *string `json:"maxBackoff,omitempty" tf:"max_backoff,omitempty"` + + // The time between retries will double maxDoublings times. + // + // A task's retry interval starts at minBackoff, then doubles maxDoublings times, + // then increases linearly, and finally retries retries at intervals of maxBackoff + // up to maxAttempts times. + // +kubebuilder:validation:Optional + MaxDoublings *int64 `json:"maxDoublings,omitempty" tf:"max_doublings,omitempty"` + + // If positive, maxRetryDuration specifies the time limit for + // retrying a failed task, measured from when the task was first + // attempted. Once maxRetryDuration time has passed and the task has + // been attempted maxAttempts times, no further attempts will be + // made and the task will be deleted. + // + // If zero, then the task age is unlimited. + // +kubebuilder:validation:Optional + MaxRetryDuration *string `json:"maxRetryDuration,omitempty" tf:"max_retry_duration,omitempty"` + + // A task will be scheduled for retry between minBackoff and + // maxBackoff duration after it fails, if the queue's RetryConfig + // specifies that the task should be retried. + // +kubebuilder:validation:Optional + MinBackoff *string `json:"minBackoff,omitempty" tf:"min_backoff,omitempty"` +} + +type StackdriverLoggingConfigObservation struct { +} + +type StackdriverLoggingConfigParameters struct { + + // Specifies the fraction of operations to write to Stackdriver Logging. + // This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the + // default and means that no operations are logged. + // +kubebuilder:validation:Required + SamplingRatio *float64 `json:"samplingRatio" tf:"sampling_ratio,omitempty"` +} + +// QueueSpec defines the desired state of Queue +type QueueSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider QueueParameters `json:"forProvider"` +} + +// QueueStatus defines the observed state of Queue. +type QueueStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider QueueObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Queue is the Schema for the Queues 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,gcpjet} +type Queue struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec QueueSpec `json:"spec"` + Status QueueStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// QueueList contains a list of Queues +type QueueList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Queue `json:"items"` +} + +// Repository type metadata. +var ( + Queue_Kind = "Queue" + Queue_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Queue_Kind}.String() + Queue_KindAPIVersion = Queue_Kind + "." + CRDGroupVersion.String() + Queue_GroupVersionKind = CRDGroupVersion.WithKind(Queue_Kind) +) + +func init() { + SchemeBuilder.Register(&Queue{}, &QueueList{}) +} diff --git a/apis/composer/v1alpha1/zz_environment_terraformed.go b/apis/composer/v1alpha1/zz_environment_terraformed.go new file mode 100755 index 00000000..095f5c78 --- /dev/null +++ b/apis/composer/v1alpha1/zz_environment_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Environment +func (mg *Environment) GetTerraformResourceType() string { + return "google_composer_environment" +} + +// GetConnectionDetailsMapping for this Environment +func (tr *Environment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Environment +func (tr *Environment) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Environment +func (tr *Environment) SetObservation(obs map[string]interface{}) 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 Environment +func (tr *Environment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Environment +func (tr *Environment) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Environment +func (tr *Environment) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Environment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Environment) LateInitialize(attrs []byte) (bool, error) { + params := &EnvironmentParameters{} + 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 *Environment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/composer/v1alpha1/zz_environment_types.go b/apis/composer/v1alpha1/zz_environment_types.go new file mode 100755 index 00000000..9fddb221 --- /dev/null +++ b/apis/composer/v1alpha1/zz_environment_types.go @@ -0,0 +1,249 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConfigObservation struct { + AirflowURI *string `json:"airflowUri,omitempty" tf:"airflow_uri,omitempty"` + + DagGcsPrefix *string `json:"dagGcsPrefix,omitempty" tf:"dag_gcs_prefix,omitempty"` + + GkeCluster *string `json:"gkeCluster,omitempty" tf:"gke_cluster,omitempty"` +} + +type ConfigParameters struct { + + // The configuration used for the Kubernetes Engine cluster. + // +kubebuilder:validation:Optional + NodeConfig []NodeConfigParameters `json:"nodeConfig,omitempty" tf:"node_config,omitempty"` + + // The number of nodes in the Kubernetes Engine cluster that will be used to run this environment. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. + // +kubebuilder:validation:Optional + NodeCount *int64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"` + + // The configuration used for the Private IP Cloud Composer environment. + // +kubebuilder:validation:Optional + PrivateEnvironmentConfig []PrivateEnvironmentConfigParameters `json:"privateEnvironmentConfig,omitempty" tf:"private_environment_config,omitempty"` + + // The configuration settings for software inside the environment. + // +kubebuilder:validation:Optional + SoftwareConfig []SoftwareConfigParameters `json:"softwareConfig,omitempty" tf:"software_config,omitempty"` +} + +type EnvironmentObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type EnvironmentParameters struct { + + // Configuration parameters for this environment. + // +kubebuilder:validation:Optional + Config []ConfigParameters `json:"config,omitempty" tf:"config,omitempty"` + + // User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])?. Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?. No more than 64 labels can be associated with a given environment. Both keys and values must be <= 128 bytes in size. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Name of the environment. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The location or Compute Engine region for the environment. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +type IPAllocationPolicyObservation struct { +} + +type IPAllocationPolicyParameters struct { + + // The IP address range used to allocate IP addresses to pods in the cluster. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when use_ip_aliases is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. /14) to have GKE choose a range with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. Specify either cluster_secondary_range_name or cluster_ipv4_cidr_block but not both. + // +kubebuilder:validation:Optional + ClusterIPv4CidrBlock *string `json:"clusterIpv4CidrBlock,omitempty" tf:"cluster_ipv4_cidr_block,omitempty"` + + // The name of the cluster's secondary range used to allocate IP addresses to pods. Specify either cluster_secondary_range_name or cluster_ipv4_cidr_block but not both. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when use_ip_aliases is true. + // +kubebuilder:validation:Optional + ClusterSecondaryRangeName *string `json:"clusterSecondaryRangeName,omitempty" tf:"cluster_secondary_range_name,omitempty"` + + // The IP address range used to allocate IP addresses in this cluster. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when use_ip_aliases is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. /14) to have GKE choose a range with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. Specify either services_secondary_range_name or services_ipv4_cidr_block but not both. + // +kubebuilder:validation:Optional + ServicesIPv4CidrBlock *string `json:"servicesIpv4CidrBlock,omitempty" tf:"services_ipv4_cidr_block,omitempty"` + + // The name of the services' secondary range used to allocate IP addresses to the cluster. Specify either services_secondary_range_name or services_ipv4_cidr_block but not both. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when use_ip_aliases is true. + // +kubebuilder:validation:Optional + ServicesSecondaryRangeName *string `json:"servicesSecondaryRangeName,omitempty" tf:"services_secondary_range_name,omitempty"` + + // Whether or not to enable Alias IPs in the GKE cluster. If true, a VPC-native cluster is created. Defaults to true if the ip_allocation_policy block is present in config. This field is only supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. Environments in newer versions always use VPC-native GKE clusters. + // +kubebuilder:validation:Optional + UseIPAliases *bool `json:"useIpAliases,omitempty" tf:"use_ip_aliases,omitempty"` +} + +type NodeConfigObservation struct { +} + +type NodeConfigParameters struct { + + // The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. + // +kubebuilder:validation:Optional + DiskSizeGb *int64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"` + + // Configuration for controlling how IPs are allocated in the GKE cluster. Cannot be updated. + // +kubebuilder:validation:Optional + IPAllocationPolicy []IPAllocationPolicyParameters `json:"ipAllocationPolicy,omitempty" tf:"ip_allocation_policy,omitempty"` + + // The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. For example: "projects/{project}/zones/{zone}/machineTypes/{machineType}". Must belong to the enclosing environment's project and region/zone. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. + // +kubebuilder:validation:Optional + MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"` + + // The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. For example: "projects/{project}/zones/{zone}/machineTypes/{machineType}". Must belong to the enclosing environment's project and region/zone. The network must belong to the environment's project. If unspecified, the "default" network ID in the environment's project is used. If a Custom Subnet Network is provided, subnetwork must also be provided. + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // The set of Google API scopes to be made available on all node VMs. Cannot be updated. If empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"]. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. + // +kubebuilder:validation:Optional + OAuthScopes []*string `json:"oauthScopes,omitempty" tf:"oauth_scopes,omitempty"` + + // The Google Cloud Platform Service Account to be used by the node VMs. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated. If given, note that the service account must have roles/composer.worker for any GCP resources created under the Cloud Composer Environment. + // +kubebuilder:validation:Optional + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region. + // +kubebuilder:validation:Optional + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with RFC1035. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. + // +kubebuilder:validation:Optional + Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // The Compute Engine zone in which to deploy the VMs running the Apache Airflow software, specified as the zone name or relative resource name (e.g. "projects/{project}/zones/{zone}"). Must belong to the enclosing environment's project and region. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type PrivateEnvironmentConfigObservation struct { +} + +type PrivateEnvironmentConfigParameters struct { + + // The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. Needs to be disjoint from web_server_ipv4_cidr_block. + // +kubebuilder:validation:Optional + CloudSQLIPv4CidrBlock *string `json:"cloudSqlIpv4CidrBlock,omitempty" tf:"cloud_sql_ipv4_cidr_block,omitempty"` + + // If true, access to the public endpoint of the GKE cluster is denied. If this field is set to true, ip_allocation_policy.use_ip_aliases must be set to true for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. + // +kubebuilder:validation:Optional + EnablePrivateEndpoint *bool `json:"enablePrivateEndpoint,omitempty" tf:"enable_private_endpoint,omitempty"` + + // The IP range in CIDR notation to use for the hosted master network. This range is used for assigning internal IP addresses to the cluster master or set of masters and to the internal load balancer virtual IP. This range must not overlap with any other ranges in use within the cluster's network. If left blank, the default value of '172.16.0.0/28' is used. + // +kubebuilder:validation:Optional + MasterIPv4CidrBlock *string `json:"masterIpv4CidrBlock,omitempty" tf:"master_ipv4_cidr_block,omitempty"` + + // The CIDR block from which IP range for web server will be reserved. Needs to be disjoint from master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. + // +kubebuilder:validation:Optional + WebServerIPv4CidrBlock *string `json:"webServerIpv4CidrBlock,omitempty" tf:"web_server_ipv4_cidr_block,omitempty"` +} + +type SoftwareConfigObservation struct { +} + +type SoftwareConfigParameters struct { + + // Apache Airflow configuration properties to override. Property keys contain the section and property names, separated by a hyphen, for example "core-dags_are_paused_at_creation". Section names must not contain hyphens ("-"), opening square brackets ("["), or closing square brackets ("]"). The property name must not be empty and cannot contain "=" or ";". Section and property names cannot contain characters: "." Apache Airflow configuration property names must be written in snake_case. Property values can contain any character, and can be written in any lower/upper case format. Certain Apache Airflow configuration property values are blacklisted, and cannot be overridden. + // +kubebuilder:validation:Optional + AirflowConfigOverrides map[string]*string `json:"airflowConfigOverrides,omitempty" tf:"airflow_config_overrides,omitempty"` + + // Additional environment variables to provide to the Apache Airflow schedulerf, worker, and webserver processes. Environment variable names must match the regular expression [a-zA-Z_][a-zA-Z0-9_]*. They cannot specify Apache Airflow software configuration overrides (they cannot match the regular expression AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+), and they cannot match any of the following reserved names: AIRFLOW_HOME C_FORCE_ROOT CONTAINER_NAME DAGS_FOLDER GCP_PROJECT GCS_BUCKET GKE_CLUSTER_NAME SQL_DATABASE SQL_INSTANCE SQL_PASSWORD SQL_PROJECT SQL_REGION SQL_USER. + // +kubebuilder:validation:Optional + EnvVariables map[string]*string `json:"envVariables,omitempty" tf:"env_variables,omitempty"` + + // The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression composer-[0-9]+\.[0-9]+(\.[0-9]+)?-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?. The Cloud Composer portion of the version is a semantic version. The portion of the image version following 'airflow-' is an official Apache Airflow repository release name. See documentation for allowed release names. + // +kubebuilder:validation:Optional + ImageVersion *string `json:"imageVersion,omitempty" tf:"image_version,omitempty"` + + // Custom Python Package Index (PyPI) packages to be installed in the environment. Keys refer to the lowercase package name (e.g. "numpy"). Values are the lowercase extras and version specifier (e.g. "==1.12.0", "[devel,gcp_api]", "[devel]>=1.8.2, <1.9.2"). To specify a package without pinning it to a version specifier, use the empty string as the value. + // +kubebuilder:validation:Optional + PypiPackages map[string]*string `json:"pypiPackages,omitempty" tf:"pypi_packages,omitempty"` + + // The major version of Python used to run the Apache Airflow scheduler, worker, and webserver processes. Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. Environments in newer versions always use Python major version 3. + // +kubebuilder:validation:Optional + PythonVersion *string `json:"pythonVersion,omitempty" tf:"python_version,omitempty"` + + // The number of schedulers for Airflow. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*. + // +kubebuilder:validation:Optional + SchedulerCount *int64 `json:"schedulerCount,omitempty" tf:"scheduler_count,omitempty"` +} + +// EnvironmentSpec defines the desired state of Environment +type EnvironmentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EnvironmentParameters `json:"forProvider"` +} + +// EnvironmentStatus defines the observed state of Environment. +type EnvironmentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EnvironmentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Environment is the Schema for the Environments 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,gcpjet} +type Environment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EnvironmentSpec `json:"spec"` + Status EnvironmentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EnvironmentList contains a list of Environments +type EnvironmentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Environment `json:"items"` +} + +// Repository type metadata. +var ( + Environment_Kind = "Environment" + Environment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Environment_Kind}.String() + Environment_KindAPIVersion = Environment_Kind + "." + CRDGroupVersion.String() + Environment_GroupVersionKind = CRDGroupVersion.WithKind(Environment_Kind) +) + +func init() { + SchemeBuilder.Register(&Environment{}, &EnvironmentList{}) +} diff --git a/apis/composer/v1alpha1/zz_generated.deepcopy.go b/apis/composer/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..597d7cb3 --- /dev/null +++ b/apis/composer/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,545 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigObservation) DeepCopyInto(out *ConfigObservation) { + *out = *in + if in.AirflowURI != nil { + in, out := &in.AirflowURI, &out.AirflowURI + *out = new(string) + **out = **in + } + if in.DagGcsPrefix != nil { + in, out := &in.DagGcsPrefix, &out.DagGcsPrefix + *out = new(string) + **out = **in + } + if in.GkeCluster != nil { + in, out := &in.GkeCluster, &out.GkeCluster + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigObservation. +func (in *ConfigObservation) DeepCopy() *ConfigObservation { + if in == nil { + return nil + } + out := new(ConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigParameters) DeepCopyInto(out *ConfigParameters) { + *out = *in + if in.NodeConfig != nil { + in, out := &in.NodeConfig, &out.NodeConfig + *out = make([]NodeConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NodeCount != nil { + in, out := &in.NodeCount, &out.NodeCount + *out = new(int64) + **out = **in + } + if in.PrivateEnvironmentConfig != nil { + in, out := &in.PrivateEnvironmentConfig, &out.PrivateEnvironmentConfig + *out = make([]PrivateEnvironmentConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SoftwareConfig != nil { + in, out := &in.SoftwareConfig, &out.SoftwareConfig + *out = make([]SoftwareConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigParameters. +func (in *ConfigParameters) DeepCopy() *ConfigParameters { + if in == nil { + return nil + } + out := new(ConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Environment) DeepCopyInto(out *Environment) { + *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 Environment. +func (in *Environment) DeepCopy() *Environment { + if in == nil { + return nil + } + out := new(Environment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Environment) 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 *EnvironmentList) DeepCopyInto(out *EnvironmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Environment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentList. +func (in *EnvironmentList) DeepCopy() *EnvironmentList { + if in == nil { + return nil + } + out := new(EnvironmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EnvironmentList) 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 *EnvironmentObservation) DeepCopyInto(out *EnvironmentObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentObservation. +func (in *EnvironmentObservation) DeepCopy() *EnvironmentObservation { + if in == nil { + return nil + } + out := new(EnvironmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentParameters) DeepCopyInto(out *EnvironmentParameters) { + *out = *in + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = make([]ConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentParameters. +func (in *EnvironmentParameters) DeepCopy() *EnvironmentParameters { + if in == nil { + return nil + } + out := new(EnvironmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentSpec) DeepCopyInto(out *EnvironmentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentSpec. +func (in *EnvironmentSpec) DeepCopy() *EnvironmentSpec { + if in == nil { + return nil + } + out := new(EnvironmentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentStatus) DeepCopyInto(out *EnvironmentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentStatus. +func (in *EnvironmentStatus) DeepCopy() *EnvironmentStatus { + if in == nil { + return nil + } + out := new(EnvironmentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPAllocationPolicyObservation) DeepCopyInto(out *IPAllocationPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAllocationPolicyObservation. +func (in *IPAllocationPolicyObservation) DeepCopy() *IPAllocationPolicyObservation { + if in == nil { + return nil + } + out := new(IPAllocationPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPAllocationPolicyParameters) DeepCopyInto(out *IPAllocationPolicyParameters) { + *out = *in + if in.ClusterIPv4CidrBlock != nil { + in, out := &in.ClusterIPv4CidrBlock, &out.ClusterIPv4CidrBlock + *out = new(string) + **out = **in + } + if in.ClusterSecondaryRangeName != nil { + in, out := &in.ClusterSecondaryRangeName, &out.ClusterSecondaryRangeName + *out = new(string) + **out = **in + } + if in.ServicesIPv4CidrBlock != nil { + in, out := &in.ServicesIPv4CidrBlock, &out.ServicesIPv4CidrBlock + *out = new(string) + **out = **in + } + if in.ServicesSecondaryRangeName != nil { + in, out := &in.ServicesSecondaryRangeName, &out.ServicesSecondaryRangeName + *out = new(string) + **out = **in + } + if in.UseIPAliases != nil { + in, out := &in.UseIPAliases, &out.UseIPAliases + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAllocationPolicyParameters. +func (in *IPAllocationPolicyParameters) DeepCopy() *IPAllocationPolicyParameters { + if in == nil { + return nil + } + out := new(IPAllocationPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeConfigObservation) DeepCopyInto(out *NodeConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeConfigObservation. +func (in *NodeConfigObservation) DeepCopy() *NodeConfigObservation { + if in == nil { + return nil + } + out := new(NodeConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeConfigParameters) DeepCopyInto(out *NodeConfigParameters) { + *out = *in + if in.DiskSizeGb != nil { + in, out := &in.DiskSizeGb, &out.DiskSizeGb + *out = new(int64) + **out = **in + } + if in.IPAllocationPolicy != nil { + in, out := &in.IPAllocationPolicy, &out.IPAllocationPolicy + *out = make([]IPAllocationPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MachineType != nil { + in, out := &in.MachineType, &out.MachineType + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.OAuthScopes != nil { + in, out := &in.OAuthScopes, &out.OAuthScopes + *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.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *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.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeConfigParameters. +func (in *NodeConfigParameters) DeepCopy() *NodeConfigParameters { + if in == nil { + return nil + } + out := new(NodeConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrivateEnvironmentConfigObservation) DeepCopyInto(out *PrivateEnvironmentConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateEnvironmentConfigObservation. +func (in *PrivateEnvironmentConfigObservation) DeepCopy() *PrivateEnvironmentConfigObservation { + if in == nil { + return nil + } + out := new(PrivateEnvironmentConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrivateEnvironmentConfigParameters) DeepCopyInto(out *PrivateEnvironmentConfigParameters) { + *out = *in + if in.CloudSQLIPv4CidrBlock != nil { + in, out := &in.CloudSQLIPv4CidrBlock, &out.CloudSQLIPv4CidrBlock + *out = new(string) + **out = **in + } + if in.EnablePrivateEndpoint != nil { + in, out := &in.EnablePrivateEndpoint, &out.EnablePrivateEndpoint + *out = new(bool) + **out = **in + } + if in.MasterIPv4CidrBlock != nil { + in, out := &in.MasterIPv4CidrBlock, &out.MasterIPv4CidrBlock + *out = new(string) + **out = **in + } + if in.WebServerIPv4CidrBlock != nil { + in, out := &in.WebServerIPv4CidrBlock, &out.WebServerIPv4CidrBlock + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateEnvironmentConfigParameters. +func (in *PrivateEnvironmentConfigParameters) DeepCopy() *PrivateEnvironmentConfigParameters { + if in == nil { + return nil + } + out := new(PrivateEnvironmentConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SoftwareConfigObservation) DeepCopyInto(out *SoftwareConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SoftwareConfigObservation. +func (in *SoftwareConfigObservation) DeepCopy() *SoftwareConfigObservation { + if in == nil { + return nil + } + out := new(SoftwareConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SoftwareConfigParameters) DeepCopyInto(out *SoftwareConfigParameters) { + *out = *in + if in.AirflowConfigOverrides != nil { + in, out := &in.AirflowConfigOverrides, &out.AirflowConfigOverrides + *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.EnvVariables != nil { + in, out := &in.EnvVariables, &out.EnvVariables + *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.ImageVersion != nil { + in, out := &in.ImageVersion, &out.ImageVersion + *out = new(string) + **out = **in + } + if in.PypiPackages != nil { + in, out := &in.PypiPackages, &out.PypiPackages + *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.PythonVersion != nil { + in, out := &in.PythonVersion, &out.PythonVersion + *out = new(string) + **out = **in + } + if in.SchedulerCount != nil { + in, out := &in.SchedulerCount, &out.SchedulerCount + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SoftwareConfigParameters. +func (in *SoftwareConfigParameters) DeepCopy() *SoftwareConfigParameters { + if in == nil { + return nil + } + out := new(SoftwareConfigParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/composer/v1alpha1/zz_generated.managed.go b/apis/composer/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..17abff91 --- /dev/null +++ b/apis/composer/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Environment. +func (mg *Environment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Environment. +func (mg *Environment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Environment. +func (mg *Environment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Environment. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Environment) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Environment. +func (mg *Environment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Environment. +func (mg *Environment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Environment. +func (mg *Environment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Environment. +func (mg *Environment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Environment. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Environment) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Environment. +func (mg *Environment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/composer/v1alpha1/zz_generated.managedlist.go b/apis/composer/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..1872fce0 --- /dev/null +++ b/apis/composer/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this EnvironmentList. +func (l *EnvironmentList) 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/composer/v1alpha1/zz_groupversion_info.go b/apis/composer/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..a8a9ce2b --- /dev/null +++ b/apis/composer/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=composer.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "composer.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/compute/v1alpha1/zz_attacheddisk_terraformed.go b/apis/compute/v1alpha1/zz_attacheddisk_terraformed.go new file mode 100755 index 00000000..b00993b1 --- /dev/null +++ b/apis/compute/v1alpha1/zz_attacheddisk_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AttachedDisk +func (mg *AttachedDisk) GetTerraformResourceType() string { + return "google_compute_attached_disk" +} + +// GetConnectionDetailsMapping for this AttachedDisk +func (tr *AttachedDisk) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AttachedDisk +func (tr *AttachedDisk) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AttachedDisk +func (tr *AttachedDisk) SetObservation(obs map[string]interface{}) 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 AttachedDisk +func (tr *AttachedDisk) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AttachedDisk +func (tr *AttachedDisk) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AttachedDisk +func (tr *AttachedDisk) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AttachedDisk using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AttachedDisk) LateInitialize(attrs []byte) (bool, error) { + params := &AttachedDiskParameters{} + 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 *AttachedDisk) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_attacheddisk_types.go b/apis/compute/v1alpha1/zz_attacheddisk_types.go new file mode 100755 index 00000000..3878d446 --- /dev/null +++ b/apis/compute/v1alpha1/zz_attacheddisk_types.go @@ -0,0 +1,106 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AttachedDiskObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AttachedDiskParameters struct { + + // Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disks-x, where x is a number assigned by Google Compute Engine. + // +kubebuilder:validation:Optional + DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"` + + // name or self_link of the disk that will be attached. + // +kubebuilder:validation:Required + Disk *string `json:"disk" tf:"disk,omitempty"` + + // name or self_link of the compute instance that the disk will be attached to. If the self_link is provided then zone and project are extracted from the self link. If only the name is used then zone and project must be defined as properties on the resource or provider. + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode. + // +kubebuilder:validation:Optional + Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` + + // The project that the referenced compute instance is a part of. If instance is referenced by its self_link the project defined in the link will take precedence. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The zone that the referenced compute instance is located within. If instance is referenced by its self_link the zone defined in the link will take precedence. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// AttachedDiskSpec defines the desired state of AttachedDisk +type AttachedDiskSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AttachedDiskParameters `json:"forProvider"` +} + +// AttachedDiskStatus defines the observed state of AttachedDisk. +type AttachedDiskStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AttachedDiskObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AttachedDisk is the Schema for the AttachedDisks 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,gcpjet} +type AttachedDisk struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AttachedDiskSpec `json:"spec"` + Status AttachedDiskStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AttachedDiskList contains a list of AttachedDisks +type AttachedDiskList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AttachedDisk `json:"items"` +} + +// Repository type metadata. +var ( + AttachedDisk_Kind = "AttachedDisk" + AttachedDisk_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AttachedDisk_Kind}.String() + AttachedDisk_KindAPIVersion = AttachedDisk_Kind + "." + CRDGroupVersion.String() + AttachedDisk_GroupVersionKind = CRDGroupVersion.WithKind(AttachedDisk_Kind) +) + +func init() { + SchemeBuilder.Register(&AttachedDisk{}, &AttachedDiskList{}) +} diff --git a/apis/compute/v1alpha1/zz_autoscaler_terraformed.go b/apis/compute/v1alpha1/zz_autoscaler_terraformed.go new file mode 100755 index 00000000..865881af --- /dev/null +++ b/apis/compute/v1alpha1/zz_autoscaler_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Autoscaler +func (mg *Autoscaler) GetTerraformResourceType() string { + return "google_compute_autoscaler" +} + +// GetConnectionDetailsMapping for this Autoscaler +func (tr *Autoscaler) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Autoscaler +func (tr *Autoscaler) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Autoscaler +func (tr *Autoscaler) SetObservation(obs map[string]interface{}) 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 Autoscaler +func (tr *Autoscaler) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Autoscaler +func (tr *Autoscaler) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Autoscaler +func (tr *Autoscaler) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Autoscaler using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Autoscaler) LateInitialize(attrs []byte) (bool, error) { + params := &AutoscalerParameters{} + 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 *Autoscaler) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_autoscaler_types.go b/apis/compute/v1alpha1/zz_autoscaler_types.go new file mode 100755 index 00000000..289a1096 --- /dev/null +++ b/apis/compute/v1alpha1/zz_autoscaler_types.go @@ -0,0 +1,314 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AutoscalerObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type AutoscalerParameters struct { + + // The configuration parameters for the autoscaling algorithm. You can + // define one or more of the policies for an autoscaler: cpuUtilization, + // customMetricUtilizations, and loadBalancingUtilization. + // + // If none of these are specified, the default will be to autoscale based + // on cpuUtilization to 0.6 or 60%. + // +kubebuilder:validation:Required + AutoscalingPolicy []AutoscalingPolicyParameters `json:"autoscalingPolicy" tf:"autoscaling_policy,omitempty"` + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. The name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // URL of the managed instance group that this autoscaler will scale. + // +kubebuilder:validation:Required + Target *string `json:"target" tf:"target,omitempty"` + + // URL of the zone where the instance group resides. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type AutoscalingPolicyObservation struct { +} + +type AutoscalingPolicyParameters struct { + + // Defines the CPU utilization policy that allows the autoscaler to + // scale based on the average CPU utilization of a managed instance + // group. + // +kubebuilder:validation:Optional + CPUUtilization []CPUUtilizationParameters `json:"cpuUtilization,omitempty" tf:"cpu_utilization,omitempty"` + + // The number of seconds that the autoscaler should wait before it + // starts collecting information from a new instance. This prevents + // the autoscaler from collecting information when the instance is + // initializing, during which the collected usage would not be + // reliable. The default time autoscaler waits is 60 seconds. + // + // Virtual machine initialization times might vary because of + // numerous factors. We recommend that you test how long an + // instance may take to initialize. To do this, create an instance + // and time the startup process. + // +kubebuilder:validation:Optional + CooldownPeriod *int64 `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"` + + // Configuration parameters of autoscaling based on a load balancer. + // +kubebuilder:validation:Optional + LoadBalancingUtilization []LoadBalancingUtilizationParameters `json:"loadBalancingUtilization,omitempty" tf:"load_balancing_utilization,omitempty"` + + // The maximum number of instances that the autoscaler can scale up + // to. This is required when creating or updating an autoscaler. The + // maximum number of replicas should not be lower than minimal number + // of replicas. + // +kubebuilder:validation:Required + MaxReplicas *int64 `json:"maxReplicas" tf:"max_replicas,omitempty"` + + // Configuration parameters of autoscaling based on a custom metric. + // +kubebuilder:validation:Optional + Metric []MetricParameters `json:"metric,omitempty" tf:"metric,omitempty"` + + // The minimum number of replicas that the autoscaler can scale down + // to. This cannot be less than 0. If not provided, autoscaler will + // choose a default value depending on maximum number of instances + // allowed. + // +kubebuilder:validation:Required + MinReplicas *int64 `json:"minReplicas" tf:"min_replicas,omitempty"` + + // Defines operating mode for this policy. Default value: "ON" Possible values: ["OFF", "ONLY_UP", "ON"] + // +kubebuilder:validation:Optional + Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` + + // Defines scale in controls to reduce the risk of response latency + // and outages due to abrupt scale-in events + // +kubebuilder:validation:Optional + ScaleInControl []ScaleInControlParameters `json:"scaleInControl,omitempty" tf:"scale_in_control,omitempty"` + + // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler and they can overlap. + // +kubebuilder:validation:Optional + ScalingSchedules []ScalingSchedulesParameters `json:"scalingSchedules,omitempty" tf:"scaling_schedules,omitempty"` +} + +type CPUUtilizationObservation struct { +} + +type CPUUtilizationParameters struct { + + // Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are: + // + // - NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics. + // + // - OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand. + // +kubebuilder:validation:Optional + PredictiveMethod *string `json:"predictiveMethod,omitempty" tf:"predictive_method,omitempty"` + + // The target CPU utilization that the autoscaler should maintain. + // Must be a float value in the range (0, 1]. If not specified, the + // default is 0.6. + // + // If the CPU level is below the target utilization, the autoscaler + // scales down the number of instances until it reaches the minimum + // number of instances you specified or until the average CPU of + // your instances reaches the target utilization. + // + // If the average CPU is above the target utilization, the autoscaler + // scales up until it reaches the maximum number of instances you + // specified or until the average utilization reaches the target + // utilization. + // +kubebuilder:validation:Required + Target *float64 `json:"target" tf:"target,omitempty"` +} + +type LoadBalancingUtilizationObservation struct { +} + +type LoadBalancingUtilizationParameters struct { + + // Fraction of backend capacity utilization (set in HTTP(s) load + // balancing configuration) that autoscaler should maintain. Must + // be a positive float value. If not defined, the default is 0.8. + // +kubebuilder:validation:Required + Target *float64 `json:"target" tf:"target,omitempty"` +} + +type MaxScaledInReplicasObservation struct { +} + +type MaxScaledInReplicasParameters struct { + + // Specifies a fixed number of VM instances. This must be a positive + // integer. + // +kubebuilder:validation:Optional + Fixed *int64 `json:"fixed,omitempty" tf:"fixed,omitempty"` + + // Specifies a percentage of instances between 0 to 100%, inclusive. + // For example, specify 80 for 80%. + // +kubebuilder:validation:Optional + Percent *int64 `json:"percent,omitempty" tf:"percent,omitempty"` +} + +type MetricObservation struct { +} + +type MetricParameters struct { + + // The identifier (type) of the Stackdriver Monitoring metric. + // The metric cannot have negative values. + // + // The metric must have a value type of INT64 or DOUBLE. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The target value of the metric that autoscaler should + // maintain. This must be a positive value. A utilization + // metric scales number of virtual machines handling requests + // to increase or decrease proportionally to the metric. + // + // For example, a good metric to use as a utilizationTarget is + // www.googleapis.com/compute/instance/network/received_bytes_count. + // The autoscaler will work to keep this value constant for each + // of the instances. + // +kubebuilder:validation:Optional + Target *float64 `json:"target,omitempty" tf:"target,omitempty"` + + // Defines how target utilization value is expressed for a + // Stackdriver Monitoring metric. Possible values: ["GAUGE", "DELTA_PER_SECOND", "DELTA_PER_MINUTE"] + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type ScaleInControlObservation struct { +} + +type ScaleInControlParameters struct { + + // A nested object resource + // +kubebuilder:validation:Optional + MaxScaledInReplicas []MaxScaledInReplicasParameters `json:"maxScaledInReplicas,omitempty" tf:"max_scaled_in_replicas,omitempty"` + + // How long back autoscaling should look when computing recommendations + // to include directives regarding slower scale down, as described above. + // +kubebuilder:validation:Optional + TimeWindowSec *int64 `json:"timeWindowSec,omitempty" tf:"time_window_sec,omitempty"` +} + +type ScalingSchedulesObservation struct { +} + +type ScalingSchedulesParameters struct { + + // A description of a scaling schedule. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // A boolean value that specifies if a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // The duration of time intervals (in seconds) for which this scaling schedule will be running. The minimum allowed value is 300. + // +kubebuilder:validation:Required + DurationSec *int64 `json:"durationSec" tf:"duration_sec,omitempty"` + + // Minimum number of VM instances that autoscaler will recommend in time intervals starting according to schedule. + // +kubebuilder:validation:Required + MinRequiredReplicas *int64 `json:"minRequiredReplicas" tf:"min_required_replicas,omitempty"` + + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The start timestamps of time intervals when this scaling schedule should provide a scaling signal. This field uses the extended cron format (with an optional year field). + // +kubebuilder:validation:Required + Schedule *string `json:"schedule" tf:"schedule,omitempty"` + + // The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database. + // +kubebuilder:validation:Optional + TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"` +} + +// AutoscalerSpec defines the desired state of Autoscaler +type AutoscalerSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AutoscalerParameters `json:"forProvider"` +} + +// AutoscalerStatus defines the observed state of Autoscaler. +type AutoscalerStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AutoscalerObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Autoscaler is the Schema for the Autoscalers 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,gcpjet} +type Autoscaler struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AutoscalerSpec `json:"spec"` + Status AutoscalerStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AutoscalerList contains a list of Autoscalers +type AutoscalerList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Autoscaler `json:"items"` +} + +// Repository type metadata. +var ( + Autoscaler_Kind = "Autoscaler" + Autoscaler_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Autoscaler_Kind}.String() + Autoscaler_KindAPIVersion = Autoscaler_Kind + "." + CRDGroupVersion.String() + Autoscaler_GroupVersionKind = CRDGroupVersion.WithKind(Autoscaler_Kind) +) + +func init() { + SchemeBuilder.Register(&Autoscaler{}, &AutoscalerList{}) +} diff --git a/apis/compute/v1alpha1/zz_backendbucket_terraformed.go b/apis/compute/v1alpha1/zz_backendbucket_terraformed.go new file mode 100755 index 00000000..98eaf33a --- /dev/null +++ b/apis/compute/v1alpha1/zz_backendbucket_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this BackendBucket +func (mg *BackendBucket) GetTerraformResourceType() string { + return "google_compute_backend_bucket" +} + +// GetConnectionDetailsMapping for this BackendBucket +func (tr *BackendBucket) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this BackendBucket +func (tr *BackendBucket) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this BackendBucket +func (tr *BackendBucket) SetObservation(obs map[string]interface{}) 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 BackendBucket +func (tr *BackendBucket) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this BackendBucket +func (tr *BackendBucket) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this BackendBucket +func (tr *BackendBucket) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this BackendBucket using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *BackendBucket) LateInitialize(attrs []byte) (bool, error) { + params := &BackendBucketParameters{} + 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 *BackendBucket) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_backendbucket_types.go b/apis/compute/v1alpha1/zz_backendbucket_types.go new file mode 100755 index 00000000..e8dfb329 --- /dev/null +++ b/apis/compute/v1alpha1/zz_backendbucket_types.go @@ -0,0 +1,184 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BackendBucketObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type BackendBucketParameters struct { + + // Cloud Storage bucket name. + // +kubebuilder:validation:Required + BucketName *string `json:"bucketName" tf:"bucket_name,omitempty"` + + // Cloud CDN configuration for this Backend Bucket. + // +kubebuilder:validation:Optional + CdnPolicy []CdnPolicyParameters `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"` + + // Headers that the HTTP/S load balancer should add to proxied responses. + // +kubebuilder:validation:Optional + CustomResponseHeaders []*string `json:"customResponseHeaders,omitempty" tf:"custom_response_headers,omitempty"` + + // An optional textual description of the resource; provided by the + // client when the resource is created. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // If true, enable Cloud CDN for this BackendBucket. + // +kubebuilder:validation:Optional + EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and + // match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means + // the first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the + // last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +type CdnPolicyObservation struct { +} + +type CdnPolicyParameters struct { + + // Specifies the cache setting for all responses from this backend. + // The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC Possible values: ["USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", "CACHE_ALL_STATIC"] + // +kubebuilder:validation:Optional + CacheMode *string `json:"cacheMode,omitempty" tf:"cache_mode,omitempty"` + + // Specifies the maximum allowed TTL for cached content served by this origin. + // +kubebuilder:validation:Optional + ClientTTL *int64 `json:"clientTtl,omitempty" tf:"client_ttl,omitempty"` + + // Specifies the default TTL for cached content served by this origin for responses + // that do not have an existing valid TTL (max-age or s-max-age). + // +kubebuilder:validation:Optional + DefaultTTL *int64 `json:"defaultTtl,omitempty" tf:"default_ttl,omitempty"` + + // Specifies the maximum allowed TTL for cached content served by this origin. + // +kubebuilder:validation:Optional + MaxTTL *int64 `json:"maxTtl,omitempty" tf:"max_ttl,omitempty"` + + // Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. + // +kubebuilder:validation:Optional + NegativeCaching *bool `json:"negativeCaching,omitempty" tf:"negative_caching,omitempty"` + + // Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy. + // Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs. + // +kubebuilder:validation:Optional + NegativeCachingPolicy []NegativeCachingPolicyParameters `json:"negativeCachingPolicy,omitempty" tf:"negative_caching_policy,omitempty"` + + // Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. + // +kubebuilder:validation:Optional + ServeWhileStale *int64 `json:"serveWhileStale,omitempty" tf:"serve_while_stale,omitempty"` + + // Maximum number of seconds the response to a signed URL request will + // be considered fresh. After this time period, + // the response will be revalidated before being served. + // When serving responses to signed URL requests, + // Cloud CDN will internally behave as though + // all responses from this backend had a "Cache-Control: public, + // max-age=[TTL]" header, regardless of any existing Cache-Control + // header. The actual headers served in responses will not be altered. + // +kubebuilder:validation:Optional + SignedURLCacheMaxAgeSec *int64 `json:"signedUrlCacheMaxAgeSec,omitempty" tf:"signed_url_cache_max_age_sec,omitempty"` +} + +type NegativeCachingPolicyObservation struct { +} + +type NegativeCachingPolicyParameters struct { + + // The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501 + // can be specified as values, and you cannot specify a status code more than once. + // +kubebuilder:validation:Optional + Code *int64 `json:"code,omitempty" tf:"code,omitempty"` + + // The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s + // (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL. + // +kubebuilder:validation:Optional + TTL *int64 `json:"ttl,omitempty" tf:"ttl,omitempty"` +} + +// BackendBucketSpec defines the desired state of BackendBucket +type BackendBucketSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BackendBucketParameters `json:"forProvider"` +} + +// BackendBucketStatus defines the observed state of BackendBucket. +type BackendBucketStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BackendBucketObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// BackendBucket is the Schema for the BackendBuckets 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,gcpjet} +type BackendBucket struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BackendBucketSpec `json:"spec"` + Status BackendBucketStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BackendBucketList contains a list of BackendBuckets +type BackendBucketList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []BackendBucket `json:"items"` +} + +// Repository type metadata. +var ( + BackendBucket_Kind = "BackendBucket" + BackendBucket_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BackendBucket_Kind}.String() + BackendBucket_KindAPIVersion = BackendBucket_Kind + "." + CRDGroupVersion.String() + BackendBucket_GroupVersionKind = CRDGroupVersion.WithKind(BackendBucket_Kind) +) + +func init() { + SchemeBuilder.Register(&BackendBucket{}, &BackendBucketList{}) +} diff --git a/apis/compute/v1alpha1/zz_backendbucketsignedurlkey_terraformed.go b/apis/compute/v1alpha1/zz_backendbucketsignedurlkey_terraformed.go new file mode 100755 index 00000000..68cfb466 --- /dev/null +++ b/apis/compute/v1alpha1/zz_backendbucketsignedurlkey_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this BackendBucketSignedURLKey +func (mg *BackendBucketSignedURLKey) GetTerraformResourceType() string { + return "google_compute_backend_bucket_signed_url_key" +} + +// GetConnectionDetailsMapping for this BackendBucketSignedURLKey +func (tr *BackendBucketSignedURLKey) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"key_value": "spec.forProvider.keyValueSecretRef"} +} + +// GetObservation of this BackendBucketSignedURLKey +func (tr *BackendBucketSignedURLKey) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this BackendBucketSignedURLKey +func (tr *BackendBucketSignedURLKey) SetObservation(obs map[string]interface{}) 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 BackendBucketSignedURLKey +func (tr *BackendBucketSignedURLKey) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this BackendBucketSignedURLKey +func (tr *BackendBucketSignedURLKey) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this BackendBucketSignedURLKey +func (tr *BackendBucketSignedURLKey) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this BackendBucketSignedURLKey using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *BackendBucketSignedURLKey) LateInitialize(attrs []byte) (bool, error) { + params := &BackendBucketSignedURLKeyParameters{} + 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 *BackendBucketSignedURLKey) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_backendbucketsignedurlkey_types.go b/apis/compute/v1alpha1/zz_backendbucketsignedurlkey_types.go new file mode 100755 index 00000000..0c6808f8 --- /dev/null +++ b/apis/compute/v1alpha1/zz_backendbucketsignedurlkey_types.go @@ -0,0 +1,98 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BackendBucketSignedURLKeyObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type BackendBucketSignedURLKeyParameters struct { + + // The backend bucket this signed URL key belongs. + // +kubebuilder:validation:Required + BackendBucket *string `json:"backendBucket" tf:"backend_bucket,omitempty"` + + // 128-bit key value used for signing the URL. The key value must be a + // valid RFC 4648 Section 5 base64url encoded string. + // +kubebuilder:validation:Required + KeyValueSecretRef v1.SecretKeySelector `json:"keyValueSecretRef" tf:"-"` + + // Name of the signed URL key. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// BackendBucketSignedURLKeySpec defines the desired state of BackendBucketSignedURLKey +type BackendBucketSignedURLKeySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BackendBucketSignedURLKeyParameters `json:"forProvider"` +} + +// BackendBucketSignedURLKeyStatus defines the observed state of BackendBucketSignedURLKey. +type BackendBucketSignedURLKeyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BackendBucketSignedURLKeyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// BackendBucketSignedURLKey is the Schema for the BackendBucketSignedURLKeys 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,gcpjet} +type BackendBucketSignedURLKey struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BackendBucketSignedURLKeySpec `json:"spec"` + Status BackendBucketSignedURLKeyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BackendBucketSignedURLKeyList contains a list of BackendBucketSignedURLKeys +type BackendBucketSignedURLKeyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []BackendBucketSignedURLKey `json:"items"` +} + +// Repository type metadata. +var ( + BackendBucketSignedURLKey_Kind = "BackendBucketSignedURLKey" + BackendBucketSignedURLKey_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BackendBucketSignedURLKey_Kind}.String() + BackendBucketSignedURLKey_KindAPIVersion = BackendBucketSignedURLKey_Kind + "." + CRDGroupVersion.String() + BackendBucketSignedURLKey_GroupVersionKind = CRDGroupVersion.WithKind(BackendBucketSignedURLKey_Kind) +) + +func init() { + SchemeBuilder.Register(&BackendBucketSignedURLKey{}, &BackendBucketSignedURLKeyList{}) +} diff --git a/apis/compute/v1alpha1/zz_backendservice_terraformed.go b/apis/compute/v1alpha1/zz_backendservice_terraformed.go new file mode 100755 index 00000000..03b1087a --- /dev/null +++ b/apis/compute/v1alpha1/zz_backendservice_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this BackendService +func (mg *BackendService) GetTerraformResourceType() string { + return "google_compute_backend_service" +} + +// GetConnectionDetailsMapping for this BackendService +func (tr *BackendService) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"iap[*].oauth2_client_secret": "spec.forProvider.iap[*].oauth2ClientSecretSecretRef", "iap[*].oauth2_client_secret_sha256": "status.atProvider.iap[*].oauth2ClientSecretSha256"} +} + +// GetObservation of this BackendService +func (tr *BackendService) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this BackendService +func (tr *BackendService) SetObservation(obs map[string]interface{}) 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 BackendService +func (tr *BackendService) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this BackendService +func (tr *BackendService) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this BackendService +func (tr *BackendService) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this BackendService using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *BackendService) LateInitialize(attrs []byte) (bool, error) { + params := &BackendServiceParameters{} + 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 *BackendService) GetTerraformSchemaVersion() int { + return 1 +} diff --git a/apis/compute/v1alpha1/zz_backendservice_types.go b/apis/compute/v1alpha1/zz_backendservice_types.go new file mode 100755 index 00000000..f7bac2e7 --- /dev/null +++ b/apis/compute/v1alpha1/zz_backendservice_types.go @@ -0,0 +1,702 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BackendObservation struct { +} + +type BackendParameters struct { + + // Specifies the balancing mode for this backend. + // + // For global HTTP(S) or TCP/SSL load balancing, the default is + // UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)) + // and CONNECTION (for TCP/SSL). Default value: "UTILIZATION" Possible values: ["UTILIZATION", "RATE", "CONNECTION"] + // +kubebuilder:validation:Optional + BalancingMode *string `json:"balancingMode,omitempty" tf:"balancing_mode,omitempty"` + + // A multiplier applied to the group's maximum servicing capacity + // (based on UTILIZATION, RATE or CONNECTION). + // + // Default value is 1, which means the group will serve up to 100% + // of its configured capacity (depending on balancingMode). A + // setting of 0 means the group is completely drained, offering + // 0% of its available Capacity. Valid range is [0.0,1.0]. + // +kubebuilder:validation:Optional + CapacityScaler *float64 `json:"capacityScaler,omitempty" tf:"capacity_scaler,omitempty"` + + // An optional description of this resource. + // Provide this property when you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The fully-qualified URL of an Instance Group or Network Endpoint + // Group resource. In case of instance group this defines the list + // of instances that serve traffic. Member virtual machine + // instances from each instance group must live in the same zone as + // the instance group itself. No two backends in a backend service + // are allowed to use same Instance Group resource. + // + // For Network Endpoint Groups this defines list of endpoints. All + // endpoints of Network Endpoint Group must be hosted on instances + // located in the same zone as the Network Endpoint Group. + // + // Backend services cannot mix Instance Group and + // Network Endpoint Group backends. + // + // Note that you must specify an Instance Group or Network Endpoint + // Group resource using the fully-qualified URL, rather than a + // partial URL. + // +kubebuilder:validation:Required + Group *string `json:"group" tf:"group,omitempty"` + + // The max number of simultaneous connections for the group. Can + // be used with either CONNECTION or UTILIZATION balancing modes. + // + // For CONNECTION mode, either maxConnections or one + // of maxConnectionsPerInstance or maxConnectionsPerEndpoint, + // as appropriate for group type, must be set. + // +kubebuilder:validation:Optional + MaxConnections *int64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"` + + // The max number of simultaneous connections that a single backend + // network endpoint can handle. This is used to calculate the + // capacity of the group. Can be used in either CONNECTION or + // UTILIZATION balancing modes. + // + // For CONNECTION mode, either + // maxConnections or maxConnectionsPerEndpoint must be set. + // +kubebuilder:validation:Optional + MaxConnectionsPerEndpoint *int64 `json:"maxConnectionsPerEndpoint,omitempty" tf:"max_connections_per_endpoint,omitempty"` + + // The max number of simultaneous connections that a single + // backend instance can handle. This is used to calculate the + // capacity of the group. Can be used in either CONNECTION or + // UTILIZATION balancing modes. + // + // For CONNECTION mode, either maxConnections or + // maxConnectionsPerInstance must be set. + // +kubebuilder:validation:Optional + MaxConnectionsPerInstance *int64 `json:"maxConnectionsPerInstance,omitempty" tf:"max_connections_per_instance,omitempty"` + + // The max requests per second (RPS) of the group. + // + // Can be used with either RATE or UTILIZATION balancing modes, + // but required if RATE mode. For RATE mode, either maxRate or one + // of maxRatePerInstance or maxRatePerEndpoint, as appropriate for + // group type, must be set. + // +kubebuilder:validation:Optional + MaxRate *int64 `json:"maxRate,omitempty" tf:"max_rate,omitempty"` + + // The max requests per second (RPS) that a single backend network + // endpoint can handle. This is used to calculate the capacity of + // the group. Can be used in either balancing mode. For RATE mode, + // either maxRate or maxRatePerEndpoint must be set. + // +kubebuilder:validation:Optional + MaxRatePerEndpoint *float64 `json:"maxRatePerEndpoint,omitempty" tf:"max_rate_per_endpoint,omitempty"` + + // The max requests per second (RPS) that a single backend + // instance can handle. This is used to calculate the capacity of + // the group. Can be used in either balancing mode. For RATE mode, + // either maxRate or maxRatePerInstance must be set. + // +kubebuilder:validation:Optional + MaxRatePerInstance *float64 `json:"maxRatePerInstance,omitempty" tf:"max_rate_per_instance,omitempty"` + + // Used when balancingMode is UTILIZATION. This ratio defines the + // CPU utilization target for the group. Valid range is [0.0, 1.0]. + // +kubebuilder:validation:Optional + MaxUtilization *float64 `json:"maxUtilization,omitempty" tf:"max_utilization,omitempty"` +} + +type BackendServiceCdnPolicyObservation struct { +} + +type BackendServiceCdnPolicyParameters struct { + + // The CacheKeyPolicy for this CdnPolicy. + // +kubebuilder:validation:Optional + CacheKeyPolicy []CacheKeyPolicyParameters `json:"cacheKeyPolicy,omitempty" tf:"cache_key_policy,omitempty"` + + // Specifies the cache setting for all responses from this backend. + // The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC Possible values: ["USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", "CACHE_ALL_STATIC"] + // +kubebuilder:validation:Optional + CacheMode *string `json:"cacheMode,omitempty" tf:"cache_mode,omitempty"` + + // Specifies the maximum allowed TTL for cached content served by this origin. + // +kubebuilder:validation:Optional + ClientTTL *int64 `json:"clientTtl,omitempty" tf:"client_ttl,omitempty"` + + // Specifies the default TTL for cached content served by this origin for responses + // that do not have an existing valid TTL (max-age or s-max-age). + // +kubebuilder:validation:Optional + DefaultTTL *int64 `json:"defaultTtl,omitempty" tf:"default_ttl,omitempty"` + + // Specifies the maximum allowed TTL for cached content served by this origin. + // +kubebuilder:validation:Optional + MaxTTL *int64 `json:"maxTtl,omitempty" tf:"max_ttl,omitempty"` + + // Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. + // +kubebuilder:validation:Optional + NegativeCaching *bool `json:"negativeCaching,omitempty" tf:"negative_caching,omitempty"` + + // Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy. + // Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs. + // +kubebuilder:validation:Optional + NegativeCachingPolicy []CdnPolicyNegativeCachingPolicyParameters `json:"negativeCachingPolicy,omitempty" tf:"negative_caching_policy,omitempty"` + + // Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. + // +kubebuilder:validation:Optional + ServeWhileStale *int64 `json:"serveWhileStale,omitempty" tf:"serve_while_stale,omitempty"` + + // Maximum number of seconds the response to a signed URL request + // will be considered fresh, defaults to 1hr (3600s). After this + // time period, the response will be revalidated before + // being served. + // + // When serving responses to signed URL requests, Cloud CDN will + // internally behave as though all responses from this backend had a + // "Cache-Control: public, max-age=[TTL]" header, regardless of any + // existing Cache-Control header. The actual headers served in + // responses will not be altered. + // +kubebuilder:validation:Optional + SignedURLCacheMaxAgeSec *int64 `json:"signedUrlCacheMaxAgeSec,omitempty" tf:"signed_url_cache_max_age_sec,omitempty"` +} + +type BackendServiceObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type BackendServiceParameters struct { + + // Lifetime of cookies in seconds if session_affinity is + // GENERATED_COOKIE. If set to 0, the cookie is non-persistent and lasts + // only until the end of the browser session (or equivalent). The + // maximum allowed value for TTL is one day. + // + // When the load balancing scheme is INTERNAL, this field is not used. + // +kubebuilder:validation:Optional + AffinityCookieTTLSec *int64 `json:"affinityCookieTtlSec,omitempty" tf:"affinity_cookie_ttl_sec,omitempty"` + + // The set of backends that serve this BackendService. + // +kubebuilder:validation:Optional + Backend []BackendParameters `json:"backend,omitempty" tf:"backend,omitempty"` + + // Cloud CDN configuration for this BackendService. + // +kubebuilder:validation:Optional + CdnPolicy []BackendServiceCdnPolicyParameters `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"` + + // Settings controlling the volume of connections to a backend service. This field + // is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. + // +kubebuilder:validation:Optional + CircuitBreakers []CircuitBreakersParameters `json:"circuitBreakers,omitempty" tf:"circuit_breakers,omitempty"` + + // Time for which instance will be drained (not accept new + // connections, but still work to finish started). + // +kubebuilder:validation:Optional + ConnectionDrainingTimeoutSec *int64 `json:"connectionDrainingTimeoutSec,omitempty" tf:"connection_draining_timeout_sec,omitempty"` + + // Consistent Hash-based load balancing can be used to provide soft session + // affinity based on HTTP headers, cookies or other properties. This load balancing + // policy is applicable only for HTTP connections. The affinity to a particular + // destination host will be lost when one or more hosts are added/removed from the + // destination service. This field specifies parameters that control consistent + // hashing. This field only applies if the load_balancing_scheme is set to + // INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is + // set to MAGLEV or RING_HASH. + // +kubebuilder:validation:Optional + ConsistentHash []ConsistentHashParameters `json:"consistentHash,omitempty" tf:"consistent_hash,omitempty"` + + // Headers that the HTTP/S load balancer should add to proxied + // requests. + // +kubebuilder:validation:Optional + CustomRequestHeaders []*string `json:"customRequestHeaders,omitempty" tf:"custom_request_headers,omitempty"` + + // Headers that the HTTP/S load balancer should add to proxied + // responses. + // +kubebuilder:validation:Optional + CustomResponseHeaders []*string `json:"customResponseHeaders,omitempty" tf:"custom_response_headers,omitempty"` + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // If true, enable Cloud CDN for this BackendService. + // +kubebuilder:validation:Optional + EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"` + + // The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource + // for health checking this BackendService. Currently at most one health + // check can be specified. + // + // A health check must be specified unless the backend service uses an internet + // or serverless NEG as a backend. + // + // For internal load balancing, a URL to a HealthCheck resource must be specified instead. + // +kubebuilder:validation:Optional + HealthChecks []*string `json:"healthChecks,omitempty" tf:"health_checks,omitempty"` + + // Settings for enabling Cloud Identity Aware Proxy + // +kubebuilder:validation:Optional + Iap []IapParameters `json:"iap,omitempty" tf:"iap,omitempty"` + + // Indicates whether the backend service will be used with internal or + // external load balancing. A backend service created for one type of + // load balancing cannot be used with the other. Default value: "EXTERNAL" Possible values: ["EXTERNAL", "INTERNAL_SELF_MANAGED"] + // +kubebuilder:validation:Optional + LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"` + + // The load balancing algorithm used within the scope of the locality. + // The possible values are - + // + // * ROUND_ROBIN - This is a simple policy in which each healthy backend + // is selected in round robin order. + // + // * LEAST_REQUEST - An O(1) algorithm which selects two random healthy + // hosts and picks the host which has fewer active requests. + // + // * RING_HASH - The ring/modulo hash load balancer implements consistent + // hashing to backends. The algorithm has the property that the + // addition/removal of a host from a set of N hosts only affects + // 1/N of the requests. + // + // * RANDOM - The load balancer selects a random healthy host. + // + // * ORIGINAL_DESTINATION - Backend host is selected based on the client + // connection metadata, i.e., connections are opened + // to the same address as the destination address of + // the incoming connection before the connection + // was redirected to the load balancer. + // + // * MAGLEV - used as a drop in replacement for the ring hash load balancer. + // Maglev is not as stable as ring hash but has faster table lookup + // build times and host selection times. For more information about + // Maglev, refer to https://ai.google/research/pubs/pub44824 + // + // This field is applicable only when the load_balancing_scheme is set to + // INTERNAL_SELF_MANAGED. Possible values: ["ROUND_ROBIN", "LEAST_REQUEST", "RING_HASH", "RANDOM", "ORIGINAL_DESTINATION", "MAGLEV"] + // +kubebuilder:validation:Optional + LocalityLBPolicy *string `json:"localityLbPolicy,omitempty" tf:"locality_lb_policy,omitempty"` + + // This field denotes the logging options for the load balancer traffic served by this backend service. + // If logging is enabled, logs will be exported to Stackdriver. + // +kubebuilder:validation:Optional + LogConfig []LogConfigParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Settings controlling eviction of unhealthy hosts from the load balancing pool. + // This field is applicable only when the load_balancing_scheme is set + // to INTERNAL_SELF_MANAGED. + // +kubebuilder:validation:Optional + OutlierDetection []OutlierDetectionParameters `json:"outlierDetection,omitempty" tf:"outlier_detection,omitempty"` + + // Name of backend port. The same name should appear in the instance + // groups referenced by this service. Required when the load balancing + // scheme is EXTERNAL. + // +kubebuilder:validation:Optional + PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The protocol this BackendService uses to communicate with backends. + // The default is HTTP. **NOTE**: HTTP2 is only valid for beta HTTP/2 load balancer + // types and may result in errors if used with the GA API. Possible values: ["HTTP", "HTTPS", "HTTP2", "TCP", "SSL", "GRPC"] + // +kubebuilder:validation:Optional + Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"` + + // The security policy associated with this backend service. + // +kubebuilder:validation:Optional + SecurityPolicy *string `json:"securityPolicy,omitempty" tf:"security_policy,omitempty"` + + // Type of session affinity to use. The default is NONE. Session affinity is + // not applicable if the protocol is UDP. Possible values: ["NONE", "CLIENT_IP", "CLIENT_IP_PORT_PROTO", "CLIENT_IP_PROTO", "GENERATED_COOKIE", "HEADER_FIELD", "HTTP_COOKIE"] + // +kubebuilder:validation:Optional + SessionAffinity *string `json:"sessionAffinity,omitempty" tf:"session_affinity,omitempty"` + + // How many seconds to wait for the backend before considering it a + // failed request. Default is 30 seconds. Valid range is [1, 86400]. + // +kubebuilder:validation:Optional + TimeoutSec *int64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"` +} + +type BaseEjectionTimeObservation struct { +} + +type BaseEjectionTimeParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *int64 `json:"seconds" tf:"seconds,omitempty"` +} + +type CacheKeyPolicyObservation struct { +} + +type CacheKeyPolicyParameters struct { + + // If true requests to different hosts will be cached separately. + // +kubebuilder:validation:Optional + IncludeHost *bool `json:"includeHost,omitempty" tf:"include_host,omitempty"` + + // If true, http and https requests will be cached separately. + // +kubebuilder:validation:Optional + IncludeProtocol *bool `json:"includeProtocol,omitempty" tf:"include_protocol,omitempty"` + + // If true, include query string parameters in the cache key + // according to query_string_whitelist and + // query_string_blacklist. If neither is set, the entire query + // string will be included. + // + // If false, the query string will be excluded from the cache + // key entirely. + // +kubebuilder:validation:Optional + IncludeQueryString *bool `json:"includeQueryString,omitempty" tf:"include_query_string,omitempty"` + + // Names of query string parameters to exclude in cache keys. + // + // All other parameters will be included. Either specify + // query_string_whitelist or query_string_blacklist, not both. + // '&' and '=' will be percent encoded and not treated as + // delimiters. + // +kubebuilder:validation:Optional + QueryStringBlacklist []*string `json:"queryStringBlacklist,omitempty" tf:"query_string_blacklist,omitempty"` + + // Names of query string parameters to include in cache keys. + // + // All other parameters will be excluded. Either specify + // query_string_whitelist or query_string_blacklist, not both. + // '&' and '=' will be percent encoded and not treated as + // delimiters. + // +kubebuilder:validation:Optional + QueryStringWhitelist []*string `json:"queryStringWhitelist,omitempty" tf:"query_string_whitelist,omitempty"` +} + +type CdnPolicyNegativeCachingPolicyObservation struct { +} + +type CdnPolicyNegativeCachingPolicyParameters struct { + + // The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501 + // can be specified as values, and you cannot specify a status code more than once. + // +kubebuilder:validation:Optional + Code *int64 `json:"code,omitempty" tf:"code,omitempty"` + + // The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s + // (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL. + // +kubebuilder:validation:Optional + TTL *int64 `json:"ttl,omitempty" tf:"ttl,omitempty"` +} + +type CircuitBreakersObservation struct { +} + +type CircuitBreakersParameters struct { + + // The maximum number of connections to the backend cluster. + // Defaults to 1024. + // +kubebuilder:validation:Optional + MaxConnections *int64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"` + + // The maximum number of pending requests to the backend cluster. + // Defaults to 1024. + // +kubebuilder:validation:Optional + MaxPendingRequests *int64 `json:"maxPendingRequests,omitempty" tf:"max_pending_requests,omitempty"` + + // The maximum number of parallel requests to the backend cluster. + // Defaults to 1024. + // +kubebuilder:validation:Optional + MaxRequests *int64 `json:"maxRequests,omitempty" tf:"max_requests,omitempty"` + + // Maximum requests for a single backend connection. This parameter + // is respected by both the HTTP/1.1 and HTTP/2 implementations. If + // not specified, there is no limit. Setting this parameter to 1 + // will effectively disable keep alive. + // +kubebuilder:validation:Optional + MaxRequestsPerConnection *int64 `json:"maxRequestsPerConnection,omitempty" tf:"max_requests_per_connection,omitempty"` + + // The maximum number of parallel retries to the backend cluster. + // Defaults to 3. + // +kubebuilder:validation:Optional + MaxRetries *int64 `json:"maxRetries,omitempty" tf:"max_retries,omitempty"` +} + +type ConsistentHashObservation struct { +} + +type ConsistentHashParameters struct { + + // Hash is based on HTTP Cookie. This field describes a HTTP cookie + // that will be used as the hash key for the consistent hash load + // balancer. If the cookie is not present, it will be generated. + // This field is applicable if the sessionAffinity is set to HTTP_COOKIE. + // +kubebuilder:validation:Optional + HTTPCookie []HTTPCookieParameters `json:"httpCookie,omitempty" tf:"http_cookie,omitempty"` + + // The hash based on the value of the specified header field. + // This field is applicable if the sessionAffinity is set to HEADER_FIELD. + // +kubebuilder:validation:Optional + HTTPHeaderName *string `json:"httpHeaderName,omitempty" tf:"http_header_name,omitempty"` + + // The minimum number of virtual nodes to use for the hash ring. + // Larger ring sizes result in more granular load + // distributions. If the number of hosts in the load balancing pool + // is larger than the ring size, each host will be assigned a single + // virtual node. + // Defaults to 1024. + // +kubebuilder:validation:Optional + MinimumRingSize *int64 `json:"minimumRingSize,omitempty" tf:"minimum_ring_size,omitempty"` +} + +type HTTPCookieObservation struct { +} + +type HTTPCookieParameters struct { + + // Name of the cookie. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Path to set for the cookie. + // +kubebuilder:validation:Optional + Path *string `json:"path,omitempty" tf:"path,omitempty"` + + // Lifetime of the cookie. + // +kubebuilder:validation:Optional + TTL []TTLParameters `json:"ttl,omitempty" tf:"ttl,omitempty"` +} + +type IapObservation struct { +} + +type IapParameters struct { + + // OAuth2 Client ID for IAP + // +kubebuilder:validation:Required + Oauth2ClientID *string `json:"oauth2ClientId" tf:"oauth2_client_id,omitempty"` + + // OAuth2 Client Secret for IAP + // +kubebuilder:validation:Required + Oauth2ClientSecretSecretRef v1.SecretKeySelector `json:"oauth2ClientSecretSecretRef" tf:"-"` +} + +type IntervalObservation struct { +} + +type IntervalParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *int64 `json:"seconds" tf:"seconds,omitempty"` +} + +type LogConfigObservation struct { +} + +type LogConfigParameters struct { + + // Whether to enable logging for the load balancer traffic served by this backend service. + // +kubebuilder:validation:Optional + Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"` + + // This field can only be specified if logging is enabled for this backend service. The value of + // the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer + // where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. + // The default value is 1.0. + // +kubebuilder:validation:Optional + SampleRate *float64 `json:"sampleRate,omitempty" tf:"sample_rate,omitempty"` +} + +type OutlierDetectionObservation struct { +} + +type OutlierDetectionParameters struct { + + // The base time that a host is ejected for. The real time is equal to the base + // time multiplied by the number of times the host has been ejected. Defaults to + // 30000ms or 30s. + // +kubebuilder:validation:Optional + BaseEjectionTime []BaseEjectionTimeParameters `json:"baseEjectionTime,omitempty" tf:"base_ejection_time,omitempty"` + + // Number of errors before a host is ejected from the connection pool. When the + // backend host is accessed over HTTP, a 5xx return code qualifies as an error. + // Defaults to 5. + // +kubebuilder:validation:Optional + ConsecutiveErrors *int64 `json:"consecutiveErrors,omitempty" tf:"consecutive_errors,omitempty"` + + // The number of consecutive gateway failures (502, 503, 504 status or connection + // errors that are mapped to one of those status codes) before a consecutive + // gateway failure ejection occurs. Defaults to 5. + // +kubebuilder:validation:Optional + ConsecutiveGatewayFailure *int64 `json:"consecutiveGatewayFailure,omitempty" tf:"consecutive_gateway_failure,omitempty"` + + // The percentage chance that a host will be actually ejected when an outlier + // status is detected through consecutive 5xx. This setting can be used to disable + // ejection or to ramp it up slowly. Defaults to 100. + // +kubebuilder:validation:Optional + EnforcingConsecutiveErrors *int64 `json:"enforcingConsecutiveErrors,omitempty" tf:"enforcing_consecutive_errors,omitempty"` + + // The percentage chance that a host will be actually ejected when an outlier + // status is detected through consecutive gateway failures. This setting can be + // used to disable ejection or to ramp it up slowly. Defaults to 0. + // +kubebuilder:validation:Optional + EnforcingConsecutiveGatewayFailure *int64 `json:"enforcingConsecutiveGatewayFailure,omitempty" tf:"enforcing_consecutive_gateway_failure,omitempty"` + + // The percentage chance that a host will be actually ejected when an outlier + // status is detected through success rate statistics. This setting can be used to + // disable ejection or to ramp it up slowly. Defaults to 100. + // +kubebuilder:validation:Optional + EnforcingSuccessRate *int64 `json:"enforcingSuccessRate,omitempty" tf:"enforcing_success_rate,omitempty"` + + // Time interval between ejection sweep analysis. This can result in both new + // ejections as well as hosts being returned to service. Defaults to 10 seconds. + // +kubebuilder:validation:Optional + Interval []IntervalParameters `json:"interval,omitempty" tf:"interval,omitempty"` + + // Maximum percentage of hosts in the load balancing pool for the backend service + // that can be ejected. Defaults to 10%. + // +kubebuilder:validation:Optional + MaxEjectionPercent *int64 `json:"maxEjectionPercent,omitempty" tf:"max_ejection_percent,omitempty"` + + // The number of hosts in a cluster that must have enough request volume to detect + // success rate outliers. If the number of hosts is less than this setting, outlier + // detection via success rate statistics is not performed for any host in the + // cluster. Defaults to 5. + // +kubebuilder:validation:Optional + SuccessRateMinimumHosts *int64 `json:"successRateMinimumHosts,omitempty" tf:"success_rate_minimum_hosts,omitempty"` + + // The minimum number of total requests that must be collected in one interval (as + // defined by the interval duration above) to include this host in success rate + // based outlier detection. If the volume is lower than this setting, outlier + // detection via success rate statistics is not performed for that host. Defaults + // to 100. + // +kubebuilder:validation:Optional + SuccessRateRequestVolume *int64 `json:"successRateRequestVolume,omitempty" tf:"success_rate_request_volume,omitempty"` + + // This factor is used to determine the ejection threshold for success rate outlier + // ejection. The ejection threshold is the difference between the mean success + // rate, and the product of this factor and the standard deviation of the mean + // success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided + // by a thousand to get a double. That is, if the desired factor is 1.9, the + // runtime value should be 1900. Defaults to 1900. + // +kubebuilder:validation:Optional + SuccessRateStdevFactor *int64 `json:"successRateStdevFactor,omitempty" tf:"success_rate_stdev_factor,omitempty"` +} + +type TTLObservation struct { +} + +type TTLParameters struct { + + // Span of time that's a fraction of a second at nanosecond + // resolution. Durations less than one second are represented + // with a 0 seconds field and a positive nanos field. Must + // be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. + // Must be from 0 to 315,576,000,000 inclusive. + // +kubebuilder:validation:Required + Seconds *int64 `json:"seconds" tf:"seconds,omitempty"` +} + +// BackendServiceSpec defines the desired state of BackendService +type BackendServiceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BackendServiceParameters `json:"forProvider"` +} + +// BackendServiceStatus defines the observed state of BackendService. +type BackendServiceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BackendServiceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// BackendService is the Schema for the BackendServices 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,gcpjet} +type BackendService struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BackendServiceSpec `json:"spec"` + Status BackendServiceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BackendServiceList contains a list of BackendServices +type BackendServiceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []BackendService `json:"items"` +} + +// Repository type metadata. +var ( + BackendService_Kind = "BackendService" + BackendService_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BackendService_Kind}.String() + BackendService_KindAPIVersion = BackendService_Kind + "." + CRDGroupVersion.String() + BackendService_GroupVersionKind = CRDGroupVersion.WithKind(BackendService_Kind) +) + +func init() { + SchemeBuilder.Register(&BackendService{}, &BackendServiceList{}) +} diff --git a/apis/compute/v1alpha1/zz_backendservicesignedurlkey_terraformed.go b/apis/compute/v1alpha1/zz_backendservicesignedurlkey_terraformed.go new file mode 100755 index 00000000..6add93d0 --- /dev/null +++ b/apis/compute/v1alpha1/zz_backendservicesignedurlkey_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this BackendServiceSignedURLKey +func (mg *BackendServiceSignedURLKey) GetTerraformResourceType() string { + return "google_compute_backend_service_signed_url_key" +} + +// GetConnectionDetailsMapping for this BackendServiceSignedURLKey +func (tr *BackendServiceSignedURLKey) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"key_value": "spec.forProvider.keyValueSecretRef"} +} + +// GetObservation of this BackendServiceSignedURLKey +func (tr *BackendServiceSignedURLKey) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this BackendServiceSignedURLKey +func (tr *BackendServiceSignedURLKey) SetObservation(obs map[string]interface{}) 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 BackendServiceSignedURLKey +func (tr *BackendServiceSignedURLKey) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this BackendServiceSignedURLKey +func (tr *BackendServiceSignedURLKey) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this BackendServiceSignedURLKey +func (tr *BackendServiceSignedURLKey) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this BackendServiceSignedURLKey using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *BackendServiceSignedURLKey) LateInitialize(attrs []byte) (bool, error) { + params := &BackendServiceSignedURLKeyParameters{} + 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 *BackendServiceSignedURLKey) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_backendservicesignedurlkey_types.go b/apis/compute/v1alpha1/zz_backendservicesignedurlkey_types.go new file mode 100755 index 00000000..467f3171 --- /dev/null +++ b/apis/compute/v1alpha1/zz_backendservicesignedurlkey_types.go @@ -0,0 +1,98 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BackendServiceSignedURLKeyObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type BackendServiceSignedURLKeyParameters struct { + + // The backend service this signed URL key belongs. + // +kubebuilder:validation:Required + BackendService *string `json:"backendService" tf:"backend_service,omitempty"` + + // 128-bit key value used for signing the URL. The key value must be a + // valid RFC 4648 Section 5 base64url encoded string. + // +kubebuilder:validation:Required + KeyValueSecretRef v1.SecretKeySelector `json:"keyValueSecretRef" tf:"-"` + + // Name of the signed URL key. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// BackendServiceSignedURLKeySpec defines the desired state of BackendServiceSignedURLKey +type BackendServiceSignedURLKeySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BackendServiceSignedURLKeyParameters `json:"forProvider"` +} + +// BackendServiceSignedURLKeyStatus defines the observed state of BackendServiceSignedURLKey. +type BackendServiceSignedURLKeyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BackendServiceSignedURLKeyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// BackendServiceSignedURLKey is the Schema for the BackendServiceSignedURLKeys 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,gcpjet} +type BackendServiceSignedURLKey struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BackendServiceSignedURLKeySpec `json:"spec"` + Status BackendServiceSignedURLKeyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BackendServiceSignedURLKeyList contains a list of BackendServiceSignedURLKeys +type BackendServiceSignedURLKeyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []BackendServiceSignedURLKey `json:"items"` +} + +// Repository type metadata. +var ( + BackendServiceSignedURLKey_Kind = "BackendServiceSignedURLKey" + BackendServiceSignedURLKey_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BackendServiceSignedURLKey_Kind}.String() + BackendServiceSignedURLKey_KindAPIVersion = BackendServiceSignedURLKey_Kind + "." + CRDGroupVersion.String() + BackendServiceSignedURLKey_GroupVersionKind = CRDGroupVersion.WithKind(BackendServiceSignedURLKey_Kind) +) + +func init() { + SchemeBuilder.Register(&BackendServiceSignedURLKey{}, &BackendServiceSignedURLKeyList{}) +} diff --git a/apis/compute/v1alpha1/zz_disk_terraformed.go b/apis/compute/v1alpha1/zz_disk_terraformed.go new file mode 100755 index 00000000..01d51ce8 --- /dev/null +++ b/apis/compute/v1alpha1/zz_disk_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Disk +func (mg *Disk) GetTerraformResourceType() string { + return "google_compute_disk" +} + +// GetConnectionDetailsMapping for this Disk +func (tr *Disk) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"disk_encryption_key[*].raw_key": "spec.forProvider.diskEncryptionKey[*].rawKeySecretRef"} +} + +// GetObservation of this Disk +func (tr *Disk) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Disk +func (tr *Disk) SetObservation(obs map[string]interface{}) 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 Disk +func (tr *Disk) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Disk +func (tr *Disk) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Disk +func (tr *Disk) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Disk using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Disk) LateInitialize(attrs []byte) (bool, error) { + params := &DiskParameters{} + 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 *Disk) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_disk_types.go b/apis/compute/v1alpha1/zz_disk_types.go new file mode 100755 index 00000000..b190a80d --- /dev/null +++ b/apis/compute/v1alpha1/zz_disk_types.go @@ -0,0 +1,282 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DiskEncryptionKeyObservation struct { + Sha256 *string `json:"sha256,omitempty" tf:"sha256,omitempty"` +} + +type DiskEncryptionKeyParameters struct { + + // The self link of the encryption key used to encrypt the disk. Also called KmsKeyName + // in the cloud console. Your project's Compute Engine System service account + // ('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') must have + // 'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature. + // See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys + // +kubebuilder:validation:Optional + KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"` + + // The service account used for the encryption request for the given KMS key. + // If absent, the Compute Engine Service Agent service account is used. + // +kubebuilder:validation:Optional + KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"` + + // Specifies a 256-bit customer-supplied encryption key, encoded in + // RFC 4648 base64 to either encrypt or decrypt this resource. + // +kubebuilder:validation:Optional + RawKeySecretRef *v1.SecretKeySelector `json:"rawKeySecretRef,omitempty" tf:"-"` +} + +type DiskObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"` + + LastAttachTimestamp *string `json:"lastAttachTimestamp,omitempty" tf:"last_attach_timestamp,omitempty"` + + LastDetachTimestamp *string `json:"lastDetachTimestamp,omitempty" tf:"last_detach_timestamp,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + SourceImageID *string `json:"sourceImageId,omitempty" tf:"source_image_id,omitempty"` + + SourceSnapshotID *string `json:"sourceSnapshotId,omitempty" tf:"source_snapshot_id,omitempty"` + + Users []*string `json:"users,omitempty" tf:"users,omitempty"` +} + +type DiskParameters struct { + + // An optional description of this resource. Provide this property when + // you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Encrypts the disk using a customer-supplied encryption key. + // + // After you encrypt a disk with a customer-supplied key, you must + // provide the same key if you use the disk later (e.g. to create a disk + // snapshot or an image, or to attach the disk to a virtual machine). + // + // Customer-supplied encryption keys do not protect access to metadata of + // the disk. + // + // If you do not provide an encryption key when creating the disk, then + // the disk will be encrypted using an automatically generated key and + // you do not need to provide a key to use the disk later. + // +kubebuilder:validation:Optional + DiskEncryptionKey []DiskEncryptionKeyParameters `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"` + + // The image from which to initialize this disk. This can be + // one of: the image's 'self_link', 'projects/{project}/global/images/{image}', + // 'projects/{project}/global/images/family/{family}', 'global/images/{image}', + // 'global/images/family/{family}', 'family/{family}', '{project}/{family}', + // '{project}/{image}', '{family}', or '{image}'. If referred by family, the + // images names must include the family name. If they don't, use the + // [google_compute_image data source](/docs/providers/google/d/compute_image.html). + // For instance, the image 'centos-6-v20180104' includes its family name 'centos-6'. + // These images can be referred by family name here. + // +kubebuilder:validation:Optional + Image *string `json:"image,omitempty" tf:"image,omitempty"` + + // Labels to apply to this disk. A list of key->value pairs. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Physical block size of the persistent disk, in bytes. If not present + // in a request, a default value is used. Currently supported sizes + // are 4096 and 16384, other sizes may be added in the future. + // If an unsupported value is requested, the error message will list + // the supported values for the caller's project. + // +kubebuilder:validation:Optional + PhysicalBlockSizeBytes *int64 `json:"physicalBlockSizeBytes,omitempty" tf:"physical_block_size_bytes,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Indicates how many IOPS must be provisioned for the disk. + // +kubebuilder:validation:Optional + ProvisionedIops *int64 `json:"provisionedIops,omitempty" tf:"provisioned_iops,omitempty"` + + // Size of the persistent disk, specified in GB. You can specify this + // field when creating a persistent disk using the 'image' or + // 'snapshot' parameter, or specify it alone to create an empty + // persistent disk. + // + // If you specify this field along with 'image' or 'snapshot', + // the value must not be less than the size of the image + // or the size of the snapshot. + // + // ~>**NOTE** If you change the size, Terraform updates the disk size + // if upsizing is detected but recreates the disk if downsizing is requested. + // You can add 'lifecycle.prevent_destroy' in the config to prevent destroying + // and recreating. + // +kubebuilder:validation:Optional + Size *int64 `json:"size,omitempty" tf:"size,omitempty"` + + // The source snapshot used to create this disk. You can provide this as + // a partial or full URL to the resource. If the snapshot is in another + // project than this disk, you must supply a full URL. For example, the + // following are valid values: + // + // * 'https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot' + // * 'projects/project/global/snapshots/snapshot' + // * 'global/snapshots/snapshot' + // * 'snapshot' + // +kubebuilder:validation:Optional + Snapshot *string `json:"snapshot,omitempty" tf:"snapshot,omitempty"` + + // The customer-supplied encryption key of the source image. Required if + // the source image is protected by a customer-supplied encryption key. + // +kubebuilder:validation:Optional + SourceImageEncryptionKey []SourceImageEncryptionKeyParameters `json:"sourceImageEncryptionKey,omitempty" tf:"source_image_encryption_key,omitempty"` + + // The customer-supplied encryption key of the source snapshot. Required + // if the source snapshot is protected by a customer-supplied encryption + // key. + // +kubebuilder:validation:Optional + SourceSnapshotEncryptionKey []SourceSnapshotEncryptionKeyParameters `json:"sourceSnapshotEncryptionKey,omitempty" tf:"source_snapshot_encryption_key,omitempty"` + + // URL of the disk type resource describing which disk type to use to + // create the disk. Provide this when creating the disk. + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` + + // A reference to the zone where the disk resides. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type SourceImageEncryptionKeyObservation struct { + Sha256 *string `json:"sha256,omitempty" tf:"sha256,omitempty"` +} + +type SourceImageEncryptionKeyParameters struct { + + // The self link of the encryption key used to encrypt the disk. Also called KmsKeyName + // in the cloud console. Your project's Compute Engine System service account + // ('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') must have + // 'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature. + // See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys + // +kubebuilder:validation:Optional + KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"` + + // The service account used for the encryption request for the given KMS key. + // If absent, the Compute Engine Service Agent service account is used. + // +kubebuilder:validation:Optional + KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"` + + // Specifies a 256-bit customer-supplied encryption key, encoded in + // RFC 4648 base64 to either encrypt or decrypt this resource. + // +kubebuilder:validation:Optional + RawKey *string `json:"rawKey,omitempty" tf:"raw_key,omitempty"` +} + +type SourceSnapshotEncryptionKeyObservation struct { + Sha256 *string `json:"sha256,omitempty" tf:"sha256,omitempty"` +} + +type SourceSnapshotEncryptionKeyParameters struct { + + // The self link of the encryption key used to encrypt the disk. Also called KmsKeyName + // in the cloud console. Your project's Compute Engine System service account + // ('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') must have + // 'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature. + // See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys + // +kubebuilder:validation:Optional + KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"` + + // The service account used for the encryption request for the given KMS key. + // If absent, the Compute Engine Service Agent service account is used. + // +kubebuilder:validation:Optional + KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"` + + // Specifies a 256-bit customer-supplied encryption key, encoded in + // RFC 4648 base64 to either encrypt or decrypt this resource. + // +kubebuilder:validation:Optional + RawKey *string `json:"rawKey,omitempty" tf:"raw_key,omitempty"` +} + +// DiskSpec defines the desired state of Disk +type DiskSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DiskParameters `json:"forProvider"` +} + +// DiskStatus defines the observed state of Disk. +type DiskStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DiskObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Disk is the Schema for the Disks 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,gcpjet} +type Disk struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DiskSpec `json:"spec"` + Status DiskStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DiskList contains a list of Disks +type DiskList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Disk `json:"items"` +} + +// Repository type metadata. +var ( + Disk_Kind = "Disk" + Disk_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Disk_Kind}.String() + Disk_KindAPIVersion = Disk_Kind + "." + CRDGroupVersion.String() + Disk_GroupVersionKind = CRDGroupVersion.WithKind(Disk_Kind) +) + +func init() { + SchemeBuilder.Register(&Disk{}, &DiskList{}) +} diff --git a/apis/compute/v1alpha1/zz_diskiambinding_terraformed.go b/apis/compute/v1alpha1/zz_diskiambinding_terraformed.go new file mode 100755 index 00000000..ad1f2802 --- /dev/null +++ b/apis/compute/v1alpha1/zz_diskiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DiskIAMBinding +func (mg *DiskIAMBinding) GetTerraformResourceType() string { + return "google_compute_disk_iam_binding" +} + +// GetConnectionDetailsMapping for this DiskIAMBinding +func (tr *DiskIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DiskIAMBinding +func (tr *DiskIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DiskIAMBinding +func (tr *DiskIAMBinding) SetObservation(obs map[string]interface{}) 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 DiskIAMBinding +func (tr *DiskIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DiskIAMBinding +func (tr *DiskIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DiskIAMBinding +func (tr *DiskIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DiskIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DiskIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &DiskIAMBindingParameters{} + 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 *DiskIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_diskiambinding_types.go b/apis/compute/v1alpha1/zz_diskiambinding_types.go new file mode 100755 index 00000000..63faaabf --- /dev/null +++ b/apis/compute/v1alpha1/zz_diskiambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type DiskIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DiskIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// DiskIAMBindingSpec defines the desired state of DiskIAMBinding +type DiskIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DiskIAMBindingParameters `json:"forProvider"` +} + +// DiskIAMBindingStatus defines the observed state of DiskIAMBinding. +type DiskIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DiskIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DiskIAMBinding is the Schema for the DiskIAMBindings 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,gcpjet} +type DiskIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DiskIAMBindingSpec `json:"spec"` + Status DiskIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DiskIAMBindingList contains a list of DiskIAMBindings +type DiskIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DiskIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + DiskIAMBinding_Kind = "DiskIAMBinding" + DiskIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DiskIAMBinding_Kind}.String() + DiskIAMBinding_KindAPIVersion = DiskIAMBinding_Kind + "." + CRDGroupVersion.String() + DiskIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(DiskIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&DiskIAMBinding{}, &DiskIAMBindingList{}) +} diff --git a/apis/compute/v1alpha1/zz_diskiammember_terraformed.go b/apis/compute/v1alpha1/zz_diskiammember_terraformed.go new file mode 100755 index 00000000..cce07f49 --- /dev/null +++ b/apis/compute/v1alpha1/zz_diskiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DiskIAMMember +func (mg *DiskIAMMember) GetTerraformResourceType() string { + return "google_compute_disk_iam_member" +} + +// GetConnectionDetailsMapping for this DiskIAMMember +func (tr *DiskIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DiskIAMMember +func (tr *DiskIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DiskIAMMember +func (tr *DiskIAMMember) SetObservation(obs map[string]interface{}) 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 DiskIAMMember +func (tr *DiskIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DiskIAMMember +func (tr *DiskIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DiskIAMMember +func (tr *DiskIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DiskIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DiskIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &DiskIAMMemberParameters{} + 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 *DiskIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_diskiammember_types.go b/apis/compute/v1alpha1/zz_diskiammember_types.go new file mode 100755 index 00000000..0c20ae71 --- /dev/null +++ b/apis/compute/v1alpha1/zz_diskiammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DiskIAMMemberConditionObservation struct { +} + +type DiskIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type DiskIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DiskIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []DiskIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// DiskIAMMemberSpec defines the desired state of DiskIAMMember +type DiskIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DiskIAMMemberParameters `json:"forProvider"` +} + +// DiskIAMMemberStatus defines the observed state of DiskIAMMember. +type DiskIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DiskIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DiskIAMMember is the Schema for the DiskIAMMembers 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,gcpjet} +type DiskIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DiskIAMMemberSpec `json:"spec"` + Status DiskIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DiskIAMMemberList contains a list of DiskIAMMembers +type DiskIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DiskIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + DiskIAMMember_Kind = "DiskIAMMember" + DiskIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DiskIAMMember_Kind}.String() + DiskIAMMember_KindAPIVersion = DiskIAMMember_Kind + "." + CRDGroupVersion.String() + DiskIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(DiskIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&DiskIAMMember{}, &DiskIAMMemberList{}) +} diff --git a/apis/compute/v1alpha1/zz_diskiampolicy_terraformed.go b/apis/compute/v1alpha1/zz_diskiampolicy_terraformed.go new file mode 100755 index 00000000..01517740 --- /dev/null +++ b/apis/compute/v1alpha1/zz_diskiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DiskIAMPolicy +func (mg *DiskIAMPolicy) GetTerraformResourceType() string { + return "google_compute_disk_iam_policy" +} + +// GetConnectionDetailsMapping for this DiskIAMPolicy +func (tr *DiskIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DiskIAMPolicy +func (tr *DiskIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DiskIAMPolicy +func (tr *DiskIAMPolicy) SetObservation(obs map[string]interface{}) 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 DiskIAMPolicy +func (tr *DiskIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DiskIAMPolicy +func (tr *DiskIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DiskIAMPolicy +func (tr *DiskIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DiskIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DiskIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &DiskIAMPolicyParameters{} + 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 *DiskIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_diskiampolicy_types.go b/apis/compute/v1alpha1/zz_diskiampolicy_types.go new file mode 100755 index 00000000..ddad8715 --- /dev/null +++ b/apis/compute/v1alpha1/zz_diskiampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DiskIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DiskIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// DiskIAMPolicySpec defines the desired state of DiskIAMPolicy +type DiskIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DiskIAMPolicyParameters `json:"forProvider"` +} + +// DiskIAMPolicyStatus defines the observed state of DiskIAMPolicy. +type DiskIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DiskIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DiskIAMPolicy is the Schema for the DiskIAMPolicys 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,gcpjet} +type DiskIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DiskIAMPolicySpec `json:"spec"` + Status DiskIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DiskIAMPolicyList contains a list of DiskIAMPolicys +type DiskIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DiskIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + DiskIAMPolicy_Kind = "DiskIAMPolicy" + DiskIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DiskIAMPolicy_Kind}.String() + DiskIAMPolicy_KindAPIVersion = DiskIAMPolicy_Kind + "." + CRDGroupVersion.String() + DiskIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(DiskIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&DiskIAMPolicy{}, &DiskIAMPolicyList{}) +} diff --git a/apis/compute/v1alpha1/zz_diskresourcepolicyattachment_terraformed.go b/apis/compute/v1alpha1/zz_diskresourcepolicyattachment_terraformed.go new file mode 100755 index 00000000..590bf90e --- /dev/null +++ b/apis/compute/v1alpha1/zz_diskresourcepolicyattachment_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DiskResourcePolicyAttachment +func (mg *DiskResourcePolicyAttachment) GetTerraformResourceType() string { + return "google_compute_disk_resource_policy_attachment" +} + +// GetConnectionDetailsMapping for this DiskResourcePolicyAttachment +func (tr *DiskResourcePolicyAttachment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DiskResourcePolicyAttachment +func (tr *DiskResourcePolicyAttachment) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DiskResourcePolicyAttachment +func (tr *DiskResourcePolicyAttachment) SetObservation(obs map[string]interface{}) 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 DiskResourcePolicyAttachment +func (tr *DiskResourcePolicyAttachment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DiskResourcePolicyAttachment +func (tr *DiskResourcePolicyAttachment) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DiskResourcePolicyAttachment +func (tr *DiskResourcePolicyAttachment) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DiskResourcePolicyAttachment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DiskResourcePolicyAttachment) LateInitialize(attrs []byte) (bool, error) { + params := &DiskResourcePolicyAttachmentParameters{} + 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 *DiskResourcePolicyAttachment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_diskresourcepolicyattachment_types.go b/apis/compute/v1alpha1/zz_diskresourcepolicyattachment_types.go new file mode 100755 index 00000000..727febec --- /dev/null +++ b/apis/compute/v1alpha1/zz_diskresourcepolicyattachment_types.go @@ -0,0 +1,98 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DiskResourcePolicyAttachmentObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DiskResourcePolicyAttachmentParameters struct { + + // The name of the disk in which the resource policies are attached to. + // +kubebuilder:validation:Required + Disk *string `json:"disk" tf:"disk,omitempty"` + + // The resource policy to be attached to the disk for scheduling snapshot + // creation. Do not specify the self link. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // A reference to the zone where the disk resides. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// DiskResourcePolicyAttachmentSpec defines the desired state of DiskResourcePolicyAttachment +type DiskResourcePolicyAttachmentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DiskResourcePolicyAttachmentParameters `json:"forProvider"` +} + +// DiskResourcePolicyAttachmentStatus defines the observed state of DiskResourcePolicyAttachment. +type DiskResourcePolicyAttachmentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DiskResourcePolicyAttachmentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DiskResourcePolicyAttachment is the Schema for the DiskResourcePolicyAttachments 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,gcpjet} +type DiskResourcePolicyAttachment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DiskResourcePolicyAttachmentSpec `json:"spec"` + Status DiskResourcePolicyAttachmentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DiskResourcePolicyAttachmentList contains a list of DiskResourcePolicyAttachments +type DiskResourcePolicyAttachmentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DiskResourcePolicyAttachment `json:"items"` +} + +// Repository type metadata. +var ( + DiskResourcePolicyAttachment_Kind = "DiskResourcePolicyAttachment" + DiskResourcePolicyAttachment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DiskResourcePolicyAttachment_Kind}.String() + DiskResourcePolicyAttachment_KindAPIVersion = DiskResourcePolicyAttachment_Kind + "." + CRDGroupVersion.String() + DiskResourcePolicyAttachment_GroupVersionKind = CRDGroupVersion.WithKind(DiskResourcePolicyAttachment_Kind) +) + +func init() { + SchemeBuilder.Register(&DiskResourcePolicyAttachment{}, &DiskResourcePolicyAttachmentList{}) +} diff --git a/apis/compute/v1alpha1/zz_externalvpngateway_terraformed.go b/apis/compute/v1alpha1/zz_externalvpngateway_terraformed.go new file mode 100755 index 00000000..e55be95d --- /dev/null +++ b/apis/compute/v1alpha1/zz_externalvpngateway_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ExternalVPNGateway +func (mg *ExternalVPNGateway) GetTerraformResourceType() string { + return "google_compute_external_vpn_gateway" +} + +// GetConnectionDetailsMapping for this ExternalVPNGateway +func (tr *ExternalVPNGateway) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ExternalVPNGateway +func (tr *ExternalVPNGateway) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ExternalVPNGateway +func (tr *ExternalVPNGateway) SetObservation(obs map[string]interface{}) 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 ExternalVPNGateway +func (tr *ExternalVPNGateway) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ExternalVPNGateway +func (tr *ExternalVPNGateway) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ExternalVPNGateway +func (tr *ExternalVPNGateway) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ExternalVPNGateway using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ExternalVPNGateway) LateInitialize(attrs []byte) (bool, error) { + params := &ExternalVPNGatewayParameters{} + 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 *ExternalVPNGateway) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_externalvpngateway_types.go b/apis/compute/v1alpha1/zz_externalvpngateway_types.go new file mode 100755 index 00000000..9fef64bd --- /dev/null +++ b/apis/compute/v1alpha1/zz_externalvpngateway_types.go @@ -0,0 +1,130 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ExternalVPNGatewayObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type ExternalVPNGatewayParameters struct { + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // A list of interfaces on this external VPN gateway. + // +kubebuilder:validation:Optional + Interface []InterfaceParameters `json:"interface,omitempty" tf:"interface,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and + // match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means + // the first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Indicates the redundancy type of this external VPN gateway Possible values: ["FOUR_IPS_REDUNDANCY", "SINGLE_IP_INTERNALLY_REDUNDANT", "TWO_IPS_REDUNDANCY"] + // +kubebuilder:validation:Optional + RedundancyType *string `json:"redundancyType,omitempty" tf:"redundancy_type,omitempty"` +} + +type InterfaceObservation struct { +} + +type InterfaceParameters struct { + + // The numeric ID for this interface. Allowed values are based on the redundancy type + // of this external VPN gateway + // * '0 - SINGLE_IP_INTERNALLY_REDUNDANT' + // * '0, 1 - TWO_IPS_REDUNDANCY' + // * '0, 1, 2, 3 - FOUR_IPS_REDUNDANCY' + // +kubebuilder:validation:Optional + ID *int64 `json:"id,omitempty" tf:"id,omitempty"` + + // IP address of the interface in the external VPN gateway. + // Only IPv4 is supported. This IP address can be either from + // your on-premise gateway or another Cloud provider's VPN gateway, + // it cannot be an IP address from Google Compute Engine. + // +kubebuilder:validation:Optional + IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` +} + +// ExternalVPNGatewaySpec defines the desired state of ExternalVPNGateway +type ExternalVPNGatewaySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ExternalVPNGatewayParameters `json:"forProvider"` +} + +// ExternalVPNGatewayStatus defines the observed state of ExternalVPNGateway. +type ExternalVPNGatewayStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ExternalVPNGatewayObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ExternalVPNGateway is the Schema for the ExternalVPNGateways 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,gcpjet} +type ExternalVPNGateway struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ExternalVPNGatewaySpec `json:"spec"` + Status ExternalVPNGatewayStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ExternalVPNGatewayList contains a list of ExternalVPNGateways +type ExternalVPNGatewayList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ExternalVPNGateway `json:"items"` +} + +// Repository type metadata. +var ( + ExternalVPNGateway_Kind = "ExternalVPNGateway" + ExternalVPNGateway_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ExternalVPNGateway_Kind}.String() + ExternalVPNGateway_KindAPIVersion = ExternalVPNGateway_Kind + "." + CRDGroupVersion.String() + ExternalVPNGateway_GroupVersionKind = CRDGroupVersion.WithKind(ExternalVPNGateway_Kind) +) + +func init() { + SchemeBuilder.Register(&ExternalVPNGateway{}, &ExternalVPNGatewayList{}) +} diff --git a/apis/compute/v1alpha1/zz_firewallpolicy_terraformed.go b/apis/compute/v1alpha1/zz_firewallpolicy_terraformed.go new file mode 100755 index 00000000..b73d99df --- /dev/null +++ b/apis/compute/v1alpha1/zz_firewallpolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FirewallPolicy +func (mg *FirewallPolicy) GetTerraformResourceType() string { + return "google_compute_firewall_policy" +} + +// GetConnectionDetailsMapping for this FirewallPolicy +func (tr *FirewallPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FirewallPolicy +func (tr *FirewallPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FirewallPolicy +func (tr *FirewallPolicy) SetObservation(obs map[string]interface{}) 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 FirewallPolicy +func (tr *FirewallPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FirewallPolicy +func (tr *FirewallPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FirewallPolicy +func (tr *FirewallPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FirewallPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FirewallPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &FirewallPolicyParameters{} + 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 *FirewallPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_firewallpolicy_types.go b/apis/compute/v1alpha1/zz_firewallpolicy_types.go new file mode 100755 index 00000000..e7866b40 --- /dev/null +++ b/apis/compute/v1alpha1/zz_firewallpolicy_types.go @@ -0,0 +1,108 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FirewallPolicyObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"` + + FirewallPolicyID *string `json:"firewallPolicyId,omitempty" tf:"firewall_policy_id,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + RuleTupleCount *int64 `json:"ruleTupleCount,omitempty" tf:"rule_tuple_count,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + SelfLinkWithID *string `json:"selfLinkWithId,omitempty" tf:"self_link_with_id,omitempty"` +} + +type FirewallPolicyParameters struct { + + // An optional description of this resource. Provide this property when you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The parent of the firewall policy. + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` + + // User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + // +kubebuilder:validation:Required + ShortName *string `json:"shortName" tf:"short_name,omitempty"` +} + +// FirewallPolicySpec defines the desired state of FirewallPolicy +type FirewallPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FirewallPolicyParameters `json:"forProvider"` +} + +// FirewallPolicyStatus defines the observed state of FirewallPolicy. +type FirewallPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FirewallPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FirewallPolicy is the Schema for the FirewallPolicys 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,gcpjet} +type FirewallPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FirewallPolicySpec `json:"spec"` + Status FirewallPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FirewallPolicyList contains a list of FirewallPolicys +type FirewallPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FirewallPolicy `json:"items"` +} + +// Repository type metadata. +var ( + FirewallPolicy_Kind = "FirewallPolicy" + FirewallPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FirewallPolicy_Kind}.String() + FirewallPolicy_KindAPIVersion = FirewallPolicy_Kind + "." + CRDGroupVersion.String() + FirewallPolicy_GroupVersionKind = CRDGroupVersion.WithKind(FirewallPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&FirewallPolicy{}, &FirewallPolicyList{}) +} diff --git a/apis/compute/v1alpha1/zz_firewallpolicyassociation_terraformed.go b/apis/compute/v1alpha1/zz_firewallpolicyassociation_terraformed.go new file mode 100755 index 00000000..4cbd2120 --- /dev/null +++ b/apis/compute/v1alpha1/zz_firewallpolicyassociation_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FirewallPolicyAssociation +func (mg *FirewallPolicyAssociation) GetTerraformResourceType() string { + return "google_compute_firewall_policy_association" +} + +// GetConnectionDetailsMapping for this FirewallPolicyAssociation +func (tr *FirewallPolicyAssociation) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FirewallPolicyAssociation +func (tr *FirewallPolicyAssociation) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FirewallPolicyAssociation +func (tr *FirewallPolicyAssociation) SetObservation(obs map[string]interface{}) 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 FirewallPolicyAssociation +func (tr *FirewallPolicyAssociation) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FirewallPolicyAssociation +func (tr *FirewallPolicyAssociation) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FirewallPolicyAssociation +func (tr *FirewallPolicyAssociation) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FirewallPolicyAssociation using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FirewallPolicyAssociation) LateInitialize(attrs []byte) (bool, error) { + params := &FirewallPolicyAssociationParameters{} + 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 *FirewallPolicyAssociation) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_firewallpolicyassociation_types.go b/apis/compute/v1alpha1/zz_firewallpolicyassociation_types.go new file mode 100755 index 00000000..818aef64 --- /dev/null +++ b/apis/compute/v1alpha1/zz_firewallpolicyassociation_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FirewallPolicyAssociationObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + ShortName *string `json:"shortName,omitempty" tf:"short_name,omitempty"` +} + +type FirewallPolicyAssociationParameters struct { + + // The target that the firewall policy is attached to. + // +kubebuilder:validation:Required + AttachmentTarget *string `json:"attachmentTarget" tf:"attachment_target,omitempty"` + + // The firewall policy ID of the association. + // +kubebuilder:validation:Required + FirewallPolicy *string `json:"firewallPolicy" tf:"firewall_policy,omitempty"` + + // The name for an association. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +// FirewallPolicyAssociationSpec defines the desired state of FirewallPolicyAssociation +type FirewallPolicyAssociationSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FirewallPolicyAssociationParameters `json:"forProvider"` +} + +// FirewallPolicyAssociationStatus defines the observed state of FirewallPolicyAssociation. +type FirewallPolicyAssociationStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FirewallPolicyAssociationObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FirewallPolicyAssociation is the Schema for the FirewallPolicyAssociations 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,gcpjet} +type FirewallPolicyAssociation struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FirewallPolicyAssociationSpec `json:"spec"` + Status FirewallPolicyAssociationStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FirewallPolicyAssociationList contains a list of FirewallPolicyAssociations +type FirewallPolicyAssociationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FirewallPolicyAssociation `json:"items"` +} + +// Repository type metadata. +var ( + FirewallPolicyAssociation_Kind = "FirewallPolicyAssociation" + FirewallPolicyAssociation_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FirewallPolicyAssociation_Kind}.String() + FirewallPolicyAssociation_KindAPIVersion = FirewallPolicyAssociation_Kind + "." + CRDGroupVersion.String() + FirewallPolicyAssociation_GroupVersionKind = CRDGroupVersion.WithKind(FirewallPolicyAssociation_Kind) +) + +func init() { + SchemeBuilder.Register(&FirewallPolicyAssociation{}, &FirewallPolicyAssociationList{}) +} diff --git a/apis/compute/v1alpha1/zz_firewallpolicyrule_terraformed.go b/apis/compute/v1alpha1/zz_firewallpolicyrule_terraformed.go new file mode 100755 index 00000000..46be4a6c --- /dev/null +++ b/apis/compute/v1alpha1/zz_firewallpolicyrule_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FirewallPolicyRule +func (mg *FirewallPolicyRule) GetTerraformResourceType() string { + return "google_compute_firewall_policy_rule" +} + +// GetConnectionDetailsMapping for this FirewallPolicyRule +func (tr *FirewallPolicyRule) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FirewallPolicyRule +func (tr *FirewallPolicyRule) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FirewallPolicyRule +func (tr *FirewallPolicyRule) SetObservation(obs map[string]interface{}) 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 FirewallPolicyRule +func (tr *FirewallPolicyRule) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FirewallPolicyRule +func (tr *FirewallPolicyRule) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FirewallPolicyRule +func (tr *FirewallPolicyRule) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FirewallPolicyRule using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FirewallPolicyRule) LateInitialize(attrs []byte) (bool, error) { + params := &FirewallPolicyRuleParameters{} + 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 *FirewallPolicyRule) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_firewallpolicyrule_types.go b/apis/compute/v1alpha1/zz_firewallpolicyrule_types.go new file mode 100755 index 00000000..ba7ca122 --- /dev/null +++ b/apis/compute/v1alpha1/zz_firewallpolicyrule_types.go @@ -0,0 +1,158 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FirewallPolicyRuleObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Kind *string `json:"kind,omitempty" tf:"kind,omitempty"` + + RuleTupleCount *int64 `json:"ruleTupleCount,omitempty" tf:"rule_tuple_count,omitempty"` +} + +type FirewallPolicyRuleParameters struct { + + // The Action to perform when the client connection triggers the rule. Can currently be either "allow" or "deny()" where valid values for status are 403, 404, and 502. + // +kubebuilder:validation:Required + Action *string `json:"action" tf:"action,omitempty"` + + // An optional description for this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The direction in which this rule applies. Possible values: INGRESS, EGRESS + // +kubebuilder:validation:Required + Direction *string `json:"direction" tf:"direction,omitempty"` + + // Denotes whether the firewall policy rule is disabled. When set to true, the firewall policy rule is not enforced and traffic behaves as if it did not exist. If this is unspecified, the firewall policy rule will be enabled. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules. + // +kubebuilder:validation:Optional + EnableLogging *bool `json:"enableLogging,omitempty" tf:"enable_logging,omitempty"` + + // The firewall policy of the resource. + // +kubebuilder:validation:Required + FirewallPolicy *string `json:"firewallPolicy" tf:"firewall_policy,omitempty"` + + // A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced. + // +kubebuilder:validation:Required + Match []MatchParameters `json:"match" tf:"match,omitempty"` + + // An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. + // +kubebuilder:validation:Required + Priority *int64 `json:"priority" tf:"priority,omitempty"` + + // A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. + // +kubebuilder:validation:Optional + TargetResources []*string `json:"targetResources,omitempty" tf:"target_resources,omitempty"` + + // A list of service accounts indicating the sets of instances that are applied with this rule. + // +kubebuilder:validation:Optional + TargetServiceAccounts []*string `json:"targetServiceAccounts,omitempty" tf:"target_service_accounts,omitempty"` +} + +type Layer4ConfigsObservation struct { +} + +type Layer4ConfigsParameters struct { + + // The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (`tcp`, `udp`, `icmp`, `esp`, `ah`, `ipip`, `sctp`), or the IP protocol number. + // +kubebuilder:validation:Required + IPProtocol *string `json:"ipProtocol" tf:"ip_protocol,omitempty"` + + // An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ``. + // +kubebuilder:validation:Optional + Ports []*string `json:"ports,omitempty" tf:"ports,omitempty"` +} + +type MatchObservation struct { +} + +type MatchParameters struct { + + // CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 256. + // +kubebuilder:validation:Optional + DestIPRanges []*string `json:"destIpRanges,omitempty" tf:"dest_ip_ranges,omitempty"` + + // Pairs of IP protocols and ports that the rule should match. + // +kubebuilder:validation:Required + Layer4Configs []Layer4ConfigsParameters `json:"layer4Configs" tf:"layer4_configs,omitempty"` + + // CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 256. + // +kubebuilder:validation:Optional + SrcIPRanges []*string `json:"srcIpRanges,omitempty" tf:"src_ip_ranges,omitempty"` +} + +// FirewallPolicyRuleSpec defines the desired state of FirewallPolicyRule +type FirewallPolicyRuleSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FirewallPolicyRuleParameters `json:"forProvider"` +} + +// FirewallPolicyRuleStatus defines the observed state of FirewallPolicyRule. +type FirewallPolicyRuleStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FirewallPolicyRuleObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FirewallPolicyRule is the Schema for the FirewallPolicyRules 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,gcpjet} +type FirewallPolicyRule struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FirewallPolicyRuleSpec `json:"spec"` + Status FirewallPolicyRuleStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FirewallPolicyRuleList contains a list of FirewallPolicyRules +type FirewallPolicyRuleList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FirewallPolicyRule `json:"items"` +} + +// Repository type metadata. +var ( + FirewallPolicyRule_Kind = "FirewallPolicyRule" + FirewallPolicyRule_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FirewallPolicyRule_Kind}.String() + FirewallPolicyRule_KindAPIVersion = FirewallPolicyRule_Kind + "." + CRDGroupVersion.String() + FirewallPolicyRule_GroupVersionKind = CRDGroupVersion.WithKind(FirewallPolicyRule_Kind) +) + +func init() { + SchemeBuilder.Register(&FirewallPolicyRule{}, &FirewallPolicyRuleList{}) +} diff --git a/apis/compute/v1alpha1/zz_forwardingrule_terraformed.go b/apis/compute/v1alpha1/zz_forwardingrule_terraformed.go new file mode 100755 index 00000000..8b3002a5 --- /dev/null +++ b/apis/compute/v1alpha1/zz_forwardingrule_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ForwardingRule +func (mg *ForwardingRule) GetTerraformResourceType() string { + return "google_compute_forwarding_rule" +} + +// GetConnectionDetailsMapping for this ForwardingRule +func (tr *ForwardingRule) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ForwardingRule +func (tr *ForwardingRule) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ForwardingRule +func (tr *ForwardingRule) SetObservation(obs map[string]interface{}) 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 ForwardingRule +func (tr *ForwardingRule) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ForwardingRule +func (tr *ForwardingRule) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ForwardingRule +func (tr *ForwardingRule) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ForwardingRule using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ForwardingRule) LateInitialize(attrs []byte) (bool, error) { + params := &ForwardingRuleParameters{} + 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 *ForwardingRule) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_forwardingrule_types.go b/apis/compute/v1alpha1/zz_forwardingrule_types.go new file mode 100755 index 00000000..a3e26e33 --- /dev/null +++ b/apis/compute/v1alpha1/zz_forwardingrule_types.go @@ -0,0 +1,188 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ForwardingRuleObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` +} + +type ForwardingRuleParameters struct { + + // This field is used along with the `backend_service` field for internal load balancing or with the `target` field for internal TargetInstance. This field cannot be used with `port` or `portRange` fields. When the load balancing scheme is `INTERNAL` and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule. + // +kubebuilder:validation:Optional + AllPorts *bool `json:"allPorts,omitempty" tf:"all_ports,omitempty"` + + // This field is used along with the `backend_service` field for internal load balancing or with the `target` field for internal TargetInstance. If the field is set to `TRUE`, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer. + // +kubebuilder:validation:Optional + AllowGlobalAccess *bool `json:"allowGlobalAccess,omitempty" tf:"allow_global_access,omitempty"` + + // This field is only used for `INTERNAL` load balancing. For internal load balancing, this field identifies the BackendService resource to receive the matched traffic. + // +kubebuilder:validation:Optional + BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"` + + // An optional description of this resource. Provide this property when you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // IP address that this forwarding rule serves. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the target that you specify in the forwarding rule. If you don't specify a reserved IP address, an ephemeral IP address is assigned. Methods for specifying an IP address: * IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in `https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name` * Partial URL or by name, as in: * `projects/project_id/regions/region/addresses/address-name` * `regions/region/addresses/address-name` * `global/addresses/address-name` * `address-name` The loadBalancingScheme and the forwarding rule's target determine the type of IP address that you can use. For detailed information, refer to [IP address specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). + // +kubebuilder:validation:Optional + IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + + // The IP protocol to which this rule applies. For protocol forwarding, valid options are `TCP`, `UDP`, `ESP`, `AH`, `SCTP` or `ICMP`. For Internal TCP/UDP Load Balancing, the load balancing scheme is `INTERNAL`, and one of `TCP` or `UDP` are valid. For Traffic Director, the load balancing scheme is `INTERNAL_SELF_MANAGED`, and only `TCP`is valid. For Internal HTTP(S) Load Balancing, the load balancing scheme is `INTERNAL_MANAGED`, and only `TCP` is valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load balancing scheme is `EXTERNAL` and only `TCP` is valid. For Network TCP/UDP Load Balancing, the load balancing scheme is `EXTERNAL`, and one of `TCP` or `UDP` is valid. + // +kubebuilder:validation:Optional + IPProtocol *string `json:"ipProtocol,omitempty" tf:"ip_protocol,omitempty"` + + // Indicates whether or not this load balancer can be used as a collector for packet mirroring. To prevent mirroring loops, instances behind this load balancer will not have their traffic mirrored even if a `PacketMirroring` rule applies to them. This can only be set to true for load balancers that have their `loadBalancingScheme` set to `INTERNAL`. + // +kubebuilder:validation:Optional + IsMirroringCollector *bool `json:"isMirroringCollector,omitempty" tf:"is_mirroring_collector,omitempty"` + + // Labels to apply to this rule. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Specifies the forwarding rule type. + // + // * `EXTERNAL` is used for: + // * Classic Cloud VPN gateways + // * Protocol forwarding to VMs from an external IP address + // * The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP + // * `INTERNAL` is used for: + // * Protocol forwarding to VMs from an internal IP address + // * Internal TCP/UDP load balancers + // * `INTERNAL_MANAGED` is used for: + // * Internal HTTP(S) load balancers + // * `INTERNAL_SELF_MANAGED` is used for: + // * Traffic Director + // + // For more information about forwarding rules, refer to [Forwarding rule concepts](/load-balancing/docs/forwarding-rule-concepts). Possible values: INVALID, INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED, EXTERNAL + // +kubebuilder:validation:Optional + LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"` + + // Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // This field is not used for external load balancing. For `INTERNAL` and `INTERNAL_SELF_MANAGED` load balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used. + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // This signifies the networking tier used for configuring this load balancer and can only take the following values: `PREMIUM`, `STANDARD`. For regional ForwardingRule, the valid values are `PREMIUM` and `STANDARD`. For GlobalForwardingRule, the valid value is `PREMIUM`. If this field is not specified, it is assumed to be `PREMIUM`. If `IPAddress` is specified, this value must be equal to the networkTier of the Address. + // +kubebuilder:validation:Optional + NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"` + + // When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` and `INTERNAL_MANAGED`, you can specify a `port_range`. Use with a forwarding rule that points to a target proxy or a target pool. Do not use with a forwarding rule that points to a backend service. This field is used along with the `target` field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance. Applicable only when `IPProtocol` is `TCP`, `UDP`, or `SCTP`, only packets addressed to ports in the specified range will be forwarded to `target`. Forwarding rules with the same `[IPAddress, IPProtocol]` pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable ports: + // + // * TargetHttpProxy: 80, 8080 + // * TargetHttpsProxy: 443 + // * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + // * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + // * TargetVpnGateway: 500, 4500 + // + // @pattern: d+(?:-d+)? + // +kubebuilder:validation:Optional + PortRange *string `json:"portRange,omitempty" tf:"port_range,omitempty"` + + // This field is used along with the `backend_service` field for internal load balancing. When the load balancing scheme is `INTERNAL`, a list of ports can be configured, for example, ['80'], ['8000','9000']. Only packets addressed to these ports are forwarded to the backends configured with the forwarding rule. If the forwarding rule's loadBalancingScheme is INTERNAL, you can specify ports in one of the following ways: * A list of up to five ports, which can be non-contiguous * Keyword `ALL`, which causes the forwarding rule to forward traffic on any port of the forwarding rule's protocol. @pattern: d+(?:-d+)? For more information, refer to [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications). + // +kubebuilder:validation:Optional + Ports []*string `json:"ports,omitempty" tf:"ports,omitempty"` + + // The project this resource belongs in. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The location of this resource. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // An optional prefix to the service name for this Forwarding Rule. If specified, the prefix is the first label of the fully qualified service name. The label must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the label must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. This field is only used for internal load balancing. + // +kubebuilder:validation:Optional + ServiceLabel *string `json:"serviceLabel,omitempty" tf:"service_label,omitempty"` + + // This field is only used for `INTERNAL` load balancing. For internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule. If the network specified is in auto subnet mode, this field is optional. However, if the network is in custom subnet mode, a subnetwork must be specified. + // +kubebuilder:validation:Optional + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must live in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. For `INTERNAL_SELF_MANAGED` load balancing, only `targetHttpProxy` is valid, not `targetHttpsProxy`. + // +kubebuilder:validation:Optional + Target *string `json:"target,omitempty" tf:"target,omitempty"` +} + +// ForwardingRuleSpec defines the desired state of ForwardingRule +type ForwardingRuleSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ForwardingRuleParameters `json:"forProvider"` +} + +// ForwardingRuleStatus defines the observed state of ForwardingRule. +type ForwardingRuleStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ForwardingRuleObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ForwardingRule is the Schema for the ForwardingRules 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,gcpjet} +type ForwardingRule struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ForwardingRuleSpec `json:"spec"` + Status ForwardingRuleStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ForwardingRuleList contains a list of ForwardingRules +type ForwardingRuleList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ForwardingRule `json:"items"` +} + +// Repository type metadata. +var ( + ForwardingRule_Kind = "ForwardingRule" + ForwardingRule_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ForwardingRule_Kind}.String() + ForwardingRule_KindAPIVersion = ForwardingRule_Kind + "." + CRDGroupVersion.String() + ForwardingRule_GroupVersionKind = CRDGroupVersion.WithKind(ForwardingRule_Kind) +) + +func init() { + SchemeBuilder.Register(&ForwardingRule{}, &ForwardingRuleList{}) +} diff --git a/apis/compute/v1alpha1/zz_generated.deepcopy.go b/apis/compute/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..0d38bac3 --- /dev/null +++ b/apis/compute/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,29465 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/crossplane/crossplane-runtime/apis/common/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AbortObservation) DeepCopyInto(out *AbortObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AbortObservation. +func (in *AbortObservation) DeepCopy() *AbortObservation { + if in == nil { + return nil + } + out := new(AbortObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AbortParameters) DeepCopyInto(out *AbortParameters) { + *out = *in + if in.HTTPStatus != nil { + in, out := &in.HTTPStatus, &out.HTTPStatus + *out = new(int64) + **out = **in + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AbortParameters. +func (in *AbortParameters) DeepCopy() *AbortParameters { + if in == nil { + return nil + } + out := new(AbortParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvertisedIPRangesObservation) DeepCopyInto(out *AdvertisedIPRangesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvertisedIPRangesObservation. +func (in *AdvertisedIPRangesObservation) DeepCopy() *AdvertisedIPRangesObservation { + if in == nil { + return nil + } + out := new(AdvertisedIPRangesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvertisedIPRangesParameters) DeepCopyInto(out *AdvertisedIPRangesParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Range != nil { + in, out := &in.Range, &out.Range + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvertisedIPRangesParameters. +func (in *AdvertisedIPRangesParameters) DeepCopy() *AdvertisedIPRangesParameters { + if in == nil { + return nil + } + out := new(AdvertisedIPRangesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineObservation) DeepCopyInto(out *AppEngineObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineObservation. +func (in *AppEngineObservation) DeepCopy() *AppEngineObservation { + if in == nil { + return nil + } + out := new(AppEngineObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineParameters) DeepCopyInto(out *AppEngineParameters) { + *out = *in + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.URLMask != nil { + in, out := &in.URLMask, &out.URLMask + *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 AppEngineParameters. +func (in *AppEngineParameters) DeepCopy() *AppEngineParameters { + if in == nil { + return nil + } + out := new(AppEngineParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttachedDisk) DeepCopyInto(out *AttachedDisk) { + *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 AttachedDisk. +func (in *AttachedDisk) DeepCopy() *AttachedDisk { + if in == nil { + return nil + } + out := new(AttachedDisk) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AttachedDisk) 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 *AttachedDiskList) DeepCopyInto(out *AttachedDiskList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AttachedDisk, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachedDiskList. +func (in *AttachedDiskList) DeepCopy() *AttachedDiskList { + if in == nil { + return nil + } + out := new(AttachedDiskList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AttachedDiskList) 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 *AttachedDiskObservation) DeepCopyInto(out *AttachedDiskObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachedDiskObservation. +func (in *AttachedDiskObservation) DeepCopy() *AttachedDiskObservation { + if in == nil { + return nil + } + out := new(AttachedDiskObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttachedDiskParameters) DeepCopyInto(out *AttachedDiskParameters) { + *out = *in + if in.DeviceName != nil { + in, out := &in.DeviceName, &out.DeviceName + *out = new(string) + **out = **in + } + if in.Disk != nil { + in, out := &in.Disk, &out.Disk + *out = new(string) + **out = **in + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachedDiskParameters. +func (in *AttachedDiskParameters) DeepCopy() *AttachedDiskParameters { + if in == nil { + return nil + } + out := new(AttachedDiskParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttachedDiskSpec) DeepCopyInto(out *AttachedDiskSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachedDiskSpec. +func (in *AttachedDiskSpec) DeepCopy() *AttachedDiskSpec { + if in == nil { + return nil + } + out := new(AttachedDiskSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttachedDiskStatus) DeepCopyInto(out *AttachedDiskStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachedDiskStatus. +func (in *AttachedDiskStatus) DeepCopy() *AttachedDiskStatus { + if in == nil { + return nil + } + out := new(AttachedDiskStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoHealingPoliciesObservation) DeepCopyInto(out *AutoHealingPoliciesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoHealingPoliciesObservation. +func (in *AutoHealingPoliciesObservation) DeepCopy() *AutoHealingPoliciesObservation { + if in == nil { + return nil + } + out := new(AutoHealingPoliciesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoHealingPoliciesParameters) DeepCopyInto(out *AutoHealingPoliciesParameters) { + *out = *in + if in.HealthCheck != nil { + in, out := &in.HealthCheck, &out.HealthCheck + *out = new(string) + **out = **in + } + if in.InitialDelaySec != nil { + in, out := &in.InitialDelaySec, &out.InitialDelaySec + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoHealingPoliciesParameters. +func (in *AutoHealingPoliciesParameters) DeepCopy() *AutoHealingPoliciesParameters { + if in == nil { + return nil + } + out := new(AutoHealingPoliciesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Autoscaler) DeepCopyInto(out *Autoscaler) { + *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 Autoscaler. +func (in *Autoscaler) DeepCopy() *Autoscaler { + if in == nil { + return nil + } + out := new(Autoscaler) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Autoscaler) 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 *AutoscalerList) DeepCopyInto(out *AutoscalerList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Autoscaler, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalerList. +func (in *AutoscalerList) DeepCopy() *AutoscalerList { + if in == nil { + return nil + } + out := new(AutoscalerList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AutoscalerList) 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 *AutoscalerObservation) DeepCopyInto(out *AutoscalerObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalerObservation. +func (in *AutoscalerObservation) DeepCopy() *AutoscalerObservation { + if in == nil { + return nil + } + out := new(AutoscalerObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalerParameters) DeepCopyInto(out *AutoscalerParameters) { + *out = *in + if in.AutoscalingPolicy != nil { + in, out := &in.AutoscalingPolicy, &out.AutoscalingPolicy + *out = make([]AutoscalingPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalerParameters. +func (in *AutoscalerParameters) DeepCopy() *AutoscalerParameters { + if in == nil { + return nil + } + out := new(AutoscalerParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalerSpec) DeepCopyInto(out *AutoscalerSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalerSpec. +func (in *AutoscalerSpec) DeepCopy() *AutoscalerSpec { + if in == nil { + return nil + } + out := new(AutoscalerSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalerStatus) DeepCopyInto(out *AutoscalerStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalerStatus. +func (in *AutoscalerStatus) DeepCopy() *AutoscalerStatus { + if in == nil { + return nil + } + out := new(AutoscalerStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicyCPUUtilizationObservation) DeepCopyInto(out *AutoscalingPolicyCPUUtilizationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyCPUUtilizationObservation. +func (in *AutoscalingPolicyCPUUtilizationObservation) DeepCopy() *AutoscalingPolicyCPUUtilizationObservation { + if in == nil { + return nil + } + out := new(AutoscalingPolicyCPUUtilizationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicyCPUUtilizationParameters) DeepCopyInto(out *AutoscalingPolicyCPUUtilizationParameters) { + *out = *in + if in.PredictiveMethod != nil { + in, out := &in.PredictiveMethod, &out.PredictiveMethod + *out = new(string) + **out = **in + } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyCPUUtilizationParameters. +func (in *AutoscalingPolicyCPUUtilizationParameters) DeepCopy() *AutoscalingPolicyCPUUtilizationParameters { + if in == nil { + return nil + } + out := new(AutoscalingPolicyCPUUtilizationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicyLoadBalancingUtilizationObservation) DeepCopyInto(out *AutoscalingPolicyLoadBalancingUtilizationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyLoadBalancingUtilizationObservation. +func (in *AutoscalingPolicyLoadBalancingUtilizationObservation) DeepCopy() *AutoscalingPolicyLoadBalancingUtilizationObservation { + if in == nil { + return nil + } + out := new(AutoscalingPolicyLoadBalancingUtilizationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicyLoadBalancingUtilizationParameters) DeepCopyInto(out *AutoscalingPolicyLoadBalancingUtilizationParameters) { + *out = *in + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyLoadBalancingUtilizationParameters. +func (in *AutoscalingPolicyLoadBalancingUtilizationParameters) DeepCopy() *AutoscalingPolicyLoadBalancingUtilizationParameters { + if in == nil { + return nil + } + out := new(AutoscalingPolicyLoadBalancingUtilizationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicyMetricObservation) DeepCopyInto(out *AutoscalingPolicyMetricObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyMetricObservation. +func (in *AutoscalingPolicyMetricObservation) DeepCopy() *AutoscalingPolicyMetricObservation { + if in == nil { + return nil + } + out := new(AutoscalingPolicyMetricObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicyMetricParameters) DeepCopyInto(out *AutoscalingPolicyMetricParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Target != nil { + in, out := &in.Target, &out.Target + *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 AutoscalingPolicyMetricParameters. +func (in *AutoscalingPolicyMetricParameters) DeepCopy() *AutoscalingPolicyMetricParameters { + if in == nil { + return nil + } + out := new(AutoscalingPolicyMetricParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicyObservation) DeepCopyInto(out *AutoscalingPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyObservation. +func (in *AutoscalingPolicyObservation) DeepCopy() *AutoscalingPolicyObservation { + if in == nil { + return nil + } + out := new(AutoscalingPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicyParameters) DeepCopyInto(out *AutoscalingPolicyParameters) { + *out = *in + if in.CPUUtilization != nil { + in, out := &in.CPUUtilization, &out.CPUUtilization + *out = make([]CPUUtilizationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CooldownPeriod != nil { + in, out := &in.CooldownPeriod, &out.CooldownPeriod + *out = new(int64) + **out = **in + } + if in.LoadBalancingUtilization != nil { + in, out := &in.LoadBalancingUtilization, &out.LoadBalancingUtilization + *out = make([]LoadBalancingUtilizationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaxReplicas != nil { + in, out := &in.MaxReplicas, &out.MaxReplicas + *out = new(int64) + **out = **in + } + if in.Metric != nil { + in, out := &in.Metric, &out.Metric + *out = make([]MetricParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MinReplicas != nil { + in, out := &in.MinReplicas, &out.MinReplicas + *out = new(int64) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.ScaleInControl != nil { + in, out := &in.ScaleInControl, &out.ScaleInControl + *out = make([]ScaleInControlParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ScalingSchedules != nil { + in, out := &in.ScalingSchedules, &out.ScalingSchedules + *out = make([]ScalingSchedulesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyParameters. +func (in *AutoscalingPolicyParameters) DeepCopy() *AutoscalingPolicyParameters { + if in == nil { + return nil + } + out := new(AutoscalingPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicyScaleInControlObservation) DeepCopyInto(out *AutoscalingPolicyScaleInControlObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyScaleInControlObservation. +func (in *AutoscalingPolicyScaleInControlObservation) DeepCopy() *AutoscalingPolicyScaleInControlObservation { + if in == nil { + return nil + } + out := new(AutoscalingPolicyScaleInControlObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicyScaleInControlParameters) DeepCopyInto(out *AutoscalingPolicyScaleInControlParameters) { + *out = *in + if in.MaxScaledInReplicas != nil { + in, out := &in.MaxScaledInReplicas, &out.MaxScaledInReplicas + *out = make([]ScaleInControlMaxScaledInReplicasParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TimeWindowSec != nil { + in, out := &in.TimeWindowSec, &out.TimeWindowSec + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyScaleInControlParameters. +func (in *AutoscalingPolicyScaleInControlParameters) DeepCopy() *AutoscalingPolicyScaleInControlParameters { + if in == nil { + return nil + } + out := new(AutoscalingPolicyScaleInControlParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicyScalingSchedulesObservation) DeepCopyInto(out *AutoscalingPolicyScalingSchedulesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyScalingSchedulesObservation. +func (in *AutoscalingPolicyScalingSchedulesObservation) DeepCopy() *AutoscalingPolicyScalingSchedulesObservation { + if in == nil { + return nil + } + out := new(AutoscalingPolicyScalingSchedulesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicyScalingSchedulesParameters) DeepCopyInto(out *AutoscalingPolicyScalingSchedulesParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.DurationSec != nil { + in, out := &in.DurationSec, &out.DurationSec + *out = new(int64) + **out = **in + } + if in.MinRequiredReplicas != nil { + in, out := &in.MinRequiredReplicas, &out.MinRequiredReplicas + *out = new(int64) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Schedule != nil { + in, out := &in.Schedule, &out.Schedule + *out = new(string) + **out = **in + } + if in.TimeZone != nil { + in, out := &in.TimeZone, &out.TimeZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyScalingSchedulesParameters. +func (in *AutoscalingPolicyScalingSchedulesParameters) DeepCopy() *AutoscalingPolicyScalingSchedulesParameters { + if in == nil { + return nil + } + out := new(AutoscalingPolicyScalingSchedulesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendBucket) DeepCopyInto(out *BackendBucket) { + *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 BackendBucket. +func (in *BackendBucket) DeepCopy() *BackendBucket { + if in == nil { + return nil + } + out := new(BackendBucket) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BackendBucket) 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 *BackendBucketList) DeepCopyInto(out *BackendBucketList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BackendBucket, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketList. +func (in *BackendBucketList) DeepCopy() *BackendBucketList { + if in == nil { + return nil + } + out := new(BackendBucketList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BackendBucketList) 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 *BackendBucketObservation) DeepCopyInto(out *BackendBucketObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketObservation. +func (in *BackendBucketObservation) DeepCopy() *BackendBucketObservation { + if in == nil { + return nil + } + out := new(BackendBucketObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendBucketParameters) DeepCopyInto(out *BackendBucketParameters) { + *out = *in + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } + if in.CdnPolicy != nil { + in, out := &in.CdnPolicy, &out.CdnPolicy + *out = make([]CdnPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CustomResponseHeaders != nil { + in, out := &in.CustomResponseHeaders, &out.CustomResponseHeaders + *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.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.EnableCdn != nil { + in, out := &in.EnableCdn, &out.EnableCdn + *out = new(bool) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketParameters. +func (in *BackendBucketParameters) DeepCopy() *BackendBucketParameters { + if in == nil { + return nil + } + out := new(BackendBucketParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendBucketSignedURLKey) DeepCopyInto(out *BackendBucketSignedURLKey) { + *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 BackendBucketSignedURLKey. +func (in *BackendBucketSignedURLKey) DeepCopy() *BackendBucketSignedURLKey { + if in == nil { + return nil + } + out := new(BackendBucketSignedURLKey) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BackendBucketSignedURLKey) 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 *BackendBucketSignedURLKeyList) DeepCopyInto(out *BackendBucketSignedURLKeyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BackendBucketSignedURLKey, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketSignedURLKeyList. +func (in *BackendBucketSignedURLKeyList) DeepCopy() *BackendBucketSignedURLKeyList { + if in == nil { + return nil + } + out := new(BackendBucketSignedURLKeyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BackendBucketSignedURLKeyList) 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 *BackendBucketSignedURLKeyObservation) DeepCopyInto(out *BackendBucketSignedURLKeyObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketSignedURLKeyObservation. +func (in *BackendBucketSignedURLKeyObservation) DeepCopy() *BackendBucketSignedURLKeyObservation { + if in == nil { + return nil + } + out := new(BackendBucketSignedURLKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendBucketSignedURLKeyParameters) DeepCopyInto(out *BackendBucketSignedURLKeyParameters) { + *out = *in + if in.BackendBucket != nil { + in, out := &in.BackendBucket, &out.BackendBucket + *out = new(string) + **out = **in + } + out.KeyValueSecretRef = in.KeyValueSecretRef + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketSignedURLKeyParameters. +func (in *BackendBucketSignedURLKeyParameters) DeepCopy() *BackendBucketSignedURLKeyParameters { + if in == nil { + return nil + } + out := new(BackendBucketSignedURLKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendBucketSignedURLKeySpec) DeepCopyInto(out *BackendBucketSignedURLKeySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketSignedURLKeySpec. +func (in *BackendBucketSignedURLKeySpec) DeepCopy() *BackendBucketSignedURLKeySpec { + if in == nil { + return nil + } + out := new(BackendBucketSignedURLKeySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendBucketSignedURLKeyStatus) DeepCopyInto(out *BackendBucketSignedURLKeyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketSignedURLKeyStatus. +func (in *BackendBucketSignedURLKeyStatus) DeepCopy() *BackendBucketSignedURLKeyStatus { + if in == nil { + return nil + } + out := new(BackendBucketSignedURLKeyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendBucketSpec) DeepCopyInto(out *BackendBucketSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketSpec. +func (in *BackendBucketSpec) DeepCopy() *BackendBucketSpec { + if in == nil { + return nil + } + out := new(BackendBucketSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendBucketStatus) DeepCopyInto(out *BackendBucketStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendBucketStatus. +func (in *BackendBucketStatus) DeepCopy() *BackendBucketStatus { + if in == nil { + return nil + } + out := new(BackendBucketStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendObservation) DeepCopyInto(out *BackendObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendObservation. +func (in *BackendObservation) DeepCopy() *BackendObservation { + if in == nil { + return nil + } + out := new(BackendObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendParameters) DeepCopyInto(out *BackendParameters) { + *out = *in + if in.BalancingMode != nil { + in, out := &in.BalancingMode, &out.BalancingMode + *out = new(string) + **out = **in + } + if in.CapacityScaler != nil { + in, out := &in.CapacityScaler, &out.CapacityScaler + *out = new(float64) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Group != nil { + in, out := &in.Group, &out.Group + *out = new(string) + **out = **in + } + if in.MaxConnections != nil { + in, out := &in.MaxConnections, &out.MaxConnections + *out = new(int64) + **out = **in + } + if in.MaxConnectionsPerEndpoint != nil { + in, out := &in.MaxConnectionsPerEndpoint, &out.MaxConnectionsPerEndpoint + *out = new(int64) + **out = **in + } + if in.MaxConnectionsPerInstance != nil { + in, out := &in.MaxConnectionsPerInstance, &out.MaxConnectionsPerInstance + *out = new(int64) + **out = **in + } + if in.MaxRate != nil { + in, out := &in.MaxRate, &out.MaxRate + *out = new(int64) + **out = **in + } + if in.MaxRatePerEndpoint != nil { + in, out := &in.MaxRatePerEndpoint, &out.MaxRatePerEndpoint + *out = new(float64) + **out = **in + } + if in.MaxRatePerInstance != nil { + in, out := &in.MaxRatePerInstance, &out.MaxRatePerInstance + *out = new(float64) + **out = **in + } + if in.MaxUtilization != nil { + in, out := &in.MaxUtilization, &out.MaxUtilization + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendParameters. +func (in *BackendParameters) DeepCopy() *BackendParameters { + if in == nil { + return nil + } + out := new(BackendParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendService) DeepCopyInto(out *BackendService) { + *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 BackendService. +func (in *BackendService) DeepCopy() *BackendService { + if in == nil { + return nil + } + out := new(BackendService) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BackendService) 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 *BackendServiceCdnPolicyObservation) DeepCopyInto(out *BackendServiceCdnPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceCdnPolicyObservation. +func (in *BackendServiceCdnPolicyObservation) DeepCopy() *BackendServiceCdnPolicyObservation { + if in == nil { + return nil + } + out := new(BackendServiceCdnPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendServiceCdnPolicyParameters) DeepCopyInto(out *BackendServiceCdnPolicyParameters) { + *out = *in + if in.CacheKeyPolicy != nil { + in, out := &in.CacheKeyPolicy, &out.CacheKeyPolicy + *out = make([]CacheKeyPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CacheMode != nil { + in, out := &in.CacheMode, &out.CacheMode + *out = new(string) + **out = **in + } + if in.ClientTTL != nil { + in, out := &in.ClientTTL, &out.ClientTTL + *out = new(int64) + **out = **in + } + if in.DefaultTTL != nil { + in, out := &in.DefaultTTL, &out.DefaultTTL + *out = new(int64) + **out = **in + } + if in.MaxTTL != nil { + in, out := &in.MaxTTL, &out.MaxTTL + *out = new(int64) + **out = **in + } + if in.NegativeCaching != nil { + in, out := &in.NegativeCaching, &out.NegativeCaching + *out = new(bool) + **out = **in + } + if in.NegativeCachingPolicy != nil { + in, out := &in.NegativeCachingPolicy, &out.NegativeCachingPolicy + *out = make([]CdnPolicyNegativeCachingPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServeWhileStale != nil { + in, out := &in.ServeWhileStale, &out.ServeWhileStale + *out = new(int64) + **out = **in + } + if in.SignedURLCacheMaxAgeSec != nil { + in, out := &in.SignedURLCacheMaxAgeSec, &out.SignedURLCacheMaxAgeSec + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceCdnPolicyParameters. +func (in *BackendServiceCdnPolicyParameters) DeepCopy() *BackendServiceCdnPolicyParameters { + if in == nil { + return nil + } + out := new(BackendServiceCdnPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendServiceList) DeepCopyInto(out *BackendServiceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BackendService, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceList. +func (in *BackendServiceList) DeepCopy() *BackendServiceList { + if in == nil { + return nil + } + out := new(BackendServiceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BackendServiceList) 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 *BackendServiceObservation) DeepCopyInto(out *BackendServiceObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.Fingerprint != nil { + in, out := &in.Fingerprint, &out.Fingerprint + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceObservation. +func (in *BackendServiceObservation) DeepCopy() *BackendServiceObservation { + if in == nil { + return nil + } + out := new(BackendServiceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendServiceParameters) DeepCopyInto(out *BackendServiceParameters) { + *out = *in + if in.AffinityCookieTTLSec != nil { + in, out := &in.AffinityCookieTTLSec, &out.AffinityCookieTTLSec + *out = new(int64) + **out = **in + } + if in.Backend != nil { + in, out := &in.Backend, &out.Backend + *out = make([]BackendParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CdnPolicy != nil { + in, out := &in.CdnPolicy, &out.CdnPolicy + *out = make([]BackendServiceCdnPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CircuitBreakers != nil { + in, out := &in.CircuitBreakers, &out.CircuitBreakers + *out = make([]CircuitBreakersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ConnectionDrainingTimeoutSec != nil { + in, out := &in.ConnectionDrainingTimeoutSec, &out.ConnectionDrainingTimeoutSec + *out = new(int64) + **out = **in + } + if in.ConsistentHash != nil { + in, out := &in.ConsistentHash, &out.ConsistentHash + *out = make([]ConsistentHashParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CustomRequestHeaders != nil { + in, out := &in.CustomRequestHeaders, &out.CustomRequestHeaders + *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.CustomResponseHeaders != nil { + in, out := &in.CustomResponseHeaders, &out.CustomResponseHeaders + *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.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.EnableCdn != nil { + in, out := &in.EnableCdn, &out.EnableCdn + *out = new(bool) + **out = **in + } + if in.HealthChecks != nil { + in, out := &in.HealthChecks, &out.HealthChecks + *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.Iap != nil { + in, out := &in.Iap, &out.Iap + *out = make([]IapParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LoadBalancingScheme != nil { + in, out := &in.LoadBalancingScheme, &out.LoadBalancingScheme + *out = new(string) + **out = **in + } + if in.LocalityLBPolicy != nil { + in, out := &in.LocalityLBPolicy, &out.LocalityLBPolicy + *out = new(string) + **out = **in + } + if in.LogConfig != nil { + in, out := &in.LogConfig, &out.LogConfig + *out = make([]LogConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.OutlierDetection != nil { + in, out := &in.OutlierDetection, &out.OutlierDetection + *out = make([]OutlierDetectionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PortName != nil { + in, out := &in.PortName, &out.PortName + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } + if in.SecurityPolicy != nil { + in, out := &in.SecurityPolicy, &out.SecurityPolicy + *out = new(string) + **out = **in + } + if in.SessionAffinity != nil { + in, out := &in.SessionAffinity, &out.SessionAffinity + *out = new(string) + **out = **in + } + if in.TimeoutSec != nil { + in, out := &in.TimeoutSec, &out.TimeoutSec + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceParameters. +func (in *BackendServiceParameters) DeepCopy() *BackendServiceParameters { + if in == nil { + return nil + } + out := new(BackendServiceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendServiceSignedURLKey) DeepCopyInto(out *BackendServiceSignedURLKey) { + *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 BackendServiceSignedURLKey. +func (in *BackendServiceSignedURLKey) DeepCopy() *BackendServiceSignedURLKey { + if in == nil { + return nil + } + out := new(BackendServiceSignedURLKey) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BackendServiceSignedURLKey) 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 *BackendServiceSignedURLKeyList) DeepCopyInto(out *BackendServiceSignedURLKeyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BackendServiceSignedURLKey, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceSignedURLKeyList. +func (in *BackendServiceSignedURLKeyList) DeepCopy() *BackendServiceSignedURLKeyList { + if in == nil { + return nil + } + out := new(BackendServiceSignedURLKeyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BackendServiceSignedURLKeyList) 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 *BackendServiceSignedURLKeyObservation) DeepCopyInto(out *BackendServiceSignedURLKeyObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceSignedURLKeyObservation. +func (in *BackendServiceSignedURLKeyObservation) DeepCopy() *BackendServiceSignedURLKeyObservation { + if in == nil { + return nil + } + out := new(BackendServiceSignedURLKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendServiceSignedURLKeyParameters) DeepCopyInto(out *BackendServiceSignedURLKeyParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + out.KeyValueSecretRef = in.KeyValueSecretRef + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceSignedURLKeyParameters. +func (in *BackendServiceSignedURLKeyParameters) DeepCopy() *BackendServiceSignedURLKeyParameters { + if in == nil { + return nil + } + out := new(BackendServiceSignedURLKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendServiceSignedURLKeySpec) DeepCopyInto(out *BackendServiceSignedURLKeySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceSignedURLKeySpec. +func (in *BackendServiceSignedURLKeySpec) DeepCopy() *BackendServiceSignedURLKeySpec { + if in == nil { + return nil + } + out := new(BackendServiceSignedURLKeySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendServiceSignedURLKeyStatus) DeepCopyInto(out *BackendServiceSignedURLKeyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceSignedURLKeyStatus. +func (in *BackendServiceSignedURLKeyStatus) DeepCopy() *BackendServiceSignedURLKeyStatus { + if in == nil { + return nil + } + out := new(BackendServiceSignedURLKeyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendServiceSpec) DeepCopyInto(out *BackendServiceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceSpec. +func (in *BackendServiceSpec) DeepCopy() *BackendServiceSpec { + if in == nil { + return nil + } + out := new(BackendServiceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BackendServiceStatus) DeepCopyInto(out *BackendServiceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendServiceStatus. +func (in *BackendServiceStatus) DeepCopy() *BackendServiceStatus { + if in == nil { + return nil + } + out := new(BackendServiceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BaseEjectionTimeObservation) DeepCopyInto(out *BaseEjectionTimeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseEjectionTimeObservation. +func (in *BaseEjectionTimeObservation) DeepCopy() *BaseEjectionTimeObservation { + if in == nil { + return nil + } + out := new(BaseEjectionTimeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BaseEjectionTimeParameters) DeepCopyInto(out *BaseEjectionTimeParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseEjectionTimeParameters. +func (in *BaseEjectionTimeParameters) DeepCopy() *BaseEjectionTimeParameters { + if in == nil { + return nil + } + out := new(BaseEjectionTimeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CPUUtilizationObservation) DeepCopyInto(out *CPUUtilizationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUUtilizationObservation. +func (in *CPUUtilizationObservation) DeepCopy() *CPUUtilizationObservation { + if in == nil { + return nil + } + out := new(CPUUtilizationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CPUUtilizationParameters) DeepCopyInto(out *CPUUtilizationParameters) { + *out = *in + if in.PredictiveMethod != nil { + in, out := &in.PredictiveMethod, &out.PredictiveMethod + *out = new(string) + **out = **in + } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUUtilizationParameters. +func (in *CPUUtilizationParameters) DeepCopy() *CPUUtilizationParameters { + if in == nil { + return nil + } + out := new(CPUUtilizationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CacheKeyPolicyObservation) DeepCopyInto(out *CacheKeyPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CacheKeyPolicyObservation. +func (in *CacheKeyPolicyObservation) DeepCopy() *CacheKeyPolicyObservation { + if in == nil { + return nil + } + out := new(CacheKeyPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CacheKeyPolicyParameters) DeepCopyInto(out *CacheKeyPolicyParameters) { + *out = *in + if in.IncludeHost != nil { + in, out := &in.IncludeHost, &out.IncludeHost + *out = new(bool) + **out = **in + } + if in.IncludeProtocol != nil { + in, out := &in.IncludeProtocol, &out.IncludeProtocol + *out = new(bool) + **out = **in + } + if in.IncludeQueryString != nil { + in, out := &in.IncludeQueryString, &out.IncludeQueryString + *out = new(bool) + **out = **in + } + if in.QueryStringBlacklist != nil { + in, out := &in.QueryStringBlacklist, &out.QueryStringBlacklist + *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.QueryStringWhitelist != nil { + in, out := &in.QueryStringWhitelist, &out.QueryStringWhitelist + *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 CacheKeyPolicyParameters. +func (in *CacheKeyPolicyParameters) DeepCopy() *CacheKeyPolicyParameters { + if in == nil { + return nil + } + out := new(CacheKeyPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CdnPolicyCacheKeyPolicyObservation) DeepCopyInto(out *CdnPolicyCacheKeyPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyCacheKeyPolicyObservation. +func (in *CdnPolicyCacheKeyPolicyObservation) DeepCopy() *CdnPolicyCacheKeyPolicyObservation { + if in == nil { + return nil + } + out := new(CdnPolicyCacheKeyPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CdnPolicyCacheKeyPolicyParameters) DeepCopyInto(out *CdnPolicyCacheKeyPolicyParameters) { + *out = *in + if in.IncludeHost != nil { + in, out := &in.IncludeHost, &out.IncludeHost + *out = new(bool) + **out = **in + } + if in.IncludeProtocol != nil { + in, out := &in.IncludeProtocol, &out.IncludeProtocol + *out = new(bool) + **out = **in + } + if in.IncludeQueryString != nil { + in, out := &in.IncludeQueryString, &out.IncludeQueryString + *out = new(bool) + **out = **in + } + if in.QueryStringBlacklist != nil { + in, out := &in.QueryStringBlacklist, &out.QueryStringBlacklist + *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.QueryStringWhitelist != nil { + in, out := &in.QueryStringWhitelist, &out.QueryStringWhitelist + *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 CdnPolicyCacheKeyPolicyParameters. +func (in *CdnPolicyCacheKeyPolicyParameters) DeepCopy() *CdnPolicyCacheKeyPolicyParameters { + if in == nil { + return nil + } + out := new(CdnPolicyCacheKeyPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CdnPolicyNegativeCachingPolicyObservation) DeepCopyInto(out *CdnPolicyNegativeCachingPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyNegativeCachingPolicyObservation. +func (in *CdnPolicyNegativeCachingPolicyObservation) DeepCopy() *CdnPolicyNegativeCachingPolicyObservation { + if in == nil { + return nil + } + out := new(CdnPolicyNegativeCachingPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CdnPolicyNegativeCachingPolicyParameters) DeepCopyInto(out *CdnPolicyNegativeCachingPolicyParameters) { + *out = *in + if in.Code != nil { + in, out := &in.Code, &out.Code + *out = new(int64) + **out = **in + } + if in.TTL != nil { + in, out := &in.TTL, &out.TTL + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyNegativeCachingPolicyParameters. +func (in *CdnPolicyNegativeCachingPolicyParameters) DeepCopy() *CdnPolicyNegativeCachingPolicyParameters { + if in == nil { + return nil + } + out := new(CdnPolicyNegativeCachingPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CdnPolicyObservation) DeepCopyInto(out *CdnPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyObservation. +func (in *CdnPolicyObservation) DeepCopy() *CdnPolicyObservation { + if in == nil { + return nil + } + out := new(CdnPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CdnPolicyParameters) DeepCopyInto(out *CdnPolicyParameters) { + *out = *in + if in.CacheMode != nil { + in, out := &in.CacheMode, &out.CacheMode + *out = new(string) + **out = **in + } + if in.ClientTTL != nil { + in, out := &in.ClientTTL, &out.ClientTTL + *out = new(int64) + **out = **in + } + if in.DefaultTTL != nil { + in, out := &in.DefaultTTL, &out.DefaultTTL + *out = new(int64) + **out = **in + } + if in.MaxTTL != nil { + in, out := &in.MaxTTL, &out.MaxTTL + *out = new(int64) + **out = **in + } + if in.NegativeCaching != nil { + in, out := &in.NegativeCaching, &out.NegativeCaching + *out = new(bool) + **out = **in + } + if in.NegativeCachingPolicy != nil { + in, out := &in.NegativeCachingPolicy, &out.NegativeCachingPolicy + *out = make([]NegativeCachingPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServeWhileStale != nil { + in, out := &in.ServeWhileStale, &out.ServeWhileStale + *out = new(int64) + **out = **in + } + if in.SignedURLCacheMaxAgeSec != nil { + in, out := &in.SignedURLCacheMaxAgeSec, &out.SignedURLCacheMaxAgeSec + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyParameters. +func (in *CdnPolicyParameters) DeepCopy() *CdnPolicyParameters { + if in == nil { + return nil + } + out := new(CdnPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CircuitBreakersObservation) DeepCopyInto(out *CircuitBreakersObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakersObservation. +func (in *CircuitBreakersObservation) DeepCopy() *CircuitBreakersObservation { + if in == nil { + return nil + } + out := new(CircuitBreakersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CircuitBreakersParameters) DeepCopyInto(out *CircuitBreakersParameters) { + *out = *in + if in.MaxConnections != nil { + in, out := &in.MaxConnections, &out.MaxConnections + *out = new(int64) + **out = **in + } + if in.MaxPendingRequests != nil { + in, out := &in.MaxPendingRequests, &out.MaxPendingRequests + *out = new(int64) + **out = **in + } + if in.MaxRequests != nil { + in, out := &in.MaxRequests, &out.MaxRequests + *out = new(int64) + **out = **in + } + if in.MaxRequestsPerConnection != nil { + in, out := &in.MaxRequestsPerConnection, &out.MaxRequestsPerConnection + *out = new(int64) + **out = **in + } + if in.MaxRetries != nil { + in, out := &in.MaxRetries, &out.MaxRetries + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakersParameters. +func (in *CircuitBreakersParameters) DeepCopy() *CircuitBreakersParameters { + if in == nil { + return nil + } + out := new(CircuitBreakersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudFunctionObservation) DeepCopyInto(out *CloudFunctionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudFunctionObservation. +func (in *CloudFunctionObservation) DeepCopy() *CloudFunctionObservation { + if in == nil { + return nil + } + out := new(CloudFunctionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudFunctionParameters) DeepCopyInto(out *CloudFunctionParameters) { + *out = *in + if in.Function != nil { + in, out := &in.Function, &out.Function + *out = new(string) + **out = **in + } + if in.URLMask != nil { + in, out := &in.URLMask, &out.URLMask + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudFunctionParameters. +func (in *CloudFunctionParameters) DeepCopy() *CloudFunctionParameters { + if in == nil { + return nil + } + out := new(CloudFunctionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudRunObservation) DeepCopyInto(out *CloudRunObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudRunObservation. +func (in *CloudRunObservation) DeepCopy() *CloudRunObservation { + if in == nil { + return nil + } + out := new(CloudRunObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudRunParameters) DeepCopyInto(out *CloudRunParameters) { + *out = *in + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } + if in.URLMask != nil { + in, out := &in.URLMask, &out.URLMask + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudRunParameters. +func (in *CloudRunParameters) DeepCopy() *CloudRunParameters { + if in == nil { + return nil + } + out := new(CloudRunParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CollectorIlbObservation) DeepCopyInto(out *CollectorIlbObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CollectorIlbObservation. +func (in *CollectorIlbObservation) DeepCopy() *CollectorIlbObservation { + if in == nil { + return nil + } + out := new(CollectorIlbObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CollectorIlbParameters) DeepCopyInto(out *CollectorIlbParameters) { + *out = *in + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CollectorIlbParameters. +func (in *CollectorIlbParameters) DeepCopy() *CollectorIlbParameters { + if in == nil { + return nil + } + out := new(CollectorIlbParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigObservation) DeepCopyInto(out *ConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigObservation. +func (in *ConfigObservation) DeepCopy() *ConfigObservation { + if in == nil { + return nil + } + out := new(ConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigParameters) DeepCopyInto(out *ConfigParameters) { + *out = *in + if in.SrcIPRanges != nil { + in, out := &in.SrcIPRanges, &out.SrcIPRanges + *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 ConfigParameters. +func (in *ConfigParameters) DeepCopy() *ConfigParameters { + if in == nil { + return nil + } + out := new(ConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectedEndpointsObservation) DeepCopyInto(out *ConnectedEndpointsObservation) { + *out = *in + if in.Endpoint != nil { + in, out := &in.Endpoint, &out.Endpoint + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectedEndpointsObservation. +func (in *ConnectedEndpointsObservation) DeepCopy() *ConnectedEndpointsObservation { + if in == nil { + return nil + } + out := new(ConnectedEndpointsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectedEndpointsParameters) DeepCopyInto(out *ConnectedEndpointsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectedEndpointsParameters. +func (in *ConnectedEndpointsParameters) DeepCopy() *ConnectedEndpointsParameters { + if in == nil { + return nil + } + out := new(ConnectedEndpointsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsistentHashHTTPCookieObservation) DeepCopyInto(out *ConsistentHashHTTPCookieObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsistentHashHTTPCookieObservation. +func (in *ConsistentHashHTTPCookieObservation) DeepCopy() *ConsistentHashHTTPCookieObservation { + if in == nil { + return nil + } + out := new(ConsistentHashHTTPCookieObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsistentHashHTTPCookieParameters) DeepCopyInto(out *ConsistentHashHTTPCookieParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.TTL != nil { + in, out := &in.TTL, &out.TTL + *out = make([]HTTPCookieTTLParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsistentHashHTTPCookieParameters. +func (in *ConsistentHashHTTPCookieParameters) DeepCopy() *ConsistentHashHTTPCookieParameters { + if in == nil { + return nil + } + out := new(ConsistentHashHTTPCookieParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsistentHashObservation) DeepCopyInto(out *ConsistentHashObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsistentHashObservation. +func (in *ConsistentHashObservation) DeepCopy() *ConsistentHashObservation { + if in == nil { + return nil + } + out := new(ConsistentHashObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsistentHashParameters) DeepCopyInto(out *ConsistentHashParameters) { + *out = *in + if in.HTTPCookie != nil { + in, out := &in.HTTPCookie, &out.HTTPCookie + *out = make([]HTTPCookieParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HTTPHeaderName != nil { + in, out := &in.HTTPHeaderName, &out.HTTPHeaderName + *out = new(string) + **out = **in + } + if in.MinimumRingSize != nil { + in, out := &in.MinimumRingSize, &out.MinimumRingSize + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsistentHashParameters. +func (in *ConsistentHashParameters) DeepCopy() *ConsistentHashParameters { + if in == nil { + return nil + } + out := new(ConsistentHashParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsumerAcceptListsObservation) DeepCopyInto(out *ConsumerAcceptListsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsumerAcceptListsObservation. +func (in *ConsumerAcceptListsObservation) DeepCopy() *ConsumerAcceptListsObservation { + if in == nil { + return nil + } + out := new(ConsumerAcceptListsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsumerAcceptListsParameters) DeepCopyInto(out *ConsumerAcceptListsParameters) { + *out = *in + if in.ConnectionLimit != nil { + in, out := &in.ConnectionLimit, &out.ConnectionLimit + *out = new(int64) + **out = **in + } + if in.ProjectIDOrNum != nil { + in, out := &in.ProjectIDOrNum, &out.ProjectIDOrNum + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsumerAcceptListsParameters. +func (in *ConsumerAcceptListsParameters) DeepCopy() *ConsumerAcceptListsParameters { + if in == nil { + return nil + } + out := new(ConsumerAcceptListsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CorsPolicyObservation) DeepCopyInto(out *CorsPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorsPolicyObservation. +func (in *CorsPolicyObservation) DeepCopy() *CorsPolicyObservation { + if in == nil { + return nil + } + out := new(CorsPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CorsPolicyParameters) DeepCopyInto(out *CorsPolicyParameters) { + *out = *in + if in.AllowCredentials != nil { + in, out := &in.AllowCredentials, &out.AllowCredentials + *out = new(bool) + **out = **in + } + if in.AllowHeaders != nil { + in, out := &in.AllowHeaders, &out.AllowHeaders + *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.AllowMethods != nil { + in, out := &in.AllowMethods, &out.AllowMethods + *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.AllowOriginRegexes != nil { + in, out := &in.AllowOriginRegexes, &out.AllowOriginRegexes + *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.AllowOrigins != nil { + in, out := &in.AllowOrigins, &out.AllowOrigins + *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.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.ExposeHeaders != nil { + in, out := &in.ExposeHeaders, &out.ExposeHeaders + *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.MaxAge != nil { + in, out := &in.MaxAge, &out.MaxAge + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorsPolicyParameters. +func (in *CorsPolicyParameters) DeepCopy() *CorsPolicyParameters { + if in == nil { + return nil + } + out := new(CorsPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DailyScheduleObservation) DeepCopyInto(out *DailyScheduleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DailyScheduleObservation. +func (in *DailyScheduleObservation) DeepCopy() *DailyScheduleObservation { + if in == nil { + return nil + } + out := new(DailyScheduleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DailyScheduleParameters) DeepCopyInto(out *DailyScheduleParameters) { + *out = *in + if in.DaysInCycle != nil { + in, out := &in.DaysInCycle, &out.DaysInCycle + *out = new(int64) + **out = **in + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DailyScheduleParameters. +func (in *DailyScheduleParameters) DeepCopy() *DailyScheduleParameters { + if in == nil { + return nil + } + out := new(DailyScheduleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DayOfWeeksObservation) DeepCopyInto(out *DayOfWeeksObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DayOfWeeksObservation. +func (in *DayOfWeeksObservation) DeepCopy() *DayOfWeeksObservation { + if in == nil { + return nil + } + out := new(DayOfWeeksObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DayOfWeeksParameters) DeepCopyInto(out *DayOfWeeksParameters) { + *out = *in + if in.Day != nil { + in, out := &in.Day, &out.Day + *out = new(string) + **out = **in + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DayOfWeeksParameters. +func (in *DayOfWeeksParameters) DeepCopy() *DayOfWeeksParameters { + if in == nil { + return nil + } + out := new(DayOfWeeksParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionCorsPolicyObservation) DeepCopyInto(out *DefaultRouteActionCorsPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionCorsPolicyObservation. +func (in *DefaultRouteActionCorsPolicyObservation) DeepCopy() *DefaultRouteActionCorsPolicyObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionCorsPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionCorsPolicyParameters) DeepCopyInto(out *DefaultRouteActionCorsPolicyParameters) { + *out = *in + if in.AllowCredentials != nil { + in, out := &in.AllowCredentials, &out.AllowCredentials + *out = new(bool) + **out = **in + } + if in.AllowHeaders != nil { + in, out := &in.AllowHeaders, &out.AllowHeaders + *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.AllowMethods != nil { + in, out := &in.AllowMethods, &out.AllowMethods + *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.AllowOriginRegexes != nil { + in, out := &in.AllowOriginRegexes, &out.AllowOriginRegexes + *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.AllowOrigins != nil { + in, out := &in.AllowOrigins, &out.AllowOrigins + *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.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.ExposeHeaders != nil { + in, out := &in.ExposeHeaders, &out.ExposeHeaders + *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.MaxAge != nil { + in, out := &in.MaxAge, &out.MaxAge + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionCorsPolicyParameters. +func (in *DefaultRouteActionCorsPolicyParameters) DeepCopy() *DefaultRouteActionCorsPolicyParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionCorsPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionFaultInjectionPolicyAbortObservation) DeepCopyInto(out *DefaultRouteActionFaultInjectionPolicyAbortObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyAbortObservation. +func (in *DefaultRouteActionFaultInjectionPolicyAbortObservation) DeepCopy() *DefaultRouteActionFaultInjectionPolicyAbortObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionFaultInjectionPolicyAbortObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionFaultInjectionPolicyAbortParameters) DeepCopyInto(out *DefaultRouteActionFaultInjectionPolicyAbortParameters) { + *out = *in + if in.HTTPStatus != nil { + in, out := &in.HTTPStatus, &out.HTTPStatus + *out = new(int64) + **out = **in + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyAbortParameters. +func (in *DefaultRouteActionFaultInjectionPolicyAbortParameters) DeepCopy() *DefaultRouteActionFaultInjectionPolicyAbortParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionFaultInjectionPolicyAbortParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation) DeepCopyInto(out *DefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation. +func (in *DefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation) DeepCopy() *DefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters) DeepCopyInto(out *DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters. +func (in *DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters) DeepCopy() *DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionFaultInjectionPolicyDelayObservation) DeepCopyInto(out *DefaultRouteActionFaultInjectionPolicyDelayObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyDelayObservation. +func (in *DefaultRouteActionFaultInjectionPolicyDelayObservation) DeepCopy() *DefaultRouteActionFaultInjectionPolicyDelayObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionFaultInjectionPolicyDelayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionFaultInjectionPolicyDelayParameters) DeepCopyInto(out *DefaultRouteActionFaultInjectionPolicyDelayParameters) { + *out = *in + if in.FixedDelay != nil { + in, out := &in.FixedDelay, &out.FixedDelay + *out = make([]FaultInjectionPolicyDelayFixedDelayParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyDelayParameters. +func (in *DefaultRouteActionFaultInjectionPolicyDelayParameters) DeepCopy() *DefaultRouteActionFaultInjectionPolicyDelayParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionFaultInjectionPolicyDelayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionFaultInjectionPolicyObservation) DeepCopyInto(out *DefaultRouteActionFaultInjectionPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyObservation. +func (in *DefaultRouteActionFaultInjectionPolicyObservation) DeepCopy() *DefaultRouteActionFaultInjectionPolicyObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionFaultInjectionPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionFaultInjectionPolicyParameters) DeepCopyInto(out *DefaultRouteActionFaultInjectionPolicyParameters) { + *out = *in + if in.Abort != nil { + in, out := &in.Abort, &out.Abort + *out = make([]DefaultRouteActionFaultInjectionPolicyAbortParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Delay != nil { + in, out := &in.Delay, &out.Delay + *out = make([]DefaultRouteActionFaultInjectionPolicyDelayParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionFaultInjectionPolicyParameters. +func (in *DefaultRouteActionFaultInjectionPolicyParameters) DeepCopy() *DefaultRouteActionFaultInjectionPolicyParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionFaultInjectionPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionObservation) DeepCopyInto(out *DefaultRouteActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionObservation. +func (in *DefaultRouteActionObservation) DeepCopy() *DefaultRouteActionObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionParameters) DeepCopyInto(out *DefaultRouteActionParameters) { + *out = *in + if in.CorsPolicy != nil { + in, out := &in.CorsPolicy, &out.CorsPolicy + *out = make([]DefaultRouteActionCorsPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FaultInjectionPolicy != nil { + in, out := &in.FaultInjectionPolicy, &out.FaultInjectionPolicy + *out = make([]DefaultRouteActionFaultInjectionPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestMirrorPolicy != nil { + in, out := &in.RequestMirrorPolicy, &out.RequestMirrorPolicy + *out = make([]DefaultRouteActionRequestMirrorPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryPolicy != nil { + in, out := &in.RetryPolicy, &out.RetryPolicy + *out = make([]DefaultRouteActionRetryPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = make([]DefaultRouteActionTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.URLRewrite != nil { + in, out := &in.URLRewrite, &out.URLRewrite + *out = make([]DefaultRouteActionURLRewriteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WeightedBackendServices != nil { + in, out := &in.WeightedBackendServices, &out.WeightedBackendServices + *out = make([]DefaultRouteActionWeightedBackendServicesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionParameters. +func (in *DefaultRouteActionParameters) DeepCopy() *DefaultRouteActionParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionRequestMirrorPolicyObservation) DeepCopyInto(out *DefaultRouteActionRequestMirrorPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionRequestMirrorPolicyObservation. +func (in *DefaultRouteActionRequestMirrorPolicyObservation) DeepCopy() *DefaultRouteActionRequestMirrorPolicyObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionRequestMirrorPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionRequestMirrorPolicyParameters) DeepCopyInto(out *DefaultRouteActionRequestMirrorPolicyParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionRequestMirrorPolicyParameters. +func (in *DefaultRouteActionRequestMirrorPolicyParameters) DeepCopy() *DefaultRouteActionRequestMirrorPolicyParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionRequestMirrorPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionRetryPolicyObservation) DeepCopyInto(out *DefaultRouteActionRetryPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionRetryPolicyObservation. +func (in *DefaultRouteActionRetryPolicyObservation) DeepCopy() *DefaultRouteActionRetryPolicyObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionRetryPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionRetryPolicyParameters) DeepCopyInto(out *DefaultRouteActionRetryPolicyParameters) { + *out = *in + if in.NumRetries != nil { + in, out := &in.NumRetries, &out.NumRetries + *out = new(int64) + **out = **in + } + if in.PerTryTimeout != nil { + in, out := &in.PerTryTimeout, &out.PerTryTimeout + *out = make([]DefaultRouteActionRetryPolicyPerTryTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryConditions != nil { + in, out := &in.RetryConditions, &out.RetryConditions + *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 DefaultRouteActionRetryPolicyParameters. +func (in *DefaultRouteActionRetryPolicyParameters) DeepCopy() *DefaultRouteActionRetryPolicyParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionRetryPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionRetryPolicyPerTryTimeoutObservation) DeepCopyInto(out *DefaultRouteActionRetryPolicyPerTryTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionRetryPolicyPerTryTimeoutObservation. +func (in *DefaultRouteActionRetryPolicyPerTryTimeoutObservation) DeepCopy() *DefaultRouteActionRetryPolicyPerTryTimeoutObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionRetryPolicyPerTryTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionRetryPolicyPerTryTimeoutParameters) DeepCopyInto(out *DefaultRouteActionRetryPolicyPerTryTimeoutParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionRetryPolicyPerTryTimeoutParameters. +func (in *DefaultRouteActionRetryPolicyPerTryTimeoutParameters) DeepCopy() *DefaultRouteActionRetryPolicyPerTryTimeoutParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionRetryPolicyPerTryTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionTimeoutObservation) DeepCopyInto(out *DefaultRouteActionTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionTimeoutObservation. +func (in *DefaultRouteActionTimeoutObservation) DeepCopy() *DefaultRouteActionTimeoutObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionTimeoutParameters) DeepCopyInto(out *DefaultRouteActionTimeoutParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionTimeoutParameters. +func (in *DefaultRouteActionTimeoutParameters) DeepCopy() *DefaultRouteActionTimeoutParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionURLRewriteObservation) DeepCopyInto(out *DefaultRouteActionURLRewriteObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionURLRewriteObservation. +func (in *DefaultRouteActionURLRewriteObservation) DeepCopy() *DefaultRouteActionURLRewriteObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionURLRewriteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionURLRewriteParameters) DeepCopyInto(out *DefaultRouteActionURLRewriteParameters) { + *out = *in + if in.HostRewrite != nil { + in, out := &in.HostRewrite, &out.HostRewrite + *out = new(string) + **out = **in + } + if in.PathPrefixRewrite != nil { + in, out := &in.PathPrefixRewrite, &out.PathPrefixRewrite + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionURLRewriteParameters. +func (in *DefaultRouteActionURLRewriteParameters) DeepCopy() *DefaultRouteActionURLRewriteParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionURLRewriteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionWeightedBackendServicesHeaderActionObservation) DeepCopyInto(out *DefaultRouteActionWeightedBackendServicesHeaderActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesHeaderActionObservation. +func (in *DefaultRouteActionWeightedBackendServicesHeaderActionObservation) DeepCopy() *DefaultRouteActionWeightedBackendServicesHeaderActionObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionWeightedBackendServicesHeaderActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionWeightedBackendServicesHeaderActionParameters) DeepCopyInto(out *DefaultRouteActionWeightedBackendServicesHeaderActionParameters) { + *out = *in + if in.RequestHeadersToAdd != nil { + in, out := &in.RequestHeadersToAdd, &out.RequestHeadersToAdd + *out = make([]DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestHeadersToRemove != nil { + in, out := &in.RequestHeadersToRemove, &out.RequestHeadersToRemove + *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.ResponseHeadersToAdd != nil { + in, out := &in.ResponseHeadersToAdd, &out.ResponseHeadersToAdd + *out = make([]DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResponseHeadersToRemove != nil { + in, out := &in.ResponseHeadersToRemove, &out.ResponseHeadersToRemove + *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 DefaultRouteActionWeightedBackendServicesHeaderActionParameters. +func (in *DefaultRouteActionWeightedBackendServicesHeaderActionParameters) DeepCopy() *DefaultRouteActionWeightedBackendServicesHeaderActionParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionWeightedBackendServicesHeaderActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopyInto(out *DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation. +func (in *DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopy() *DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopyInto(out *DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters. +func (in *DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopy() *DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopyInto(out *DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation. +func (in *DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopy() *DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopyInto(out *DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters. +func (in *DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopy() *DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionWeightedBackendServicesObservation) DeepCopyInto(out *DefaultRouteActionWeightedBackendServicesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesObservation. +func (in *DefaultRouteActionWeightedBackendServicesObservation) DeepCopy() *DefaultRouteActionWeightedBackendServicesObservation { + if in == nil { + return nil + } + out := new(DefaultRouteActionWeightedBackendServicesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultRouteActionWeightedBackendServicesParameters) DeepCopyInto(out *DefaultRouteActionWeightedBackendServicesParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.HeaderAction != nil { + in, out := &in.HeaderAction, &out.HeaderAction + *out = make([]DefaultRouteActionWeightedBackendServicesHeaderActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultRouteActionWeightedBackendServicesParameters. +func (in *DefaultRouteActionWeightedBackendServicesParameters) DeepCopy() *DefaultRouteActionWeightedBackendServicesParameters { + if in == nil { + return nil + } + out := new(DefaultRouteActionWeightedBackendServicesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultURLRedirectObservation) DeepCopyInto(out *DefaultURLRedirectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultURLRedirectObservation. +func (in *DefaultURLRedirectObservation) DeepCopy() *DefaultURLRedirectObservation { + if in == nil { + return nil + } + out := new(DefaultURLRedirectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultURLRedirectParameters) DeepCopyInto(out *DefaultURLRedirectParameters) { + *out = *in + if in.HTTPSRedirect != nil { + in, out := &in.HTTPSRedirect, &out.HTTPSRedirect + *out = new(bool) + **out = **in + } + if in.HostRedirect != nil { + in, out := &in.HostRedirect, &out.HostRedirect + *out = new(string) + **out = **in + } + if in.PathRedirect != nil { + in, out := &in.PathRedirect, &out.PathRedirect + *out = new(string) + **out = **in + } + if in.PrefixRedirect != nil { + in, out := &in.PrefixRedirect, &out.PrefixRedirect + *out = new(string) + **out = **in + } + if in.RedirectResponseCode != nil { + in, out := &in.RedirectResponseCode, &out.RedirectResponseCode + *out = new(string) + **out = **in + } + if in.StripQuery != nil { + in, out := &in.StripQuery, &out.StripQuery + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultURLRedirectParameters. +func (in *DefaultURLRedirectParameters) DeepCopy() *DefaultURLRedirectParameters { + if in == nil { + return nil + } + out := new(DefaultURLRedirectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DelayFixedDelayObservation) DeepCopyInto(out *DelayFixedDelayObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelayFixedDelayObservation. +func (in *DelayFixedDelayObservation) DeepCopy() *DelayFixedDelayObservation { + if in == nil { + return nil + } + out := new(DelayFixedDelayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DelayFixedDelayParameters) DeepCopyInto(out *DelayFixedDelayParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelayFixedDelayParameters. +func (in *DelayFixedDelayParameters) DeepCopy() *DelayFixedDelayParameters { + if in == nil { + return nil + } + out := new(DelayFixedDelayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DelayObservation) DeepCopyInto(out *DelayObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelayObservation. +func (in *DelayObservation) DeepCopy() *DelayObservation { + if in == nil { + return nil + } + out := new(DelayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DelayParameters) DeepCopyInto(out *DelayParameters) { + *out = *in + if in.FixedDelay != nil { + in, out := &in.FixedDelay, &out.FixedDelay + *out = make([]FixedDelayParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelayParameters. +func (in *DelayParameters) DeepCopy() *DelayParameters { + if in == nil { + return nil + } + out := new(DelayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Disk) DeepCopyInto(out *Disk) { + *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 Disk. +func (in *Disk) DeepCopy() *Disk { + if in == nil { + return nil + } + out := new(Disk) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Disk) 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 *DiskEncryptionKeyObservation) DeepCopyInto(out *DiskEncryptionKeyObservation) { + *out = *in + if in.Sha256 != nil { + in, out := &in.Sha256, &out.Sha256 + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionKeyObservation. +func (in *DiskEncryptionKeyObservation) DeepCopy() *DiskEncryptionKeyObservation { + if in == nil { + return nil + } + out := new(DiskEncryptionKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskEncryptionKeyParameters) DeepCopyInto(out *DiskEncryptionKeyParameters) { + *out = *in + if in.KMSKeySelfLink != nil { + in, out := &in.KMSKeySelfLink, &out.KMSKeySelfLink + *out = new(string) + **out = **in + } + if in.KMSKeyServiceAccount != nil { + in, out := &in.KMSKeyServiceAccount, &out.KMSKeyServiceAccount + *out = new(string) + **out = **in + } + if in.RawKeySecretRef != nil { + in, out := &in.RawKeySecretRef, &out.RawKeySecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionKeyParameters. +func (in *DiskEncryptionKeyParameters) DeepCopy() *DiskEncryptionKeyParameters { + if in == nil { + return nil + } + out := new(DiskEncryptionKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskIAMBinding) DeepCopyInto(out *DiskIAMBinding) { + *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 DiskIAMBinding. +func (in *DiskIAMBinding) DeepCopy() *DiskIAMBinding { + if in == nil { + return nil + } + out := new(DiskIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DiskIAMBinding) 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 *DiskIAMBindingList) DeepCopyInto(out *DiskIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DiskIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMBindingList. +func (in *DiskIAMBindingList) DeepCopy() *DiskIAMBindingList { + if in == nil { + return nil + } + out := new(DiskIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DiskIAMBindingList) 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 *DiskIAMBindingObservation) DeepCopyInto(out *DiskIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMBindingObservation. +func (in *DiskIAMBindingObservation) DeepCopy() *DiskIAMBindingObservation { + if in == nil { + return nil + } + out := new(DiskIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskIAMBindingParameters) DeepCopyInto(out *DiskIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMBindingParameters. +func (in *DiskIAMBindingParameters) DeepCopy() *DiskIAMBindingParameters { + if in == nil { + return nil + } + out := new(DiskIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskIAMBindingSpec) DeepCopyInto(out *DiskIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMBindingSpec. +func (in *DiskIAMBindingSpec) DeepCopy() *DiskIAMBindingSpec { + if in == nil { + return nil + } + out := new(DiskIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskIAMBindingStatus) DeepCopyInto(out *DiskIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMBindingStatus. +func (in *DiskIAMBindingStatus) DeepCopy() *DiskIAMBindingStatus { + if in == nil { + return nil + } + out := new(DiskIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskIAMMember) DeepCopyInto(out *DiskIAMMember) { + *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 DiskIAMMember. +func (in *DiskIAMMember) DeepCopy() *DiskIAMMember { + if in == nil { + return nil + } + out := new(DiskIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DiskIAMMember) 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 *DiskIAMMemberConditionObservation) DeepCopyInto(out *DiskIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMMemberConditionObservation. +func (in *DiskIAMMemberConditionObservation) DeepCopy() *DiskIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(DiskIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskIAMMemberConditionParameters) DeepCopyInto(out *DiskIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMMemberConditionParameters. +func (in *DiskIAMMemberConditionParameters) DeepCopy() *DiskIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(DiskIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskIAMMemberList) DeepCopyInto(out *DiskIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DiskIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMMemberList. +func (in *DiskIAMMemberList) DeepCopy() *DiskIAMMemberList { + if in == nil { + return nil + } + out := new(DiskIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DiskIAMMemberList) 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 *DiskIAMMemberObservation) DeepCopyInto(out *DiskIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMMemberObservation. +func (in *DiskIAMMemberObservation) DeepCopy() *DiskIAMMemberObservation { + if in == nil { + return nil + } + out := new(DiskIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskIAMMemberParameters) DeepCopyInto(out *DiskIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]DiskIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMMemberParameters. +func (in *DiskIAMMemberParameters) DeepCopy() *DiskIAMMemberParameters { + if in == nil { + return nil + } + out := new(DiskIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskIAMMemberSpec) DeepCopyInto(out *DiskIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMMemberSpec. +func (in *DiskIAMMemberSpec) DeepCopy() *DiskIAMMemberSpec { + if in == nil { + return nil + } + out := new(DiskIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskIAMMemberStatus) DeepCopyInto(out *DiskIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMMemberStatus. +func (in *DiskIAMMemberStatus) DeepCopy() *DiskIAMMemberStatus { + if in == nil { + return nil + } + out := new(DiskIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskIAMPolicy) DeepCopyInto(out *DiskIAMPolicy) { + *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 DiskIAMPolicy. +func (in *DiskIAMPolicy) DeepCopy() *DiskIAMPolicy { + if in == nil { + return nil + } + out := new(DiskIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DiskIAMPolicy) 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 *DiskIAMPolicyList) DeepCopyInto(out *DiskIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DiskIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMPolicyList. +func (in *DiskIAMPolicyList) DeepCopy() *DiskIAMPolicyList { + if in == nil { + return nil + } + out := new(DiskIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DiskIAMPolicyList) 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 *DiskIAMPolicyObservation) DeepCopyInto(out *DiskIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMPolicyObservation. +func (in *DiskIAMPolicyObservation) DeepCopy() *DiskIAMPolicyObservation { + if in == nil { + return nil + } + out := new(DiskIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskIAMPolicyParameters) DeepCopyInto(out *DiskIAMPolicyParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMPolicyParameters. +func (in *DiskIAMPolicyParameters) DeepCopy() *DiskIAMPolicyParameters { + if in == nil { + return nil + } + out := new(DiskIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskIAMPolicySpec) DeepCopyInto(out *DiskIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMPolicySpec. +func (in *DiskIAMPolicySpec) DeepCopy() *DiskIAMPolicySpec { + if in == nil { + return nil + } + out := new(DiskIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskIAMPolicyStatus) DeepCopyInto(out *DiskIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskIAMPolicyStatus. +func (in *DiskIAMPolicyStatus) DeepCopy() *DiskIAMPolicyStatus { + if in == nil { + return nil + } + out := new(DiskIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskList) DeepCopyInto(out *DiskList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Disk, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskList. +func (in *DiskList) DeepCopy() *DiskList { + if in == nil { + return nil + } + out := new(DiskList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DiskList) 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 *DiskObservation) DeepCopyInto(out *DiskObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LabelFingerprint != nil { + in, out := &in.LabelFingerprint, &out.LabelFingerprint + *out = new(string) + **out = **in + } + if in.LastAttachTimestamp != nil { + in, out := &in.LastAttachTimestamp, &out.LastAttachTimestamp + *out = new(string) + **out = **in + } + if in.LastDetachTimestamp != nil { + in, out := &in.LastDetachTimestamp, &out.LastDetachTimestamp + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.SourceImageID != nil { + in, out := &in.SourceImageID, &out.SourceImageID + *out = new(string) + **out = **in + } + if in.SourceSnapshotID != nil { + in, out := &in.SourceSnapshotID, &out.SourceSnapshotID + *out = new(string) + **out = **in + } + if in.Users != nil { + in, out := &in.Users, &out.Users + *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 DiskObservation. +func (in *DiskObservation) DeepCopy() *DiskObservation { + if in == nil { + return nil + } + out := new(DiskObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskParameters) DeepCopyInto(out *DiskParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DiskEncryptionKey != nil { + in, out := &in.DiskEncryptionKey, &out.DiskEncryptionKey + *out = make([]DiskEncryptionKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.PhysicalBlockSizeBytes != nil { + in, out := &in.PhysicalBlockSizeBytes, &out.PhysicalBlockSizeBytes + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProvisionedIops != nil { + in, out := &in.ProvisionedIops, &out.ProvisionedIops + *out = new(int64) + **out = **in + } + if in.Size != nil { + in, out := &in.Size, &out.Size + *out = new(int64) + **out = **in + } + if in.Snapshot != nil { + in, out := &in.Snapshot, &out.Snapshot + *out = new(string) + **out = **in + } + if in.SourceImageEncryptionKey != nil { + in, out := &in.SourceImageEncryptionKey, &out.SourceImageEncryptionKey + *out = make([]SourceImageEncryptionKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SourceSnapshotEncryptionKey != nil { + in, out := &in.SourceSnapshotEncryptionKey, &out.SourceSnapshotEncryptionKey + *out = make([]SourceSnapshotEncryptionKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskParameters. +func (in *DiskParameters) DeepCopy() *DiskParameters { + if in == nil { + return nil + } + out := new(DiskParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskResourcePolicyAttachment) DeepCopyInto(out *DiskResourcePolicyAttachment) { + *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 DiskResourcePolicyAttachment. +func (in *DiskResourcePolicyAttachment) DeepCopy() *DiskResourcePolicyAttachment { + if in == nil { + return nil + } + out := new(DiskResourcePolicyAttachment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DiskResourcePolicyAttachment) 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 *DiskResourcePolicyAttachmentList) DeepCopyInto(out *DiskResourcePolicyAttachmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DiskResourcePolicyAttachment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskResourcePolicyAttachmentList. +func (in *DiskResourcePolicyAttachmentList) DeepCopy() *DiskResourcePolicyAttachmentList { + if in == nil { + return nil + } + out := new(DiskResourcePolicyAttachmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DiskResourcePolicyAttachmentList) 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 *DiskResourcePolicyAttachmentObservation) DeepCopyInto(out *DiskResourcePolicyAttachmentObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskResourcePolicyAttachmentObservation. +func (in *DiskResourcePolicyAttachmentObservation) DeepCopy() *DiskResourcePolicyAttachmentObservation { + if in == nil { + return nil + } + out := new(DiskResourcePolicyAttachmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskResourcePolicyAttachmentParameters) DeepCopyInto(out *DiskResourcePolicyAttachmentParameters) { + *out = *in + if in.Disk != nil { + in, out := &in.Disk, &out.Disk + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskResourcePolicyAttachmentParameters. +func (in *DiskResourcePolicyAttachmentParameters) DeepCopy() *DiskResourcePolicyAttachmentParameters { + if in == nil { + return nil + } + out := new(DiskResourcePolicyAttachmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskResourcePolicyAttachmentSpec) DeepCopyInto(out *DiskResourcePolicyAttachmentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskResourcePolicyAttachmentSpec. +func (in *DiskResourcePolicyAttachmentSpec) DeepCopy() *DiskResourcePolicyAttachmentSpec { + if in == nil { + return nil + } + out := new(DiskResourcePolicyAttachmentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskResourcePolicyAttachmentStatus) DeepCopyInto(out *DiskResourcePolicyAttachmentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskResourcePolicyAttachmentStatus. +func (in *DiskResourcePolicyAttachmentStatus) DeepCopy() *DiskResourcePolicyAttachmentStatus { + if in == nil { + return nil + } + out := new(DiskResourcePolicyAttachmentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskSpec) DeepCopyInto(out *DiskSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskSpec. +func (in *DiskSpec) DeepCopy() *DiskSpec { + if in == nil { + return nil + } + out := new(DiskSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskStatus) DeepCopyInto(out *DiskStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskStatus. +func (in *DiskStatus) DeepCopy() *DiskStatus { + if in == nil { + return nil + } + out := new(DiskStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExprObservation) DeepCopyInto(out *ExprObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExprObservation. +func (in *ExprObservation) DeepCopy() *ExprObservation { + if in == nil { + return nil + } + out := new(ExprObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExprParameters) DeepCopyInto(out *ExprParameters) { + *out = *in + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExprParameters. +func (in *ExprParameters) DeepCopy() *ExprParameters { + if in == nil { + return nil + } + out := new(ExprParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalVPNGateway) DeepCopyInto(out *ExternalVPNGateway) { + *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 ExternalVPNGateway. +func (in *ExternalVPNGateway) DeepCopy() *ExternalVPNGateway { + if in == nil { + return nil + } + out := new(ExternalVPNGateway) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ExternalVPNGateway) 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 *ExternalVPNGatewayList) DeepCopyInto(out *ExternalVPNGatewayList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ExternalVPNGateway, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalVPNGatewayList. +func (in *ExternalVPNGatewayList) DeepCopy() *ExternalVPNGatewayList { + if in == nil { + return nil + } + out := new(ExternalVPNGatewayList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ExternalVPNGatewayList) 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 *ExternalVPNGatewayObservation) DeepCopyInto(out *ExternalVPNGatewayObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalVPNGatewayObservation. +func (in *ExternalVPNGatewayObservation) DeepCopy() *ExternalVPNGatewayObservation { + if in == nil { + return nil + } + out := new(ExternalVPNGatewayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalVPNGatewayParameters) DeepCopyInto(out *ExternalVPNGatewayParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Interface != nil { + in, out := &in.Interface, &out.Interface + *out = make([]InterfaceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RedundancyType != nil { + in, out := &in.RedundancyType, &out.RedundancyType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalVPNGatewayParameters. +func (in *ExternalVPNGatewayParameters) DeepCopy() *ExternalVPNGatewayParameters { + if in == nil { + return nil + } + out := new(ExternalVPNGatewayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalVPNGatewaySpec) DeepCopyInto(out *ExternalVPNGatewaySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalVPNGatewaySpec. +func (in *ExternalVPNGatewaySpec) DeepCopy() *ExternalVPNGatewaySpec { + if in == nil { + return nil + } + out := new(ExternalVPNGatewaySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalVPNGatewayStatus) DeepCopyInto(out *ExternalVPNGatewayStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalVPNGatewayStatus. +func (in *ExternalVPNGatewayStatus) DeepCopy() *ExternalVPNGatewayStatus { + if in == nil { + return nil + } + out := new(ExternalVPNGatewayStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FailoverPolicyObservation) DeepCopyInto(out *FailoverPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailoverPolicyObservation. +func (in *FailoverPolicyObservation) DeepCopy() *FailoverPolicyObservation { + if in == nil { + return nil + } + out := new(FailoverPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FailoverPolicyParameters) DeepCopyInto(out *FailoverPolicyParameters) { + *out = *in + if in.DisableConnectionDrainOnFailover != nil { + in, out := &in.DisableConnectionDrainOnFailover, &out.DisableConnectionDrainOnFailover + *out = new(bool) + **out = **in + } + if in.DropTrafficIfUnhealthy != nil { + in, out := &in.DropTrafficIfUnhealthy, &out.DropTrafficIfUnhealthy + *out = new(bool) + **out = **in + } + if in.FailoverRatio != nil { + in, out := &in.FailoverRatio, &out.FailoverRatio + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailoverPolicyParameters. +func (in *FailoverPolicyParameters) DeepCopy() *FailoverPolicyParameters { + if in == nil { + return nil + } + out := new(FailoverPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FaultInjectionPolicyAbortObservation) DeepCopyInto(out *FaultInjectionPolicyAbortObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyAbortObservation. +func (in *FaultInjectionPolicyAbortObservation) DeepCopy() *FaultInjectionPolicyAbortObservation { + if in == nil { + return nil + } + out := new(FaultInjectionPolicyAbortObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FaultInjectionPolicyAbortParameters) DeepCopyInto(out *FaultInjectionPolicyAbortParameters) { + *out = *in + if in.HTTPStatus != nil { + in, out := &in.HTTPStatus, &out.HTTPStatus + *out = new(int64) + **out = **in + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyAbortParameters. +func (in *FaultInjectionPolicyAbortParameters) DeepCopy() *FaultInjectionPolicyAbortParameters { + if in == nil { + return nil + } + out := new(FaultInjectionPolicyAbortParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FaultInjectionPolicyDelayFixedDelayObservation) DeepCopyInto(out *FaultInjectionPolicyDelayFixedDelayObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyDelayFixedDelayObservation. +func (in *FaultInjectionPolicyDelayFixedDelayObservation) DeepCopy() *FaultInjectionPolicyDelayFixedDelayObservation { + if in == nil { + return nil + } + out := new(FaultInjectionPolicyDelayFixedDelayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FaultInjectionPolicyDelayFixedDelayParameters) DeepCopyInto(out *FaultInjectionPolicyDelayFixedDelayParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyDelayFixedDelayParameters. +func (in *FaultInjectionPolicyDelayFixedDelayParameters) DeepCopy() *FaultInjectionPolicyDelayFixedDelayParameters { + if in == nil { + return nil + } + out := new(FaultInjectionPolicyDelayFixedDelayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FaultInjectionPolicyDelayObservation) DeepCopyInto(out *FaultInjectionPolicyDelayObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyDelayObservation. +func (in *FaultInjectionPolicyDelayObservation) DeepCopy() *FaultInjectionPolicyDelayObservation { + if in == nil { + return nil + } + out := new(FaultInjectionPolicyDelayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FaultInjectionPolicyDelayParameters) DeepCopyInto(out *FaultInjectionPolicyDelayParameters) { + *out = *in + if in.FixedDelay != nil { + in, out := &in.FixedDelay, &out.FixedDelay + *out = make([]DelayFixedDelayParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyDelayParameters. +func (in *FaultInjectionPolicyDelayParameters) DeepCopy() *FaultInjectionPolicyDelayParameters { + if in == nil { + return nil + } + out := new(FaultInjectionPolicyDelayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FaultInjectionPolicyObservation) DeepCopyInto(out *FaultInjectionPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyObservation. +func (in *FaultInjectionPolicyObservation) DeepCopy() *FaultInjectionPolicyObservation { + if in == nil { + return nil + } + out := new(FaultInjectionPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FaultInjectionPolicyParameters) DeepCopyInto(out *FaultInjectionPolicyParameters) { + *out = *in + if in.Abort != nil { + in, out := &in.Abort, &out.Abort + *out = make([]AbortParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Delay != nil { + in, out := &in.Delay, &out.Delay + *out = make([]DelayParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyParameters. +func (in *FaultInjectionPolicyParameters) DeepCopy() *FaultInjectionPolicyParameters { + if in == nil { + return nil + } + out := new(FaultInjectionPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FilterLabelsObservation) DeepCopyInto(out *FilterLabelsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterLabelsObservation. +func (in *FilterLabelsObservation) DeepCopy() *FilterLabelsObservation { + if in == nil { + return nil + } + out := new(FilterLabelsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FilterLabelsParameters) DeepCopyInto(out *FilterLabelsParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *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 FilterLabelsParameters. +func (in *FilterLabelsParameters) DeepCopy() *FilterLabelsParameters { + if in == nil { + return nil + } + out := new(FilterLabelsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FilterObservation) DeepCopyInto(out *FilterObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilterObservation. +func (in *FilterObservation) DeepCopy() *FilterObservation { + if in == nil { + return nil + } + out := new(FilterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FilterParameters) DeepCopyInto(out *FilterParameters) { + *out = *in + if in.CidrRanges != nil { + in, out := &in.CidrRanges, &out.CidrRanges + *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.IPProtocols != nil { + in, out := &in.IPProtocols, &out.IPProtocols + *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 FilterParameters. +func (in *FilterParameters) DeepCopy() *FilterParameters { + if in == nil { + return nil + } + out := new(FilterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallPolicy) DeepCopyInto(out *FirewallPolicy) { + *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 FirewallPolicy. +func (in *FirewallPolicy) DeepCopy() *FirewallPolicy { + if in == nil { + return nil + } + out := new(FirewallPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FirewallPolicy) 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 *FirewallPolicyAssociation) DeepCopyInto(out *FirewallPolicyAssociation) { + *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 FirewallPolicyAssociation. +func (in *FirewallPolicyAssociation) DeepCopy() *FirewallPolicyAssociation { + if in == nil { + return nil + } + out := new(FirewallPolicyAssociation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FirewallPolicyAssociation) 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 *FirewallPolicyAssociationList) DeepCopyInto(out *FirewallPolicyAssociationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FirewallPolicyAssociation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyAssociationList. +func (in *FirewallPolicyAssociationList) DeepCopy() *FirewallPolicyAssociationList { + if in == nil { + return nil + } + out := new(FirewallPolicyAssociationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FirewallPolicyAssociationList) 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 *FirewallPolicyAssociationObservation) DeepCopyInto(out *FirewallPolicyAssociationObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.ShortName != nil { + in, out := &in.ShortName, &out.ShortName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyAssociationObservation. +func (in *FirewallPolicyAssociationObservation) DeepCopy() *FirewallPolicyAssociationObservation { + if in == nil { + return nil + } + out := new(FirewallPolicyAssociationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallPolicyAssociationParameters) DeepCopyInto(out *FirewallPolicyAssociationParameters) { + *out = *in + if in.AttachmentTarget != nil { + in, out := &in.AttachmentTarget, &out.AttachmentTarget + *out = new(string) + **out = **in + } + if in.FirewallPolicy != nil { + in, out := &in.FirewallPolicy, &out.FirewallPolicy + *out = new(string) + **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 FirewallPolicyAssociationParameters. +func (in *FirewallPolicyAssociationParameters) DeepCopy() *FirewallPolicyAssociationParameters { + if in == nil { + return nil + } + out := new(FirewallPolicyAssociationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallPolicyAssociationSpec) DeepCopyInto(out *FirewallPolicyAssociationSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyAssociationSpec. +func (in *FirewallPolicyAssociationSpec) DeepCopy() *FirewallPolicyAssociationSpec { + if in == nil { + return nil + } + out := new(FirewallPolicyAssociationSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallPolicyAssociationStatus) DeepCopyInto(out *FirewallPolicyAssociationStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyAssociationStatus. +func (in *FirewallPolicyAssociationStatus) DeepCopy() *FirewallPolicyAssociationStatus { + if in == nil { + return nil + } + out := new(FirewallPolicyAssociationStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallPolicyList) DeepCopyInto(out *FirewallPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FirewallPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyList. +func (in *FirewallPolicyList) DeepCopy() *FirewallPolicyList { + if in == nil { + return nil + } + out := new(FirewallPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FirewallPolicyList) 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 *FirewallPolicyObservation) DeepCopyInto(out *FirewallPolicyObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.Fingerprint != nil { + in, out := &in.Fingerprint, &out.Fingerprint + *out = new(string) + **out = **in + } + if in.FirewallPolicyID != nil { + in, out := &in.FirewallPolicyID, &out.FirewallPolicyID + *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.RuleTupleCount != nil { + in, out := &in.RuleTupleCount, &out.RuleTupleCount + *out = new(int64) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.SelfLinkWithID != nil { + in, out := &in.SelfLinkWithID, &out.SelfLinkWithID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyObservation. +func (in *FirewallPolicyObservation) DeepCopy() *FirewallPolicyObservation { + if in == nil { + return nil + } + out := new(FirewallPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallPolicyParameters) DeepCopyInto(out *FirewallPolicyParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.ShortName != nil { + in, out := &in.ShortName, &out.ShortName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyParameters. +func (in *FirewallPolicyParameters) DeepCopy() *FirewallPolicyParameters { + if in == nil { + return nil + } + out := new(FirewallPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallPolicyRule) DeepCopyInto(out *FirewallPolicyRule) { + *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 FirewallPolicyRule. +func (in *FirewallPolicyRule) DeepCopy() *FirewallPolicyRule { + if in == nil { + return nil + } + out := new(FirewallPolicyRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FirewallPolicyRule) 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 *FirewallPolicyRuleList) DeepCopyInto(out *FirewallPolicyRuleList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FirewallPolicyRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyRuleList. +func (in *FirewallPolicyRuleList) DeepCopy() *FirewallPolicyRuleList { + if in == nil { + return nil + } + out := new(FirewallPolicyRuleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FirewallPolicyRuleList) 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 *FirewallPolicyRuleObservation) DeepCopyInto(out *FirewallPolicyRuleObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } + if in.RuleTupleCount != nil { + in, out := &in.RuleTupleCount, &out.RuleTupleCount + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyRuleObservation. +func (in *FirewallPolicyRuleObservation) DeepCopy() *FirewallPolicyRuleObservation { + if in == nil { + return nil + } + out := new(FirewallPolicyRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallPolicyRuleParameters) DeepCopyInto(out *FirewallPolicyRuleParameters) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Direction != nil { + in, out := &in.Direction, &out.Direction + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.EnableLogging != nil { + in, out := &in.EnableLogging, &out.EnableLogging + *out = new(bool) + **out = **in + } + if in.FirewallPolicy != nil { + in, out := &in.FirewallPolicy, &out.FirewallPolicy + *out = new(string) + **out = **in + } + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]MatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(int64) + **out = **in + } + if in.TargetResources != nil { + in, out := &in.TargetResources, &out.TargetResources + *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.TargetServiceAccounts != nil { + in, out := &in.TargetServiceAccounts, &out.TargetServiceAccounts + *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 FirewallPolicyRuleParameters. +func (in *FirewallPolicyRuleParameters) DeepCopy() *FirewallPolicyRuleParameters { + if in == nil { + return nil + } + out := new(FirewallPolicyRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallPolicyRuleSpec) DeepCopyInto(out *FirewallPolicyRuleSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyRuleSpec. +func (in *FirewallPolicyRuleSpec) DeepCopy() *FirewallPolicyRuleSpec { + if in == nil { + return nil + } + out := new(FirewallPolicyRuleSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallPolicyRuleStatus) DeepCopyInto(out *FirewallPolicyRuleStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyRuleStatus. +func (in *FirewallPolicyRuleStatus) DeepCopy() *FirewallPolicyRuleStatus { + if in == nil { + return nil + } + out := new(FirewallPolicyRuleStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallPolicySpec) DeepCopyInto(out *FirewallPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicySpec. +func (in *FirewallPolicySpec) DeepCopy() *FirewallPolicySpec { + if in == nil { + return nil + } + out := new(FirewallPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallPolicyStatus) DeepCopyInto(out *FirewallPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallPolicyStatus. +func (in *FirewallPolicyStatus) DeepCopy() *FirewallPolicyStatus { + if in == nil { + return nil + } + out := new(FirewallPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FixedDelayObservation) DeepCopyInto(out *FixedDelayObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FixedDelayObservation. +func (in *FixedDelayObservation) DeepCopy() *FixedDelayObservation { + if in == nil { + return nil + } + out := new(FixedDelayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FixedDelayParameters) DeepCopyInto(out *FixedDelayParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FixedDelayParameters. +func (in *FixedDelayParameters) DeepCopy() *FixedDelayParameters { + if in == nil { + return nil + } + out := new(FixedDelayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ForwardingRule) DeepCopyInto(out *ForwardingRule) { + *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 ForwardingRule. +func (in *ForwardingRule) DeepCopy() *ForwardingRule { + if in == nil { + return nil + } + out := new(ForwardingRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ForwardingRule) 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 *ForwardingRuleList) DeepCopyInto(out *ForwardingRuleList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ForwardingRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRuleList. +func (in *ForwardingRuleList) DeepCopy() *ForwardingRuleList { + if in == nil { + return nil + } + out := new(ForwardingRuleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ForwardingRuleList) 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 *ForwardingRuleObservation) DeepCopyInto(out *ForwardingRuleObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LabelFingerprint != nil { + in, out := &in.LabelFingerprint, &out.LabelFingerprint + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRuleObservation. +func (in *ForwardingRuleObservation) DeepCopy() *ForwardingRuleObservation { + if in == nil { + return nil + } + out := new(ForwardingRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ForwardingRuleParameters) DeepCopyInto(out *ForwardingRuleParameters) { + *out = *in + if in.AllPorts != nil { + in, out := &in.AllPorts, &out.AllPorts + *out = new(bool) + **out = **in + } + if in.AllowGlobalAccess != nil { + in, out := &in.AllowGlobalAccess, &out.AllowGlobalAccess + *out = new(bool) + **out = **in + } + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + 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 + *out = new(string) + **out = **in + } + if in.IPProtocol != nil { + in, out := &in.IPProtocol, &out.IPProtocol + *out = new(string) + **out = **in + } + if in.IsMirroringCollector != nil { + in, out := &in.IsMirroringCollector, &out.IsMirroringCollector + *out = new(bool) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.LoadBalancingScheme != nil { + in, out := &in.LoadBalancingScheme, &out.LoadBalancingScheme + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkTier != nil { + in, out := &in.NetworkTier, &out.NetworkTier + *out = new(string) + **out = **in + } + if in.PortRange != nil { + in, out := &in.PortRange, &out.PortRange + *out = new(string) + **out = **in + } + if in.Ports != nil { + in, out := &in.Ports, &out.Ports + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.ServiceLabel != nil { + in, out := &in.ServiceLabel, &out.ServiceLabel + *out = new(string) + **out = **in + } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRuleParameters. +func (in *ForwardingRuleParameters) DeepCopy() *ForwardingRuleParameters { + if in == nil { + return nil + } + out := new(ForwardingRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ForwardingRuleSpec) DeepCopyInto(out *ForwardingRuleSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRuleSpec. +func (in *ForwardingRuleSpec) DeepCopy() *ForwardingRuleSpec { + if in == nil { + return nil + } + out := new(ForwardingRuleSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ForwardingRuleStatus) DeepCopyInto(out *ForwardingRuleStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingRuleStatus. +func (in *ForwardingRuleStatus) DeepCopy() *ForwardingRuleStatus { + if in == nil { + return nil + } + out := new(ForwardingRuleStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GRPCHealthCheckObservation) DeepCopyInto(out *GRPCHealthCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCHealthCheckObservation. +func (in *GRPCHealthCheckObservation) DeepCopy() *GRPCHealthCheckObservation { + if in == nil { + return nil + } + out := new(GRPCHealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GRPCHealthCheckParameters) DeepCopyInto(out *GRPCHealthCheckParameters) { + *out = *in + if in.GRPCServiceName != nil { + in, out := &in.GRPCServiceName, &out.GRPCServiceName + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.PortName != nil { + in, out := &in.PortName, &out.PortName + *out = new(string) + **out = **in + } + if in.PortSpecification != nil { + in, out := &in.PortSpecification, &out.PortSpecification + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCHealthCheckParameters. +func (in *GRPCHealthCheckParameters) DeepCopy() *GRPCHealthCheckParameters { + if in == nil { + return nil + } + out := new(GRPCHealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalAddress) DeepCopyInto(out *GlobalAddress) { + *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 GlobalAddress. +func (in *GlobalAddress) DeepCopy() *GlobalAddress { + if in == nil { + return nil + } + out := new(GlobalAddress) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GlobalAddress) 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 *GlobalAddressList) DeepCopyInto(out *GlobalAddressList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GlobalAddress, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalAddressList. +func (in *GlobalAddressList) DeepCopy() *GlobalAddressList { + if in == nil { + return nil + } + out := new(GlobalAddressList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GlobalAddressList) 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 *GlobalAddressObservation) DeepCopyInto(out *GlobalAddressObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalAddressObservation. +func (in *GlobalAddressObservation) DeepCopy() *GlobalAddressObservation { + if in == nil { + return nil + } + out := new(GlobalAddressObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalAddressParameters) DeepCopyInto(out *GlobalAddressParameters) { + *out = *in + if in.Address != nil { + in, out := &in.Address, &out.Address + *out = new(string) + **out = **in + } + if in.AddressType != nil { + in, out := &in.AddressType, &out.AddressType + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.IPVersion != nil { + in, out := &in.IPVersion, &out.IPVersion + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.PrefixLength != nil { + in, out := &in.PrefixLength, &out.PrefixLength + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Purpose != nil { + in, out := &in.Purpose, &out.Purpose + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalAddressParameters. +func (in *GlobalAddressParameters) DeepCopy() *GlobalAddressParameters { + if in == nil { + return nil + } + out := new(GlobalAddressParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalAddressSpec) DeepCopyInto(out *GlobalAddressSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalAddressSpec. +func (in *GlobalAddressSpec) DeepCopy() *GlobalAddressSpec { + if in == nil { + return nil + } + out := new(GlobalAddressSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalAddressStatus) DeepCopyInto(out *GlobalAddressStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalAddressStatus. +func (in *GlobalAddressStatus) DeepCopy() *GlobalAddressStatus { + if in == nil { + return nil + } + out := new(GlobalAddressStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalForwardingRule) DeepCopyInto(out *GlobalForwardingRule) { + *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 GlobalForwardingRule. +func (in *GlobalForwardingRule) DeepCopy() *GlobalForwardingRule { + if in == nil { + return nil + } + out := new(GlobalForwardingRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GlobalForwardingRule) 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 *GlobalForwardingRuleList) DeepCopyInto(out *GlobalForwardingRuleList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GlobalForwardingRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleList. +func (in *GlobalForwardingRuleList) DeepCopy() *GlobalForwardingRuleList { + if in == nil { + return nil + } + out := new(GlobalForwardingRuleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GlobalForwardingRuleList) 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 *GlobalForwardingRuleObservation) DeepCopyInto(out *GlobalForwardingRuleObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LabelFingerprint != nil { + in, out := &in.LabelFingerprint, &out.LabelFingerprint + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleObservation. +func (in *GlobalForwardingRuleObservation) DeepCopy() *GlobalForwardingRuleObservation { + if in == nil { + return nil + } + out := new(GlobalForwardingRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalForwardingRuleParameters) DeepCopyInto(out *GlobalForwardingRuleParameters) { + *out = *in + 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 + *out = new(string) + **out = **in + } + if in.IPProtocol != nil { + in, out := &in.IPProtocol, &out.IPProtocol + *out = new(string) + **out = **in + } + if in.IPVersion != nil { + in, out := &in.IPVersion, &out.IPVersion + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.LoadBalancingScheme != nil { + in, out := &in.LoadBalancingScheme, &out.LoadBalancingScheme + *out = new(string) + **out = **in + } + if in.MetadataFilters != nil { + in, out := &in.MetadataFilters, &out.MetadataFilters + *out = make([]MetadataFiltersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.PortRange != nil { + in, out := &in.PortRange, &out.PortRange + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleParameters. +func (in *GlobalForwardingRuleParameters) DeepCopy() *GlobalForwardingRuleParameters { + if in == nil { + return nil + } + out := new(GlobalForwardingRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalForwardingRuleSpec) DeepCopyInto(out *GlobalForwardingRuleSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleSpec. +func (in *GlobalForwardingRuleSpec) DeepCopy() *GlobalForwardingRuleSpec { + if in == nil { + return nil + } + out := new(GlobalForwardingRuleSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalForwardingRuleStatus) DeepCopyInto(out *GlobalForwardingRuleStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalForwardingRuleStatus. +func (in *GlobalForwardingRuleStatus) DeepCopy() *GlobalForwardingRuleStatus { + if in == nil { + return nil + } + out := new(GlobalForwardingRuleStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalNetworkEndpoint) DeepCopyInto(out *GlobalNetworkEndpoint) { + *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 GlobalNetworkEndpoint. +func (in *GlobalNetworkEndpoint) DeepCopy() *GlobalNetworkEndpoint { + if in == nil { + return nil + } + out := new(GlobalNetworkEndpoint) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GlobalNetworkEndpoint) 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 *GlobalNetworkEndpointGroup) DeepCopyInto(out *GlobalNetworkEndpointGroup) { + *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 GlobalNetworkEndpointGroup. +func (in *GlobalNetworkEndpointGroup) DeepCopy() *GlobalNetworkEndpointGroup { + if in == nil { + return nil + } + out := new(GlobalNetworkEndpointGroup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GlobalNetworkEndpointGroup) 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 *GlobalNetworkEndpointGroupList) DeepCopyInto(out *GlobalNetworkEndpointGroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GlobalNetworkEndpointGroup, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalNetworkEndpointGroupList. +func (in *GlobalNetworkEndpointGroupList) DeepCopy() *GlobalNetworkEndpointGroupList { + if in == nil { + return nil + } + out := new(GlobalNetworkEndpointGroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GlobalNetworkEndpointGroupList) 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 *GlobalNetworkEndpointGroupObservation) DeepCopyInto(out *GlobalNetworkEndpointGroupObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalNetworkEndpointGroupObservation. +func (in *GlobalNetworkEndpointGroupObservation) DeepCopy() *GlobalNetworkEndpointGroupObservation { + if in == nil { + return nil + } + out := new(GlobalNetworkEndpointGroupObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalNetworkEndpointGroupParameters) DeepCopyInto(out *GlobalNetworkEndpointGroupParameters) { + *out = *in + if in.DefaultPort != nil { + in, out := &in.DefaultPort, &out.DefaultPort + *out = new(int64) + **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.NetworkEndpointType != nil { + in, out := &in.NetworkEndpointType, &out.NetworkEndpointType + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalNetworkEndpointGroupParameters. +func (in *GlobalNetworkEndpointGroupParameters) DeepCopy() *GlobalNetworkEndpointGroupParameters { + if in == nil { + return nil + } + out := new(GlobalNetworkEndpointGroupParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalNetworkEndpointGroupSpec) DeepCopyInto(out *GlobalNetworkEndpointGroupSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalNetworkEndpointGroupSpec. +func (in *GlobalNetworkEndpointGroupSpec) DeepCopy() *GlobalNetworkEndpointGroupSpec { + if in == nil { + return nil + } + out := new(GlobalNetworkEndpointGroupSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalNetworkEndpointGroupStatus) DeepCopyInto(out *GlobalNetworkEndpointGroupStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalNetworkEndpointGroupStatus. +func (in *GlobalNetworkEndpointGroupStatus) DeepCopy() *GlobalNetworkEndpointGroupStatus { + if in == nil { + return nil + } + out := new(GlobalNetworkEndpointGroupStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalNetworkEndpointList) DeepCopyInto(out *GlobalNetworkEndpointList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GlobalNetworkEndpoint, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalNetworkEndpointList. +func (in *GlobalNetworkEndpointList) DeepCopy() *GlobalNetworkEndpointList { + if in == nil { + return nil + } + out := new(GlobalNetworkEndpointList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GlobalNetworkEndpointList) 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 *GlobalNetworkEndpointObservation) DeepCopyInto(out *GlobalNetworkEndpointObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalNetworkEndpointObservation. +func (in *GlobalNetworkEndpointObservation) DeepCopy() *GlobalNetworkEndpointObservation { + if in == nil { + return nil + } + out := new(GlobalNetworkEndpointObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalNetworkEndpointParameters) DeepCopyInto(out *GlobalNetworkEndpointParameters) { + *out = *in + if in.Fqdn != nil { + in, out := &in.Fqdn, &out.Fqdn + *out = new(string) + **out = **in + } + if in.GlobalNetworkEndpointGroup != nil { + in, out := &in.GlobalNetworkEndpointGroup, &out.GlobalNetworkEndpointGroup + *out = new(string) + **out = **in + } + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalNetworkEndpointParameters. +func (in *GlobalNetworkEndpointParameters) DeepCopy() *GlobalNetworkEndpointParameters { + if in == nil { + return nil + } + out := new(GlobalNetworkEndpointParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalNetworkEndpointSpec) DeepCopyInto(out *GlobalNetworkEndpointSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalNetworkEndpointSpec. +func (in *GlobalNetworkEndpointSpec) DeepCopy() *GlobalNetworkEndpointSpec { + if in == nil { + return nil + } + out := new(GlobalNetworkEndpointSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GlobalNetworkEndpointStatus) DeepCopyInto(out *GlobalNetworkEndpointStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalNetworkEndpointStatus. +func (in *GlobalNetworkEndpointStatus) DeepCopy() *GlobalNetworkEndpointStatus { + if in == nil { + return nil + } + out := new(GlobalNetworkEndpointStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupPlacementPolicyObservation) DeepCopyInto(out *GroupPlacementPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupPlacementPolicyObservation. +func (in *GroupPlacementPolicyObservation) DeepCopy() *GroupPlacementPolicyObservation { + if in == nil { + return nil + } + out := new(GroupPlacementPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupPlacementPolicyParameters) DeepCopyInto(out *GroupPlacementPolicyParameters) { + *out = *in + if in.AvailabilityDomainCount != nil { + in, out := &in.AvailabilityDomainCount, &out.AvailabilityDomainCount + *out = new(int64) + **out = **in + } + if in.Collocation != nil { + in, out := &in.Collocation, &out.Collocation + *out = new(string) + **out = **in + } + if in.VMCount != nil { + in, out := &in.VMCount, &out.VMCount + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupPlacementPolicyParameters. +func (in *GroupPlacementPolicyParameters) DeepCopy() *GroupPlacementPolicyParameters { + if in == nil { + return nil + } + out := new(GroupPlacementPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GuestAcceleratorsObservation) DeepCopyInto(out *GuestAcceleratorsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestAcceleratorsObservation. +func (in *GuestAcceleratorsObservation) DeepCopy() *GuestAcceleratorsObservation { + if in == nil { + return nil + } + out := new(GuestAcceleratorsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GuestAcceleratorsParameters) DeepCopyInto(out *GuestAcceleratorsParameters) { + *out = *in + if in.AcceleratorCount != nil { + in, out := &in.AcceleratorCount, &out.AcceleratorCount + *out = new(int64) + **out = **in + } + if in.AcceleratorType != nil { + in, out := &in.AcceleratorType, &out.AcceleratorType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestAcceleratorsParameters. +func (in *GuestAcceleratorsParameters) DeepCopy() *GuestAcceleratorsParameters { + if in == nil { + return nil + } + out := new(GuestAcceleratorsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GuestOsFeaturesObservation) DeepCopyInto(out *GuestOsFeaturesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestOsFeaturesObservation. +func (in *GuestOsFeaturesObservation) DeepCopy() *GuestOsFeaturesObservation { + if in == nil { + return nil + } + out := new(GuestOsFeaturesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GuestOsFeaturesParameters) DeepCopyInto(out *GuestOsFeaturesParameters) { + *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 GuestOsFeaturesParameters. +func (in *GuestOsFeaturesParameters) DeepCopy() *GuestOsFeaturesParameters { + if in == nil { + return nil + } + out := new(GuestOsFeaturesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPCookieObservation) DeepCopyInto(out *HTTPCookieObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPCookieObservation. +func (in *HTTPCookieObservation) DeepCopy() *HTTPCookieObservation { + if in == nil { + return nil + } + out := new(HTTPCookieObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPCookieParameters) DeepCopyInto(out *HTTPCookieParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.TTL != nil { + in, out := &in.TTL, &out.TTL + *out = make([]TTLParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPCookieParameters. +func (in *HTTPCookieParameters) DeepCopy() *HTTPCookieParameters { + if in == nil { + return nil + } + out := new(HTTPCookieParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPCookieTTLObservation) DeepCopyInto(out *HTTPCookieTTLObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPCookieTTLObservation. +func (in *HTTPCookieTTLObservation) DeepCopy() *HTTPCookieTTLObservation { + if in == nil { + return nil + } + out := new(HTTPCookieTTLObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPCookieTTLParameters) DeepCopyInto(out *HTTPCookieTTLParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPCookieTTLParameters. +func (in *HTTPCookieTTLParameters) DeepCopy() *HTTPCookieTTLParameters { + if in == nil { + return nil + } + out := new(HTTPCookieTTLParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPHealthCheck) DeepCopyInto(out *HTTPHealthCheck) { + *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 HTTPHealthCheck. +func (in *HTTPHealthCheck) DeepCopy() *HTTPHealthCheck { + if in == nil { + return nil + } + out := new(HTTPHealthCheck) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HTTPHealthCheck) 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 *HTTPHealthCheckList) DeepCopyInto(out *HTTPHealthCheckList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HTTPHealthCheck, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheckList. +func (in *HTTPHealthCheckList) DeepCopy() *HTTPHealthCheckList { + if in == nil { + return nil + } + out := new(HTTPHealthCheckList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HTTPHealthCheckList) 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 *HTTPHealthCheckObservation) DeepCopyInto(out *HTTPHealthCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheckObservation. +func (in *HTTPHealthCheckObservation) DeepCopy() *HTTPHealthCheckObservation { + if in == nil { + return nil + } + out := new(HTTPHealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPHealthCheckObservation_2) DeepCopyInto(out *HTTPHealthCheckObservation_2) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheckObservation_2. +func (in *HTTPHealthCheckObservation_2) DeepCopy() *HTTPHealthCheckObservation_2 { + if in == nil { + return nil + } + out := new(HTTPHealthCheckObservation_2) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPHealthCheckParameters) DeepCopyInto(out *HTTPHealthCheckParameters) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.PortName != nil { + in, out := &in.PortName, &out.PortName + *out = new(string) + **out = **in + } + if in.PortSpecification != nil { + in, out := &in.PortSpecification, &out.PortSpecification + *out = new(string) + **out = **in + } + if in.ProxyHeader != nil { + in, out := &in.ProxyHeader, &out.ProxyHeader + *out = new(string) + **out = **in + } + if in.RequestPath != nil { + in, out := &in.RequestPath, &out.RequestPath + *out = new(string) + **out = **in + } + if in.Response != nil { + in, out := &in.Response, &out.Response + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheckParameters. +func (in *HTTPHealthCheckParameters) DeepCopy() *HTTPHealthCheckParameters { + if in == nil { + return nil + } + out := new(HTTPHealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPHealthCheckParameters_2) DeepCopyInto(out *HTTPHealthCheckParameters_2) { + *out = *in + if in.CheckIntervalSec != nil { + in, out := &in.CheckIntervalSec, &out.CheckIntervalSec + *out = new(int64) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.HealthyThreshold != nil { + in, out := &in.HealthyThreshold, &out.HealthyThreshold + *out = new(int64) + **out = **in + } + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RequestPath != nil { + in, out := &in.RequestPath, &out.RequestPath + *out = new(string) + **out = **in + } + if in.TimeoutSec != nil { + in, out := &in.TimeoutSec, &out.TimeoutSec + *out = new(int64) + **out = **in + } + if in.UnhealthyThreshold != nil { + in, out := &in.UnhealthyThreshold, &out.UnhealthyThreshold + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheckParameters_2. +func (in *HTTPHealthCheckParameters_2) DeepCopy() *HTTPHealthCheckParameters_2 { + if in == nil { + return nil + } + out := new(HTTPHealthCheckParameters_2) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPHealthCheckSpec) DeepCopyInto(out *HTTPHealthCheckSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheckSpec. +func (in *HTTPHealthCheckSpec) DeepCopy() *HTTPHealthCheckSpec { + if in == nil { + return nil + } + out := new(HTTPHealthCheckSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPHealthCheckStatus) DeepCopyInto(out *HTTPHealthCheckStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheckStatus. +func (in *HTTPHealthCheckStatus) DeepCopy() *HTTPHealthCheckStatus { + if in == nil { + return nil + } + out := new(HTTPHealthCheckStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPSHealthCheck) DeepCopyInto(out *HTTPSHealthCheck) { + *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 HTTPSHealthCheck. +func (in *HTTPSHealthCheck) DeepCopy() *HTTPSHealthCheck { + if in == nil { + return nil + } + out := new(HTTPSHealthCheck) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HTTPSHealthCheck) 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 *HTTPSHealthCheckList) DeepCopyInto(out *HTTPSHealthCheckList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HTTPSHealthCheck, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSHealthCheckList. +func (in *HTTPSHealthCheckList) DeepCopy() *HTTPSHealthCheckList { + if in == nil { + return nil + } + out := new(HTTPSHealthCheckList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HTTPSHealthCheckList) 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 *HTTPSHealthCheckObservation) DeepCopyInto(out *HTTPSHealthCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSHealthCheckObservation. +func (in *HTTPSHealthCheckObservation) DeepCopy() *HTTPSHealthCheckObservation { + if in == nil { + return nil + } + out := new(HTTPSHealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPSHealthCheckObservation_2) DeepCopyInto(out *HTTPSHealthCheckObservation_2) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSHealthCheckObservation_2. +func (in *HTTPSHealthCheckObservation_2) DeepCopy() *HTTPSHealthCheckObservation_2 { + if in == nil { + return nil + } + out := new(HTTPSHealthCheckObservation_2) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPSHealthCheckParameters) DeepCopyInto(out *HTTPSHealthCheckParameters) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.PortName != nil { + in, out := &in.PortName, &out.PortName + *out = new(string) + **out = **in + } + if in.PortSpecification != nil { + in, out := &in.PortSpecification, &out.PortSpecification + *out = new(string) + **out = **in + } + if in.ProxyHeader != nil { + in, out := &in.ProxyHeader, &out.ProxyHeader + *out = new(string) + **out = **in + } + if in.RequestPath != nil { + in, out := &in.RequestPath, &out.RequestPath + *out = new(string) + **out = **in + } + if in.Response != nil { + in, out := &in.Response, &out.Response + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSHealthCheckParameters. +func (in *HTTPSHealthCheckParameters) DeepCopy() *HTTPSHealthCheckParameters { + if in == nil { + return nil + } + out := new(HTTPSHealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPSHealthCheckParameters_2) DeepCopyInto(out *HTTPSHealthCheckParameters_2) { + *out = *in + if in.CheckIntervalSec != nil { + in, out := &in.CheckIntervalSec, &out.CheckIntervalSec + *out = new(int64) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.HealthyThreshold != nil { + in, out := &in.HealthyThreshold, &out.HealthyThreshold + *out = new(int64) + **out = **in + } + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RequestPath != nil { + in, out := &in.RequestPath, &out.RequestPath + *out = new(string) + **out = **in + } + if in.TimeoutSec != nil { + in, out := &in.TimeoutSec, &out.TimeoutSec + *out = new(int64) + **out = **in + } + if in.UnhealthyThreshold != nil { + in, out := &in.UnhealthyThreshold, &out.UnhealthyThreshold + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSHealthCheckParameters_2. +func (in *HTTPSHealthCheckParameters_2) DeepCopy() *HTTPSHealthCheckParameters_2 { + if in == nil { + return nil + } + out := new(HTTPSHealthCheckParameters_2) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPSHealthCheckSpec) DeepCopyInto(out *HTTPSHealthCheckSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSHealthCheckSpec. +func (in *HTTPSHealthCheckSpec) DeepCopy() *HTTPSHealthCheckSpec { + if in == nil { + return nil + } + out := new(HTTPSHealthCheckSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPSHealthCheckStatus) DeepCopyInto(out *HTTPSHealthCheckStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPSHealthCheckStatus. +func (in *HTTPSHealthCheckStatus) DeepCopy() *HTTPSHealthCheckStatus { + if in == nil { + return nil + } + out := new(HTTPSHealthCheckStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HaVPNGateway) DeepCopyInto(out *HaVPNGateway) { + *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 HaVPNGateway. +func (in *HaVPNGateway) DeepCopy() *HaVPNGateway { + if in == nil { + return nil + } + out := new(HaVPNGateway) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HaVPNGateway) 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 *HaVPNGatewayList) DeepCopyInto(out *HaVPNGatewayList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HaVPNGateway, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HaVPNGatewayList. +func (in *HaVPNGatewayList) DeepCopy() *HaVPNGatewayList { + if in == nil { + return nil + } + out := new(HaVPNGatewayList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HaVPNGatewayList) 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 *HaVPNGatewayObservation) DeepCopyInto(out *HaVPNGatewayObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HaVPNGatewayObservation. +func (in *HaVPNGatewayObservation) DeepCopy() *HaVPNGatewayObservation { + if in == nil { + return nil + } + out := new(HaVPNGatewayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HaVPNGatewayParameters) DeepCopyInto(out *HaVPNGatewayParameters) { + *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.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.VPNInterfaces != nil { + in, out := &in.VPNInterfaces, &out.VPNInterfaces + *out = make([]VPNInterfacesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HaVPNGatewayParameters. +func (in *HaVPNGatewayParameters) DeepCopy() *HaVPNGatewayParameters { + if in == nil { + return nil + } + out := new(HaVPNGatewayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HaVPNGatewaySpec) DeepCopyInto(out *HaVPNGatewaySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HaVPNGatewaySpec. +func (in *HaVPNGatewaySpec) DeepCopy() *HaVPNGatewaySpec { + if in == nil { + return nil + } + out := new(HaVPNGatewaySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HaVPNGatewayStatus) DeepCopyInto(out *HaVPNGatewayStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HaVPNGatewayStatus. +func (in *HaVPNGatewayStatus) DeepCopy() *HaVPNGatewayStatus { + if in == nil { + return nil + } + out := new(HaVPNGatewayStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderActionObservation) DeepCopyInto(out *HeaderActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionObservation. +func (in *HeaderActionObservation) DeepCopy() *HeaderActionObservation { + if in == nil { + return nil + } + out := new(HeaderActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderActionParameters) DeepCopyInto(out *HeaderActionParameters) { + *out = *in + if in.RequestHeadersToAdd != nil { + in, out := &in.RequestHeadersToAdd, &out.RequestHeadersToAdd + *out = make([]RequestHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestHeadersToRemove != nil { + in, out := &in.RequestHeadersToRemove, &out.RequestHeadersToRemove + *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.ResponseHeadersToAdd != nil { + in, out := &in.ResponseHeadersToAdd, &out.ResponseHeadersToAdd + *out = make([]ResponseHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResponseHeadersToRemove != nil { + in, out := &in.ResponseHeadersToRemove, &out.ResponseHeadersToRemove + *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 HeaderActionParameters. +func (in *HeaderActionParameters) DeepCopy() *HeaderActionParameters { + if in == nil { + return nil + } + out := new(HeaderActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderActionRequestHeadersToAddObservation) DeepCopyInto(out *HeaderActionRequestHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionRequestHeadersToAddObservation. +func (in *HeaderActionRequestHeadersToAddObservation) DeepCopy() *HeaderActionRequestHeadersToAddObservation { + if in == nil { + return nil + } + out := new(HeaderActionRequestHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderActionRequestHeadersToAddParameters) DeepCopyInto(out *HeaderActionRequestHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionRequestHeadersToAddParameters. +func (in *HeaderActionRequestHeadersToAddParameters) DeepCopy() *HeaderActionRequestHeadersToAddParameters { + if in == nil { + return nil + } + out := new(HeaderActionRequestHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderActionResponseHeadersToAddObservation) DeepCopyInto(out *HeaderActionResponseHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionResponseHeadersToAddObservation. +func (in *HeaderActionResponseHeadersToAddObservation) DeepCopy() *HeaderActionResponseHeadersToAddObservation { + if in == nil { + return nil + } + out := new(HeaderActionResponseHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderActionResponseHeadersToAddParameters) DeepCopyInto(out *HeaderActionResponseHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionResponseHeadersToAddParameters. +func (in *HeaderActionResponseHeadersToAddParameters) DeepCopy() *HeaderActionResponseHeadersToAddParameters { + if in == nil { + return nil + } + out := new(HeaderActionResponseHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderMatchesObservation) DeepCopyInto(out *HeaderMatchesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchesObservation. +func (in *HeaderMatchesObservation) DeepCopy() *HeaderMatchesObservation { + if in == nil { + return nil + } + out := new(HeaderMatchesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderMatchesParameters) DeepCopyInto(out *HeaderMatchesParameters) { + *out = *in + if in.ExactMatch != nil { + in, out := &in.ExactMatch, &out.ExactMatch + *out = new(string) + **out = **in + } + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.InvertMatch != nil { + in, out := &in.InvertMatch, &out.InvertMatch + *out = new(bool) + **out = **in + } + if in.PrefixMatch != nil { + in, out := &in.PrefixMatch, &out.PrefixMatch + *out = new(string) + **out = **in + } + if in.PresentMatch != nil { + in, out := &in.PresentMatch, &out.PresentMatch + *out = new(bool) + **out = **in + } + if in.RangeMatch != nil { + in, out := &in.RangeMatch, &out.RangeMatch + *out = make([]RangeMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RegexMatch != nil { + in, out := &in.RegexMatch, &out.RegexMatch + *out = new(string) + **out = **in + } + if in.SuffixMatch != nil { + in, out := &in.SuffixMatch, &out.SuffixMatch + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchesParameters. +func (in *HeaderMatchesParameters) DeepCopy() *HeaderMatchesParameters { + if in == nil { + return nil + } + out := new(HeaderMatchesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderMatchesRangeMatchObservation) DeepCopyInto(out *HeaderMatchesRangeMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchesRangeMatchObservation. +func (in *HeaderMatchesRangeMatchObservation) DeepCopy() *HeaderMatchesRangeMatchObservation { + if in == nil { + return nil + } + out := new(HeaderMatchesRangeMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderMatchesRangeMatchParameters) DeepCopyInto(out *HeaderMatchesRangeMatchParameters) { + *out = *in + if in.RangeEnd != nil { + in, out := &in.RangeEnd, &out.RangeEnd + *out = new(int64) + **out = **in + } + if in.RangeStart != nil { + in, out := &in.RangeStart, &out.RangeStart + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchesRangeMatchParameters. +func (in *HeaderMatchesRangeMatchParameters) DeepCopy() *HeaderMatchesRangeMatchParameters { + if in == nil { + return nil + } + out := new(HeaderMatchesRangeMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HealthCheck) DeepCopyInto(out *HealthCheck) { + *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 HealthCheck. +func (in *HealthCheck) DeepCopy() *HealthCheck { + if in == nil { + return nil + } + out := new(HealthCheck) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HealthCheck) 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 *HealthCheckList) DeepCopyInto(out *HealthCheckList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HealthCheck, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckList. +func (in *HealthCheckList) DeepCopy() *HealthCheckList { + if in == nil { + return nil + } + out := new(HealthCheckList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HealthCheckList) 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 *HealthCheckLogConfigObservation) DeepCopyInto(out *HealthCheckLogConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckLogConfigObservation. +func (in *HealthCheckLogConfigObservation) DeepCopy() *HealthCheckLogConfigObservation { + if in == nil { + return nil + } + out := new(HealthCheckLogConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HealthCheckLogConfigParameters) DeepCopyInto(out *HealthCheckLogConfigParameters) { + *out = *in + if in.Enable != nil { + in, out := &in.Enable, &out.Enable + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckLogConfigParameters. +func (in *HealthCheckLogConfigParameters) DeepCopy() *HealthCheckLogConfigParameters { + if in == nil { + return nil + } + out := new(HealthCheckLogConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HealthCheckObservation) DeepCopyInto(out *HealthCheckObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **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 HealthCheckObservation. +func (in *HealthCheckObservation) DeepCopy() *HealthCheckObservation { + if in == nil { + return nil + } + out := new(HealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HealthCheckParameters) DeepCopyInto(out *HealthCheckParameters) { + *out = *in + if in.CheckIntervalSec != nil { + in, out := &in.CheckIntervalSec, &out.CheckIntervalSec + *out = new(int64) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.GRPCHealthCheck != nil { + in, out := &in.GRPCHealthCheck, &out.GRPCHealthCheck + *out = make([]GRPCHealthCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HTTPHealthCheck != nil { + in, out := &in.HTTPHealthCheck, &out.HTTPHealthCheck + *out = make([]HTTPHealthCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HTTPSHealthCheck != nil { + in, out := &in.HTTPSHealthCheck, &out.HTTPSHealthCheck + *out = make([]HTTPSHealthCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HealthyThreshold != nil { + in, out := &in.HealthyThreshold, &out.HealthyThreshold + *out = new(int64) + **out = **in + } + if in.Http2HealthCheck != nil { + in, out := &in.Http2HealthCheck, &out.Http2HealthCheck + *out = make([]Http2HealthCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LogConfig != nil { + in, out := &in.LogConfig, &out.LogConfig + *out = make([]HealthCheckLogConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SSLHealthCheck != nil { + in, out := &in.SSLHealthCheck, &out.SSLHealthCheck + *out = make([]SSLHealthCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TCPHealthCheck != nil { + in, out := &in.TCPHealthCheck, &out.TCPHealthCheck + *out = make([]TCPHealthCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TimeoutSec != nil { + in, out := &in.TimeoutSec, &out.TimeoutSec + *out = new(int64) + **out = **in + } + if in.UnhealthyThreshold != nil { + in, out := &in.UnhealthyThreshold, &out.UnhealthyThreshold + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckParameters. +func (in *HealthCheckParameters) DeepCopy() *HealthCheckParameters { + if in == nil { + return nil + } + out := new(HealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HealthCheckSpec) DeepCopyInto(out *HealthCheckSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckSpec. +func (in *HealthCheckSpec) DeepCopy() *HealthCheckSpec { + if in == nil { + return nil + } + out := new(HealthCheckSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HealthCheckStatus) DeepCopyInto(out *HealthCheckStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckStatus. +func (in *HealthCheckStatus) DeepCopy() *HealthCheckStatus { + if in == nil { + return nil + } + out := new(HealthCheckStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HostRuleObservation) DeepCopyInto(out *HostRuleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostRuleObservation. +func (in *HostRuleObservation) DeepCopy() *HostRuleObservation { + if in == nil { + return nil + } + out := new(HostRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HostRuleParameters) DeepCopyInto(out *HostRuleParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Hosts != nil { + in, out := &in.Hosts, &out.Hosts + *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.PathMatcher != nil { + in, out := &in.PathMatcher, &out.PathMatcher + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostRuleParameters. +func (in *HostRuleParameters) DeepCopy() *HostRuleParameters { + if in == nil { + return nil + } + out := new(HostRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HourlyScheduleObservation) DeepCopyInto(out *HourlyScheduleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HourlyScheduleObservation. +func (in *HourlyScheduleObservation) DeepCopy() *HourlyScheduleObservation { + if in == nil { + return nil + } + out := new(HourlyScheduleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HourlyScheduleParameters) DeepCopyInto(out *HourlyScheduleParameters) { + *out = *in + if in.HoursInCycle != nil { + in, out := &in.HoursInCycle, &out.HoursInCycle + *out = new(int64) + **out = **in + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HourlyScheduleParameters. +func (in *HourlyScheduleParameters) DeepCopy() *HourlyScheduleParameters { + if in == nil { + return nil + } + out := new(HourlyScheduleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2HealthCheckObservation) DeepCopyInto(out *Http2HealthCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2HealthCheckObservation. +func (in *Http2HealthCheckObservation) DeepCopy() *Http2HealthCheckObservation { + if in == nil { + return nil + } + out := new(Http2HealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Http2HealthCheckParameters) DeepCopyInto(out *Http2HealthCheckParameters) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.PortName != nil { + in, out := &in.PortName, &out.PortName + *out = new(string) + **out = **in + } + if in.PortSpecification != nil { + in, out := &in.PortSpecification, &out.PortSpecification + *out = new(string) + **out = **in + } + if in.ProxyHeader != nil { + in, out := &in.ProxyHeader, &out.ProxyHeader + *out = new(string) + **out = **in + } + if in.RequestPath != nil { + in, out := &in.RequestPath, &out.RequestPath + *out = new(string) + **out = **in + } + if in.Response != nil { + in, out := &in.Response, &out.Response + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http2HealthCheckParameters. +func (in *Http2HealthCheckParameters) DeepCopy() *Http2HealthCheckParameters { + if in == nil { + return nil + } + out := new(Http2HealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IapObservation) DeepCopyInto(out *IapObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IapObservation. +func (in *IapObservation) DeepCopy() *IapObservation { + if in == nil { + return nil + } + out := new(IapObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IapParameters) DeepCopyInto(out *IapParameters) { + *out = *in + if in.Oauth2ClientID != nil { + in, out := &in.Oauth2ClientID, &out.Oauth2ClientID + *out = new(string) + **out = **in + } + out.Oauth2ClientSecretSecretRef = in.Oauth2ClientSecretSecretRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IapParameters. +func (in *IapParameters) DeepCopy() *IapParameters { + if in == nil { + return nil + } + out := new(IapParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Image) DeepCopyInto(out *Image) { + *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 Image. +func (in *Image) DeepCopy() *Image { + if in == nil { + return nil + } + out := new(Image) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Image) 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 *ImageIAMBinding) DeepCopyInto(out *ImageIAMBinding) { + *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 ImageIAMBinding. +func (in *ImageIAMBinding) DeepCopy() *ImageIAMBinding { + if in == nil { + return nil + } + out := new(ImageIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageIAMBinding) 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 *ImageIAMBindingConditionObservation) DeepCopyInto(out *ImageIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMBindingConditionObservation. +func (in *ImageIAMBindingConditionObservation) DeepCopy() *ImageIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(ImageIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMBindingConditionParameters) DeepCopyInto(out *ImageIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMBindingConditionParameters. +func (in *ImageIAMBindingConditionParameters) DeepCopy() *ImageIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(ImageIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMBindingList) DeepCopyInto(out *ImageIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ImageIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMBindingList. +func (in *ImageIAMBindingList) DeepCopy() *ImageIAMBindingList { + if in == nil { + return nil + } + out := new(ImageIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageIAMBindingList) 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 *ImageIAMBindingObservation) DeepCopyInto(out *ImageIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMBindingObservation. +func (in *ImageIAMBindingObservation) DeepCopy() *ImageIAMBindingObservation { + if in == nil { + return nil + } + out := new(ImageIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMBindingParameters) DeepCopyInto(out *ImageIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ImageIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMBindingParameters. +func (in *ImageIAMBindingParameters) DeepCopy() *ImageIAMBindingParameters { + if in == nil { + return nil + } + out := new(ImageIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMBindingSpec) DeepCopyInto(out *ImageIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMBindingSpec. +func (in *ImageIAMBindingSpec) DeepCopy() *ImageIAMBindingSpec { + if in == nil { + return nil + } + out := new(ImageIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMBindingStatus) DeepCopyInto(out *ImageIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMBindingStatus. +func (in *ImageIAMBindingStatus) DeepCopy() *ImageIAMBindingStatus { + if in == nil { + return nil + } + out := new(ImageIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMMember) DeepCopyInto(out *ImageIAMMember) { + *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 ImageIAMMember. +func (in *ImageIAMMember) DeepCopy() *ImageIAMMember { + if in == nil { + return nil + } + out := new(ImageIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageIAMMember) 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 *ImageIAMMemberConditionObservation) DeepCopyInto(out *ImageIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberConditionObservation. +func (in *ImageIAMMemberConditionObservation) DeepCopy() *ImageIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(ImageIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMMemberConditionParameters) DeepCopyInto(out *ImageIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberConditionParameters. +func (in *ImageIAMMemberConditionParameters) DeepCopy() *ImageIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(ImageIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMMemberList) DeepCopyInto(out *ImageIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ImageIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberList. +func (in *ImageIAMMemberList) DeepCopy() *ImageIAMMemberList { + if in == nil { + return nil + } + out := new(ImageIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageIAMMemberList) 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 *ImageIAMMemberObservation) DeepCopyInto(out *ImageIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberObservation. +func (in *ImageIAMMemberObservation) DeepCopy() *ImageIAMMemberObservation { + if in == nil { + return nil + } + out := new(ImageIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMMemberParameters) DeepCopyInto(out *ImageIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ImageIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberParameters. +func (in *ImageIAMMemberParameters) DeepCopy() *ImageIAMMemberParameters { + if in == nil { + return nil + } + out := new(ImageIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMMemberSpec) DeepCopyInto(out *ImageIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberSpec. +func (in *ImageIAMMemberSpec) DeepCopy() *ImageIAMMemberSpec { + if in == nil { + return nil + } + out := new(ImageIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMMemberStatus) DeepCopyInto(out *ImageIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMMemberStatus. +func (in *ImageIAMMemberStatus) DeepCopy() *ImageIAMMemberStatus { + if in == nil { + return nil + } + out := new(ImageIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMPolicy) DeepCopyInto(out *ImageIAMPolicy) { + *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 ImageIAMPolicy. +func (in *ImageIAMPolicy) DeepCopy() *ImageIAMPolicy { + if in == nil { + return nil + } + out := new(ImageIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageIAMPolicy) 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 *ImageIAMPolicyList) DeepCopyInto(out *ImageIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ImageIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMPolicyList. +func (in *ImageIAMPolicyList) DeepCopy() *ImageIAMPolicyList { + if in == nil { + return nil + } + out := new(ImageIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageIAMPolicyList) 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 *ImageIAMPolicyObservation) DeepCopyInto(out *ImageIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMPolicyObservation. +func (in *ImageIAMPolicyObservation) DeepCopy() *ImageIAMPolicyObservation { + if in == nil { + return nil + } + out := new(ImageIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMPolicyParameters) DeepCopyInto(out *ImageIAMPolicyParameters) { + *out = *in + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMPolicyParameters. +func (in *ImageIAMPolicyParameters) DeepCopy() *ImageIAMPolicyParameters { + if in == nil { + return nil + } + out := new(ImageIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMPolicySpec) DeepCopyInto(out *ImageIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMPolicySpec. +func (in *ImageIAMPolicySpec) DeepCopy() *ImageIAMPolicySpec { + if in == nil { + return nil + } + out := new(ImageIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageIAMPolicyStatus) DeepCopyInto(out *ImageIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageIAMPolicyStatus. +func (in *ImageIAMPolicyStatus) DeepCopy() *ImageIAMPolicyStatus { + if in == nil { + return nil + } + out := new(ImageIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageList) DeepCopyInto(out *ImageList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Image, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageList. +func (in *ImageList) DeepCopy() *ImageList { + if in == nil { + return nil + } + out := new(ImageList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageList) 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 *ImageObservation) DeepCopyInto(out *ImageObservation) { + *out = *in + if in.ArchiveSizeBytes != nil { + in, out := &in.ArchiveSizeBytes, &out.ArchiveSizeBytes + *out = new(int64) + **out = **in + } + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LabelFingerprint != nil { + in, out := &in.LabelFingerprint, &out.LabelFingerprint + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageObservation. +func (in *ImageObservation) DeepCopy() *ImageObservation { + if in == nil { + return nil + } + out := new(ImageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageParameters) DeepCopyInto(out *ImageParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DiskSizeGb != nil { + in, out := &in.DiskSizeGb, &out.DiskSizeGb + *out = new(int64) + **out = **in + } + if in.Family != nil { + in, out := &in.Family, &out.Family + *out = new(string) + **out = **in + } + if in.GuestOsFeatures != nil { + in, out := &in.GuestOsFeatures, &out.GuestOsFeatures + *out = make([]GuestOsFeaturesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Licenses != nil { + in, out := &in.Licenses, &out.Licenses + *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.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RawDisk != nil { + in, out := &in.RawDisk, &out.RawDisk + *out = make([]RawDiskParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SourceDisk != nil { + in, out := &in.SourceDisk, &out.SourceDisk + *out = new(string) + **out = **in + } + if in.SourceImage != nil { + in, out := &in.SourceImage, &out.SourceImage + *out = new(string) + **out = **in + } + if in.SourceSnapshot != nil { + in, out := &in.SourceSnapshot, &out.SourceSnapshot + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageParameters. +func (in *ImageParameters) DeepCopy() *ImageParameters { + if in == nil { + return nil + } + out := new(ImageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageSpec) DeepCopyInto(out *ImageSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec. +func (in *ImageSpec) DeepCopy() *ImageSpec { + if in == nil { + return nil + } + out := new(ImageSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageStatus) DeepCopyInto(out *ImageStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStatus. +func (in *ImageStatus) DeepCopy() *ImageStatus { + if in == nil { + return nil + } + out := new(ImageStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceGroup) DeepCopyInto(out *InstanceGroup) { + *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 InstanceGroup. +func (in *InstanceGroup) DeepCopy() *InstanceGroup { + if in == nil { + return nil + } + out := new(InstanceGroup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceGroup) 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 *InstanceGroupList) DeepCopyInto(out *InstanceGroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceGroup, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupList. +func (in *InstanceGroupList) DeepCopy() *InstanceGroupList { + if in == nil { + return nil + } + out := new(InstanceGroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceGroupList) 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 *InstanceGroupManager) DeepCopyInto(out *InstanceGroupManager) { + *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 InstanceGroupManager. +func (in *InstanceGroupManager) DeepCopy() *InstanceGroupManager { + if in == nil { + return nil + } + out := new(InstanceGroupManager) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceGroupManager) 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 *InstanceGroupManagerList) DeepCopyInto(out *InstanceGroupManagerList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceGroupManager, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupManagerList. +func (in *InstanceGroupManagerList) DeepCopy() *InstanceGroupManagerList { + if in == nil { + return nil + } + out := new(InstanceGroupManagerList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceGroupManagerList) 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 *InstanceGroupManagerNamedPortObservation) DeepCopyInto(out *InstanceGroupManagerNamedPortObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupManagerNamedPortObservation. +func (in *InstanceGroupManagerNamedPortObservation) DeepCopy() *InstanceGroupManagerNamedPortObservation { + if in == nil { + return nil + } + out := new(InstanceGroupManagerNamedPortObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceGroupManagerNamedPortParameters) DeepCopyInto(out *InstanceGroupManagerNamedPortParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupManagerNamedPortParameters. +func (in *InstanceGroupManagerNamedPortParameters) DeepCopy() *InstanceGroupManagerNamedPortParameters { + if in == nil { + return nil + } + out := new(InstanceGroupManagerNamedPortParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceGroupManagerObservation) DeepCopyInto(out *InstanceGroupManagerObservation) { + *out = *in + if in.Fingerprint != nil { + in, out := &in.Fingerprint, &out.Fingerprint + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.InstanceGroup != nil { + in, out := &in.InstanceGroup, &out.InstanceGroup + *out = new(string) + **out = **in + } + if in.Operation != nil { + in, out := &in.Operation, &out.Operation + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = make([]StatusObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupManagerObservation. +func (in *InstanceGroupManagerObservation) DeepCopy() *InstanceGroupManagerObservation { + if in == nil { + return nil + } + out := new(InstanceGroupManagerObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceGroupManagerParameters) DeepCopyInto(out *InstanceGroupManagerParameters) { + *out = *in + if in.AutoHealingPolicies != nil { + in, out := &in.AutoHealingPolicies, &out.AutoHealingPolicies + *out = make([]AutoHealingPoliciesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BaseInstanceName != nil { + in, out := &in.BaseInstanceName, &out.BaseInstanceName + *out = new(string) + **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.NamedPort != nil { + in, out := &in.NamedPort, &out.NamedPort + *out = make([]InstanceGroupManagerNamedPortParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.StatefulDisk != nil { + in, out := &in.StatefulDisk, &out.StatefulDisk + *out = make([]StatefulDiskParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TargetPools != nil { + in, out := &in.TargetPools, &out.TargetPools + *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.TargetSize != nil { + in, out := &in.TargetSize, &out.TargetSize + *out = new(int64) + **out = **in + } + if in.UpdatePolicy != nil { + in, out := &in.UpdatePolicy, &out.UpdatePolicy + *out = make([]UpdatePolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = make([]VersionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WaitForInstances != nil { + in, out := &in.WaitForInstances, &out.WaitForInstances + *out = new(bool) + **out = **in + } + if in.WaitForInstancesStatus != nil { + in, out := &in.WaitForInstancesStatus, &out.WaitForInstancesStatus + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupManagerParameters. +func (in *InstanceGroupManagerParameters) DeepCopy() *InstanceGroupManagerParameters { + if in == nil { + return nil + } + out := new(InstanceGroupManagerParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceGroupManagerSpec) DeepCopyInto(out *InstanceGroupManagerSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupManagerSpec. +func (in *InstanceGroupManagerSpec) DeepCopy() *InstanceGroupManagerSpec { + if in == nil { + return nil + } + out := new(InstanceGroupManagerSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceGroupManagerStatus) DeepCopyInto(out *InstanceGroupManagerStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupManagerStatus. +func (in *InstanceGroupManagerStatus) DeepCopy() *InstanceGroupManagerStatus { + if in == nil { + return nil + } + out := new(InstanceGroupManagerStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceGroupNamedPort) DeepCopyInto(out *InstanceGroupNamedPort) { + *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 InstanceGroupNamedPort. +func (in *InstanceGroupNamedPort) DeepCopy() *InstanceGroupNamedPort { + if in == nil { + return nil + } + out := new(InstanceGroupNamedPort) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceGroupNamedPort) 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 *InstanceGroupNamedPortList) DeepCopyInto(out *InstanceGroupNamedPortList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceGroupNamedPort, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupNamedPortList. +func (in *InstanceGroupNamedPortList) DeepCopy() *InstanceGroupNamedPortList { + if in == nil { + return nil + } + out := new(InstanceGroupNamedPortList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceGroupNamedPortList) 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 *InstanceGroupNamedPortObservation) DeepCopyInto(out *InstanceGroupNamedPortObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupNamedPortObservation. +func (in *InstanceGroupNamedPortObservation) DeepCopy() *InstanceGroupNamedPortObservation { + if in == nil { + return nil + } + out := new(InstanceGroupNamedPortObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceGroupNamedPortParameters) DeepCopyInto(out *InstanceGroupNamedPortParameters) { + *out = *in + if in.Group != nil { + in, out := &in.Group, &out.Group + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupNamedPortParameters. +func (in *InstanceGroupNamedPortParameters) DeepCopy() *InstanceGroupNamedPortParameters { + if in == nil { + return nil + } + out := new(InstanceGroupNamedPortParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceGroupNamedPortSpec) DeepCopyInto(out *InstanceGroupNamedPortSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupNamedPortSpec. +func (in *InstanceGroupNamedPortSpec) DeepCopy() *InstanceGroupNamedPortSpec { + if in == nil { + return nil + } + out := new(InstanceGroupNamedPortSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceGroupNamedPortStatus) DeepCopyInto(out *InstanceGroupNamedPortStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupNamedPortStatus. +func (in *InstanceGroupNamedPortStatus) DeepCopy() *InstanceGroupNamedPortStatus { + if in == nil { + return nil + } + out := new(InstanceGroupNamedPortStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceGroupObservation) DeepCopyInto(out *InstanceGroupObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.Size != nil { + in, out := &in.Size, &out.Size + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupObservation. +func (in *InstanceGroupObservation) DeepCopy() *InstanceGroupObservation { + if in == nil { + return nil + } + out := new(InstanceGroupObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceGroupParameters) DeepCopyInto(out *InstanceGroupParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Instances != nil { + in, out := &in.Instances, &out.Instances + *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.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NamedPort != nil { + in, out := &in.NamedPort, &out.NamedPort + *out = make([]NamedPortParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupParameters. +func (in *InstanceGroupParameters) DeepCopy() *InstanceGroupParameters { + if in == nil { + return nil + } + out := new(InstanceGroupParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceGroupSpec) DeepCopyInto(out *InstanceGroupSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupSpec. +func (in *InstanceGroupSpec) DeepCopy() *InstanceGroupSpec { + if in == nil { + return nil + } + out := new(InstanceGroupSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceGroupStatus) DeepCopyInto(out *InstanceGroupStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupStatus. +func (in *InstanceGroupStatus) DeepCopy() *InstanceGroupStatus { + if in == nil { + return nil + } + out := new(InstanceGroupStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBinding) DeepCopyInto(out *InstanceIAMBinding) { + *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 InstanceIAMBinding. +func (in *InstanceIAMBinding) DeepCopy() *InstanceIAMBinding { + if in == nil { + return nil + } + out := new(InstanceIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMBinding) 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 *InstanceIAMBindingConditionObservation) DeepCopyInto(out *InstanceIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingConditionObservation. +func (in *InstanceIAMBindingConditionObservation) DeepCopy() *InstanceIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(InstanceIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingConditionParameters) DeepCopyInto(out *InstanceIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingConditionParameters. +func (in *InstanceIAMBindingConditionParameters) DeepCopy() *InstanceIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(InstanceIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingList) DeepCopyInto(out *InstanceIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingList. +func (in *InstanceIAMBindingList) DeepCopy() *InstanceIAMBindingList { + if in == nil { + return nil + } + out := new(InstanceIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMBindingList) 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 *InstanceIAMBindingObservation) DeepCopyInto(out *InstanceIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingObservation. +func (in *InstanceIAMBindingObservation) DeepCopy() *InstanceIAMBindingObservation { + if in == nil { + return nil + } + out := new(InstanceIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingParameters) DeepCopyInto(out *InstanceIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]InstanceIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceName != nil { + in, out := &in.InstanceName, &out.InstanceName + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingParameters. +func (in *InstanceIAMBindingParameters) DeepCopy() *InstanceIAMBindingParameters { + if in == nil { + return nil + } + out := new(InstanceIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingSpec) DeepCopyInto(out *InstanceIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingSpec. +func (in *InstanceIAMBindingSpec) DeepCopy() *InstanceIAMBindingSpec { + if in == nil { + return nil + } + out := new(InstanceIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingStatus) DeepCopyInto(out *InstanceIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingStatus. +func (in *InstanceIAMBindingStatus) DeepCopy() *InstanceIAMBindingStatus { + if in == nil { + return nil + } + out := new(InstanceIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMember) DeepCopyInto(out *InstanceIAMMember) { + *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 InstanceIAMMember. +func (in *InstanceIAMMember) DeepCopy() *InstanceIAMMember { + if in == nil { + return nil + } + out := new(InstanceIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMMember) 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 *InstanceIAMMemberConditionObservation) DeepCopyInto(out *InstanceIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberConditionObservation. +func (in *InstanceIAMMemberConditionObservation) DeepCopy() *InstanceIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(InstanceIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberConditionParameters) DeepCopyInto(out *InstanceIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberConditionParameters. +func (in *InstanceIAMMemberConditionParameters) DeepCopy() *InstanceIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(InstanceIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberList) DeepCopyInto(out *InstanceIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberList. +func (in *InstanceIAMMemberList) DeepCopy() *InstanceIAMMemberList { + if in == nil { + return nil + } + out := new(InstanceIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMMemberList) 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 *InstanceIAMMemberObservation) DeepCopyInto(out *InstanceIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberObservation. +func (in *InstanceIAMMemberObservation) DeepCopy() *InstanceIAMMemberObservation { + if in == nil { + return nil + } + out := new(InstanceIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberParameters) DeepCopyInto(out *InstanceIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]InstanceIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceName != nil { + in, out := &in.InstanceName, &out.InstanceName + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberParameters. +func (in *InstanceIAMMemberParameters) DeepCopy() *InstanceIAMMemberParameters { + if in == nil { + return nil + } + out := new(InstanceIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberSpec) DeepCopyInto(out *InstanceIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberSpec. +func (in *InstanceIAMMemberSpec) DeepCopy() *InstanceIAMMemberSpec { + if in == nil { + return nil + } + out := new(InstanceIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberStatus) DeepCopyInto(out *InstanceIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberStatus. +func (in *InstanceIAMMemberStatus) DeepCopy() *InstanceIAMMemberStatus { + if in == nil { + return nil + } + out := new(InstanceIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicy) DeepCopyInto(out *InstanceIAMPolicy) { + *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 InstanceIAMPolicy. +func (in *InstanceIAMPolicy) DeepCopy() *InstanceIAMPolicy { + if in == nil { + return nil + } + out := new(InstanceIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMPolicy) 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 *InstanceIAMPolicyList) DeepCopyInto(out *InstanceIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyList. +func (in *InstanceIAMPolicyList) DeepCopy() *InstanceIAMPolicyList { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMPolicyList) 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 *InstanceIAMPolicyObservation) DeepCopyInto(out *InstanceIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyObservation. +func (in *InstanceIAMPolicyObservation) DeepCopy() *InstanceIAMPolicyObservation { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicyParameters) DeepCopyInto(out *InstanceIAMPolicyParameters) { + *out = *in + if in.InstanceName != nil { + in, out := &in.InstanceName, &out.InstanceName + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyParameters. +func (in *InstanceIAMPolicyParameters) DeepCopy() *InstanceIAMPolicyParameters { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicySpec) DeepCopyInto(out *InstanceIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicySpec. +func (in *InstanceIAMPolicySpec) DeepCopy() *InstanceIAMPolicySpec { + if in == nil { + return nil + } + out := new(InstanceIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicyStatus) DeepCopyInto(out *InstanceIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyStatus. +func (in *InstanceIAMPolicyStatus) DeepCopy() *InstanceIAMPolicyStatus { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstancePropertiesObservation) DeepCopyInto(out *InstancePropertiesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancePropertiesObservation. +func (in *InstancePropertiesObservation) DeepCopy() *InstancePropertiesObservation { + if in == nil { + return nil + } + out := new(InstancePropertiesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstancePropertiesParameters) DeepCopyInto(out *InstancePropertiesParameters) { + *out = *in + if in.GuestAccelerators != nil { + in, out := &in.GuestAccelerators, &out.GuestAccelerators + *out = make([]GuestAcceleratorsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LocalSsds != nil { + in, out := &in.LocalSsds, &out.LocalSsds + *out = make([]LocalSsdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MachineType != nil { + in, out := &in.MachineType, &out.MachineType + *out = new(string) + **out = **in + } + if in.MinCPUPlatform != nil { + in, out := &in.MinCPUPlatform, &out.MinCPUPlatform + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancePropertiesParameters. +func (in *InstancePropertiesParameters) DeepCopy() *InstancePropertiesParameters { + if in == nil { + return nil + } + out := new(InstancePropertiesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceSchedulePolicyObservation) DeepCopyInto(out *InstanceSchedulePolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSchedulePolicyObservation. +func (in *InstanceSchedulePolicyObservation) DeepCopy() *InstanceSchedulePolicyObservation { + if in == nil { + return nil + } + out := new(InstanceSchedulePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceSchedulePolicyParameters) DeepCopyInto(out *InstanceSchedulePolicyParameters) { + *out = *in + if in.ExpirationTime != nil { + in, out := &in.ExpirationTime, &out.ExpirationTime + *out = new(string) + **out = **in + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } + if in.TimeZone != nil { + in, out := &in.TimeZone, &out.TimeZone + *out = new(string) + **out = **in + } + if in.VMStartSchedule != nil { + in, out := &in.VMStartSchedule, &out.VMStartSchedule + *out = make([]VMStartScheduleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VMStopSchedule != nil { + in, out := &in.VMStopSchedule, &out.VMStopSchedule + *out = make([]VMStopScheduleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSchedulePolicyParameters. +func (in *InstanceSchedulePolicyParameters) DeepCopy() *InstanceSchedulePolicyParameters { + if in == nil { + return nil + } + out := new(InstanceSchedulePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstancesObservation) DeepCopyInto(out *InstancesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancesObservation. +func (in *InstancesObservation) DeepCopy() *InstancesObservation { + if in == nil { + return nil + } + out := new(InstancesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstancesParameters) DeepCopyInto(out *InstancesParameters) { + *out = *in + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancesParameters. +func (in *InstancesParameters) DeepCopy() *InstancesParameters { + if in == nil { + return nil + } + out := new(InstancesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InterconnectAttachment) DeepCopyInto(out *InterconnectAttachment) { + *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 InterconnectAttachment. +func (in *InterconnectAttachment) DeepCopy() *InterconnectAttachment { + if in == nil { + return nil + } + out := new(InterconnectAttachment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InterconnectAttachment) 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 *InterconnectAttachmentList) DeepCopyInto(out *InterconnectAttachmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InterconnectAttachment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterconnectAttachmentList. +func (in *InterconnectAttachmentList) DeepCopy() *InterconnectAttachmentList { + if in == nil { + return nil + } + out := new(InterconnectAttachmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InterconnectAttachmentList) 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 *InterconnectAttachmentObservation) DeepCopyInto(out *InterconnectAttachmentObservation) { + *out = *in + if in.CloudRouterIPAddress != nil { + in, out := &in.CloudRouterIPAddress, &out.CloudRouterIPAddress + *out = new(string) + **out = **in + } + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.CustomerRouterIPAddress != nil { + in, out := &in.CustomerRouterIPAddress, &out.CustomerRouterIPAddress + *out = new(string) + **out = **in + } + if in.GoogleReferenceID != nil { + in, out := &in.GoogleReferenceID, &out.GoogleReferenceID + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.PairingKey != nil { + in, out := &in.PairingKey, &out.PairingKey + *out = new(string) + **out = **in + } + if in.PartnerAsn != nil { + in, out := &in.PartnerAsn, &out.PartnerAsn + *out = new(string) + **out = **in + } + if in.PrivateInterconnectInfo != nil { + in, out := &in.PrivateInterconnectInfo, &out.PrivateInterconnectInfo + *out = make([]PrivateInterconnectInfoObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterconnectAttachmentObservation. +func (in *InterconnectAttachmentObservation) DeepCopy() *InterconnectAttachmentObservation { + if in == nil { + return nil + } + out := new(InterconnectAttachmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InterconnectAttachmentParameters) DeepCopyInto(out *InterconnectAttachmentParameters) { + *out = *in + if in.AdminEnabled != nil { + in, out := &in.AdminEnabled, &out.AdminEnabled + *out = new(bool) + **out = **in + } + if in.Bandwidth != nil { + in, out := &in.Bandwidth, &out.Bandwidth + *out = new(string) + **out = **in + } + if in.CandidateSubnets != nil { + in, out := &in.CandidateSubnets, &out.CandidateSubnets + *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.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.EdgeAvailabilityDomain != nil { + in, out := &in.EdgeAvailabilityDomain, &out.EdgeAvailabilityDomain + *out = new(string) + **out = **in + } + if in.Encryption != nil { + in, out := &in.Encryption, &out.Encryption + *out = new(string) + **out = **in + } + if in.Interconnect != nil { + in, out := &in.Interconnect, &out.Interconnect + *out = new(string) + **out = **in + } + if in.IpsecInternalAddresses != nil { + in, out := &in.IpsecInternalAddresses, &out.IpsecInternalAddresses + *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.Mtu != nil { + in, out := &in.Mtu, &out.Mtu + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Router != nil { + in, out := &in.Router, &out.Router + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.VlanTag8021Q != nil { + in, out := &in.VlanTag8021Q, &out.VlanTag8021Q + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterconnectAttachmentParameters. +func (in *InterconnectAttachmentParameters) DeepCopy() *InterconnectAttachmentParameters { + if in == nil { + return nil + } + out := new(InterconnectAttachmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InterconnectAttachmentSpec) DeepCopyInto(out *InterconnectAttachmentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterconnectAttachmentSpec. +func (in *InterconnectAttachmentSpec) DeepCopy() *InterconnectAttachmentSpec { + if in == nil { + return nil + } + out := new(InterconnectAttachmentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InterconnectAttachmentStatus) DeepCopyInto(out *InterconnectAttachmentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterconnectAttachmentStatus. +func (in *InterconnectAttachmentStatus) DeepCopy() *InterconnectAttachmentStatus { + if in == nil { + return nil + } + out := new(InterconnectAttachmentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InterfaceObservation) DeepCopyInto(out *InterfaceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceObservation. +func (in *InterfaceObservation) DeepCopy() *InterfaceObservation { + if in == nil { + return nil + } + out := new(InterfaceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InterfaceParameters) DeepCopyInto(out *InterfaceParameters) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(int64) + **out = **in + } + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceParameters. +func (in *InterfaceParameters) DeepCopy() *InterfaceParameters { + if in == nil { + return nil + } + out := new(InterfaceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IntervalObservation) DeepCopyInto(out *IntervalObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntervalObservation. +func (in *IntervalObservation) DeepCopy() *IntervalObservation { + if in == nil { + return nil + } + out := new(IntervalObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IntervalParameters) DeepCopyInto(out *IntervalParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntervalParameters. +func (in *IntervalParameters) DeepCopy() *IntervalParameters { + if in == nil { + return nil + } + out := new(IntervalParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Layer4ConfigsObservation) DeepCopyInto(out *Layer4ConfigsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Layer4ConfigsObservation. +func (in *Layer4ConfigsObservation) DeepCopy() *Layer4ConfigsObservation { + if in == nil { + return nil + } + out := new(Layer4ConfigsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Layer4ConfigsParameters) DeepCopyInto(out *Layer4ConfigsParameters) { + *out = *in + if in.IPProtocol != nil { + in, out := &in.IPProtocol, &out.IPProtocol + *out = new(string) + **out = **in + } + if in.Ports != nil { + in, out := &in.Ports, &out.Ports + *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 Layer4ConfigsParameters. +func (in *Layer4ConfigsParameters) DeepCopy() *Layer4ConfigsParameters { + if in == nil { + return nil + } + out := new(Layer4ConfigsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoadBalancingUtilizationObservation) DeepCopyInto(out *LoadBalancingUtilizationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancingUtilizationObservation. +func (in *LoadBalancingUtilizationObservation) DeepCopy() *LoadBalancingUtilizationObservation { + if in == nil { + return nil + } + out := new(LoadBalancingUtilizationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoadBalancingUtilizationParameters) DeepCopyInto(out *LoadBalancingUtilizationParameters) { + *out = *in + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancingUtilizationParameters. +func (in *LoadBalancingUtilizationParameters) DeepCopy() *LoadBalancingUtilizationParameters { + if in == nil { + return nil + } + out := new(LoadBalancingUtilizationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LocalSsdsObservation) DeepCopyInto(out *LocalSsdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSsdsObservation. +func (in *LocalSsdsObservation) DeepCopy() *LocalSsdsObservation { + if in == nil { + return nil + } + out := new(LocalSsdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LocalSsdsParameters) DeepCopyInto(out *LocalSsdsParameters) { + *out = *in + if in.DiskSizeGb != nil { + in, out := &in.DiskSizeGb, &out.DiskSizeGb + *out = new(int64) + **out = **in + } + if in.Interface != nil { + in, out := &in.Interface, &out.Interface + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSsdsParameters. +func (in *LocalSsdsParameters) DeepCopy() *LocalSsdsParameters { + if in == nil { + return nil + } + out := new(LocalSsdsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogConfigObservation) DeepCopyInto(out *LogConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogConfigObservation. +func (in *LogConfigObservation) DeepCopy() *LogConfigObservation { + if in == nil { + return nil + } + out := new(LogConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogConfigParameters) DeepCopyInto(out *LogConfigParameters) { + *out = *in + if in.Enable != nil { + in, out := &in.Enable, &out.Enable + *out = new(bool) + **out = **in + } + if in.SampleRate != nil { + in, out := &in.SampleRate, &out.SampleRate + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogConfigParameters. +func (in *LogConfigParameters) DeepCopy() *LogConfigParameters { + if in == nil { + return nil + } + out := new(LogConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceWindowObservation) DeepCopyInto(out *MaintenanceWindowObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindowObservation. +func (in *MaintenanceWindowObservation) DeepCopy() *MaintenanceWindowObservation { + if in == nil { + return nil + } + out := new(MaintenanceWindowObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceWindowParameters) DeepCopyInto(out *MaintenanceWindowParameters) { + *out = *in + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindowParameters. +func (in *MaintenanceWindowParameters) DeepCopy() *MaintenanceWindowParameters { + if in == nil { + return nil + } + out := new(MaintenanceWindowParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchObservation) DeepCopyInto(out *MatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchObservation. +func (in *MatchObservation) DeepCopy() *MatchObservation { + if in == nil { + return nil + } + out := new(MatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchParameters) DeepCopyInto(out *MatchParameters) { + *out = *in + if in.DestIPRanges != nil { + in, out := &in.DestIPRanges, &out.DestIPRanges + *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.Layer4Configs != nil { + in, out := &in.Layer4Configs, &out.Layer4Configs + *out = make([]Layer4ConfigsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SrcIPRanges != nil { + in, out := &in.SrcIPRanges, &out.SrcIPRanges + *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 MatchParameters. +func (in *MatchParameters) DeepCopy() *MatchParameters { + if in == nil { + return nil + } + out := new(MatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchRulesHeaderMatchesObservation) DeepCopyInto(out *MatchRulesHeaderMatchesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesHeaderMatchesObservation. +func (in *MatchRulesHeaderMatchesObservation) DeepCopy() *MatchRulesHeaderMatchesObservation { + if in == nil { + return nil + } + out := new(MatchRulesHeaderMatchesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchRulesHeaderMatchesParameters) DeepCopyInto(out *MatchRulesHeaderMatchesParameters) { + *out = *in + if in.ExactMatch != nil { + in, out := &in.ExactMatch, &out.ExactMatch + *out = new(string) + **out = **in + } + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.InvertMatch != nil { + in, out := &in.InvertMatch, &out.InvertMatch + *out = new(bool) + **out = **in + } + if in.PrefixMatch != nil { + in, out := &in.PrefixMatch, &out.PrefixMatch + *out = new(string) + **out = **in + } + if in.PresentMatch != nil { + in, out := &in.PresentMatch, &out.PresentMatch + *out = new(bool) + **out = **in + } + if in.RangeMatch != nil { + in, out := &in.RangeMatch, &out.RangeMatch + *out = make([]HeaderMatchesRangeMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RegexMatch != nil { + in, out := &in.RegexMatch, &out.RegexMatch + *out = new(string) + **out = **in + } + if in.SuffixMatch != nil { + in, out := &in.SuffixMatch, &out.SuffixMatch + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesHeaderMatchesParameters. +func (in *MatchRulesHeaderMatchesParameters) DeepCopy() *MatchRulesHeaderMatchesParameters { + if in == nil { + return nil + } + out := new(MatchRulesHeaderMatchesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchRulesMetadataFiltersFilterLabelsObservation) DeepCopyInto(out *MatchRulesMetadataFiltersFilterLabelsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesMetadataFiltersFilterLabelsObservation. +func (in *MatchRulesMetadataFiltersFilterLabelsObservation) DeepCopy() *MatchRulesMetadataFiltersFilterLabelsObservation { + if in == nil { + return nil + } + out := new(MatchRulesMetadataFiltersFilterLabelsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchRulesMetadataFiltersFilterLabelsParameters) DeepCopyInto(out *MatchRulesMetadataFiltersFilterLabelsParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *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 MatchRulesMetadataFiltersFilterLabelsParameters. +func (in *MatchRulesMetadataFiltersFilterLabelsParameters) DeepCopy() *MatchRulesMetadataFiltersFilterLabelsParameters { + if in == nil { + return nil + } + out := new(MatchRulesMetadataFiltersFilterLabelsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchRulesMetadataFiltersObservation) DeepCopyInto(out *MatchRulesMetadataFiltersObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesMetadataFiltersObservation. +func (in *MatchRulesMetadataFiltersObservation) DeepCopy() *MatchRulesMetadataFiltersObservation { + if in == nil { + return nil + } + out := new(MatchRulesMetadataFiltersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchRulesMetadataFiltersParameters) DeepCopyInto(out *MatchRulesMetadataFiltersParameters) { + *out = *in + if in.FilterLabels != nil { + in, out := &in.FilterLabels, &out.FilterLabels + *out = make([]MetadataFiltersFilterLabelsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FilterMatchCriteria != nil { + in, out := &in.FilterMatchCriteria, &out.FilterMatchCriteria + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesMetadataFiltersParameters. +func (in *MatchRulesMetadataFiltersParameters) DeepCopy() *MatchRulesMetadataFiltersParameters { + if in == nil { + return nil + } + out := new(MatchRulesMetadataFiltersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchRulesObservation) DeepCopyInto(out *MatchRulesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesObservation. +func (in *MatchRulesObservation) DeepCopy() *MatchRulesObservation { + if in == nil { + return nil + } + out := new(MatchRulesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchRulesParameters) DeepCopyInto(out *MatchRulesParameters) { + *out = *in + if in.FullPathMatch != nil { + in, out := &in.FullPathMatch, &out.FullPathMatch + *out = new(string) + **out = **in + } + if in.HeaderMatches != nil { + in, out := &in.HeaderMatches, &out.HeaderMatches + *out = make([]HeaderMatchesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IgnoreCase != nil { + in, out := &in.IgnoreCase, &out.IgnoreCase + *out = new(bool) + **out = **in + } + if in.MetadataFilters != nil { + in, out := &in.MetadataFilters, &out.MetadataFilters + *out = make([]MatchRulesMetadataFiltersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PrefixMatch != nil { + in, out := &in.PrefixMatch, &out.PrefixMatch + *out = new(string) + **out = **in + } + if in.QueryParameterMatches != nil { + in, out := &in.QueryParameterMatches, &out.QueryParameterMatches + *out = make([]QueryParameterMatchesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RegexMatch != nil { + in, out := &in.RegexMatch, &out.RegexMatch + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesParameters. +func (in *MatchRulesParameters) DeepCopy() *MatchRulesParameters { + if in == nil { + return nil + } + out := new(MatchRulesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchRulesQueryParameterMatchesObservation) DeepCopyInto(out *MatchRulesQueryParameterMatchesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesQueryParameterMatchesObservation. +func (in *MatchRulesQueryParameterMatchesObservation) DeepCopy() *MatchRulesQueryParameterMatchesObservation { + if in == nil { + return nil + } + out := new(MatchRulesQueryParameterMatchesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchRulesQueryParameterMatchesParameters) DeepCopyInto(out *MatchRulesQueryParameterMatchesParameters) { + *out = *in + if in.ExactMatch != nil { + in, out := &in.ExactMatch, &out.ExactMatch + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PresentMatch != nil { + in, out := &in.PresentMatch, &out.PresentMatch + *out = new(bool) + **out = **in + } + if in.RegexMatch != nil { + in, out := &in.RegexMatch, &out.RegexMatch + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRulesQueryParameterMatchesParameters. +func (in *MatchRulesQueryParameterMatchesParameters) DeepCopy() *MatchRulesQueryParameterMatchesParameters { + if in == nil { + return nil + } + out := new(MatchRulesQueryParameterMatchesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaxScaledInReplicasObservation) DeepCopyInto(out *MaxScaledInReplicasObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaxScaledInReplicasObservation. +func (in *MaxScaledInReplicasObservation) DeepCopy() *MaxScaledInReplicasObservation { + if in == nil { + return nil + } + out := new(MaxScaledInReplicasObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaxScaledInReplicasParameters) DeepCopyInto(out *MaxScaledInReplicasParameters) { + *out = *in + if in.Fixed != nil { + in, out := &in.Fixed, &out.Fixed + *out = new(int64) + **out = **in + } + if in.Percent != nil { + in, out := &in.Percent, &out.Percent + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaxScaledInReplicasParameters. +func (in *MaxScaledInReplicasParameters) DeepCopy() *MaxScaledInReplicasParameters { + if in == nil { + return nil + } + out := new(MaxScaledInReplicasParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetadataFiltersFilterLabelsObservation) DeepCopyInto(out *MetadataFiltersFilterLabelsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataFiltersFilterLabelsObservation. +func (in *MetadataFiltersFilterLabelsObservation) DeepCopy() *MetadataFiltersFilterLabelsObservation { + if in == nil { + return nil + } + out := new(MetadataFiltersFilterLabelsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetadataFiltersFilterLabelsParameters) DeepCopyInto(out *MetadataFiltersFilterLabelsParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *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 MetadataFiltersFilterLabelsParameters. +func (in *MetadataFiltersFilterLabelsParameters) DeepCopy() *MetadataFiltersFilterLabelsParameters { + if in == nil { + return nil + } + out := new(MetadataFiltersFilterLabelsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetadataFiltersObservation) DeepCopyInto(out *MetadataFiltersObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataFiltersObservation. +func (in *MetadataFiltersObservation) DeepCopy() *MetadataFiltersObservation { + if in == nil { + return nil + } + out := new(MetadataFiltersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetadataFiltersParameters) DeepCopyInto(out *MetadataFiltersParameters) { + *out = *in + if in.FilterLabels != nil { + in, out := &in.FilterLabels, &out.FilterLabels + *out = make([]FilterLabelsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FilterMatchCriteria != nil { + in, out := &in.FilterMatchCriteria, &out.FilterMatchCriteria + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataFiltersParameters. +func (in *MetadataFiltersParameters) DeepCopy() *MetadataFiltersParameters { + if in == nil { + return nil + } + out := new(MetadataFiltersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricObservation) DeepCopyInto(out *MetricObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricObservation. +func (in *MetricObservation) DeepCopy() *MetricObservation { + if in == nil { + return nil + } + out := new(MetricObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricParameters) DeepCopyInto(out *MetricParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Target != nil { + in, out := &in.Target, &out.Target + *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 MetricParameters. +func (in *MetricParameters) DeepCopy() *MetricParameters { + if in == nil { + return nil + } + out := new(MetricParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MirroredResourcesObservation) DeepCopyInto(out *MirroredResourcesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MirroredResourcesObservation. +func (in *MirroredResourcesObservation) DeepCopy() *MirroredResourcesObservation { + if in == nil { + return nil + } + out := new(MirroredResourcesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MirroredResourcesParameters) DeepCopyInto(out *MirroredResourcesParameters) { + *out = *in + if in.Instances != nil { + in, out := &in.Instances, &out.Instances + *out = make([]InstancesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Subnetworks != nil { + in, out := &in.Subnetworks, &out.Subnetworks + *out = make([]SubnetworksParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *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 MirroredResourcesParameters. +func (in *MirroredResourcesParameters) DeepCopy() *MirroredResourcesParameters { + if in == nil { + return nil + } + out := new(MirroredResourcesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NamedPortObservation) DeepCopyInto(out *NamedPortObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedPortObservation. +func (in *NamedPortObservation) DeepCopy() *NamedPortObservation { + if in == nil { + return nil + } + out := new(NamedPortObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NamedPortParameters) DeepCopyInto(out *NamedPortParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedPortParameters. +func (in *NamedPortParameters) DeepCopy() *NamedPortParameters { + if in == nil { + return nil + } + out := new(NamedPortParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NegativeCachingPolicyObservation) DeepCopyInto(out *NegativeCachingPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NegativeCachingPolicyObservation. +func (in *NegativeCachingPolicyObservation) DeepCopy() *NegativeCachingPolicyObservation { + if in == nil { + return nil + } + out := new(NegativeCachingPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NegativeCachingPolicyParameters) DeepCopyInto(out *NegativeCachingPolicyParameters) { + *out = *in + if in.Code != nil { + in, out := &in.Code, &out.Code + *out = new(int64) + **out = **in + } + if in.TTL != nil { + in, out := &in.TTL, &out.TTL + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NegativeCachingPolicyParameters. +func (in *NegativeCachingPolicyParameters) DeepCopy() *NegativeCachingPolicyParameters { + if in == nil { + return nil + } + out := new(NegativeCachingPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkEndpoint) DeepCopyInto(out *NetworkEndpoint) { + *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 NetworkEndpoint. +func (in *NetworkEndpoint) DeepCopy() *NetworkEndpoint { + if in == nil { + return nil + } + out := new(NetworkEndpoint) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkEndpoint) 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 *NetworkEndpointGroup) DeepCopyInto(out *NetworkEndpointGroup) { + *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 NetworkEndpointGroup. +func (in *NetworkEndpointGroup) DeepCopy() *NetworkEndpointGroup { + if in == nil { + return nil + } + out := new(NetworkEndpointGroup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkEndpointGroup) 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 *NetworkEndpointGroupList) DeepCopyInto(out *NetworkEndpointGroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]NetworkEndpointGroup, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkEndpointGroupList. +func (in *NetworkEndpointGroupList) DeepCopy() *NetworkEndpointGroupList { + if in == nil { + return nil + } + out := new(NetworkEndpointGroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkEndpointGroupList) 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 *NetworkEndpointGroupObservation) DeepCopyInto(out *NetworkEndpointGroupObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.Size != nil { + in, out := &in.Size, &out.Size + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkEndpointGroupObservation. +func (in *NetworkEndpointGroupObservation) DeepCopy() *NetworkEndpointGroupObservation { + if in == nil { + return nil + } + out := new(NetworkEndpointGroupObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkEndpointGroupParameters) DeepCopyInto(out *NetworkEndpointGroupParameters) { + *out = *in + if in.DefaultPort != nil { + in, out := &in.DefaultPort, &out.DefaultPort + *out = new(int64) + **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.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkEndpointType != nil { + in, out := &in.NetworkEndpointType, &out.NetworkEndpointType + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkEndpointGroupParameters. +func (in *NetworkEndpointGroupParameters) DeepCopy() *NetworkEndpointGroupParameters { + if in == nil { + return nil + } + out := new(NetworkEndpointGroupParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkEndpointGroupSpec) DeepCopyInto(out *NetworkEndpointGroupSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkEndpointGroupSpec. +func (in *NetworkEndpointGroupSpec) DeepCopy() *NetworkEndpointGroupSpec { + if in == nil { + return nil + } + out := new(NetworkEndpointGroupSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkEndpointGroupStatus) DeepCopyInto(out *NetworkEndpointGroupStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkEndpointGroupStatus. +func (in *NetworkEndpointGroupStatus) DeepCopy() *NetworkEndpointGroupStatus { + if in == nil { + return nil + } + out := new(NetworkEndpointGroupStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkEndpointList) DeepCopyInto(out *NetworkEndpointList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]NetworkEndpoint, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkEndpointList. +func (in *NetworkEndpointList) DeepCopy() *NetworkEndpointList { + if in == nil { + return nil + } + out := new(NetworkEndpointList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkEndpointList) 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 *NetworkEndpointObservation) DeepCopyInto(out *NetworkEndpointObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkEndpointObservation. +func (in *NetworkEndpointObservation) DeepCopy() *NetworkEndpointObservation { + if in == nil { + return nil + } + out := new(NetworkEndpointObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkEndpointParameters) DeepCopyInto(out *NetworkEndpointParameters) { + *out = *in + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.NetworkEndpointGroup != nil { + in, out := &in.NetworkEndpointGroup, &out.NetworkEndpointGroup + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkEndpointParameters. +func (in *NetworkEndpointParameters) DeepCopy() *NetworkEndpointParameters { + if in == nil { + return nil + } + out := new(NetworkEndpointParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkEndpointSpec) DeepCopyInto(out *NetworkEndpointSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkEndpointSpec. +func (in *NetworkEndpointSpec) DeepCopy() *NetworkEndpointSpec { + if in == nil { + return nil + } + out := new(NetworkEndpointSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkEndpointStatus) DeepCopyInto(out *NetworkEndpointStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkEndpointStatus. +func (in *NetworkEndpointStatus) DeepCopy() *NetworkEndpointStatus { + if in == nil { + return nil + } + out := new(NetworkEndpointStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkObservation) DeepCopyInto(out *NetworkObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkObservation. +func (in *NetworkObservation) DeepCopy() *NetworkObservation { + if in == nil { + return nil + } + out := new(NetworkObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkParameters) DeepCopyInto(out *NetworkParameters) { + *out = *in + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkParameters. +func (in *NetworkParameters) DeepCopy() *NetworkParameters { + if in == nil { + return nil + } + out := new(NetworkParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkPeering) DeepCopyInto(out *NetworkPeering) { + *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 NetworkPeering. +func (in *NetworkPeering) DeepCopy() *NetworkPeering { + if in == nil { + return nil + } + out := new(NetworkPeering) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkPeering) 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 *NetworkPeeringList) DeepCopyInto(out *NetworkPeeringList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]NetworkPeering, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPeeringList. +func (in *NetworkPeeringList) DeepCopy() *NetworkPeeringList { + if in == nil { + return nil + } + out := new(NetworkPeeringList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkPeeringList) 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 *NetworkPeeringObservation) DeepCopyInto(out *NetworkPeeringObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } + if in.StateDetails != nil { + in, out := &in.StateDetails, &out.StateDetails + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPeeringObservation. +func (in *NetworkPeeringObservation) DeepCopy() *NetworkPeeringObservation { + if in == nil { + return nil + } + out := new(NetworkPeeringObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkPeeringParameters) DeepCopyInto(out *NetworkPeeringParameters) { + *out = *in + if in.ExportCustomRoutes != nil { + in, out := &in.ExportCustomRoutes, &out.ExportCustomRoutes + *out = new(bool) + **out = **in + } + if in.ExportSubnetRoutesWithPublicIP != nil { + in, out := &in.ExportSubnetRoutesWithPublicIP, &out.ExportSubnetRoutesWithPublicIP + *out = new(bool) + **out = **in + } + if in.ImportCustomRoutes != nil { + in, out := &in.ImportCustomRoutes, &out.ImportCustomRoutes + *out = new(bool) + **out = **in + } + if in.ImportSubnetRoutesWithPublicIP != nil { + in, out := &in.ImportSubnetRoutesWithPublicIP, &out.ImportSubnetRoutesWithPublicIP + *out = new(bool) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.PeerNetwork != nil { + in, out := &in.PeerNetwork, &out.PeerNetwork + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPeeringParameters. +func (in *NetworkPeeringParameters) DeepCopy() *NetworkPeeringParameters { + if in == nil { + return nil + } + out := new(NetworkPeeringParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkPeeringRoutesConfig) DeepCopyInto(out *NetworkPeeringRoutesConfig) { + *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 NetworkPeeringRoutesConfig. +func (in *NetworkPeeringRoutesConfig) DeepCopy() *NetworkPeeringRoutesConfig { + if in == nil { + return nil + } + out := new(NetworkPeeringRoutesConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkPeeringRoutesConfig) 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 *NetworkPeeringRoutesConfigList) DeepCopyInto(out *NetworkPeeringRoutesConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]NetworkPeeringRoutesConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPeeringRoutesConfigList. +func (in *NetworkPeeringRoutesConfigList) DeepCopy() *NetworkPeeringRoutesConfigList { + if in == nil { + return nil + } + out := new(NetworkPeeringRoutesConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkPeeringRoutesConfigList) 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 *NetworkPeeringRoutesConfigObservation) DeepCopyInto(out *NetworkPeeringRoutesConfigObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPeeringRoutesConfigObservation. +func (in *NetworkPeeringRoutesConfigObservation) DeepCopy() *NetworkPeeringRoutesConfigObservation { + if in == nil { + return nil + } + out := new(NetworkPeeringRoutesConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkPeeringRoutesConfigParameters) DeepCopyInto(out *NetworkPeeringRoutesConfigParameters) { + *out = *in + if in.ExportCustomRoutes != nil { + in, out := &in.ExportCustomRoutes, &out.ExportCustomRoutes + *out = new(bool) + **out = **in + } + if in.ImportCustomRoutes != nil { + in, out := &in.ImportCustomRoutes, &out.ImportCustomRoutes + *out = new(bool) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.Peering != nil { + in, out := &in.Peering, &out.Peering + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPeeringRoutesConfigParameters. +func (in *NetworkPeeringRoutesConfigParameters) DeepCopy() *NetworkPeeringRoutesConfigParameters { + if in == nil { + return nil + } + out := new(NetworkPeeringRoutesConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkPeeringRoutesConfigSpec) DeepCopyInto(out *NetworkPeeringRoutesConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPeeringRoutesConfigSpec. +func (in *NetworkPeeringRoutesConfigSpec) DeepCopy() *NetworkPeeringRoutesConfigSpec { + if in == nil { + return nil + } + out := new(NetworkPeeringRoutesConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkPeeringRoutesConfigStatus) DeepCopyInto(out *NetworkPeeringRoutesConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPeeringRoutesConfigStatus. +func (in *NetworkPeeringRoutesConfigStatus) DeepCopy() *NetworkPeeringRoutesConfigStatus { + if in == nil { + return nil + } + out := new(NetworkPeeringRoutesConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkPeeringSpec) DeepCopyInto(out *NetworkPeeringSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPeeringSpec. +func (in *NetworkPeeringSpec) DeepCopy() *NetworkPeeringSpec { + if in == nil { + return nil + } + out := new(NetworkPeeringSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkPeeringStatus) DeepCopyInto(out *NetworkPeeringStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPeeringStatus. +func (in *NetworkPeeringStatus) DeepCopy() *NetworkPeeringStatus { + if in == nil { + return nil + } + out := new(NetworkPeeringStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeGroup) DeepCopyInto(out *NodeGroup) { + *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 NodeGroup. +func (in *NodeGroup) DeepCopy() *NodeGroup { + if in == nil { + return nil + } + out := new(NodeGroup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NodeGroup) 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 *NodeGroupAutoscalingPolicyObservation) DeepCopyInto(out *NodeGroupAutoscalingPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupAutoscalingPolicyObservation. +func (in *NodeGroupAutoscalingPolicyObservation) DeepCopy() *NodeGroupAutoscalingPolicyObservation { + if in == nil { + return nil + } + out := new(NodeGroupAutoscalingPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeGroupAutoscalingPolicyParameters) DeepCopyInto(out *NodeGroupAutoscalingPolicyParameters) { + *out = *in + if in.MaxNodes != nil { + in, out := &in.MaxNodes, &out.MaxNodes + *out = new(int64) + **out = **in + } + if in.MinNodes != nil { + in, out := &in.MinNodes, &out.MinNodes + *out = new(int64) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupAutoscalingPolicyParameters. +func (in *NodeGroupAutoscalingPolicyParameters) DeepCopy() *NodeGroupAutoscalingPolicyParameters { + if in == nil { + return nil + } + out := new(NodeGroupAutoscalingPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeGroupList) DeepCopyInto(out *NodeGroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]NodeGroup, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupList. +func (in *NodeGroupList) DeepCopy() *NodeGroupList { + if in == nil { + return nil + } + out := new(NodeGroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NodeGroupList) 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 *NodeGroupObservation) DeepCopyInto(out *NodeGroupObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupObservation. +func (in *NodeGroupObservation) DeepCopy() *NodeGroupObservation { + if in == nil { + return nil + } + out := new(NodeGroupObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeGroupParameters) DeepCopyInto(out *NodeGroupParameters) { + *out = *in + if in.AutoscalingPolicy != nil { + in, out := &in.AutoscalingPolicy, &out.AutoscalingPolicy + *out = make([]NodeGroupAutoscalingPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.InitialSize != nil { + in, out := &in.InitialSize, &out.InitialSize + *out = new(int64) + **out = **in + } + if in.MaintenancePolicy != nil { + in, out := &in.MaintenancePolicy, &out.MaintenancePolicy + *out = new(string) + **out = **in + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = make([]MaintenanceWindowParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NodeTemplate != nil { + in, out := &in.NodeTemplate, &out.NodeTemplate + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Size != nil { + in, out := &in.Size, &out.Size + *out = new(int64) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupParameters. +func (in *NodeGroupParameters) DeepCopy() *NodeGroupParameters { + if in == nil { + return nil + } + out := new(NodeGroupParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeGroupSpec) DeepCopyInto(out *NodeGroupSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupSpec. +func (in *NodeGroupSpec) DeepCopy() *NodeGroupSpec { + if in == nil { + return nil + } + out := new(NodeGroupSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeGroupStatus) DeepCopyInto(out *NodeGroupStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupStatus. +func (in *NodeGroupStatus) DeepCopy() *NodeGroupStatus { + if in == nil { + return nil + } + out := new(NodeGroupStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeTemplate) DeepCopyInto(out *NodeTemplate) { + *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 NodeTemplate. +func (in *NodeTemplate) DeepCopy() *NodeTemplate { + if in == nil { + return nil + } + out := new(NodeTemplate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NodeTemplate) 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 *NodeTemplateList) DeepCopyInto(out *NodeTemplateList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]NodeTemplate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTemplateList. +func (in *NodeTemplateList) DeepCopy() *NodeTemplateList { + if in == nil { + return nil + } + out := new(NodeTemplateList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NodeTemplateList) 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 *NodeTemplateObservation) DeepCopyInto(out *NodeTemplateObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTemplateObservation. +func (in *NodeTemplateObservation) DeepCopy() *NodeTemplateObservation { + if in == nil { + return nil + } + out := new(NodeTemplateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeTemplateParameters) DeepCopyInto(out *NodeTemplateParameters) { + *out = *in + if in.CPUOvercommitType != nil { + in, out := &in.CPUOvercommitType, &out.CPUOvercommitType + *out = new(string) + **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.NodeAffinityLabels != nil { + in, out := &in.NodeAffinityLabels, &out.NodeAffinityLabels + *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.NodeType != nil { + in, out := &in.NodeType, &out.NodeType + *out = new(string) + **out = **in + } + if in.NodeTypeFlexibility != nil { + in, out := &in.NodeTypeFlexibility, &out.NodeTypeFlexibility + *out = make([]NodeTypeFlexibilityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.ServerBinding != nil { + in, out := &in.ServerBinding, &out.ServerBinding + *out = make([]ServerBindingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTemplateParameters. +func (in *NodeTemplateParameters) DeepCopy() *NodeTemplateParameters { + if in == nil { + return nil + } + out := new(NodeTemplateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeTemplateSpec) DeepCopyInto(out *NodeTemplateSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTemplateSpec. +func (in *NodeTemplateSpec) DeepCopy() *NodeTemplateSpec { + if in == nil { + return nil + } + out := new(NodeTemplateSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeTemplateStatus) DeepCopyInto(out *NodeTemplateStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTemplateStatus. +func (in *NodeTemplateStatus) DeepCopy() *NodeTemplateStatus { + if in == nil { + return nil + } + out := new(NodeTemplateStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeTypeFlexibilityObservation) DeepCopyInto(out *NodeTypeFlexibilityObservation) { + *out = *in + if in.LocalSsd != nil { + in, out := &in.LocalSsd, &out.LocalSsd + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTypeFlexibilityObservation. +func (in *NodeTypeFlexibilityObservation) DeepCopy() *NodeTypeFlexibilityObservation { + if in == nil { + return nil + } + out := new(NodeTypeFlexibilityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeTypeFlexibilityParameters) DeepCopyInto(out *NodeTypeFlexibilityParameters) { + *out = *in + if in.Cpus != nil { + in, out := &in.Cpus, &out.Cpus + *out = new(string) + **out = **in + } + if in.Memory != nil { + in, out := &in.Memory, &out.Memory + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeTypeFlexibilityParameters. +func (in *NodeTypeFlexibilityParameters) DeepCopy() *NodeTypeFlexibilityParameters { + if in == nil { + return nil + } + out := new(NodeTypeFlexibilityParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutlierDetectionBaseEjectionTimeObservation) DeepCopyInto(out *OutlierDetectionBaseEjectionTimeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionBaseEjectionTimeObservation. +func (in *OutlierDetectionBaseEjectionTimeObservation) DeepCopy() *OutlierDetectionBaseEjectionTimeObservation { + if in == nil { + return nil + } + out := new(OutlierDetectionBaseEjectionTimeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutlierDetectionBaseEjectionTimeParameters) DeepCopyInto(out *OutlierDetectionBaseEjectionTimeParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionBaseEjectionTimeParameters. +func (in *OutlierDetectionBaseEjectionTimeParameters) DeepCopy() *OutlierDetectionBaseEjectionTimeParameters { + if in == nil { + return nil + } + out := new(OutlierDetectionBaseEjectionTimeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutlierDetectionIntervalObservation) DeepCopyInto(out *OutlierDetectionIntervalObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionIntervalObservation. +func (in *OutlierDetectionIntervalObservation) DeepCopy() *OutlierDetectionIntervalObservation { + if in == nil { + return nil + } + out := new(OutlierDetectionIntervalObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutlierDetectionIntervalParameters) DeepCopyInto(out *OutlierDetectionIntervalParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionIntervalParameters. +func (in *OutlierDetectionIntervalParameters) DeepCopy() *OutlierDetectionIntervalParameters { + if in == nil { + return nil + } + out := new(OutlierDetectionIntervalParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutlierDetectionObservation) DeepCopyInto(out *OutlierDetectionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionObservation. +func (in *OutlierDetectionObservation) DeepCopy() *OutlierDetectionObservation { + if in == nil { + return nil + } + out := new(OutlierDetectionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutlierDetectionParameters) DeepCopyInto(out *OutlierDetectionParameters) { + *out = *in + if in.BaseEjectionTime != nil { + in, out := &in.BaseEjectionTime, &out.BaseEjectionTime + *out = make([]BaseEjectionTimeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ConsecutiveErrors != nil { + in, out := &in.ConsecutiveErrors, &out.ConsecutiveErrors + *out = new(int64) + **out = **in + } + if in.ConsecutiveGatewayFailure != nil { + in, out := &in.ConsecutiveGatewayFailure, &out.ConsecutiveGatewayFailure + *out = new(int64) + **out = **in + } + if in.EnforcingConsecutiveErrors != nil { + in, out := &in.EnforcingConsecutiveErrors, &out.EnforcingConsecutiveErrors + *out = new(int64) + **out = **in + } + if in.EnforcingConsecutiveGatewayFailure != nil { + in, out := &in.EnforcingConsecutiveGatewayFailure, &out.EnforcingConsecutiveGatewayFailure + *out = new(int64) + **out = **in + } + if in.EnforcingSuccessRate != nil { + in, out := &in.EnforcingSuccessRate, &out.EnforcingSuccessRate + *out = new(int64) + **out = **in + } + if in.Interval != nil { + in, out := &in.Interval, &out.Interval + *out = make([]IntervalParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaxEjectionPercent != nil { + in, out := &in.MaxEjectionPercent, &out.MaxEjectionPercent + *out = new(int64) + **out = **in + } + if in.SuccessRateMinimumHosts != nil { + in, out := &in.SuccessRateMinimumHosts, &out.SuccessRateMinimumHosts + *out = new(int64) + **out = **in + } + if in.SuccessRateRequestVolume != nil { + in, out := &in.SuccessRateRequestVolume, &out.SuccessRateRequestVolume + *out = new(int64) + **out = **in + } + if in.SuccessRateStdevFactor != nil { + in, out := &in.SuccessRateStdevFactor, &out.SuccessRateStdevFactor + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetectionParameters. +func (in *OutlierDetectionParameters) DeepCopy() *OutlierDetectionParameters { + if in == nil { + return nil + } + out := new(OutlierDetectionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PacketMirroring) DeepCopyInto(out *PacketMirroring) { + *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 PacketMirroring. +func (in *PacketMirroring) DeepCopy() *PacketMirroring { + if in == nil { + return nil + } + out := new(PacketMirroring) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *PacketMirroring) 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 *PacketMirroringList) DeepCopyInto(out *PacketMirroringList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]PacketMirroring, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PacketMirroringList. +func (in *PacketMirroringList) DeepCopy() *PacketMirroringList { + if in == nil { + return nil + } + out := new(PacketMirroringList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *PacketMirroringList) 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 *PacketMirroringObservation) DeepCopyInto(out *PacketMirroringObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PacketMirroringObservation. +func (in *PacketMirroringObservation) DeepCopy() *PacketMirroringObservation { + if in == nil { + return nil + } + out := new(PacketMirroringObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PacketMirroringParameters) DeepCopyInto(out *PacketMirroringParameters) { + *out = *in + if in.CollectorIlb != nil { + in, out := &in.CollectorIlb, &out.CollectorIlb + *out = make([]CollectorIlbParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = make([]FilterParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MirroredResources != nil { + in, out := &in.MirroredResources, &out.MirroredResources + *out = make([]MirroredResourcesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = make([]NetworkParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PacketMirroringParameters. +func (in *PacketMirroringParameters) DeepCopy() *PacketMirroringParameters { + if in == nil { + return nil + } + out := new(PacketMirroringParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PacketMirroringSpec) DeepCopyInto(out *PacketMirroringSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PacketMirroringSpec. +func (in *PacketMirroringSpec) DeepCopy() *PacketMirroringSpec { + if in == nil { + return nil + } + out := new(PacketMirroringSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PacketMirroringStatus) DeepCopyInto(out *PacketMirroringStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PacketMirroringStatus. +func (in *PacketMirroringStatus) DeepCopy() *PacketMirroringStatus { + if in == nil { + return nil + } + out := new(PacketMirroringStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionCorsPolicyObservation) DeepCopyInto(out *PathMatcherDefaultRouteActionCorsPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionCorsPolicyObservation. +func (in *PathMatcherDefaultRouteActionCorsPolicyObservation) DeepCopy() *PathMatcherDefaultRouteActionCorsPolicyObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionCorsPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionCorsPolicyParameters) DeepCopyInto(out *PathMatcherDefaultRouteActionCorsPolicyParameters) { + *out = *in + if in.AllowCredentials != nil { + in, out := &in.AllowCredentials, &out.AllowCredentials + *out = new(bool) + **out = **in + } + if in.AllowHeaders != nil { + in, out := &in.AllowHeaders, &out.AllowHeaders + *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.AllowMethods != nil { + in, out := &in.AllowMethods, &out.AllowMethods + *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.AllowOriginRegexes != nil { + in, out := &in.AllowOriginRegexes, &out.AllowOriginRegexes + *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.AllowOrigins != nil { + in, out := &in.AllowOrigins, &out.AllowOrigins + *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.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.ExposeHeaders != nil { + in, out := &in.ExposeHeaders, &out.ExposeHeaders + *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.MaxAge != nil { + in, out := &in.MaxAge, &out.MaxAge + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionCorsPolicyParameters. +func (in *PathMatcherDefaultRouteActionCorsPolicyParameters) DeepCopy() *PathMatcherDefaultRouteActionCorsPolicyParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionCorsPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionFaultInjectionPolicyAbortObservation) DeepCopyInto(out *PathMatcherDefaultRouteActionFaultInjectionPolicyAbortObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyAbortObservation. +func (in *PathMatcherDefaultRouteActionFaultInjectionPolicyAbortObservation) DeepCopy() *PathMatcherDefaultRouteActionFaultInjectionPolicyAbortObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionFaultInjectionPolicyAbortObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters) DeepCopyInto(out *PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters) { + *out = *in + if in.HTTPStatus != nil { + in, out := &in.HTTPStatus, &out.HTTPStatus + *out = new(int64) + **out = **in + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters. +func (in *PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters) DeepCopy() *PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionFaultInjectionPolicyDelayObservation) DeepCopyInto(out *PathMatcherDefaultRouteActionFaultInjectionPolicyDelayObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyDelayObservation. +func (in *PathMatcherDefaultRouteActionFaultInjectionPolicyDelayObservation) DeepCopy() *PathMatcherDefaultRouteActionFaultInjectionPolicyDelayObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionFaultInjectionPolicyDelayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters) DeepCopyInto(out *PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters) { + *out = *in + if in.FixedDelay != nil { + in, out := &in.FixedDelay, &out.FixedDelay + *out = make([]DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters. +func (in *PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters) DeepCopy() *PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionFaultInjectionPolicyObservation) DeepCopyInto(out *PathMatcherDefaultRouteActionFaultInjectionPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyObservation. +func (in *PathMatcherDefaultRouteActionFaultInjectionPolicyObservation) DeepCopy() *PathMatcherDefaultRouteActionFaultInjectionPolicyObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionFaultInjectionPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionFaultInjectionPolicyParameters) DeepCopyInto(out *PathMatcherDefaultRouteActionFaultInjectionPolicyParameters) { + *out = *in + if in.Abort != nil { + in, out := &in.Abort, &out.Abort + *out = make([]PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Delay != nil { + in, out := &in.Delay, &out.Delay + *out = make([]PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionFaultInjectionPolicyParameters. +func (in *PathMatcherDefaultRouteActionFaultInjectionPolicyParameters) DeepCopy() *PathMatcherDefaultRouteActionFaultInjectionPolicyParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionFaultInjectionPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionObservation) DeepCopyInto(out *PathMatcherDefaultRouteActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionObservation. +func (in *PathMatcherDefaultRouteActionObservation) DeepCopy() *PathMatcherDefaultRouteActionObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionParameters) DeepCopyInto(out *PathMatcherDefaultRouteActionParameters) { + *out = *in + if in.CorsPolicy != nil { + in, out := &in.CorsPolicy, &out.CorsPolicy + *out = make([]PathMatcherDefaultRouteActionCorsPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FaultInjectionPolicy != nil { + in, out := &in.FaultInjectionPolicy, &out.FaultInjectionPolicy + *out = make([]PathMatcherDefaultRouteActionFaultInjectionPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestMirrorPolicy != nil { + in, out := &in.RequestMirrorPolicy, &out.RequestMirrorPolicy + *out = make([]PathMatcherDefaultRouteActionRequestMirrorPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryPolicy != nil { + in, out := &in.RetryPolicy, &out.RetryPolicy + *out = make([]PathMatcherDefaultRouteActionRetryPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = make([]PathMatcherDefaultRouteActionTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.URLRewrite != nil { + in, out := &in.URLRewrite, &out.URLRewrite + *out = make([]PathMatcherDefaultRouteActionURLRewriteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WeightedBackendServices != nil { + in, out := &in.WeightedBackendServices, &out.WeightedBackendServices + *out = make([]PathMatcherDefaultRouteActionWeightedBackendServicesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionParameters. +func (in *PathMatcherDefaultRouteActionParameters) DeepCopy() *PathMatcherDefaultRouteActionParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionRequestMirrorPolicyObservation) DeepCopyInto(out *PathMatcherDefaultRouteActionRequestMirrorPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionRequestMirrorPolicyObservation. +func (in *PathMatcherDefaultRouteActionRequestMirrorPolicyObservation) DeepCopy() *PathMatcherDefaultRouteActionRequestMirrorPolicyObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionRequestMirrorPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionRequestMirrorPolicyParameters) DeepCopyInto(out *PathMatcherDefaultRouteActionRequestMirrorPolicyParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionRequestMirrorPolicyParameters. +func (in *PathMatcherDefaultRouteActionRequestMirrorPolicyParameters) DeepCopy() *PathMatcherDefaultRouteActionRequestMirrorPolicyParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionRequestMirrorPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionRetryPolicyObservation) DeepCopyInto(out *PathMatcherDefaultRouteActionRetryPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionRetryPolicyObservation. +func (in *PathMatcherDefaultRouteActionRetryPolicyObservation) DeepCopy() *PathMatcherDefaultRouteActionRetryPolicyObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionRetryPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionRetryPolicyParameters) DeepCopyInto(out *PathMatcherDefaultRouteActionRetryPolicyParameters) { + *out = *in + if in.NumRetries != nil { + in, out := &in.NumRetries, &out.NumRetries + *out = new(int64) + **out = **in + } + if in.PerTryTimeout != nil { + in, out := &in.PerTryTimeout, &out.PerTryTimeout + *out = make([]PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryConditions != nil { + in, out := &in.RetryConditions, &out.RetryConditions + *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 PathMatcherDefaultRouteActionRetryPolicyParameters. +func (in *PathMatcherDefaultRouteActionRetryPolicyParameters) DeepCopy() *PathMatcherDefaultRouteActionRetryPolicyParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionRetryPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutObservation) DeepCopyInto(out *PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutObservation. +func (in *PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutObservation) DeepCopy() *PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters) DeepCopyInto(out *PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters. +func (in *PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters) DeepCopy() *PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionTimeoutObservation) DeepCopyInto(out *PathMatcherDefaultRouteActionTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionTimeoutObservation. +func (in *PathMatcherDefaultRouteActionTimeoutObservation) DeepCopy() *PathMatcherDefaultRouteActionTimeoutObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionTimeoutParameters) DeepCopyInto(out *PathMatcherDefaultRouteActionTimeoutParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionTimeoutParameters. +func (in *PathMatcherDefaultRouteActionTimeoutParameters) DeepCopy() *PathMatcherDefaultRouteActionTimeoutParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionURLRewriteObservation) DeepCopyInto(out *PathMatcherDefaultRouteActionURLRewriteObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionURLRewriteObservation. +func (in *PathMatcherDefaultRouteActionURLRewriteObservation) DeepCopy() *PathMatcherDefaultRouteActionURLRewriteObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionURLRewriteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionURLRewriteParameters) DeepCopyInto(out *PathMatcherDefaultRouteActionURLRewriteParameters) { + *out = *in + if in.HostRewrite != nil { + in, out := &in.HostRewrite, &out.HostRewrite + *out = new(string) + **out = **in + } + if in.PathPrefixRewrite != nil { + in, out := &in.PathPrefixRewrite, &out.PathPrefixRewrite + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionURLRewriteParameters. +func (in *PathMatcherDefaultRouteActionURLRewriteParameters) DeepCopy() *PathMatcherDefaultRouteActionURLRewriteParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionURLRewriteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionObservation) DeepCopyInto(out *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionObservation. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionObservation) DeepCopy() *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters) DeepCopyInto(out *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters) { + *out = *in + if in.RequestHeadersToAdd != nil { + in, out := &in.RequestHeadersToAdd, &out.RequestHeadersToAdd + *out = make([]PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestHeadersToRemove != nil { + in, out := &in.RequestHeadersToRemove, &out.RequestHeadersToRemove + *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.ResponseHeadersToAdd != nil { + in, out := &in.ResponseHeadersToAdd, &out.ResponseHeadersToAdd + *out = make([]PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResponseHeadersToRemove != nil { + in, out := &in.ResponseHeadersToRemove, &out.ResponseHeadersToRemove + *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 PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters) DeepCopy() *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopyInto(out *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopy() *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopyInto(out *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopy() *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopyInto(out *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopy() *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopyInto(out *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopy() *PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesObservation) DeepCopyInto(out *PathMatcherDefaultRouteActionWeightedBackendServicesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesObservation. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesObservation) DeepCopy() *PathMatcherDefaultRouteActionWeightedBackendServicesObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionWeightedBackendServicesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesParameters) DeepCopyInto(out *PathMatcherDefaultRouteActionWeightedBackendServicesParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.HeaderAction != nil { + in, out := &in.HeaderAction, &out.HeaderAction + *out = make([]PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultRouteActionWeightedBackendServicesParameters. +func (in *PathMatcherDefaultRouteActionWeightedBackendServicesParameters) DeepCopy() *PathMatcherDefaultRouteActionWeightedBackendServicesParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultRouteActionWeightedBackendServicesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultURLRedirectObservation) DeepCopyInto(out *PathMatcherDefaultURLRedirectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultURLRedirectObservation. +func (in *PathMatcherDefaultURLRedirectObservation) DeepCopy() *PathMatcherDefaultURLRedirectObservation { + if in == nil { + return nil + } + out := new(PathMatcherDefaultURLRedirectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherDefaultURLRedirectParameters) DeepCopyInto(out *PathMatcherDefaultURLRedirectParameters) { + *out = *in + if in.HTTPSRedirect != nil { + in, out := &in.HTTPSRedirect, &out.HTTPSRedirect + *out = new(bool) + **out = **in + } + if in.HostRedirect != nil { + in, out := &in.HostRedirect, &out.HostRedirect + *out = new(string) + **out = **in + } + if in.PathRedirect != nil { + in, out := &in.PathRedirect, &out.PathRedirect + *out = new(string) + **out = **in + } + if in.PrefixRedirect != nil { + in, out := &in.PrefixRedirect, &out.PrefixRedirect + *out = new(string) + **out = **in + } + if in.RedirectResponseCode != nil { + in, out := &in.RedirectResponseCode, &out.RedirectResponseCode + *out = new(string) + **out = **in + } + if in.StripQuery != nil { + in, out := &in.StripQuery, &out.StripQuery + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherDefaultURLRedirectParameters. +func (in *PathMatcherDefaultURLRedirectParameters) DeepCopy() *PathMatcherDefaultURLRedirectParameters { + if in == nil { + return nil + } + out := new(PathMatcherDefaultURLRedirectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherHeaderActionObservation) DeepCopyInto(out *PathMatcherHeaderActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherHeaderActionObservation. +func (in *PathMatcherHeaderActionObservation) DeepCopy() *PathMatcherHeaderActionObservation { + if in == nil { + return nil + } + out := new(PathMatcherHeaderActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherHeaderActionParameters) DeepCopyInto(out *PathMatcherHeaderActionParameters) { + *out = *in + if in.RequestHeadersToAdd != nil { + in, out := &in.RequestHeadersToAdd, &out.RequestHeadersToAdd + *out = make([]PathMatcherHeaderActionRequestHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestHeadersToRemove != nil { + in, out := &in.RequestHeadersToRemove, &out.RequestHeadersToRemove + *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.ResponseHeadersToAdd != nil { + in, out := &in.ResponseHeadersToAdd, &out.ResponseHeadersToAdd + *out = make([]PathMatcherHeaderActionResponseHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResponseHeadersToRemove != nil { + in, out := &in.ResponseHeadersToRemove, &out.ResponseHeadersToRemove + *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 PathMatcherHeaderActionParameters. +func (in *PathMatcherHeaderActionParameters) DeepCopy() *PathMatcherHeaderActionParameters { + if in == nil { + return nil + } + out := new(PathMatcherHeaderActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherHeaderActionRequestHeadersToAddObservation) DeepCopyInto(out *PathMatcherHeaderActionRequestHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherHeaderActionRequestHeadersToAddObservation. +func (in *PathMatcherHeaderActionRequestHeadersToAddObservation) DeepCopy() *PathMatcherHeaderActionRequestHeadersToAddObservation { + if in == nil { + return nil + } + out := new(PathMatcherHeaderActionRequestHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherHeaderActionRequestHeadersToAddParameters) DeepCopyInto(out *PathMatcherHeaderActionRequestHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherHeaderActionRequestHeadersToAddParameters. +func (in *PathMatcherHeaderActionRequestHeadersToAddParameters) DeepCopy() *PathMatcherHeaderActionRequestHeadersToAddParameters { + if in == nil { + return nil + } + out := new(PathMatcherHeaderActionRequestHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherHeaderActionResponseHeadersToAddObservation) DeepCopyInto(out *PathMatcherHeaderActionResponseHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherHeaderActionResponseHeadersToAddObservation. +func (in *PathMatcherHeaderActionResponseHeadersToAddObservation) DeepCopy() *PathMatcherHeaderActionResponseHeadersToAddObservation { + if in == nil { + return nil + } + out := new(PathMatcherHeaderActionResponseHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherHeaderActionResponseHeadersToAddParameters) DeepCopyInto(out *PathMatcherHeaderActionResponseHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherHeaderActionResponseHeadersToAddParameters. +func (in *PathMatcherHeaderActionResponseHeadersToAddParameters) DeepCopy() *PathMatcherHeaderActionResponseHeadersToAddParameters { + if in == nil { + return nil + } + out := new(PathMatcherHeaderActionResponseHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherObservation) DeepCopyInto(out *PathMatcherObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherObservation. +func (in *PathMatcherObservation) DeepCopy() *PathMatcherObservation { + if in == nil { + return nil + } + out := new(PathMatcherObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherParameters) DeepCopyInto(out *PathMatcherParameters) { + *out = *in + if in.DefaultService != nil { + in, out := &in.DefaultService, &out.DefaultService + *out = new(string) + **out = **in + } + if in.DefaultURLRedirect != nil { + in, out := &in.DefaultURLRedirect, &out.DefaultURLRedirect + *out = make([]PathMatcherDefaultURLRedirectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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.PathRule != nil { + in, out := &in.PathRule, &out.PathRule + *out = make([]PathRuleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RouteRules != nil { + in, out := &in.RouteRules, &out.RouteRules + *out = make([]RouteRulesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherParameters. +func (in *PathMatcherParameters) DeepCopy() *PathMatcherParameters { + if in == nil { + return nil + } + out := new(PathMatcherParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherPathRuleObservation) DeepCopyInto(out *PathMatcherPathRuleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherPathRuleObservation. +func (in *PathMatcherPathRuleObservation) DeepCopy() *PathMatcherPathRuleObservation { + if in == nil { + return nil + } + out := new(PathMatcherPathRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherPathRuleParameters) DeepCopyInto(out *PathMatcherPathRuleParameters) { + *out = *in + if in.Paths != nil { + in, out := &in.Paths, &out.Paths + *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.RouteAction != nil { + in, out := &in.RouteAction, &out.RouteAction + *out = make([]PathRuleRouteActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.URLRedirect != nil { + in, out := &in.URLRedirect, &out.URLRedirect + *out = make([]PathRuleURLRedirectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherPathRuleParameters. +func (in *PathMatcherPathRuleParameters) DeepCopy() *PathMatcherPathRuleParameters { + if in == nil { + return nil + } + out := new(PathMatcherPathRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherRouteRulesHeaderActionObservation) DeepCopyInto(out *PathMatcherRouteRulesHeaderActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesHeaderActionObservation. +func (in *PathMatcherRouteRulesHeaderActionObservation) DeepCopy() *PathMatcherRouteRulesHeaderActionObservation { + if in == nil { + return nil + } + out := new(PathMatcherRouteRulesHeaderActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherRouteRulesHeaderActionParameters) DeepCopyInto(out *PathMatcherRouteRulesHeaderActionParameters) { + *out = *in + if in.RequestHeadersToAdd != nil { + in, out := &in.RequestHeadersToAdd, &out.RequestHeadersToAdd + *out = make([]RouteRulesHeaderActionRequestHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestHeadersToRemove != nil { + in, out := &in.RequestHeadersToRemove, &out.RequestHeadersToRemove + *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.ResponseHeadersToAdd != nil { + in, out := &in.ResponseHeadersToAdd, &out.ResponseHeadersToAdd + *out = make([]RouteRulesHeaderActionResponseHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResponseHeadersToRemove != nil { + in, out := &in.ResponseHeadersToRemove, &out.ResponseHeadersToRemove + *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 PathMatcherRouteRulesHeaderActionParameters. +func (in *PathMatcherRouteRulesHeaderActionParameters) DeepCopy() *PathMatcherRouteRulesHeaderActionParameters { + if in == nil { + return nil + } + out := new(PathMatcherRouteRulesHeaderActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherRouteRulesObservation) DeepCopyInto(out *PathMatcherRouteRulesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesObservation. +func (in *PathMatcherRouteRulesObservation) DeepCopy() *PathMatcherRouteRulesObservation { + if in == nil { + return nil + } + out := new(PathMatcherRouteRulesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherRouteRulesParameters) DeepCopyInto(out *PathMatcherRouteRulesParameters) { + *out = *in + if in.HeaderAction != nil { + in, out := &in.HeaderAction, &out.HeaderAction + *out = make([]PathMatcherRouteRulesHeaderActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MatchRules != nil { + in, out := &in.MatchRules, &out.MatchRules + *out = make([]RouteRulesMatchRulesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(int64) + **out = **in + } + if in.RouteAction != nil { + in, out := &in.RouteAction, &out.RouteAction + *out = make([]PathMatcherRouteRulesRouteActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.URLRedirect != nil { + in, out := &in.URLRedirect, &out.URLRedirect + *out = make([]PathMatcherRouteRulesURLRedirectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesParameters. +func (in *PathMatcherRouteRulesParameters) DeepCopy() *PathMatcherRouteRulesParameters { + if in == nil { + return nil + } + out := new(PathMatcherRouteRulesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherRouteRulesRouteActionObservation) DeepCopyInto(out *PathMatcherRouteRulesRouteActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionObservation. +func (in *PathMatcherRouteRulesRouteActionObservation) DeepCopy() *PathMatcherRouteRulesRouteActionObservation { + if in == nil { + return nil + } + out := new(PathMatcherRouteRulesRouteActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherRouteRulesRouteActionParameters) DeepCopyInto(out *PathMatcherRouteRulesRouteActionParameters) { + *out = *in + if in.CorsPolicy != nil { + in, out := &in.CorsPolicy, &out.CorsPolicy + *out = make([]RouteRulesRouteActionCorsPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FaultInjectionPolicy != nil { + in, out := &in.FaultInjectionPolicy, &out.FaultInjectionPolicy + *out = make([]RouteRulesRouteActionFaultInjectionPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestMirrorPolicy != nil { + in, out := &in.RequestMirrorPolicy, &out.RequestMirrorPolicy + *out = make([]RouteRulesRouteActionRequestMirrorPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryPolicy != nil { + in, out := &in.RetryPolicy, &out.RetryPolicy + *out = make([]RouteRulesRouteActionRetryPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = make([]RouteRulesRouteActionTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.URLRewrite != nil { + in, out := &in.URLRewrite, &out.URLRewrite + *out = make([]RouteRulesRouteActionURLRewriteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WeightedBackendServices != nil { + in, out := &in.WeightedBackendServices, &out.WeightedBackendServices + *out = make([]RouteRulesRouteActionWeightedBackendServicesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesRouteActionParameters. +func (in *PathMatcherRouteRulesRouteActionParameters) DeepCopy() *PathMatcherRouteRulesRouteActionParameters { + if in == nil { + return nil + } + out := new(PathMatcherRouteRulesRouteActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherRouteRulesURLRedirectObservation) DeepCopyInto(out *PathMatcherRouteRulesURLRedirectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesURLRedirectObservation. +func (in *PathMatcherRouteRulesURLRedirectObservation) DeepCopy() *PathMatcherRouteRulesURLRedirectObservation { + if in == nil { + return nil + } + out := new(PathMatcherRouteRulesURLRedirectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherRouteRulesURLRedirectParameters) DeepCopyInto(out *PathMatcherRouteRulesURLRedirectParameters) { + *out = *in + if in.HTTPSRedirect != nil { + in, out := &in.HTTPSRedirect, &out.HTTPSRedirect + *out = new(bool) + **out = **in + } + if in.HostRedirect != nil { + in, out := &in.HostRedirect, &out.HostRedirect + *out = new(string) + **out = **in + } + if in.PathRedirect != nil { + in, out := &in.PathRedirect, &out.PathRedirect + *out = new(string) + **out = **in + } + if in.PrefixRedirect != nil { + in, out := &in.PrefixRedirect, &out.PrefixRedirect + *out = new(string) + **out = **in + } + if in.RedirectResponseCode != nil { + in, out := &in.RedirectResponseCode, &out.RedirectResponseCode + *out = new(string) + **out = **in + } + if in.StripQuery != nil { + in, out := &in.StripQuery, &out.StripQuery + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherRouteRulesURLRedirectParameters. +func (in *PathMatcherRouteRulesURLRedirectParameters) DeepCopy() *PathMatcherRouteRulesURLRedirectParameters { + if in == nil { + return nil + } + out := new(PathMatcherRouteRulesURLRedirectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleObservation) DeepCopyInto(out *PathRuleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleObservation. +func (in *PathRuleObservation) DeepCopy() *PathRuleObservation { + if in == nil { + return nil + } + out := new(PathRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleParameters) DeepCopyInto(out *PathRuleParameters) { + *out = *in + if in.Paths != nil { + in, out := &in.Paths, &out.Paths + *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.RouteAction != nil { + in, out := &in.RouteAction, &out.RouteAction + *out = make([]RouteActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.URLRedirect != nil { + in, out := &in.URLRedirect, &out.URLRedirect + *out = make([]URLRedirectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleParameters. +func (in *PathRuleParameters) DeepCopy() *PathRuleParameters { + if in == nil { + return nil + } + out := new(PathRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionCorsPolicyObservation) DeepCopyInto(out *PathRuleRouteActionCorsPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionCorsPolicyObservation. +func (in *PathRuleRouteActionCorsPolicyObservation) DeepCopy() *PathRuleRouteActionCorsPolicyObservation { + if in == nil { + return nil + } + out := new(PathRuleRouteActionCorsPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionCorsPolicyParameters) DeepCopyInto(out *PathRuleRouteActionCorsPolicyParameters) { + *out = *in + if in.AllowCredentials != nil { + in, out := &in.AllowCredentials, &out.AllowCredentials + *out = new(bool) + **out = **in + } + if in.AllowHeaders != nil { + in, out := &in.AllowHeaders, &out.AllowHeaders + *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.AllowMethods != nil { + in, out := &in.AllowMethods, &out.AllowMethods + *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.AllowOriginRegexes != nil { + in, out := &in.AllowOriginRegexes, &out.AllowOriginRegexes + *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.AllowOrigins != nil { + in, out := &in.AllowOrigins, &out.AllowOrigins + *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.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.ExposeHeaders != nil { + in, out := &in.ExposeHeaders, &out.ExposeHeaders + *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.MaxAge != nil { + in, out := &in.MaxAge, &out.MaxAge + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionCorsPolicyParameters. +func (in *PathRuleRouteActionCorsPolicyParameters) DeepCopy() *PathRuleRouteActionCorsPolicyParameters { + if in == nil { + return nil + } + out := new(PathRuleRouteActionCorsPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionFaultInjectionPolicyObservation) DeepCopyInto(out *PathRuleRouteActionFaultInjectionPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionFaultInjectionPolicyObservation. +func (in *PathRuleRouteActionFaultInjectionPolicyObservation) DeepCopy() *PathRuleRouteActionFaultInjectionPolicyObservation { + if in == nil { + return nil + } + out := new(PathRuleRouteActionFaultInjectionPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionFaultInjectionPolicyParameters) DeepCopyInto(out *PathRuleRouteActionFaultInjectionPolicyParameters) { + *out = *in + if in.Abort != nil { + in, out := &in.Abort, &out.Abort + *out = make([]RouteActionFaultInjectionPolicyAbortParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Delay != nil { + in, out := &in.Delay, &out.Delay + *out = make([]RouteActionFaultInjectionPolicyDelayParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionFaultInjectionPolicyParameters. +func (in *PathRuleRouteActionFaultInjectionPolicyParameters) DeepCopy() *PathRuleRouteActionFaultInjectionPolicyParameters { + if in == nil { + return nil + } + out := new(PathRuleRouteActionFaultInjectionPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionObservation) DeepCopyInto(out *PathRuleRouteActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionObservation. +func (in *PathRuleRouteActionObservation) DeepCopy() *PathRuleRouteActionObservation { + if in == nil { + return nil + } + out := new(PathRuleRouteActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionParameters) DeepCopyInto(out *PathRuleRouteActionParameters) { + *out = *in + if in.CorsPolicy != nil { + in, out := &in.CorsPolicy, &out.CorsPolicy + *out = make([]PathRuleRouteActionCorsPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FaultInjectionPolicy != nil { + in, out := &in.FaultInjectionPolicy, &out.FaultInjectionPolicy + *out = make([]PathRuleRouteActionFaultInjectionPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestMirrorPolicy != nil { + in, out := &in.RequestMirrorPolicy, &out.RequestMirrorPolicy + *out = make([]PathRuleRouteActionRequestMirrorPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryPolicy != nil { + in, out := &in.RetryPolicy, &out.RetryPolicy + *out = make([]PathRuleRouteActionRetryPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = make([]PathRuleRouteActionTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.URLRewrite != nil { + in, out := &in.URLRewrite, &out.URLRewrite + *out = make([]PathRuleRouteActionURLRewriteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WeightedBackendServices != nil { + in, out := &in.WeightedBackendServices, &out.WeightedBackendServices + *out = make([]PathRuleRouteActionWeightedBackendServicesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionParameters. +func (in *PathRuleRouteActionParameters) DeepCopy() *PathRuleRouteActionParameters { + if in == nil { + return nil + } + out := new(PathRuleRouteActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionRequestMirrorPolicyObservation) DeepCopyInto(out *PathRuleRouteActionRequestMirrorPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionRequestMirrorPolicyObservation. +func (in *PathRuleRouteActionRequestMirrorPolicyObservation) DeepCopy() *PathRuleRouteActionRequestMirrorPolicyObservation { + if in == nil { + return nil + } + out := new(PathRuleRouteActionRequestMirrorPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionRequestMirrorPolicyParameters) DeepCopyInto(out *PathRuleRouteActionRequestMirrorPolicyParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionRequestMirrorPolicyParameters. +func (in *PathRuleRouteActionRequestMirrorPolicyParameters) DeepCopy() *PathRuleRouteActionRequestMirrorPolicyParameters { + if in == nil { + return nil + } + out := new(PathRuleRouteActionRequestMirrorPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionRetryPolicyObservation) DeepCopyInto(out *PathRuleRouteActionRetryPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionRetryPolicyObservation. +func (in *PathRuleRouteActionRetryPolicyObservation) DeepCopy() *PathRuleRouteActionRetryPolicyObservation { + if in == nil { + return nil + } + out := new(PathRuleRouteActionRetryPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionRetryPolicyParameters) DeepCopyInto(out *PathRuleRouteActionRetryPolicyParameters) { + *out = *in + if in.NumRetries != nil { + in, out := &in.NumRetries, &out.NumRetries + *out = new(int64) + **out = **in + } + if in.PerTryTimeout != nil { + in, out := &in.PerTryTimeout, &out.PerTryTimeout + *out = make([]RouteActionRetryPolicyPerTryTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryConditions != nil { + in, out := &in.RetryConditions, &out.RetryConditions + *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 PathRuleRouteActionRetryPolicyParameters. +func (in *PathRuleRouteActionRetryPolicyParameters) DeepCopy() *PathRuleRouteActionRetryPolicyParameters { + if in == nil { + return nil + } + out := new(PathRuleRouteActionRetryPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionTimeoutObservation) DeepCopyInto(out *PathRuleRouteActionTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionTimeoutObservation. +func (in *PathRuleRouteActionTimeoutObservation) DeepCopy() *PathRuleRouteActionTimeoutObservation { + if in == nil { + return nil + } + out := new(PathRuleRouteActionTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionTimeoutParameters) DeepCopyInto(out *PathRuleRouteActionTimeoutParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionTimeoutParameters. +func (in *PathRuleRouteActionTimeoutParameters) DeepCopy() *PathRuleRouteActionTimeoutParameters { + if in == nil { + return nil + } + out := new(PathRuleRouteActionTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionURLRewriteObservation) DeepCopyInto(out *PathRuleRouteActionURLRewriteObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionURLRewriteObservation. +func (in *PathRuleRouteActionURLRewriteObservation) DeepCopy() *PathRuleRouteActionURLRewriteObservation { + if in == nil { + return nil + } + out := new(PathRuleRouteActionURLRewriteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionURLRewriteParameters) DeepCopyInto(out *PathRuleRouteActionURLRewriteParameters) { + *out = *in + if in.HostRewrite != nil { + in, out := &in.HostRewrite, &out.HostRewrite + *out = new(string) + **out = **in + } + if in.PathPrefixRewrite != nil { + in, out := &in.PathPrefixRewrite, &out.PathPrefixRewrite + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionURLRewriteParameters. +func (in *PathRuleRouteActionURLRewriteParameters) DeepCopy() *PathRuleRouteActionURLRewriteParameters { + if in == nil { + return nil + } + out := new(PathRuleRouteActionURLRewriteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionWeightedBackendServicesObservation) DeepCopyInto(out *PathRuleRouteActionWeightedBackendServicesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionWeightedBackendServicesObservation. +func (in *PathRuleRouteActionWeightedBackendServicesObservation) DeepCopy() *PathRuleRouteActionWeightedBackendServicesObservation { + if in == nil { + return nil + } + out := new(PathRuleRouteActionWeightedBackendServicesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleRouteActionWeightedBackendServicesParameters) DeepCopyInto(out *PathRuleRouteActionWeightedBackendServicesParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.HeaderAction != nil { + in, out := &in.HeaderAction, &out.HeaderAction + *out = make([]RouteActionWeightedBackendServicesHeaderActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleRouteActionWeightedBackendServicesParameters. +func (in *PathRuleRouteActionWeightedBackendServicesParameters) DeepCopy() *PathRuleRouteActionWeightedBackendServicesParameters { + if in == nil { + return nil + } + out := new(PathRuleRouteActionWeightedBackendServicesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleURLRedirectObservation) DeepCopyInto(out *PathRuleURLRedirectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleURLRedirectObservation. +func (in *PathRuleURLRedirectObservation) DeepCopy() *PathRuleURLRedirectObservation { + if in == nil { + return nil + } + out := new(PathRuleURLRedirectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathRuleURLRedirectParameters) DeepCopyInto(out *PathRuleURLRedirectParameters) { + *out = *in + if in.HTTPSRedirect != nil { + in, out := &in.HTTPSRedirect, &out.HTTPSRedirect + *out = new(bool) + **out = **in + } + if in.HostRedirect != nil { + in, out := &in.HostRedirect, &out.HostRedirect + *out = new(string) + **out = **in + } + if in.PathRedirect != nil { + in, out := &in.PathRedirect, &out.PathRedirect + *out = new(string) + **out = **in + } + if in.PrefixRedirect != nil { + in, out := &in.PrefixRedirect, &out.PrefixRedirect + *out = new(string) + **out = **in + } + if in.RedirectResponseCode != nil { + in, out := &in.RedirectResponseCode, &out.RedirectResponseCode + *out = new(string) + **out = **in + } + if in.StripQuery != nil { + in, out := &in.StripQuery, &out.StripQuery + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathRuleURLRedirectParameters. +func (in *PathRuleURLRedirectParameters) DeepCopy() *PathRuleURLRedirectParameters { + if in == nil { + return nil + } + out := new(PathRuleURLRedirectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerInstanceConfig) DeepCopyInto(out *PerInstanceConfig) { + *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 PerInstanceConfig. +func (in *PerInstanceConfig) DeepCopy() *PerInstanceConfig { + if in == nil { + return nil + } + out := new(PerInstanceConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *PerInstanceConfig) 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 *PerInstanceConfigList) DeepCopyInto(out *PerInstanceConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]PerInstanceConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigList. +func (in *PerInstanceConfigList) DeepCopy() *PerInstanceConfigList { + if in == nil { + return nil + } + out := new(PerInstanceConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *PerInstanceConfigList) 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 *PerInstanceConfigObservation) DeepCopyInto(out *PerInstanceConfigObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigObservation. +func (in *PerInstanceConfigObservation) DeepCopy() *PerInstanceConfigObservation { + if in == nil { + return nil + } + out := new(PerInstanceConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerInstanceConfigParameters) DeepCopyInto(out *PerInstanceConfigParameters) { + *out = *in + if in.InstanceGroupManager != nil { + in, out := &in.InstanceGroupManager, &out.InstanceGroupManager + *out = new(string) + **out = **in + } + if in.MinimalAction != nil { + in, out := &in.MinimalAction, &out.MinimalAction + *out = new(string) + **out = **in + } + if in.MostDisruptiveAllowedAction != nil { + in, out := &in.MostDisruptiveAllowedAction, &out.MostDisruptiveAllowedAction + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PreservedState != nil { + in, out := &in.PreservedState, &out.PreservedState + *out = make([]PreservedStateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RemoveInstanceStateOnDestroy != nil { + in, out := &in.RemoveInstanceStateOnDestroy, &out.RemoveInstanceStateOnDestroy + *out = new(bool) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigParameters. +func (in *PerInstanceConfigParameters) DeepCopy() *PerInstanceConfigParameters { + if in == nil { + return nil + } + out := new(PerInstanceConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerInstanceConfigSpec) DeepCopyInto(out *PerInstanceConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigSpec. +func (in *PerInstanceConfigSpec) DeepCopy() *PerInstanceConfigSpec { + if in == nil { + return nil + } + out := new(PerInstanceConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerInstanceConfigStatus) DeepCopyInto(out *PerInstanceConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigStatus. +func (in *PerInstanceConfigStatus) DeepCopy() *PerInstanceConfigStatus { + if in == nil { + return nil + } + out := new(PerInstanceConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerInstanceConfigsObservation) DeepCopyInto(out *PerInstanceConfigsObservation) { + *out = *in + if in.AllEffective != nil { + in, out := &in.AllEffective, &out.AllEffective + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigsObservation. +func (in *PerInstanceConfigsObservation) DeepCopy() *PerInstanceConfigsObservation { + if in == nil { + return nil + } + out := new(PerInstanceConfigsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerInstanceConfigsParameters) DeepCopyInto(out *PerInstanceConfigsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerInstanceConfigsParameters. +func (in *PerInstanceConfigsParameters) DeepCopy() *PerInstanceConfigsParameters { + if in == nil { + return nil + } + out := new(PerInstanceConfigsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerTryTimeoutObservation) DeepCopyInto(out *PerTryTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerTryTimeoutObservation. +func (in *PerTryTimeoutObservation) DeepCopy() *PerTryTimeoutObservation { + if in == nil { + return nil + } + out := new(PerTryTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerTryTimeoutParameters) DeepCopyInto(out *PerTryTimeoutParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerTryTimeoutParameters. +func (in *PerTryTimeoutParameters) DeepCopy() *PerTryTimeoutParameters { + if in == nil { + return nil + } + out := new(PerTryTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreservedStateDiskObservation) DeepCopyInto(out *PreservedStateDiskObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateDiskObservation. +func (in *PreservedStateDiskObservation) DeepCopy() *PreservedStateDiskObservation { + if in == nil { + return nil + } + out := new(PreservedStateDiskObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreservedStateDiskParameters) DeepCopyInto(out *PreservedStateDiskParameters) { + *out = *in + if in.DeleteRule != nil { + in, out := &in.DeleteRule, &out.DeleteRule + *out = new(string) + **out = **in + } + if in.DeviceName != nil { + in, out := &in.DeviceName, &out.DeviceName + *out = new(string) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateDiskParameters. +func (in *PreservedStateDiskParameters) DeepCopy() *PreservedStateDiskParameters { + if in == nil { + return nil + } + out := new(PreservedStateDiskParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreservedStateObservation) DeepCopyInto(out *PreservedStateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateObservation. +func (in *PreservedStateObservation) DeepCopy() *PreservedStateObservation { + if in == nil { + return nil + } + out := new(PreservedStateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreservedStateParameters) DeepCopyInto(out *PreservedStateParameters) { + *out = *in + if in.Disk != nil { + in, out := &in.Disk, &out.Disk + *out = make([]PreservedStateDiskParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreservedStateParameters. +func (in *PreservedStateParameters) DeepCopy() *PreservedStateParameters { + if in == nil { + return nil + } + out := new(PreservedStateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrivateInterconnectInfoObservation) DeepCopyInto(out *PrivateInterconnectInfoObservation) { + *out = *in + if in.Tag8021Q != nil { + in, out := &in.Tag8021Q, &out.Tag8021Q + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateInterconnectInfoObservation. +func (in *PrivateInterconnectInfoObservation) DeepCopy() *PrivateInterconnectInfoObservation { + if in == nil { + return nil + } + out := new(PrivateInterconnectInfoObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrivateInterconnectInfoParameters) DeepCopyInto(out *PrivateInterconnectInfoParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateInterconnectInfoParameters. +func (in *PrivateInterconnectInfoParameters) DeepCopy() *PrivateInterconnectInfoParameters { + if in == nil { + return nil + } + out := new(PrivateInterconnectInfoParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectDefaultNetworkTier) DeepCopyInto(out *ProjectDefaultNetworkTier) { + *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 ProjectDefaultNetworkTier. +func (in *ProjectDefaultNetworkTier) DeepCopy() *ProjectDefaultNetworkTier { + if in == nil { + return nil + } + out := new(ProjectDefaultNetworkTier) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectDefaultNetworkTier) 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 *ProjectDefaultNetworkTierList) DeepCopyInto(out *ProjectDefaultNetworkTierList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectDefaultNetworkTier, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectDefaultNetworkTierList. +func (in *ProjectDefaultNetworkTierList) DeepCopy() *ProjectDefaultNetworkTierList { + if in == nil { + return nil + } + out := new(ProjectDefaultNetworkTierList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectDefaultNetworkTierList) 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 *ProjectDefaultNetworkTierObservation) DeepCopyInto(out *ProjectDefaultNetworkTierObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectDefaultNetworkTierObservation. +func (in *ProjectDefaultNetworkTierObservation) DeepCopy() *ProjectDefaultNetworkTierObservation { + if in == nil { + return nil + } + out := new(ProjectDefaultNetworkTierObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectDefaultNetworkTierParameters) DeepCopyInto(out *ProjectDefaultNetworkTierParameters) { + *out = *in + if in.NetworkTier != nil { + in, out := &in.NetworkTier, &out.NetworkTier + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectDefaultNetworkTierParameters. +func (in *ProjectDefaultNetworkTierParameters) DeepCopy() *ProjectDefaultNetworkTierParameters { + if in == nil { + return nil + } + out := new(ProjectDefaultNetworkTierParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectDefaultNetworkTierSpec) DeepCopyInto(out *ProjectDefaultNetworkTierSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectDefaultNetworkTierSpec. +func (in *ProjectDefaultNetworkTierSpec) DeepCopy() *ProjectDefaultNetworkTierSpec { + if in == nil { + return nil + } + out := new(ProjectDefaultNetworkTierSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectDefaultNetworkTierStatus) DeepCopyInto(out *ProjectDefaultNetworkTierStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectDefaultNetworkTierStatus. +func (in *ProjectDefaultNetworkTierStatus) DeepCopy() *ProjectDefaultNetworkTierStatus { + if in == nil { + return nil + } + out := new(ProjectDefaultNetworkTierStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectMetadata) DeepCopyInto(out *ProjectMetadata) { + *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 ProjectMetadata. +func (in *ProjectMetadata) DeepCopy() *ProjectMetadata { + if in == nil { + return nil + } + out := new(ProjectMetadata) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectMetadata) 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 *ProjectMetadataItem) DeepCopyInto(out *ProjectMetadataItem) { + *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 ProjectMetadataItem. +func (in *ProjectMetadataItem) DeepCopy() *ProjectMetadataItem { + if in == nil { + return nil + } + out := new(ProjectMetadataItem) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectMetadataItem) 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 *ProjectMetadataItemList) DeepCopyInto(out *ProjectMetadataItemList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectMetadataItem, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMetadataItemList. +func (in *ProjectMetadataItemList) DeepCopy() *ProjectMetadataItemList { + if in == nil { + return nil + } + out := new(ProjectMetadataItemList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectMetadataItemList) 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 *ProjectMetadataItemObservation) DeepCopyInto(out *ProjectMetadataItemObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMetadataItemObservation. +func (in *ProjectMetadataItemObservation) DeepCopy() *ProjectMetadataItemObservation { + if in == nil { + return nil + } + out := new(ProjectMetadataItemObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectMetadataItemParameters) DeepCopyInto(out *ProjectMetadataItemParameters) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *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 ProjectMetadataItemParameters. +func (in *ProjectMetadataItemParameters) DeepCopy() *ProjectMetadataItemParameters { + if in == nil { + return nil + } + out := new(ProjectMetadataItemParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectMetadataItemSpec) DeepCopyInto(out *ProjectMetadataItemSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMetadataItemSpec. +func (in *ProjectMetadataItemSpec) DeepCopy() *ProjectMetadataItemSpec { + if in == nil { + return nil + } + out := new(ProjectMetadataItemSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectMetadataItemStatus) DeepCopyInto(out *ProjectMetadataItemStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMetadataItemStatus. +func (in *ProjectMetadataItemStatus) DeepCopy() *ProjectMetadataItemStatus { + if in == nil { + return nil + } + out := new(ProjectMetadataItemStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectMetadataList) DeepCopyInto(out *ProjectMetadataList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectMetadata, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMetadataList. +func (in *ProjectMetadataList) DeepCopy() *ProjectMetadataList { + if in == nil { + return nil + } + out := new(ProjectMetadataList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectMetadataList) 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 *ProjectMetadataObservation) DeepCopyInto(out *ProjectMetadataObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMetadataObservation. +func (in *ProjectMetadataObservation) DeepCopy() *ProjectMetadataObservation { + if in == nil { + return nil + } + out := new(ProjectMetadataObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectMetadataParameters) DeepCopyInto(out *ProjectMetadataParameters) { + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMetadataParameters. +func (in *ProjectMetadataParameters) DeepCopy() *ProjectMetadataParameters { + if in == nil { + return nil + } + out := new(ProjectMetadataParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectMetadataSpec) DeepCopyInto(out *ProjectMetadataSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMetadataSpec. +func (in *ProjectMetadataSpec) DeepCopy() *ProjectMetadataSpec { + if in == nil { + return nil + } + out := new(ProjectMetadataSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectMetadataStatus) DeepCopyInto(out *ProjectMetadataStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMetadataStatus. +func (in *ProjectMetadataStatus) DeepCopy() *ProjectMetadataStatus { + if in == nil { + return nil + } + out := new(ProjectMetadataStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueryParameterMatchesObservation) DeepCopyInto(out *QueryParameterMatchesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryParameterMatchesObservation. +func (in *QueryParameterMatchesObservation) DeepCopy() *QueryParameterMatchesObservation { + if in == nil { + return nil + } + out := new(QueryParameterMatchesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueryParameterMatchesParameters) DeepCopyInto(out *QueryParameterMatchesParameters) { + *out = *in + if in.ExactMatch != nil { + in, out := &in.ExactMatch, &out.ExactMatch + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PresentMatch != nil { + in, out := &in.PresentMatch, &out.PresentMatch + *out = new(bool) + **out = **in + } + if in.RegexMatch != nil { + in, out := &in.RegexMatch, &out.RegexMatch + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryParameterMatchesParameters. +func (in *QueryParameterMatchesParameters) DeepCopy() *QueryParameterMatchesParameters { + if in == nil { + return nil + } + out := new(QueryParameterMatchesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RangeMatchObservation) DeepCopyInto(out *RangeMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeMatchObservation. +func (in *RangeMatchObservation) DeepCopy() *RangeMatchObservation { + if in == nil { + return nil + } + out := new(RangeMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RangeMatchParameters) DeepCopyInto(out *RangeMatchParameters) { + *out = *in + if in.RangeEnd != nil { + in, out := &in.RangeEnd, &out.RangeEnd + *out = new(int64) + **out = **in + } + if in.RangeStart != nil { + in, out := &in.RangeStart, &out.RangeStart + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeMatchParameters. +func (in *RangeMatchParameters) DeepCopy() *RangeMatchParameters { + if in == nil { + return nil + } + out := new(RangeMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RawDiskObservation) DeepCopyInto(out *RawDiskObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawDiskObservation. +func (in *RawDiskObservation) DeepCopy() *RawDiskObservation { + if in == nil { + return nil + } + out := new(RawDiskObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RawDiskParameters) DeepCopyInto(out *RawDiskParameters) { + *out = *in + if in.ContainerType != nil { + in, out := &in.ContainerType, &out.ContainerType + *out = new(string) + **out = **in + } + if in.Sha1 != nil { + in, out := &in.Sha1, &out.Sha1 + *out = new(string) + **out = **in + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawDiskParameters. +func (in *RawDiskParameters) DeepCopy() *RawDiskParameters { + if in == nil { + return nil + } + out := new(RawDiskParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionAutoscaler) DeepCopyInto(out *RegionAutoscaler) { + *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 RegionAutoscaler. +func (in *RegionAutoscaler) DeepCopy() *RegionAutoscaler { + if in == nil { + return nil + } + out := new(RegionAutoscaler) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionAutoscaler) 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 *RegionAutoscalerAutoscalingPolicyObservation) DeepCopyInto(out *RegionAutoscalerAutoscalingPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerAutoscalingPolicyObservation. +func (in *RegionAutoscalerAutoscalingPolicyObservation) DeepCopy() *RegionAutoscalerAutoscalingPolicyObservation { + if in == nil { + return nil + } + out := new(RegionAutoscalerAutoscalingPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionAutoscalerAutoscalingPolicyParameters) DeepCopyInto(out *RegionAutoscalerAutoscalingPolicyParameters) { + *out = *in + if in.CPUUtilization != nil { + in, out := &in.CPUUtilization, &out.CPUUtilization + *out = make([]AutoscalingPolicyCPUUtilizationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CooldownPeriod != nil { + in, out := &in.CooldownPeriod, &out.CooldownPeriod + *out = new(int64) + **out = **in + } + if in.LoadBalancingUtilization != nil { + in, out := &in.LoadBalancingUtilization, &out.LoadBalancingUtilization + *out = make([]AutoscalingPolicyLoadBalancingUtilizationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaxReplicas != nil { + in, out := &in.MaxReplicas, &out.MaxReplicas + *out = new(int64) + **out = **in + } + if in.Metric != nil { + in, out := &in.Metric, &out.Metric + *out = make([]AutoscalingPolicyMetricParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MinReplicas != nil { + in, out := &in.MinReplicas, &out.MinReplicas + *out = new(int64) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.ScaleInControl != nil { + in, out := &in.ScaleInControl, &out.ScaleInControl + *out = make([]AutoscalingPolicyScaleInControlParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ScalingSchedules != nil { + in, out := &in.ScalingSchedules, &out.ScalingSchedules + *out = make([]AutoscalingPolicyScalingSchedulesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerAutoscalingPolicyParameters. +func (in *RegionAutoscalerAutoscalingPolicyParameters) DeepCopy() *RegionAutoscalerAutoscalingPolicyParameters { + if in == nil { + return nil + } + out := new(RegionAutoscalerAutoscalingPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionAutoscalerList) DeepCopyInto(out *RegionAutoscalerList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionAutoscaler, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerList. +func (in *RegionAutoscalerList) DeepCopy() *RegionAutoscalerList { + if in == nil { + return nil + } + out := new(RegionAutoscalerList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionAutoscalerList) 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 *RegionAutoscalerObservation) DeepCopyInto(out *RegionAutoscalerObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerObservation. +func (in *RegionAutoscalerObservation) DeepCopy() *RegionAutoscalerObservation { + if in == nil { + return nil + } + out := new(RegionAutoscalerObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionAutoscalerParameters) DeepCopyInto(out *RegionAutoscalerParameters) { + *out = *in + if in.AutoscalingPolicy != nil { + in, out := &in.AutoscalingPolicy, &out.AutoscalingPolicy + *out = make([]RegionAutoscalerAutoscalingPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerParameters. +func (in *RegionAutoscalerParameters) DeepCopy() *RegionAutoscalerParameters { + if in == nil { + return nil + } + out := new(RegionAutoscalerParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionAutoscalerSpec) DeepCopyInto(out *RegionAutoscalerSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerSpec. +func (in *RegionAutoscalerSpec) DeepCopy() *RegionAutoscalerSpec { + if in == nil { + return nil + } + out := new(RegionAutoscalerSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionAutoscalerStatus) DeepCopyInto(out *RegionAutoscalerStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionAutoscalerStatus. +func (in *RegionAutoscalerStatus) DeepCopy() *RegionAutoscalerStatus { + if in == nil { + return nil + } + out := new(RegionAutoscalerStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendService) DeepCopyInto(out *RegionBackendService) { + *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 RegionBackendService. +func (in *RegionBackendService) DeepCopy() *RegionBackendService { + if in == nil { + return nil + } + out := new(RegionBackendService) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionBackendService) 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 *RegionBackendServiceBackendObservation) DeepCopyInto(out *RegionBackendServiceBackendObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceBackendObservation. +func (in *RegionBackendServiceBackendObservation) DeepCopy() *RegionBackendServiceBackendObservation { + if in == nil { + return nil + } + out := new(RegionBackendServiceBackendObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceBackendParameters) DeepCopyInto(out *RegionBackendServiceBackendParameters) { + *out = *in + if in.BalancingMode != nil { + in, out := &in.BalancingMode, &out.BalancingMode + *out = new(string) + **out = **in + } + if in.CapacityScaler != nil { + in, out := &in.CapacityScaler, &out.CapacityScaler + *out = new(float64) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Failover != nil { + in, out := &in.Failover, &out.Failover + *out = new(bool) + **out = **in + } + if in.Group != nil { + in, out := &in.Group, &out.Group + *out = new(string) + **out = **in + } + if in.MaxConnections != nil { + in, out := &in.MaxConnections, &out.MaxConnections + *out = new(int64) + **out = **in + } + if in.MaxConnectionsPerEndpoint != nil { + in, out := &in.MaxConnectionsPerEndpoint, &out.MaxConnectionsPerEndpoint + *out = new(int64) + **out = **in + } + if in.MaxConnectionsPerInstance != nil { + in, out := &in.MaxConnectionsPerInstance, &out.MaxConnectionsPerInstance + *out = new(int64) + **out = **in + } + if in.MaxRate != nil { + in, out := &in.MaxRate, &out.MaxRate + *out = new(int64) + **out = **in + } + if in.MaxRatePerEndpoint != nil { + in, out := &in.MaxRatePerEndpoint, &out.MaxRatePerEndpoint + *out = new(float64) + **out = **in + } + if in.MaxRatePerInstance != nil { + in, out := &in.MaxRatePerInstance, &out.MaxRatePerInstance + *out = new(float64) + **out = **in + } + if in.MaxUtilization != nil { + in, out := &in.MaxUtilization, &out.MaxUtilization + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceBackendParameters. +func (in *RegionBackendServiceBackendParameters) DeepCopy() *RegionBackendServiceBackendParameters { + if in == nil { + return nil + } + out := new(RegionBackendServiceBackendParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceCdnPolicyNegativeCachingPolicyObservation) DeepCopyInto(out *RegionBackendServiceCdnPolicyNegativeCachingPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCdnPolicyNegativeCachingPolicyObservation. +func (in *RegionBackendServiceCdnPolicyNegativeCachingPolicyObservation) DeepCopy() *RegionBackendServiceCdnPolicyNegativeCachingPolicyObservation { + if in == nil { + return nil + } + out := new(RegionBackendServiceCdnPolicyNegativeCachingPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters) DeepCopyInto(out *RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters) { + *out = *in + if in.Code != nil { + in, out := &in.Code, &out.Code + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters. +func (in *RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters) DeepCopy() *RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters { + if in == nil { + return nil + } + out := new(RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceCdnPolicyObservation) DeepCopyInto(out *RegionBackendServiceCdnPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCdnPolicyObservation. +func (in *RegionBackendServiceCdnPolicyObservation) DeepCopy() *RegionBackendServiceCdnPolicyObservation { + if in == nil { + return nil + } + out := new(RegionBackendServiceCdnPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceCdnPolicyParameters) DeepCopyInto(out *RegionBackendServiceCdnPolicyParameters) { + *out = *in + if in.CacheKeyPolicy != nil { + in, out := &in.CacheKeyPolicy, &out.CacheKeyPolicy + *out = make([]CdnPolicyCacheKeyPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CacheMode != nil { + in, out := &in.CacheMode, &out.CacheMode + *out = new(string) + **out = **in + } + if in.ClientTTL != nil { + in, out := &in.ClientTTL, &out.ClientTTL + *out = new(int64) + **out = **in + } + if in.DefaultTTL != nil { + in, out := &in.DefaultTTL, &out.DefaultTTL + *out = new(int64) + **out = **in + } + if in.MaxTTL != nil { + in, out := &in.MaxTTL, &out.MaxTTL + *out = new(int64) + **out = **in + } + if in.NegativeCaching != nil { + in, out := &in.NegativeCaching, &out.NegativeCaching + *out = new(bool) + **out = **in + } + if in.NegativeCachingPolicy != nil { + in, out := &in.NegativeCachingPolicy, &out.NegativeCachingPolicy + *out = make([]RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServeWhileStale != nil { + in, out := &in.ServeWhileStale, &out.ServeWhileStale + *out = new(int64) + **out = **in + } + if in.SignedURLCacheMaxAgeSec != nil { + in, out := &in.SignedURLCacheMaxAgeSec, &out.SignedURLCacheMaxAgeSec + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCdnPolicyParameters. +func (in *RegionBackendServiceCdnPolicyParameters) DeepCopy() *RegionBackendServiceCdnPolicyParameters { + if in == nil { + return nil + } + out := new(RegionBackendServiceCdnPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceCircuitBreakersObservation) DeepCopyInto(out *RegionBackendServiceCircuitBreakersObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCircuitBreakersObservation. +func (in *RegionBackendServiceCircuitBreakersObservation) DeepCopy() *RegionBackendServiceCircuitBreakersObservation { + if in == nil { + return nil + } + out := new(RegionBackendServiceCircuitBreakersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceCircuitBreakersParameters) DeepCopyInto(out *RegionBackendServiceCircuitBreakersParameters) { + *out = *in + if in.MaxConnections != nil { + in, out := &in.MaxConnections, &out.MaxConnections + *out = new(int64) + **out = **in + } + if in.MaxPendingRequests != nil { + in, out := &in.MaxPendingRequests, &out.MaxPendingRequests + *out = new(int64) + **out = **in + } + if in.MaxRequests != nil { + in, out := &in.MaxRequests, &out.MaxRequests + *out = new(int64) + **out = **in + } + if in.MaxRequestsPerConnection != nil { + in, out := &in.MaxRequestsPerConnection, &out.MaxRequestsPerConnection + *out = new(int64) + **out = **in + } + if in.MaxRetries != nil { + in, out := &in.MaxRetries, &out.MaxRetries + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceCircuitBreakersParameters. +func (in *RegionBackendServiceCircuitBreakersParameters) DeepCopy() *RegionBackendServiceCircuitBreakersParameters { + if in == nil { + return nil + } + out := new(RegionBackendServiceCircuitBreakersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceConsistentHashObservation) DeepCopyInto(out *RegionBackendServiceConsistentHashObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceConsistentHashObservation. +func (in *RegionBackendServiceConsistentHashObservation) DeepCopy() *RegionBackendServiceConsistentHashObservation { + if in == nil { + return nil + } + out := new(RegionBackendServiceConsistentHashObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceConsistentHashParameters) DeepCopyInto(out *RegionBackendServiceConsistentHashParameters) { + *out = *in + if in.HTTPCookie != nil { + in, out := &in.HTTPCookie, &out.HTTPCookie + *out = make([]ConsistentHashHTTPCookieParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HTTPHeaderName != nil { + in, out := &in.HTTPHeaderName, &out.HTTPHeaderName + *out = new(string) + **out = **in + } + if in.MinimumRingSize != nil { + in, out := &in.MinimumRingSize, &out.MinimumRingSize + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceConsistentHashParameters. +func (in *RegionBackendServiceConsistentHashParameters) DeepCopy() *RegionBackendServiceConsistentHashParameters { + if in == nil { + return nil + } + out := new(RegionBackendServiceConsistentHashParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceIapObservation) DeepCopyInto(out *RegionBackendServiceIapObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceIapObservation. +func (in *RegionBackendServiceIapObservation) DeepCopy() *RegionBackendServiceIapObservation { + if in == nil { + return nil + } + out := new(RegionBackendServiceIapObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceIapParameters) DeepCopyInto(out *RegionBackendServiceIapParameters) { + *out = *in + if in.Oauth2ClientID != nil { + in, out := &in.Oauth2ClientID, &out.Oauth2ClientID + *out = new(string) + **out = **in + } + out.Oauth2ClientSecretSecretRef = in.Oauth2ClientSecretSecretRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceIapParameters. +func (in *RegionBackendServiceIapParameters) DeepCopy() *RegionBackendServiceIapParameters { + if in == nil { + return nil + } + out := new(RegionBackendServiceIapParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceList) DeepCopyInto(out *RegionBackendServiceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionBackendService, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceList. +func (in *RegionBackendServiceList) DeepCopy() *RegionBackendServiceList { + if in == nil { + return nil + } + out := new(RegionBackendServiceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionBackendServiceList) 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 *RegionBackendServiceLogConfigObservation) DeepCopyInto(out *RegionBackendServiceLogConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceLogConfigObservation. +func (in *RegionBackendServiceLogConfigObservation) DeepCopy() *RegionBackendServiceLogConfigObservation { + if in == nil { + return nil + } + out := new(RegionBackendServiceLogConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceLogConfigParameters) DeepCopyInto(out *RegionBackendServiceLogConfigParameters) { + *out = *in + if in.Enable != nil { + in, out := &in.Enable, &out.Enable + *out = new(bool) + **out = **in + } + if in.SampleRate != nil { + in, out := &in.SampleRate, &out.SampleRate + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceLogConfigParameters. +func (in *RegionBackendServiceLogConfigParameters) DeepCopy() *RegionBackendServiceLogConfigParameters { + if in == nil { + return nil + } + out := new(RegionBackendServiceLogConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceObservation) DeepCopyInto(out *RegionBackendServiceObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.Fingerprint != nil { + in, out := &in.Fingerprint, &out.Fingerprint + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceObservation. +func (in *RegionBackendServiceObservation) DeepCopy() *RegionBackendServiceObservation { + if in == nil { + return nil + } + out := new(RegionBackendServiceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceOutlierDetectionObservation) DeepCopyInto(out *RegionBackendServiceOutlierDetectionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceOutlierDetectionObservation. +func (in *RegionBackendServiceOutlierDetectionObservation) DeepCopy() *RegionBackendServiceOutlierDetectionObservation { + if in == nil { + return nil + } + out := new(RegionBackendServiceOutlierDetectionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceOutlierDetectionParameters) DeepCopyInto(out *RegionBackendServiceOutlierDetectionParameters) { + *out = *in + if in.BaseEjectionTime != nil { + in, out := &in.BaseEjectionTime, &out.BaseEjectionTime + *out = make([]OutlierDetectionBaseEjectionTimeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ConsecutiveErrors != nil { + in, out := &in.ConsecutiveErrors, &out.ConsecutiveErrors + *out = new(int64) + **out = **in + } + if in.ConsecutiveGatewayFailure != nil { + in, out := &in.ConsecutiveGatewayFailure, &out.ConsecutiveGatewayFailure + *out = new(int64) + **out = **in + } + if in.EnforcingConsecutiveErrors != nil { + in, out := &in.EnforcingConsecutiveErrors, &out.EnforcingConsecutiveErrors + *out = new(int64) + **out = **in + } + if in.EnforcingConsecutiveGatewayFailure != nil { + in, out := &in.EnforcingConsecutiveGatewayFailure, &out.EnforcingConsecutiveGatewayFailure + *out = new(int64) + **out = **in + } + if in.EnforcingSuccessRate != nil { + in, out := &in.EnforcingSuccessRate, &out.EnforcingSuccessRate + *out = new(int64) + **out = **in + } + if in.Interval != nil { + in, out := &in.Interval, &out.Interval + *out = make([]OutlierDetectionIntervalParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaxEjectionPercent != nil { + in, out := &in.MaxEjectionPercent, &out.MaxEjectionPercent + *out = new(int64) + **out = **in + } + if in.SuccessRateMinimumHosts != nil { + in, out := &in.SuccessRateMinimumHosts, &out.SuccessRateMinimumHosts + *out = new(int64) + **out = **in + } + if in.SuccessRateRequestVolume != nil { + in, out := &in.SuccessRateRequestVolume, &out.SuccessRateRequestVolume + *out = new(int64) + **out = **in + } + if in.SuccessRateStdevFactor != nil { + in, out := &in.SuccessRateStdevFactor, &out.SuccessRateStdevFactor + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceOutlierDetectionParameters. +func (in *RegionBackendServiceOutlierDetectionParameters) DeepCopy() *RegionBackendServiceOutlierDetectionParameters { + if in == nil { + return nil + } + out := new(RegionBackendServiceOutlierDetectionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceParameters) DeepCopyInto(out *RegionBackendServiceParameters) { + *out = *in + if in.AffinityCookieTTLSec != nil { + in, out := &in.AffinityCookieTTLSec, &out.AffinityCookieTTLSec + *out = new(int64) + **out = **in + } + if in.Backend != nil { + in, out := &in.Backend, &out.Backend + *out = make([]RegionBackendServiceBackendParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CdnPolicy != nil { + in, out := &in.CdnPolicy, &out.CdnPolicy + *out = make([]RegionBackendServiceCdnPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CircuitBreakers != nil { + in, out := &in.CircuitBreakers, &out.CircuitBreakers + *out = make([]RegionBackendServiceCircuitBreakersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ConnectionDrainingTimeoutSec != nil { + in, out := &in.ConnectionDrainingTimeoutSec, &out.ConnectionDrainingTimeoutSec + *out = new(int64) + **out = **in + } + if in.ConsistentHash != nil { + in, out := &in.ConsistentHash, &out.ConsistentHash + *out = make([]RegionBackendServiceConsistentHashParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.EnableCdn != nil { + in, out := &in.EnableCdn, &out.EnableCdn + *out = new(bool) + **out = **in + } + if in.FailoverPolicy != nil { + in, out := &in.FailoverPolicy, &out.FailoverPolicy + *out = make([]FailoverPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HealthChecks != nil { + in, out := &in.HealthChecks, &out.HealthChecks + *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.Iap != nil { + in, out := &in.Iap, &out.Iap + *out = make([]RegionBackendServiceIapParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LoadBalancingScheme != nil { + in, out := &in.LoadBalancingScheme, &out.LoadBalancingScheme + *out = new(string) + **out = **in + } + if in.LocalityLBPolicy != nil { + in, out := &in.LocalityLBPolicy, &out.LocalityLBPolicy + *out = new(string) + **out = **in + } + if in.LogConfig != nil { + in, out := &in.LogConfig, &out.LogConfig + *out = make([]RegionBackendServiceLogConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.OutlierDetection != nil { + in, out := &in.OutlierDetection, &out.OutlierDetection + *out = make([]RegionBackendServiceOutlierDetectionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PortName != nil { + in, out := &in.PortName, &out.PortName + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.SessionAffinity != nil { + in, out := &in.SessionAffinity, &out.SessionAffinity + *out = new(string) + **out = **in + } + if in.TimeoutSec != nil { + in, out := &in.TimeoutSec, &out.TimeoutSec + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceParameters. +func (in *RegionBackendServiceParameters) DeepCopy() *RegionBackendServiceParameters { + if in == nil { + return nil + } + out := new(RegionBackendServiceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceSpec) DeepCopyInto(out *RegionBackendServiceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceSpec. +func (in *RegionBackendServiceSpec) DeepCopy() *RegionBackendServiceSpec { + if in == nil { + return nil + } + out := new(RegionBackendServiceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionBackendServiceStatus) DeepCopyInto(out *RegionBackendServiceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionBackendServiceStatus. +func (in *RegionBackendServiceStatus) DeepCopy() *RegionBackendServiceStatus { + if in == nil { + return nil + } + out := new(RegionBackendServiceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDisk) DeepCopyInto(out *RegionDisk) { + *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 RegionDisk. +func (in *RegionDisk) DeepCopy() *RegionDisk { + if in == nil { + return nil + } + out := new(RegionDisk) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionDisk) 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 *RegionDiskDiskEncryptionKeyObservation) DeepCopyInto(out *RegionDiskDiskEncryptionKeyObservation) { + *out = *in + if in.Sha256 != nil { + in, out := &in.Sha256, &out.Sha256 + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskDiskEncryptionKeyObservation. +func (in *RegionDiskDiskEncryptionKeyObservation) DeepCopy() *RegionDiskDiskEncryptionKeyObservation { + if in == nil { + return nil + } + out := new(RegionDiskDiskEncryptionKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskDiskEncryptionKeyParameters) DeepCopyInto(out *RegionDiskDiskEncryptionKeyParameters) { + *out = *in + if in.RawKeySecretRef != nil { + in, out := &in.RawKeySecretRef, &out.RawKeySecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskDiskEncryptionKeyParameters. +func (in *RegionDiskDiskEncryptionKeyParameters) DeepCopy() *RegionDiskDiskEncryptionKeyParameters { + if in == nil { + return nil + } + out := new(RegionDiskDiskEncryptionKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMBinding) DeepCopyInto(out *RegionDiskIAMBinding) { + *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 RegionDiskIAMBinding. +func (in *RegionDiskIAMBinding) DeepCopy() *RegionDiskIAMBinding { + if in == nil { + return nil + } + out := new(RegionDiskIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionDiskIAMBinding) 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 *RegionDiskIAMBindingConditionObservation) DeepCopyInto(out *RegionDiskIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMBindingConditionObservation. +func (in *RegionDiskIAMBindingConditionObservation) DeepCopy() *RegionDiskIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(RegionDiskIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMBindingConditionParameters) DeepCopyInto(out *RegionDiskIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMBindingConditionParameters. +func (in *RegionDiskIAMBindingConditionParameters) DeepCopy() *RegionDiskIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(RegionDiskIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMBindingList) DeepCopyInto(out *RegionDiskIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionDiskIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMBindingList. +func (in *RegionDiskIAMBindingList) DeepCopy() *RegionDiskIAMBindingList { + if in == nil { + return nil + } + out := new(RegionDiskIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionDiskIAMBindingList) 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 *RegionDiskIAMBindingObservation) DeepCopyInto(out *RegionDiskIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMBindingObservation. +func (in *RegionDiskIAMBindingObservation) DeepCopy() *RegionDiskIAMBindingObservation { + if in == nil { + return nil + } + out := new(RegionDiskIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMBindingParameters) DeepCopyInto(out *RegionDiskIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]RegionDiskIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMBindingParameters. +func (in *RegionDiskIAMBindingParameters) DeepCopy() *RegionDiskIAMBindingParameters { + if in == nil { + return nil + } + out := new(RegionDiskIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMBindingSpec) DeepCopyInto(out *RegionDiskIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMBindingSpec. +func (in *RegionDiskIAMBindingSpec) DeepCopy() *RegionDiskIAMBindingSpec { + if in == nil { + return nil + } + out := new(RegionDiskIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMBindingStatus) DeepCopyInto(out *RegionDiskIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMBindingStatus. +func (in *RegionDiskIAMBindingStatus) DeepCopy() *RegionDiskIAMBindingStatus { + if in == nil { + return nil + } + out := new(RegionDiskIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMMember) DeepCopyInto(out *RegionDiskIAMMember) { + *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 RegionDiskIAMMember. +func (in *RegionDiskIAMMember) DeepCopy() *RegionDiskIAMMember { + if in == nil { + return nil + } + out := new(RegionDiskIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionDiskIAMMember) 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 *RegionDiskIAMMemberConditionObservation) DeepCopyInto(out *RegionDiskIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberConditionObservation. +func (in *RegionDiskIAMMemberConditionObservation) DeepCopy() *RegionDiskIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(RegionDiskIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMMemberConditionParameters) DeepCopyInto(out *RegionDiskIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberConditionParameters. +func (in *RegionDiskIAMMemberConditionParameters) DeepCopy() *RegionDiskIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(RegionDiskIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMMemberList) DeepCopyInto(out *RegionDiskIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionDiskIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberList. +func (in *RegionDiskIAMMemberList) DeepCopy() *RegionDiskIAMMemberList { + if in == nil { + return nil + } + out := new(RegionDiskIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionDiskIAMMemberList) 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 *RegionDiskIAMMemberObservation) DeepCopyInto(out *RegionDiskIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberObservation. +func (in *RegionDiskIAMMemberObservation) DeepCopy() *RegionDiskIAMMemberObservation { + if in == nil { + return nil + } + out := new(RegionDiskIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMMemberParameters) DeepCopyInto(out *RegionDiskIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]RegionDiskIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberParameters. +func (in *RegionDiskIAMMemberParameters) DeepCopy() *RegionDiskIAMMemberParameters { + if in == nil { + return nil + } + out := new(RegionDiskIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMMemberSpec) DeepCopyInto(out *RegionDiskIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberSpec. +func (in *RegionDiskIAMMemberSpec) DeepCopy() *RegionDiskIAMMemberSpec { + if in == nil { + return nil + } + out := new(RegionDiskIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMMemberStatus) DeepCopyInto(out *RegionDiskIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMMemberStatus. +func (in *RegionDiskIAMMemberStatus) DeepCopy() *RegionDiskIAMMemberStatus { + if in == nil { + return nil + } + out := new(RegionDiskIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMPolicy) DeepCopyInto(out *RegionDiskIAMPolicy) { + *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 RegionDiskIAMPolicy. +func (in *RegionDiskIAMPolicy) DeepCopy() *RegionDiskIAMPolicy { + if in == nil { + return nil + } + out := new(RegionDiskIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionDiskIAMPolicy) 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 *RegionDiskIAMPolicyList) DeepCopyInto(out *RegionDiskIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionDiskIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMPolicyList. +func (in *RegionDiskIAMPolicyList) DeepCopy() *RegionDiskIAMPolicyList { + if in == nil { + return nil + } + out := new(RegionDiskIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionDiskIAMPolicyList) 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 *RegionDiskIAMPolicyObservation) DeepCopyInto(out *RegionDiskIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMPolicyObservation. +func (in *RegionDiskIAMPolicyObservation) DeepCopy() *RegionDiskIAMPolicyObservation { + if in == nil { + return nil + } + out := new(RegionDiskIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMPolicyParameters) DeepCopyInto(out *RegionDiskIAMPolicyParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMPolicyParameters. +func (in *RegionDiskIAMPolicyParameters) DeepCopy() *RegionDiskIAMPolicyParameters { + if in == nil { + return nil + } + out := new(RegionDiskIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMPolicySpec) DeepCopyInto(out *RegionDiskIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMPolicySpec. +func (in *RegionDiskIAMPolicySpec) DeepCopy() *RegionDiskIAMPolicySpec { + if in == nil { + return nil + } + out := new(RegionDiskIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskIAMPolicyStatus) DeepCopyInto(out *RegionDiskIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskIAMPolicyStatus. +func (in *RegionDiskIAMPolicyStatus) DeepCopy() *RegionDiskIAMPolicyStatus { + if in == nil { + return nil + } + out := new(RegionDiskIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskList) DeepCopyInto(out *RegionDiskList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionDisk, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskList. +func (in *RegionDiskList) DeepCopy() *RegionDiskList { + if in == nil { + return nil + } + out := new(RegionDiskList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionDiskList) 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 *RegionDiskObservation) DeepCopyInto(out *RegionDiskObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LabelFingerprint != nil { + in, out := &in.LabelFingerprint, &out.LabelFingerprint + *out = new(string) + **out = **in + } + if in.LastAttachTimestamp != nil { + in, out := &in.LastAttachTimestamp, &out.LastAttachTimestamp + *out = new(string) + **out = **in + } + if in.LastDetachTimestamp != nil { + in, out := &in.LastDetachTimestamp, &out.LastDetachTimestamp + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.SourceSnapshotID != nil { + in, out := &in.SourceSnapshotID, &out.SourceSnapshotID + *out = new(string) + **out = **in + } + if in.Users != nil { + in, out := &in.Users, &out.Users + *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 RegionDiskObservation. +func (in *RegionDiskObservation) DeepCopy() *RegionDiskObservation { + if in == nil { + return nil + } + out := new(RegionDiskObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskParameters) DeepCopyInto(out *RegionDiskParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DiskEncryptionKey != nil { + in, out := &in.DiskEncryptionKey, &out.DiskEncryptionKey + *out = make([]RegionDiskDiskEncryptionKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.PhysicalBlockSizeBytes != nil { + in, out := &in.PhysicalBlockSizeBytes, &out.PhysicalBlockSizeBytes + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.ReplicaZones != nil { + in, out := &in.ReplicaZones, &out.ReplicaZones + *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.Size != nil { + in, out := &in.Size, &out.Size + *out = new(int64) + **out = **in + } + if in.Snapshot != nil { + in, out := &in.Snapshot, &out.Snapshot + *out = new(string) + **out = **in + } + if in.SourceSnapshotEncryptionKey != nil { + in, out := &in.SourceSnapshotEncryptionKey, &out.SourceSnapshotEncryptionKey + *out = make([]RegionDiskSourceSnapshotEncryptionKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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 RegionDiskParameters. +func (in *RegionDiskParameters) DeepCopy() *RegionDiskParameters { + if in == nil { + return nil + } + out := new(RegionDiskParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskResourcePolicyAttachment) DeepCopyInto(out *RegionDiskResourcePolicyAttachment) { + *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 RegionDiskResourcePolicyAttachment. +func (in *RegionDiskResourcePolicyAttachment) DeepCopy() *RegionDiskResourcePolicyAttachment { + if in == nil { + return nil + } + out := new(RegionDiskResourcePolicyAttachment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionDiskResourcePolicyAttachment) 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 *RegionDiskResourcePolicyAttachmentList) DeepCopyInto(out *RegionDiskResourcePolicyAttachmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionDiskResourcePolicyAttachment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskResourcePolicyAttachmentList. +func (in *RegionDiskResourcePolicyAttachmentList) DeepCopy() *RegionDiskResourcePolicyAttachmentList { + if in == nil { + return nil + } + out := new(RegionDiskResourcePolicyAttachmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionDiskResourcePolicyAttachmentList) 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 *RegionDiskResourcePolicyAttachmentObservation) DeepCopyInto(out *RegionDiskResourcePolicyAttachmentObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskResourcePolicyAttachmentObservation. +func (in *RegionDiskResourcePolicyAttachmentObservation) DeepCopy() *RegionDiskResourcePolicyAttachmentObservation { + if in == nil { + return nil + } + out := new(RegionDiskResourcePolicyAttachmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskResourcePolicyAttachmentParameters) DeepCopyInto(out *RegionDiskResourcePolicyAttachmentParameters) { + *out = *in + if in.Disk != nil { + in, out := &in.Disk, &out.Disk + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskResourcePolicyAttachmentParameters. +func (in *RegionDiskResourcePolicyAttachmentParameters) DeepCopy() *RegionDiskResourcePolicyAttachmentParameters { + if in == nil { + return nil + } + out := new(RegionDiskResourcePolicyAttachmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskResourcePolicyAttachmentSpec) DeepCopyInto(out *RegionDiskResourcePolicyAttachmentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskResourcePolicyAttachmentSpec. +func (in *RegionDiskResourcePolicyAttachmentSpec) DeepCopy() *RegionDiskResourcePolicyAttachmentSpec { + if in == nil { + return nil + } + out := new(RegionDiskResourcePolicyAttachmentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskResourcePolicyAttachmentStatus) DeepCopyInto(out *RegionDiskResourcePolicyAttachmentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskResourcePolicyAttachmentStatus. +func (in *RegionDiskResourcePolicyAttachmentStatus) DeepCopy() *RegionDiskResourcePolicyAttachmentStatus { + if in == nil { + return nil + } + out := new(RegionDiskResourcePolicyAttachmentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskSourceSnapshotEncryptionKeyObservation) DeepCopyInto(out *RegionDiskSourceSnapshotEncryptionKeyObservation) { + *out = *in + if in.Sha256 != nil { + in, out := &in.Sha256, &out.Sha256 + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskSourceSnapshotEncryptionKeyObservation. +func (in *RegionDiskSourceSnapshotEncryptionKeyObservation) DeepCopy() *RegionDiskSourceSnapshotEncryptionKeyObservation { + if in == nil { + return nil + } + out := new(RegionDiskSourceSnapshotEncryptionKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskSourceSnapshotEncryptionKeyParameters) DeepCopyInto(out *RegionDiskSourceSnapshotEncryptionKeyParameters) { + *out = *in + if in.RawKey != nil { + in, out := &in.RawKey, &out.RawKey + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskSourceSnapshotEncryptionKeyParameters. +func (in *RegionDiskSourceSnapshotEncryptionKeyParameters) DeepCopy() *RegionDiskSourceSnapshotEncryptionKeyParameters { + if in == nil { + return nil + } + out := new(RegionDiskSourceSnapshotEncryptionKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskSpec) DeepCopyInto(out *RegionDiskSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskSpec. +func (in *RegionDiskSpec) DeepCopy() *RegionDiskSpec { + if in == nil { + return nil + } + out := new(RegionDiskSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionDiskStatus) DeepCopyInto(out *RegionDiskStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionDiskStatus. +func (in *RegionDiskStatus) DeepCopy() *RegionDiskStatus { + if in == nil { + return nil + } + out := new(RegionDiskStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheck) DeepCopyInto(out *RegionHealthCheck) { + *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 RegionHealthCheck. +func (in *RegionHealthCheck) DeepCopy() *RegionHealthCheck { + if in == nil { + return nil + } + out := new(RegionHealthCheck) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionHealthCheck) 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 *RegionHealthCheckGRPCHealthCheckObservation) DeepCopyInto(out *RegionHealthCheckGRPCHealthCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckGRPCHealthCheckObservation. +func (in *RegionHealthCheckGRPCHealthCheckObservation) DeepCopy() *RegionHealthCheckGRPCHealthCheckObservation { + if in == nil { + return nil + } + out := new(RegionHealthCheckGRPCHealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckGRPCHealthCheckParameters) DeepCopyInto(out *RegionHealthCheckGRPCHealthCheckParameters) { + *out = *in + if in.GRPCServiceName != nil { + in, out := &in.GRPCServiceName, &out.GRPCServiceName + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.PortName != nil { + in, out := &in.PortName, &out.PortName + *out = new(string) + **out = **in + } + if in.PortSpecification != nil { + in, out := &in.PortSpecification, &out.PortSpecification + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckGRPCHealthCheckParameters. +func (in *RegionHealthCheckGRPCHealthCheckParameters) DeepCopy() *RegionHealthCheckGRPCHealthCheckParameters { + if in == nil { + return nil + } + out := new(RegionHealthCheckGRPCHealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckHTTPHealthCheckObservation) DeepCopyInto(out *RegionHealthCheckHTTPHealthCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHTTPHealthCheckObservation. +func (in *RegionHealthCheckHTTPHealthCheckObservation) DeepCopy() *RegionHealthCheckHTTPHealthCheckObservation { + if in == nil { + return nil + } + out := new(RegionHealthCheckHTTPHealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckHTTPHealthCheckParameters) DeepCopyInto(out *RegionHealthCheckHTTPHealthCheckParameters) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.PortName != nil { + in, out := &in.PortName, &out.PortName + *out = new(string) + **out = **in + } + if in.PortSpecification != nil { + in, out := &in.PortSpecification, &out.PortSpecification + *out = new(string) + **out = **in + } + if in.ProxyHeader != nil { + in, out := &in.ProxyHeader, &out.ProxyHeader + *out = new(string) + **out = **in + } + if in.RequestPath != nil { + in, out := &in.RequestPath, &out.RequestPath + *out = new(string) + **out = **in + } + if in.Response != nil { + in, out := &in.Response, &out.Response + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHTTPHealthCheckParameters. +func (in *RegionHealthCheckHTTPHealthCheckParameters) DeepCopy() *RegionHealthCheckHTTPHealthCheckParameters { + if in == nil { + return nil + } + out := new(RegionHealthCheckHTTPHealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckHTTPSHealthCheckObservation) DeepCopyInto(out *RegionHealthCheckHTTPSHealthCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHTTPSHealthCheckObservation. +func (in *RegionHealthCheckHTTPSHealthCheckObservation) DeepCopy() *RegionHealthCheckHTTPSHealthCheckObservation { + if in == nil { + return nil + } + out := new(RegionHealthCheckHTTPSHealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckHTTPSHealthCheckParameters) DeepCopyInto(out *RegionHealthCheckHTTPSHealthCheckParameters) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.PortName != nil { + in, out := &in.PortName, &out.PortName + *out = new(string) + **out = **in + } + if in.PortSpecification != nil { + in, out := &in.PortSpecification, &out.PortSpecification + *out = new(string) + **out = **in + } + if in.ProxyHeader != nil { + in, out := &in.ProxyHeader, &out.ProxyHeader + *out = new(string) + **out = **in + } + if in.RequestPath != nil { + in, out := &in.RequestPath, &out.RequestPath + *out = new(string) + **out = **in + } + if in.Response != nil { + in, out := &in.Response, &out.Response + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHTTPSHealthCheckParameters. +func (in *RegionHealthCheckHTTPSHealthCheckParameters) DeepCopy() *RegionHealthCheckHTTPSHealthCheckParameters { + if in == nil { + return nil + } + out := new(RegionHealthCheckHTTPSHealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckHttp2HealthCheckObservation) DeepCopyInto(out *RegionHealthCheckHttp2HealthCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHttp2HealthCheckObservation. +func (in *RegionHealthCheckHttp2HealthCheckObservation) DeepCopy() *RegionHealthCheckHttp2HealthCheckObservation { + if in == nil { + return nil + } + out := new(RegionHealthCheckHttp2HealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckHttp2HealthCheckParameters) DeepCopyInto(out *RegionHealthCheckHttp2HealthCheckParameters) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.PortName != nil { + in, out := &in.PortName, &out.PortName + *out = new(string) + **out = **in + } + if in.PortSpecification != nil { + in, out := &in.PortSpecification, &out.PortSpecification + *out = new(string) + **out = **in + } + if in.ProxyHeader != nil { + in, out := &in.ProxyHeader, &out.ProxyHeader + *out = new(string) + **out = **in + } + if in.RequestPath != nil { + in, out := &in.RequestPath, &out.RequestPath + *out = new(string) + **out = **in + } + if in.Response != nil { + in, out := &in.Response, &out.Response + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckHttp2HealthCheckParameters. +func (in *RegionHealthCheckHttp2HealthCheckParameters) DeepCopy() *RegionHealthCheckHttp2HealthCheckParameters { + if in == nil { + return nil + } + out := new(RegionHealthCheckHttp2HealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckList) DeepCopyInto(out *RegionHealthCheckList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionHealthCheck, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckList. +func (in *RegionHealthCheckList) DeepCopy() *RegionHealthCheckList { + if in == nil { + return nil + } + out := new(RegionHealthCheckList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionHealthCheckList) 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 *RegionHealthCheckLogConfigObservation) DeepCopyInto(out *RegionHealthCheckLogConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckLogConfigObservation. +func (in *RegionHealthCheckLogConfigObservation) DeepCopy() *RegionHealthCheckLogConfigObservation { + if in == nil { + return nil + } + out := new(RegionHealthCheckLogConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckLogConfigParameters) DeepCopyInto(out *RegionHealthCheckLogConfigParameters) { + *out = *in + if in.Enable != nil { + in, out := &in.Enable, &out.Enable + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckLogConfigParameters. +func (in *RegionHealthCheckLogConfigParameters) DeepCopy() *RegionHealthCheckLogConfigParameters { + if in == nil { + return nil + } + out := new(RegionHealthCheckLogConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckObservation) DeepCopyInto(out *RegionHealthCheckObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **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 RegionHealthCheckObservation. +func (in *RegionHealthCheckObservation) DeepCopy() *RegionHealthCheckObservation { + if in == nil { + return nil + } + out := new(RegionHealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckParameters) DeepCopyInto(out *RegionHealthCheckParameters) { + *out = *in + if in.CheckIntervalSec != nil { + in, out := &in.CheckIntervalSec, &out.CheckIntervalSec + *out = new(int64) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.GRPCHealthCheck != nil { + in, out := &in.GRPCHealthCheck, &out.GRPCHealthCheck + *out = make([]RegionHealthCheckGRPCHealthCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HTTPHealthCheck != nil { + in, out := &in.HTTPHealthCheck, &out.HTTPHealthCheck + *out = make([]RegionHealthCheckHTTPHealthCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HTTPSHealthCheck != nil { + in, out := &in.HTTPSHealthCheck, &out.HTTPSHealthCheck + *out = make([]RegionHealthCheckHTTPSHealthCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HealthyThreshold != nil { + in, out := &in.HealthyThreshold, &out.HealthyThreshold + *out = new(int64) + **out = **in + } + if in.Http2HealthCheck != nil { + in, out := &in.Http2HealthCheck, &out.Http2HealthCheck + *out = make([]RegionHealthCheckHttp2HealthCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LogConfig != nil { + in, out := &in.LogConfig, &out.LogConfig + *out = make([]RegionHealthCheckLogConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.SSLHealthCheck != nil { + in, out := &in.SSLHealthCheck, &out.SSLHealthCheck + *out = make([]RegionHealthCheckSSLHealthCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TCPHealthCheck != nil { + in, out := &in.TCPHealthCheck, &out.TCPHealthCheck + *out = make([]RegionHealthCheckTCPHealthCheckParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TimeoutSec != nil { + in, out := &in.TimeoutSec, &out.TimeoutSec + *out = new(int64) + **out = **in + } + if in.UnhealthyThreshold != nil { + in, out := &in.UnhealthyThreshold, &out.UnhealthyThreshold + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckParameters. +func (in *RegionHealthCheckParameters) DeepCopy() *RegionHealthCheckParameters { + if in == nil { + return nil + } + out := new(RegionHealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckSSLHealthCheckObservation) DeepCopyInto(out *RegionHealthCheckSSLHealthCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckSSLHealthCheckObservation. +func (in *RegionHealthCheckSSLHealthCheckObservation) DeepCopy() *RegionHealthCheckSSLHealthCheckObservation { + if in == nil { + return nil + } + out := new(RegionHealthCheckSSLHealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckSSLHealthCheckParameters) DeepCopyInto(out *RegionHealthCheckSSLHealthCheckParameters) { + *out = *in + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.PortName != nil { + in, out := &in.PortName, &out.PortName + *out = new(string) + **out = **in + } + if in.PortSpecification != nil { + in, out := &in.PortSpecification, &out.PortSpecification + *out = new(string) + **out = **in + } + if in.ProxyHeader != nil { + in, out := &in.ProxyHeader, &out.ProxyHeader + *out = new(string) + **out = **in + } + if in.Request != nil { + in, out := &in.Request, &out.Request + *out = new(string) + **out = **in + } + if in.Response != nil { + in, out := &in.Response, &out.Response + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckSSLHealthCheckParameters. +func (in *RegionHealthCheckSSLHealthCheckParameters) DeepCopy() *RegionHealthCheckSSLHealthCheckParameters { + if in == nil { + return nil + } + out := new(RegionHealthCheckSSLHealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckSpec) DeepCopyInto(out *RegionHealthCheckSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckSpec. +func (in *RegionHealthCheckSpec) DeepCopy() *RegionHealthCheckSpec { + if in == nil { + return nil + } + out := new(RegionHealthCheckSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckStatus) DeepCopyInto(out *RegionHealthCheckStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckStatus. +func (in *RegionHealthCheckStatus) DeepCopy() *RegionHealthCheckStatus { + if in == nil { + return nil + } + out := new(RegionHealthCheckStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckTCPHealthCheckObservation) DeepCopyInto(out *RegionHealthCheckTCPHealthCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckTCPHealthCheckObservation. +func (in *RegionHealthCheckTCPHealthCheckObservation) DeepCopy() *RegionHealthCheckTCPHealthCheckObservation { + if in == nil { + return nil + } + out := new(RegionHealthCheckTCPHealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionHealthCheckTCPHealthCheckParameters) DeepCopyInto(out *RegionHealthCheckTCPHealthCheckParameters) { + *out = *in + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.PortName != nil { + in, out := &in.PortName, &out.PortName + *out = new(string) + **out = **in + } + if in.PortSpecification != nil { + in, out := &in.PortSpecification, &out.PortSpecification + *out = new(string) + **out = **in + } + if in.ProxyHeader != nil { + in, out := &in.ProxyHeader, &out.ProxyHeader + *out = new(string) + **out = **in + } + if in.Request != nil { + in, out := &in.Request, &out.Request + *out = new(string) + **out = **in + } + if in.Response != nil { + in, out := &in.Response, &out.Response + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionHealthCheckTCPHealthCheckParameters. +func (in *RegionHealthCheckTCPHealthCheckParameters) DeepCopy() *RegionHealthCheckTCPHealthCheckParameters { + if in == nil { + return nil + } + out := new(RegionHealthCheckTCPHealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManager) DeepCopyInto(out *RegionInstanceGroupManager) { + *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 RegionInstanceGroupManager. +func (in *RegionInstanceGroupManager) DeepCopy() *RegionInstanceGroupManager { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManager) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionInstanceGroupManager) 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 *RegionInstanceGroupManagerAutoHealingPoliciesObservation) DeepCopyInto(out *RegionInstanceGroupManagerAutoHealingPoliciesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerAutoHealingPoliciesObservation. +func (in *RegionInstanceGroupManagerAutoHealingPoliciesObservation) DeepCopy() *RegionInstanceGroupManagerAutoHealingPoliciesObservation { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerAutoHealingPoliciesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerAutoHealingPoliciesParameters) DeepCopyInto(out *RegionInstanceGroupManagerAutoHealingPoliciesParameters) { + *out = *in + if in.HealthCheck != nil { + in, out := &in.HealthCheck, &out.HealthCheck + *out = new(string) + **out = **in + } + if in.InitialDelaySec != nil { + in, out := &in.InitialDelaySec, &out.InitialDelaySec + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerAutoHealingPoliciesParameters. +func (in *RegionInstanceGroupManagerAutoHealingPoliciesParameters) DeepCopy() *RegionInstanceGroupManagerAutoHealingPoliciesParameters { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerAutoHealingPoliciesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerList) DeepCopyInto(out *RegionInstanceGroupManagerList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionInstanceGroupManager, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerList. +func (in *RegionInstanceGroupManagerList) DeepCopy() *RegionInstanceGroupManagerList { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionInstanceGroupManagerList) 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 *RegionInstanceGroupManagerNamedPortObservation) DeepCopyInto(out *RegionInstanceGroupManagerNamedPortObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerNamedPortObservation. +func (in *RegionInstanceGroupManagerNamedPortObservation) DeepCopy() *RegionInstanceGroupManagerNamedPortObservation { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerNamedPortObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerNamedPortParameters) DeepCopyInto(out *RegionInstanceGroupManagerNamedPortParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerNamedPortParameters. +func (in *RegionInstanceGroupManagerNamedPortParameters) DeepCopy() *RegionInstanceGroupManagerNamedPortParameters { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerNamedPortParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerObservation) DeepCopyInto(out *RegionInstanceGroupManagerObservation) { + *out = *in + if in.Fingerprint != nil { + in, out := &in.Fingerprint, &out.Fingerprint + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.InstanceGroup != nil { + in, out := &in.InstanceGroup, &out.InstanceGroup + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = make([]RegionInstanceGroupManagerStatusObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerObservation. +func (in *RegionInstanceGroupManagerObservation) DeepCopy() *RegionInstanceGroupManagerObservation { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerParameters) DeepCopyInto(out *RegionInstanceGroupManagerParameters) { + *out = *in + if in.AutoHealingPolicies != nil { + in, out := &in.AutoHealingPolicies, &out.AutoHealingPolicies + *out = make([]RegionInstanceGroupManagerAutoHealingPoliciesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BaseInstanceName != nil { + in, out := &in.BaseInstanceName, &out.BaseInstanceName + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DistributionPolicyTargetShape != nil { + in, out := &in.DistributionPolicyTargetShape, &out.DistributionPolicyTargetShape + *out = new(string) + **out = **in + } + if in.DistributionPolicyZones != nil { + in, out := &in.DistributionPolicyZones, &out.DistributionPolicyZones + *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.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NamedPort != nil { + in, out := &in.NamedPort, &out.NamedPort + *out = make([]RegionInstanceGroupManagerNamedPortParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.StatefulDisk != nil { + in, out := &in.StatefulDisk, &out.StatefulDisk + *out = make([]RegionInstanceGroupManagerStatefulDiskParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TargetPools != nil { + in, out := &in.TargetPools, &out.TargetPools + *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.TargetSize != nil { + in, out := &in.TargetSize, &out.TargetSize + *out = new(int64) + **out = **in + } + if in.UpdatePolicy != nil { + in, out := &in.UpdatePolicy, &out.UpdatePolicy + *out = make([]RegionInstanceGroupManagerUpdatePolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = make([]RegionInstanceGroupManagerVersionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WaitForInstances != nil { + in, out := &in.WaitForInstances, &out.WaitForInstances + *out = new(bool) + **out = **in + } + if in.WaitForInstancesStatus != nil { + in, out := &in.WaitForInstancesStatus, &out.WaitForInstancesStatus + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerParameters. +func (in *RegionInstanceGroupManagerParameters) DeepCopy() *RegionInstanceGroupManagerParameters { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerSpec) DeepCopyInto(out *RegionInstanceGroupManagerSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerSpec. +func (in *RegionInstanceGroupManagerSpec) DeepCopy() *RegionInstanceGroupManagerSpec { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerStatefulDiskObservation) DeepCopyInto(out *RegionInstanceGroupManagerStatefulDiskObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatefulDiskObservation. +func (in *RegionInstanceGroupManagerStatefulDiskObservation) DeepCopy() *RegionInstanceGroupManagerStatefulDiskObservation { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerStatefulDiskObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerStatefulDiskParameters) DeepCopyInto(out *RegionInstanceGroupManagerStatefulDiskParameters) { + *out = *in + if in.DeleteRule != nil { + in, out := &in.DeleteRule, &out.DeleteRule + *out = new(string) + **out = **in + } + if in.DeviceName != nil { + in, out := &in.DeviceName, &out.DeviceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatefulDiskParameters. +func (in *RegionInstanceGroupManagerStatefulDiskParameters) DeepCopy() *RegionInstanceGroupManagerStatefulDiskParameters { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerStatefulDiskParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerStatus) DeepCopyInto(out *RegionInstanceGroupManagerStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatus. +func (in *RegionInstanceGroupManagerStatus) DeepCopy() *RegionInstanceGroupManagerStatus { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerStatusObservation) DeepCopyInto(out *RegionInstanceGroupManagerStatusObservation) { + *out = *in + if in.IsStable != nil { + in, out := &in.IsStable, &out.IsStable + *out = new(bool) + **out = **in + } + if in.Stateful != nil { + in, out := &in.Stateful, &out.Stateful + *out = make([]StatusStatefulObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VersionTarget != nil { + in, out := &in.VersionTarget, &out.VersionTarget + *out = make([]StatusVersionTargetObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatusObservation. +func (in *RegionInstanceGroupManagerStatusObservation) DeepCopy() *RegionInstanceGroupManagerStatusObservation { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerStatusObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerStatusParameters) DeepCopyInto(out *RegionInstanceGroupManagerStatusParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerStatusParameters. +func (in *RegionInstanceGroupManagerStatusParameters) DeepCopy() *RegionInstanceGroupManagerStatusParameters { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerStatusParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerUpdatePolicyObservation) DeepCopyInto(out *RegionInstanceGroupManagerUpdatePolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerUpdatePolicyObservation. +func (in *RegionInstanceGroupManagerUpdatePolicyObservation) DeepCopy() *RegionInstanceGroupManagerUpdatePolicyObservation { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerUpdatePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerUpdatePolicyParameters) DeepCopyInto(out *RegionInstanceGroupManagerUpdatePolicyParameters) { + *out = *in + if in.InstanceRedistributionType != nil { + in, out := &in.InstanceRedistributionType, &out.InstanceRedistributionType + *out = new(string) + **out = **in + } + if in.MaxSurgeFixed != nil { + in, out := &in.MaxSurgeFixed, &out.MaxSurgeFixed + *out = new(int64) + **out = **in + } + if in.MaxSurgePercent != nil { + in, out := &in.MaxSurgePercent, &out.MaxSurgePercent + *out = new(int64) + **out = **in + } + if in.MaxUnavailableFixed != nil { + in, out := &in.MaxUnavailableFixed, &out.MaxUnavailableFixed + *out = new(int64) + **out = **in + } + if in.MaxUnavailablePercent != nil { + in, out := &in.MaxUnavailablePercent, &out.MaxUnavailablePercent + *out = new(int64) + **out = **in + } + if in.MinimalAction != nil { + in, out := &in.MinimalAction, &out.MinimalAction + *out = new(string) + **out = **in + } + if in.ReplacementMethod != nil { + in, out := &in.ReplacementMethod, &out.ReplacementMethod + *out = new(string) + **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 RegionInstanceGroupManagerUpdatePolicyParameters. +func (in *RegionInstanceGroupManagerUpdatePolicyParameters) DeepCopy() *RegionInstanceGroupManagerUpdatePolicyParameters { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerUpdatePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerVersionObservation) DeepCopyInto(out *RegionInstanceGroupManagerVersionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerVersionObservation. +func (in *RegionInstanceGroupManagerVersionObservation) DeepCopy() *RegionInstanceGroupManagerVersionObservation { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerVersionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionInstanceGroupManagerVersionParameters) DeepCopyInto(out *RegionInstanceGroupManagerVersionParameters) { + *out = *in + if in.InstanceTemplate != nil { + in, out := &in.InstanceTemplate, &out.InstanceTemplate + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.TargetSize != nil { + in, out := &in.TargetSize, &out.TargetSize + *out = make([]VersionTargetSizeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionInstanceGroupManagerVersionParameters. +func (in *RegionInstanceGroupManagerVersionParameters) DeepCopy() *RegionInstanceGroupManagerVersionParameters { + if in == nil { + return nil + } + out := new(RegionInstanceGroupManagerVersionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionNetworkEndpointGroup) DeepCopyInto(out *RegionNetworkEndpointGroup) { + *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 RegionNetworkEndpointGroup. +func (in *RegionNetworkEndpointGroup) DeepCopy() *RegionNetworkEndpointGroup { + if in == nil { + return nil + } + out := new(RegionNetworkEndpointGroup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionNetworkEndpointGroup) 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 *RegionNetworkEndpointGroupList) DeepCopyInto(out *RegionNetworkEndpointGroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionNetworkEndpointGroup, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionNetworkEndpointGroupList. +func (in *RegionNetworkEndpointGroupList) DeepCopy() *RegionNetworkEndpointGroupList { + if in == nil { + return nil + } + out := new(RegionNetworkEndpointGroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionNetworkEndpointGroupList) 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 *RegionNetworkEndpointGroupObservation) DeepCopyInto(out *RegionNetworkEndpointGroupObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionNetworkEndpointGroupObservation. +func (in *RegionNetworkEndpointGroupObservation) DeepCopy() *RegionNetworkEndpointGroupObservation { + if in == nil { + return nil + } + out := new(RegionNetworkEndpointGroupObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionNetworkEndpointGroupParameters) DeepCopyInto(out *RegionNetworkEndpointGroupParameters) { + *out = *in + if in.AppEngine != nil { + in, out := &in.AppEngine, &out.AppEngine + *out = make([]AppEngineParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CloudFunction != nil { + in, out := &in.CloudFunction, &out.CloudFunction + *out = make([]CloudFunctionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CloudRun != nil { + in, out := &in.CloudRun, &out.CloudRun + *out = make([]CloudRunParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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.NetworkEndpointType != nil { + in, out := &in.NetworkEndpointType, &out.NetworkEndpointType + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionNetworkEndpointGroupParameters. +func (in *RegionNetworkEndpointGroupParameters) DeepCopy() *RegionNetworkEndpointGroupParameters { + if in == nil { + return nil + } + out := new(RegionNetworkEndpointGroupParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionNetworkEndpointGroupSpec) DeepCopyInto(out *RegionNetworkEndpointGroupSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionNetworkEndpointGroupSpec. +func (in *RegionNetworkEndpointGroupSpec) DeepCopy() *RegionNetworkEndpointGroupSpec { + if in == nil { + return nil + } + out := new(RegionNetworkEndpointGroupSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionNetworkEndpointGroupStatus) DeepCopyInto(out *RegionNetworkEndpointGroupStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionNetworkEndpointGroupStatus. +func (in *RegionNetworkEndpointGroupStatus) DeepCopy() *RegionNetworkEndpointGroupStatus { + if in == nil { + return nil + } + out := new(RegionNetworkEndpointGroupStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionPerInstanceConfig) DeepCopyInto(out *RegionPerInstanceConfig) { + *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 RegionPerInstanceConfig. +func (in *RegionPerInstanceConfig) DeepCopy() *RegionPerInstanceConfig { + if in == nil { + return nil + } + out := new(RegionPerInstanceConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionPerInstanceConfig) 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 *RegionPerInstanceConfigList) DeepCopyInto(out *RegionPerInstanceConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionPerInstanceConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigList. +func (in *RegionPerInstanceConfigList) DeepCopy() *RegionPerInstanceConfigList { + if in == nil { + return nil + } + out := new(RegionPerInstanceConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionPerInstanceConfigList) 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 *RegionPerInstanceConfigObservation) DeepCopyInto(out *RegionPerInstanceConfigObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigObservation. +func (in *RegionPerInstanceConfigObservation) DeepCopy() *RegionPerInstanceConfigObservation { + if in == nil { + return nil + } + out := new(RegionPerInstanceConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionPerInstanceConfigParameters) DeepCopyInto(out *RegionPerInstanceConfigParameters) { + *out = *in + if in.MinimalAction != nil { + in, out := &in.MinimalAction, &out.MinimalAction + *out = new(string) + **out = **in + } + if in.MostDisruptiveAllowedAction != nil { + in, out := &in.MostDisruptiveAllowedAction, &out.MostDisruptiveAllowedAction + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PreservedState != nil { + in, out := &in.PreservedState, &out.PreservedState + *out = make([]RegionPerInstanceConfigPreservedStateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.RegionInstanceGroupManager != nil { + in, out := &in.RegionInstanceGroupManager, &out.RegionInstanceGroupManager + *out = new(string) + **out = **in + } + if in.RemoveInstanceStateOnDestroy != nil { + in, out := &in.RemoveInstanceStateOnDestroy, &out.RemoveInstanceStateOnDestroy + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigParameters. +func (in *RegionPerInstanceConfigParameters) DeepCopy() *RegionPerInstanceConfigParameters { + if in == nil { + return nil + } + out := new(RegionPerInstanceConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionPerInstanceConfigPreservedStateDiskObservation) DeepCopyInto(out *RegionPerInstanceConfigPreservedStateDiskObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigPreservedStateDiskObservation. +func (in *RegionPerInstanceConfigPreservedStateDiskObservation) DeepCopy() *RegionPerInstanceConfigPreservedStateDiskObservation { + if in == nil { + return nil + } + out := new(RegionPerInstanceConfigPreservedStateDiskObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionPerInstanceConfigPreservedStateDiskParameters) DeepCopyInto(out *RegionPerInstanceConfigPreservedStateDiskParameters) { + *out = *in + if in.DeleteRule != nil { + in, out := &in.DeleteRule, &out.DeleteRule + *out = new(string) + **out = **in + } + if in.DeviceName != nil { + in, out := &in.DeviceName, &out.DeviceName + *out = new(string) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigPreservedStateDiskParameters. +func (in *RegionPerInstanceConfigPreservedStateDiskParameters) DeepCopy() *RegionPerInstanceConfigPreservedStateDiskParameters { + if in == nil { + return nil + } + out := new(RegionPerInstanceConfigPreservedStateDiskParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionPerInstanceConfigPreservedStateObservation) DeepCopyInto(out *RegionPerInstanceConfigPreservedStateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigPreservedStateObservation. +func (in *RegionPerInstanceConfigPreservedStateObservation) DeepCopy() *RegionPerInstanceConfigPreservedStateObservation { + if in == nil { + return nil + } + out := new(RegionPerInstanceConfigPreservedStateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionPerInstanceConfigPreservedStateParameters) DeepCopyInto(out *RegionPerInstanceConfigPreservedStateParameters) { + *out = *in + if in.Disk != nil { + in, out := &in.Disk, &out.Disk + *out = make([]RegionPerInstanceConfigPreservedStateDiskParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigPreservedStateParameters. +func (in *RegionPerInstanceConfigPreservedStateParameters) DeepCopy() *RegionPerInstanceConfigPreservedStateParameters { + if in == nil { + return nil + } + out := new(RegionPerInstanceConfigPreservedStateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionPerInstanceConfigSpec) DeepCopyInto(out *RegionPerInstanceConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigSpec. +func (in *RegionPerInstanceConfigSpec) DeepCopy() *RegionPerInstanceConfigSpec { + if in == nil { + return nil + } + out := new(RegionPerInstanceConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionPerInstanceConfigStatus) DeepCopyInto(out *RegionPerInstanceConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionPerInstanceConfigStatus. +func (in *RegionPerInstanceConfigStatus) DeepCopy() *RegionPerInstanceConfigStatus { + if in == nil { + return nil + } + out := new(RegionPerInstanceConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionSSLCertificate) DeepCopyInto(out *RegionSSLCertificate) { + *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 RegionSSLCertificate. +func (in *RegionSSLCertificate) DeepCopy() *RegionSSLCertificate { + if in == nil { + return nil + } + out := new(RegionSSLCertificate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionSSLCertificate) 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 *RegionSSLCertificateList) DeepCopyInto(out *RegionSSLCertificateList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionSSLCertificate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionSSLCertificateList. +func (in *RegionSSLCertificateList) DeepCopy() *RegionSSLCertificateList { + if in == nil { + return nil + } + out := new(RegionSSLCertificateList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionSSLCertificateList) 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 *RegionSSLCertificateObservation) DeepCopyInto(out *RegionSSLCertificateObservation) { + *out = *in + if in.CertificateID != nil { + in, out := &in.CertificateID, &out.CertificateID + *out = new(int64) + **out = **in + } + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionSSLCertificateObservation. +func (in *RegionSSLCertificateObservation) DeepCopy() *RegionSSLCertificateObservation { + if in == nil { + return nil + } + out := new(RegionSSLCertificateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionSSLCertificateParameters) DeepCopyInto(out *RegionSSLCertificateParameters) { + *out = *in + out.CertificateSecretRef = in.CertificateSecretRef + 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.NamePrefix != nil { + in, out := &in.NamePrefix, &out.NamePrefix + *out = new(string) + **out = **in + } + out.PrivateKeySecretRef = in.PrivateKeySecretRef + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionSSLCertificateParameters. +func (in *RegionSSLCertificateParameters) DeepCopy() *RegionSSLCertificateParameters { + if in == nil { + return nil + } + out := new(RegionSSLCertificateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionSSLCertificateSpec) DeepCopyInto(out *RegionSSLCertificateSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionSSLCertificateSpec. +func (in *RegionSSLCertificateSpec) DeepCopy() *RegionSSLCertificateSpec { + if in == nil { + return nil + } + out := new(RegionSSLCertificateSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionSSLCertificateStatus) DeepCopyInto(out *RegionSSLCertificateStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionSSLCertificateStatus. +func (in *RegionSSLCertificateStatus) DeepCopy() *RegionSSLCertificateStatus { + if in == nil { + return nil + } + out := new(RegionSSLCertificateStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionTargetHTTPProxy) DeepCopyInto(out *RegionTargetHTTPProxy) { + *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 RegionTargetHTTPProxy. +func (in *RegionTargetHTTPProxy) DeepCopy() *RegionTargetHTTPProxy { + if in == nil { + return nil + } + out := new(RegionTargetHTTPProxy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionTargetHTTPProxy) 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 *RegionTargetHTTPProxyList) DeepCopyInto(out *RegionTargetHTTPProxyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionTargetHTTPProxy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionTargetHTTPProxyList. +func (in *RegionTargetHTTPProxyList) DeepCopy() *RegionTargetHTTPProxyList { + if in == nil { + return nil + } + out := new(RegionTargetHTTPProxyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionTargetHTTPProxyList) 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 *RegionTargetHTTPProxyObservation) DeepCopyInto(out *RegionTargetHTTPProxyObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.ProxyID != nil { + in, out := &in.ProxyID, &out.ProxyID + *out = new(int64) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionTargetHTTPProxyObservation. +func (in *RegionTargetHTTPProxyObservation) DeepCopy() *RegionTargetHTTPProxyObservation { + if in == nil { + return nil + } + out := new(RegionTargetHTTPProxyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionTargetHTTPProxyParameters) DeepCopyInto(out *RegionTargetHTTPProxyParameters) { + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.URLMap != nil { + in, out := &in.URLMap, &out.URLMap + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionTargetHTTPProxyParameters. +func (in *RegionTargetHTTPProxyParameters) DeepCopy() *RegionTargetHTTPProxyParameters { + if in == nil { + return nil + } + out := new(RegionTargetHTTPProxyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionTargetHTTPProxySpec) DeepCopyInto(out *RegionTargetHTTPProxySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionTargetHTTPProxySpec. +func (in *RegionTargetHTTPProxySpec) DeepCopy() *RegionTargetHTTPProxySpec { + if in == nil { + return nil + } + out := new(RegionTargetHTTPProxySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionTargetHTTPProxyStatus) DeepCopyInto(out *RegionTargetHTTPProxyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionTargetHTTPProxyStatus. +func (in *RegionTargetHTTPProxyStatus) DeepCopy() *RegionTargetHTTPProxyStatus { + if in == nil { + return nil + } + out := new(RegionTargetHTTPProxyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionTargetHTTPSProxy) DeepCopyInto(out *RegionTargetHTTPSProxy) { + *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 RegionTargetHTTPSProxy. +func (in *RegionTargetHTTPSProxy) DeepCopy() *RegionTargetHTTPSProxy { + if in == nil { + return nil + } + out := new(RegionTargetHTTPSProxy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionTargetHTTPSProxy) 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 *RegionTargetHTTPSProxyList) DeepCopyInto(out *RegionTargetHTTPSProxyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionTargetHTTPSProxy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionTargetHTTPSProxyList. +func (in *RegionTargetHTTPSProxyList) DeepCopy() *RegionTargetHTTPSProxyList { + if in == nil { + return nil + } + out := new(RegionTargetHTTPSProxyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionTargetHTTPSProxyList) 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 *RegionTargetHTTPSProxyObservation) DeepCopyInto(out *RegionTargetHTTPSProxyObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.ProxyID != nil { + in, out := &in.ProxyID, &out.ProxyID + *out = new(int64) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionTargetHTTPSProxyObservation. +func (in *RegionTargetHTTPSProxyObservation) DeepCopy() *RegionTargetHTTPSProxyObservation { + if in == nil { + return nil + } + out := new(RegionTargetHTTPSProxyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionTargetHTTPSProxyParameters) DeepCopyInto(out *RegionTargetHTTPSProxyParameters) { + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.SSLCertificates != nil { + in, out := &in.SSLCertificates, &out.SSLCertificates + *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.URLMap != nil { + in, out := &in.URLMap, &out.URLMap + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionTargetHTTPSProxyParameters. +func (in *RegionTargetHTTPSProxyParameters) DeepCopy() *RegionTargetHTTPSProxyParameters { + if in == nil { + return nil + } + out := new(RegionTargetHTTPSProxyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionTargetHTTPSProxySpec) DeepCopyInto(out *RegionTargetHTTPSProxySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionTargetHTTPSProxySpec. +func (in *RegionTargetHTTPSProxySpec) DeepCopy() *RegionTargetHTTPSProxySpec { + if in == nil { + return nil + } + out := new(RegionTargetHTTPSProxySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionTargetHTTPSProxyStatus) DeepCopyInto(out *RegionTargetHTTPSProxyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionTargetHTTPSProxyStatus. +func (in *RegionTargetHTTPSProxyStatus) DeepCopy() *RegionTargetHTTPSProxyStatus { + if in == nil { + return nil + } + out := new(RegionTargetHTTPSProxyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionURLMap) DeepCopyInto(out *RegionURLMap) { + *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 RegionURLMap. +func (in *RegionURLMap) DeepCopy() *RegionURLMap { + if in == nil { + return nil + } + out := new(RegionURLMap) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionURLMap) 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 *RegionURLMapList) DeepCopyInto(out *RegionURLMapList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RegionURLMap, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionURLMapList. +func (in *RegionURLMapList) DeepCopy() *RegionURLMapList { + if in == nil { + return nil + } + out := new(RegionURLMapList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegionURLMapList) 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 *RegionURLMapObservation) DeepCopyInto(out *RegionURLMapObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.Fingerprint != nil { + in, out := &in.Fingerprint, &out.Fingerprint + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.MapID != nil { + in, out := &in.MapID, &out.MapID + *out = new(int64) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionURLMapObservation. +func (in *RegionURLMapObservation) DeepCopy() *RegionURLMapObservation { + if in == nil { + return nil + } + out := new(RegionURLMapObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionURLMapParameters) DeepCopyInto(out *RegionURLMapParameters) { + *out = *in + if in.DefaultService != nil { + in, out := &in.DefaultService, &out.DefaultService + *out = new(string) + **out = **in + } + if in.DefaultURLRedirect != nil { + in, out := &in.DefaultURLRedirect, &out.DefaultURLRedirect + *out = make([]DefaultURLRedirectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.HostRule != nil { + in, out := &in.HostRule, &out.HostRule + *out = make([]HostRuleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PathMatcher != nil { + in, out := &in.PathMatcher, &out.PathMatcher + *out = make([]PathMatcherParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Test != nil { + in, out := &in.Test, &out.Test + *out = make([]TestParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionURLMapParameters. +func (in *RegionURLMapParameters) DeepCopy() *RegionURLMapParameters { + if in == nil { + return nil + } + out := new(RegionURLMapParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionURLMapSpec) DeepCopyInto(out *RegionURLMapSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionURLMapSpec. +func (in *RegionURLMapSpec) DeepCopy() *RegionURLMapSpec { + if in == nil { + return nil + } + out := new(RegionURLMapSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionURLMapStatus) DeepCopyInto(out *RegionURLMapStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionURLMapStatus. +func (in *RegionURLMapStatus) DeepCopy() *RegionURLMapStatus { + if in == nil { + return nil + } + out := new(RegionURLMapStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestHeadersToAddObservation) DeepCopyInto(out *RequestHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeadersToAddObservation. +func (in *RequestHeadersToAddObservation) DeepCopy() *RequestHeadersToAddObservation { + if in == nil { + return nil + } + out := new(RequestHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestHeadersToAddParameters) DeepCopyInto(out *RequestHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeadersToAddParameters. +func (in *RequestHeadersToAddParameters) DeepCopy() *RequestHeadersToAddParameters { + if in == nil { + return nil + } + out := new(RequestHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestMirrorPolicyObservation) DeepCopyInto(out *RequestMirrorPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestMirrorPolicyObservation. +func (in *RequestMirrorPolicyObservation) DeepCopy() *RequestMirrorPolicyObservation { + if in == nil { + return nil + } + out := new(RequestMirrorPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestMirrorPolicyParameters) DeepCopyInto(out *RequestMirrorPolicyParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestMirrorPolicyParameters. +func (in *RequestMirrorPolicyParameters) DeepCopy() *RequestMirrorPolicyParameters { + if in == nil { + return nil + } + out := new(RequestMirrorPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Reservation) DeepCopyInto(out *Reservation) { + *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 Reservation. +func (in *Reservation) DeepCopy() *Reservation { + if in == nil { + return nil + } + out := new(Reservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Reservation) 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 *ReservationList) DeepCopyInto(out *ReservationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Reservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationList. +func (in *ReservationList) DeepCopy() *ReservationList { + if in == nil { + return nil + } + out := new(ReservationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ReservationList) 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 *ReservationObservation) DeepCopyInto(out *ReservationObservation) { + *out = *in + if in.Commitment != nil { + in, out := &in.Commitment, &out.Commitment + *out = new(string) + **out = **in + } + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationObservation. +func (in *ReservationObservation) DeepCopy() *ReservationObservation { + if in == nil { + return nil + } + out := new(ReservationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReservationParameters) DeepCopyInto(out *ReservationParameters) { + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SpecificReservation != nil { + in, out := &in.SpecificReservation, &out.SpecificReservation + *out = make([]SpecificReservationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SpecificReservationRequired != nil { + in, out := &in.SpecificReservationRequired, &out.SpecificReservationRequired + *out = new(bool) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationParameters. +func (in *ReservationParameters) DeepCopy() *ReservationParameters { + if in == nil { + return nil + } + out := new(ReservationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReservationSpec) DeepCopyInto(out *ReservationSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationSpec. +func (in *ReservationSpec) DeepCopy() *ReservationSpec { + if in == nil { + return nil + } + out := new(ReservationSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReservationStatus) DeepCopyInto(out *ReservationStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationStatus. +func (in *ReservationStatus) DeepCopy() *ReservationStatus { + if in == nil { + return nil + } + out := new(ReservationStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourcePolicy) DeepCopyInto(out *ResourcePolicy) { + *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 ResourcePolicy. +func (in *ResourcePolicy) DeepCopy() *ResourcePolicy { + if in == nil { + return nil + } + out := new(ResourcePolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ResourcePolicy) 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 *ResourcePolicyList) DeepCopyInto(out *ResourcePolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ResourcePolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePolicyList. +func (in *ResourcePolicyList) DeepCopy() *ResourcePolicyList { + if in == nil { + return nil + } + out := new(ResourcePolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ResourcePolicyList) 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 *ResourcePolicyObservation) DeepCopyInto(out *ResourcePolicyObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePolicyObservation. +func (in *ResourcePolicyObservation) DeepCopy() *ResourcePolicyObservation { + if in == nil { + return nil + } + out := new(ResourcePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourcePolicyParameters) DeepCopyInto(out *ResourcePolicyParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.GroupPlacementPolicy != nil { + in, out := &in.GroupPlacementPolicy, &out.GroupPlacementPolicy + *out = make([]GroupPlacementPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceSchedulePolicy != nil { + in, out := &in.InstanceSchedulePolicy, &out.InstanceSchedulePolicy + *out = make([]InstanceSchedulePolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.SnapshotSchedulePolicy != nil { + in, out := &in.SnapshotSchedulePolicy, &out.SnapshotSchedulePolicy + *out = make([]SnapshotSchedulePolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePolicyParameters. +func (in *ResourcePolicyParameters) DeepCopy() *ResourcePolicyParameters { + if in == nil { + return nil + } + out := new(ResourcePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourcePolicySpec) DeepCopyInto(out *ResourcePolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePolicySpec. +func (in *ResourcePolicySpec) DeepCopy() *ResourcePolicySpec { + if in == nil { + return nil + } + out := new(ResourcePolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourcePolicyStatus) DeepCopyInto(out *ResourcePolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePolicyStatus. +func (in *ResourcePolicyStatus) DeepCopy() *ResourcePolicyStatus { + if in == nil { + return nil + } + out := new(ResourcePolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResponseHeadersToAddObservation) DeepCopyInto(out *ResponseHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResponseHeadersToAddObservation. +func (in *ResponseHeadersToAddObservation) DeepCopy() *ResponseHeadersToAddObservation { + if in == nil { + return nil + } + out := new(ResponseHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResponseHeadersToAddParameters) DeepCopyInto(out *ResponseHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResponseHeadersToAddParameters. +func (in *ResponseHeadersToAddParameters) DeepCopy() *ResponseHeadersToAddParameters { + if in == nil { + return nil + } + out := new(ResponseHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetentionPolicyObservation) DeepCopyInto(out *RetentionPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicyObservation. +func (in *RetentionPolicyObservation) DeepCopy() *RetentionPolicyObservation { + if in == nil { + return nil + } + out := new(RetentionPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetentionPolicyParameters) DeepCopyInto(out *RetentionPolicyParameters) { + *out = *in + if in.MaxRetentionDays != nil { + in, out := &in.MaxRetentionDays, &out.MaxRetentionDays + *out = new(int64) + **out = **in + } + if in.OnSourceDiskDelete != nil { + in, out := &in.OnSourceDiskDelete, &out.OnSourceDiskDelete + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicyParameters. +func (in *RetentionPolicyParameters) DeepCopy() *RetentionPolicyParameters { + if in == nil { + return nil + } + out := new(RetentionPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetryPolicyObservation) DeepCopyInto(out *RetryPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyObservation. +func (in *RetryPolicyObservation) DeepCopy() *RetryPolicyObservation { + if in == nil { + return nil + } + out := new(RetryPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetryPolicyParameters) DeepCopyInto(out *RetryPolicyParameters) { + *out = *in + if in.NumRetries != nil { + in, out := &in.NumRetries, &out.NumRetries + *out = new(int64) + **out = **in + } + if in.PerTryTimeout != nil { + in, out := &in.PerTryTimeout, &out.PerTryTimeout + *out = make([]PerTryTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryConditions != nil { + in, out := &in.RetryConditions, &out.RetryConditions + *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 RetryPolicyParameters. +func (in *RetryPolicyParameters) DeepCopy() *RetryPolicyParameters { + if in == nil { + return nil + } + out := new(RetryPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetryPolicyPerTryTimeoutObservation) DeepCopyInto(out *RetryPolicyPerTryTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyPerTryTimeoutObservation. +func (in *RetryPolicyPerTryTimeoutObservation) DeepCopy() *RetryPolicyPerTryTimeoutObservation { + if in == nil { + return nil + } + out := new(RetryPolicyPerTryTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetryPolicyPerTryTimeoutParameters) DeepCopyInto(out *RetryPolicyPerTryTimeoutParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyPerTryTimeoutParameters. +func (in *RetryPolicyPerTryTimeoutParameters) DeepCopy() *RetryPolicyPerTryTimeoutParameters { + if in == nil { + return nil + } + out := new(RetryPolicyPerTryTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Route) DeepCopyInto(out *Route) { + *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 Route. +func (in *Route) DeepCopy() *Route { + if in == nil { + return nil + } + out := new(Route) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Route) 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 *RouteActionCorsPolicyObservation) DeepCopyInto(out *RouteActionCorsPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionCorsPolicyObservation. +func (in *RouteActionCorsPolicyObservation) DeepCopy() *RouteActionCorsPolicyObservation { + if in == nil { + return nil + } + out := new(RouteActionCorsPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionCorsPolicyParameters) DeepCopyInto(out *RouteActionCorsPolicyParameters) { + *out = *in + if in.AllowCredentials != nil { + in, out := &in.AllowCredentials, &out.AllowCredentials + *out = new(bool) + **out = **in + } + if in.AllowHeaders != nil { + in, out := &in.AllowHeaders, &out.AllowHeaders + *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.AllowMethods != nil { + in, out := &in.AllowMethods, &out.AllowMethods + *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.AllowOriginRegexes != nil { + in, out := &in.AllowOriginRegexes, &out.AllowOriginRegexes + *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.AllowOrigins != nil { + in, out := &in.AllowOrigins, &out.AllowOrigins + *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.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.ExposeHeaders != nil { + in, out := &in.ExposeHeaders, &out.ExposeHeaders + *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.MaxAge != nil { + in, out := &in.MaxAge, &out.MaxAge + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionCorsPolicyParameters. +func (in *RouteActionCorsPolicyParameters) DeepCopy() *RouteActionCorsPolicyParameters { + if in == nil { + return nil + } + out := new(RouteActionCorsPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionFaultInjectionPolicyAbortObservation) DeepCopyInto(out *RouteActionFaultInjectionPolicyAbortObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyAbortObservation. +func (in *RouteActionFaultInjectionPolicyAbortObservation) DeepCopy() *RouteActionFaultInjectionPolicyAbortObservation { + if in == nil { + return nil + } + out := new(RouteActionFaultInjectionPolicyAbortObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionFaultInjectionPolicyAbortParameters) DeepCopyInto(out *RouteActionFaultInjectionPolicyAbortParameters) { + *out = *in + if in.HTTPStatus != nil { + in, out := &in.HTTPStatus, &out.HTTPStatus + *out = new(int64) + **out = **in + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyAbortParameters. +func (in *RouteActionFaultInjectionPolicyAbortParameters) DeepCopy() *RouteActionFaultInjectionPolicyAbortParameters { + if in == nil { + return nil + } + out := new(RouteActionFaultInjectionPolicyAbortParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionFaultInjectionPolicyDelayFixedDelayObservation) DeepCopyInto(out *RouteActionFaultInjectionPolicyDelayFixedDelayObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyDelayFixedDelayObservation. +func (in *RouteActionFaultInjectionPolicyDelayFixedDelayObservation) DeepCopy() *RouteActionFaultInjectionPolicyDelayFixedDelayObservation { + if in == nil { + return nil + } + out := new(RouteActionFaultInjectionPolicyDelayFixedDelayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionFaultInjectionPolicyDelayFixedDelayParameters) DeepCopyInto(out *RouteActionFaultInjectionPolicyDelayFixedDelayParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyDelayFixedDelayParameters. +func (in *RouteActionFaultInjectionPolicyDelayFixedDelayParameters) DeepCopy() *RouteActionFaultInjectionPolicyDelayFixedDelayParameters { + if in == nil { + return nil + } + out := new(RouteActionFaultInjectionPolicyDelayFixedDelayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionFaultInjectionPolicyDelayObservation) DeepCopyInto(out *RouteActionFaultInjectionPolicyDelayObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyDelayObservation. +func (in *RouteActionFaultInjectionPolicyDelayObservation) DeepCopy() *RouteActionFaultInjectionPolicyDelayObservation { + if in == nil { + return nil + } + out := new(RouteActionFaultInjectionPolicyDelayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionFaultInjectionPolicyDelayParameters) DeepCopyInto(out *RouteActionFaultInjectionPolicyDelayParameters) { + *out = *in + if in.FixedDelay != nil { + in, out := &in.FixedDelay, &out.FixedDelay + *out = make([]RouteActionFaultInjectionPolicyDelayFixedDelayParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyDelayParameters. +func (in *RouteActionFaultInjectionPolicyDelayParameters) DeepCopy() *RouteActionFaultInjectionPolicyDelayParameters { + if in == nil { + return nil + } + out := new(RouteActionFaultInjectionPolicyDelayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionFaultInjectionPolicyObservation) DeepCopyInto(out *RouteActionFaultInjectionPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyObservation. +func (in *RouteActionFaultInjectionPolicyObservation) DeepCopy() *RouteActionFaultInjectionPolicyObservation { + if in == nil { + return nil + } + out := new(RouteActionFaultInjectionPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionFaultInjectionPolicyParameters) DeepCopyInto(out *RouteActionFaultInjectionPolicyParameters) { + *out = *in + if in.Abort != nil { + in, out := &in.Abort, &out.Abort + *out = make([]FaultInjectionPolicyAbortParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Delay != nil { + in, out := &in.Delay, &out.Delay + *out = make([]FaultInjectionPolicyDelayParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionFaultInjectionPolicyParameters. +func (in *RouteActionFaultInjectionPolicyParameters) DeepCopy() *RouteActionFaultInjectionPolicyParameters { + if in == nil { + return nil + } + out := new(RouteActionFaultInjectionPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionObservation) DeepCopyInto(out *RouteActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionObservation. +func (in *RouteActionObservation) DeepCopy() *RouteActionObservation { + if in == nil { + return nil + } + out := new(RouteActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionParameters) DeepCopyInto(out *RouteActionParameters) { + *out = *in + if in.CorsPolicy != nil { + in, out := &in.CorsPolicy, &out.CorsPolicy + *out = make([]CorsPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FaultInjectionPolicy != nil { + in, out := &in.FaultInjectionPolicy, &out.FaultInjectionPolicy + *out = make([]FaultInjectionPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestMirrorPolicy != nil { + in, out := &in.RequestMirrorPolicy, &out.RequestMirrorPolicy + *out = make([]RequestMirrorPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryPolicy != nil { + in, out := &in.RetryPolicy, &out.RetryPolicy + *out = make([]RetryPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = make([]TimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.URLRewrite != nil { + in, out := &in.URLRewrite, &out.URLRewrite + *out = make([]URLRewriteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WeightedBackendServices != nil { + in, out := &in.WeightedBackendServices, &out.WeightedBackendServices + *out = make([]WeightedBackendServicesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionParameters. +func (in *RouteActionParameters) DeepCopy() *RouteActionParameters { + if in == nil { + return nil + } + out := new(RouteActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionRequestMirrorPolicyObservation) DeepCopyInto(out *RouteActionRequestMirrorPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRequestMirrorPolicyObservation. +func (in *RouteActionRequestMirrorPolicyObservation) DeepCopy() *RouteActionRequestMirrorPolicyObservation { + if in == nil { + return nil + } + out := new(RouteActionRequestMirrorPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionRequestMirrorPolicyParameters) DeepCopyInto(out *RouteActionRequestMirrorPolicyParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRequestMirrorPolicyParameters. +func (in *RouteActionRequestMirrorPolicyParameters) DeepCopy() *RouteActionRequestMirrorPolicyParameters { + if in == nil { + return nil + } + out := new(RouteActionRequestMirrorPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionRetryPolicyObservation) DeepCopyInto(out *RouteActionRetryPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRetryPolicyObservation. +func (in *RouteActionRetryPolicyObservation) DeepCopy() *RouteActionRetryPolicyObservation { + if in == nil { + return nil + } + out := new(RouteActionRetryPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionRetryPolicyParameters) DeepCopyInto(out *RouteActionRetryPolicyParameters) { + *out = *in + if in.NumRetries != nil { + in, out := &in.NumRetries, &out.NumRetries + *out = new(int64) + **out = **in + } + if in.PerTryTimeout != nil { + in, out := &in.PerTryTimeout, &out.PerTryTimeout + *out = make([]RetryPolicyPerTryTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryConditions != nil { + in, out := &in.RetryConditions, &out.RetryConditions + *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 RouteActionRetryPolicyParameters. +func (in *RouteActionRetryPolicyParameters) DeepCopy() *RouteActionRetryPolicyParameters { + if in == nil { + return nil + } + out := new(RouteActionRetryPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionRetryPolicyPerTryTimeoutObservation) DeepCopyInto(out *RouteActionRetryPolicyPerTryTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRetryPolicyPerTryTimeoutObservation. +func (in *RouteActionRetryPolicyPerTryTimeoutObservation) DeepCopy() *RouteActionRetryPolicyPerTryTimeoutObservation { + if in == nil { + return nil + } + out := new(RouteActionRetryPolicyPerTryTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionRetryPolicyPerTryTimeoutParameters) DeepCopyInto(out *RouteActionRetryPolicyPerTryTimeoutParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionRetryPolicyPerTryTimeoutParameters. +func (in *RouteActionRetryPolicyPerTryTimeoutParameters) DeepCopy() *RouteActionRetryPolicyPerTryTimeoutParameters { + if in == nil { + return nil + } + out := new(RouteActionRetryPolicyPerTryTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionTimeoutObservation) DeepCopyInto(out *RouteActionTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionTimeoutObservation. +func (in *RouteActionTimeoutObservation) DeepCopy() *RouteActionTimeoutObservation { + if in == nil { + return nil + } + out := new(RouteActionTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionTimeoutParameters) DeepCopyInto(out *RouteActionTimeoutParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionTimeoutParameters. +func (in *RouteActionTimeoutParameters) DeepCopy() *RouteActionTimeoutParameters { + if in == nil { + return nil + } + out := new(RouteActionTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionURLRewriteObservation) DeepCopyInto(out *RouteActionURLRewriteObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionURLRewriteObservation. +func (in *RouteActionURLRewriteObservation) DeepCopy() *RouteActionURLRewriteObservation { + if in == nil { + return nil + } + out := new(RouteActionURLRewriteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionURLRewriteParameters) DeepCopyInto(out *RouteActionURLRewriteParameters) { + *out = *in + if in.HostRewrite != nil { + in, out := &in.HostRewrite, &out.HostRewrite + *out = new(string) + **out = **in + } + if in.PathPrefixRewrite != nil { + in, out := &in.PathPrefixRewrite, &out.PathPrefixRewrite + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionURLRewriteParameters. +func (in *RouteActionURLRewriteParameters) DeepCopy() *RouteActionURLRewriteParameters { + if in == nil { + return nil + } + out := new(RouteActionURLRewriteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionWeightedBackendServicesHeaderActionObservation) DeepCopyInto(out *RouteActionWeightedBackendServicesHeaderActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesHeaderActionObservation. +func (in *RouteActionWeightedBackendServicesHeaderActionObservation) DeepCopy() *RouteActionWeightedBackendServicesHeaderActionObservation { + if in == nil { + return nil + } + out := new(RouteActionWeightedBackendServicesHeaderActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionWeightedBackendServicesHeaderActionParameters) DeepCopyInto(out *RouteActionWeightedBackendServicesHeaderActionParameters) { + *out = *in + if in.RequestHeadersToAdd != nil { + in, out := &in.RequestHeadersToAdd, &out.RequestHeadersToAdd + *out = make([]RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestHeadersToRemove != nil { + in, out := &in.RequestHeadersToRemove, &out.RequestHeadersToRemove + *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.ResponseHeadersToAdd != nil { + in, out := &in.ResponseHeadersToAdd, &out.ResponseHeadersToAdd + *out = make([]RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResponseHeadersToRemove != nil { + in, out := &in.ResponseHeadersToRemove, &out.ResponseHeadersToRemove + *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 RouteActionWeightedBackendServicesHeaderActionParameters. +func (in *RouteActionWeightedBackendServicesHeaderActionParameters) DeepCopy() *RouteActionWeightedBackendServicesHeaderActionParameters { + if in == nil { + return nil + } + out := new(RouteActionWeightedBackendServicesHeaderActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopyInto(out *RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation. +func (in *RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopy() *RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation { + if in == nil { + return nil + } + out := new(RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopyInto(out *RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters. +func (in *RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopy() *RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters { + if in == nil { + return nil + } + out := new(RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopyInto(out *RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation. +func (in *RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopy() *RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation { + if in == nil { + return nil + } + out := new(RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopyInto(out *RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters. +func (in *RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopy() *RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters { + if in == nil { + return nil + } + out := new(RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionWeightedBackendServicesObservation) DeepCopyInto(out *RouteActionWeightedBackendServicesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesObservation. +func (in *RouteActionWeightedBackendServicesObservation) DeepCopy() *RouteActionWeightedBackendServicesObservation { + if in == nil { + return nil + } + out := new(RouteActionWeightedBackendServicesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionWeightedBackendServicesParameters) DeepCopyInto(out *RouteActionWeightedBackendServicesParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.HeaderAction != nil { + in, out := &in.HeaderAction, &out.HeaderAction + *out = make([]WeightedBackendServicesHeaderActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionWeightedBackendServicesParameters. +func (in *RouteActionWeightedBackendServicesParameters) DeepCopy() *RouteActionWeightedBackendServicesParameters { + if in == nil { + return nil + } + out := new(RouteActionWeightedBackendServicesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteList) DeepCopyInto(out *RouteList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Route, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteList. +func (in *RouteList) DeepCopy() *RouteList { + if in == nil { + return nil + } + out := new(RouteList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RouteList) 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 *RouteObservation) DeepCopyInto(out *RouteObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.NextHopNetwork != nil { + in, out := &in.NextHopNetwork, &out.NextHopNetwork + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteObservation. +func (in *RouteObservation) DeepCopy() *RouteObservation { + if in == nil { + return nil + } + out := new(RouteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteParameters) DeepCopyInto(out *RouteParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DestRange != nil { + in, out := &in.DestRange, &out.DestRange + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NextHopGateway != nil { + in, out := &in.NextHopGateway, &out.NextHopGateway + *out = new(string) + **out = **in + } + if in.NextHopIP != nil { + in, out := &in.NextHopIP, &out.NextHopIP + *out = new(string) + **out = **in + } + if in.NextHopIlb != nil { + in, out := &in.NextHopIlb, &out.NextHopIlb + *out = new(string) + **out = **in + } + if in.NextHopInstance != nil { + in, out := &in.NextHopInstance, &out.NextHopInstance + *out = new(string) + **out = **in + } + if in.NextHopInstanceZone != nil { + in, out := &in.NextHopInstanceZone, &out.NextHopInstanceZone + *out = new(string) + **out = **in + } + if in.NextHopVPNTunnel != nil { + in, out := &in.NextHopVPNTunnel, &out.NextHopVPNTunnel + *out = new(string) + **out = **in + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *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 RouteParameters. +func (in *RouteParameters) DeepCopy() *RouteParameters { + if in == nil { + return nil + } + out := new(RouteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesHeaderActionObservation) DeepCopyInto(out *RouteRulesHeaderActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesHeaderActionObservation. +func (in *RouteRulesHeaderActionObservation) DeepCopy() *RouteRulesHeaderActionObservation { + if in == nil { + return nil + } + out := new(RouteRulesHeaderActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesHeaderActionParameters) DeepCopyInto(out *RouteRulesHeaderActionParameters) { + *out = *in + if in.RequestHeadersToAdd != nil { + in, out := &in.RequestHeadersToAdd, &out.RequestHeadersToAdd + *out = make([]HeaderActionRequestHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestHeadersToRemove != nil { + in, out := &in.RequestHeadersToRemove, &out.RequestHeadersToRemove + *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.ResponseHeadersToAdd != nil { + in, out := &in.ResponseHeadersToAdd, &out.ResponseHeadersToAdd + *out = make([]HeaderActionResponseHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResponseHeadersToRemove != nil { + in, out := &in.ResponseHeadersToRemove, &out.ResponseHeadersToRemove + *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 RouteRulesHeaderActionParameters. +func (in *RouteRulesHeaderActionParameters) DeepCopy() *RouteRulesHeaderActionParameters { + if in == nil { + return nil + } + out := new(RouteRulesHeaderActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesHeaderActionRequestHeadersToAddObservation) DeepCopyInto(out *RouteRulesHeaderActionRequestHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesHeaderActionRequestHeadersToAddObservation. +func (in *RouteRulesHeaderActionRequestHeadersToAddObservation) DeepCopy() *RouteRulesHeaderActionRequestHeadersToAddObservation { + if in == nil { + return nil + } + out := new(RouteRulesHeaderActionRequestHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesHeaderActionRequestHeadersToAddParameters) DeepCopyInto(out *RouteRulesHeaderActionRequestHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesHeaderActionRequestHeadersToAddParameters. +func (in *RouteRulesHeaderActionRequestHeadersToAddParameters) DeepCopy() *RouteRulesHeaderActionRequestHeadersToAddParameters { + if in == nil { + return nil + } + out := new(RouteRulesHeaderActionRequestHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesHeaderActionResponseHeadersToAddObservation) DeepCopyInto(out *RouteRulesHeaderActionResponseHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesHeaderActionResponseHeadersToAddObservation. +func (in *RouteRulesHeaderActionResponseHeadersToAddObservation) DeepCopy() *RouteRulesHeaderActionResponseHeadersToAddObservation { + if in == nil { + return nil + } + out := new(RouteRulesHeaderActionResponseHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesHeaderActionResponseHeadersToAddParameters) DeepCopyInto(out *RouteRulesHeaderActionResponseHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesHeaderActionResponseHeadersToAddParameters. +func (in *RouteRulesHeaderActionResponseHeadersToAddParameters) DeepCopy() *RouteRulesHeaderActionResponseHeadersToAddParameters { + if in == nil { + return nil + } + out := new(RouteRulesHeaderActionResponseHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesMatchRulesMetadataFiltersObservation) DeepCopyInto(out *RouteRulesMatchRulesMetadataFiltersObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesMatchRulesMetadataFiltersObservation. +func (in *RouteRulesMatchRulesMetadataFiltersObservation) DeepCopy() *RouteRulesMatchRulesMetadataFiltersObservation { + if in == nil { + return nil + } + out := new(RouteRulesMatchRulesMetadataFiltersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesMatchRulesMetadataFiltersParameters) DeepCopyInto(out *RouteRulesMatchRulesMetadataFiltersParameters) { + *out = *in + if in.FilterLabels != nil { + in, out := &in.FilterLabels, &out.FilterLabels + *out = make([]MatchRulesMetadataFiltersFilterLabelsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FilterMatchCriteria != nil { + in, out := &in.FilterMatchCriteria, &out.FilterMatchCriteria + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesMatchRulesMetadataFiltersParameters. +func (in *RouteRulesMatchRulesMetadataFiltersParameters) DeepCopy() *RouteRulesMatchRulesMetadataFiltersParameters { + if in == nil { + return nil + } + out := new(RouteRulesMatchRulesMetadataFiltersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesMatchRulesObservation) DeepCopyInto(out *RouteRulesMatchRulesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesMatchRulesObservation. +func (in *RouteRulesMatchRulesObservation) DeepCopy() *RouteRulesMatchRulesObservation { + if in == nil { + return nil + } + out := new(RouteRulesMatchRulesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesMatchRulesParameters) DeepCopyInto(out *RouteRulesMatchRulesParameters) { + *out = *in + if in.FullPathMatch != nil { + in, out := &in.FullPathMatch, &out.FullPathMatch + *out = new(string) + **out = **in + } + if in.HeaderMatches != nil { + in, out := &in.HeaderMatches, &out.HeaderMatches + *out = make([]MatchRulesHeaderMatchesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IgnoreCase != nil { + in, out := &in.IgnoreCase, &out.IgnoreCase + *out = new(bool) + **out = **in + } + if in.MetadataFilters != nil { + in, out := &in.MetadataFilters, &out.MetadataFilters + *out = make([]RouteRulesMatchRulesMetadataFiltersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PrefixMatch != nil { + in, out := &in.PrefixMatch, &out.PrefixMatch + *out = new(string) + **out = **in + } + if in.QueryParameterMatches != nil { + in, out := &in.QueryParameterMatches, &out.QueryParameterMatches + *out = make([]MatchRulesQueryParameterMatchesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RegexMatch != nil { + in, out := &in.RegexMatch, &out.RegexMatch + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesMatchRulesParameters. +func (in *RouteRulesMatchRulesParameters) DeepCopy() *RouteRulesMatchRulesParameters { + if in == nil { + return nil + } + out := new(RouteRulesMatchRulesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesObservation) DeepCopyInto(out *RouteRulesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesObservation. +func (in *RouteRulesObservation) DeepCopy() *RouteRulesObservation { + if in == nil { + return nil + } + out := new(RouteRulesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesParameters) DeepCopyInto(out *RouteRulesParameters) { + *out = *in + if in.HeaderAction != nil { + in, out := &in.HeaderAction, &out.HeaderAction + *out = make([]RouteRulesHeaderActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MatchRules != nil { + in, out := &in.MatchRules, &out.MatchRules + *out = make([]MatchRulesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(int64) + **out = **in + } + if in.RouteAction != nil { + in, out := &in.RouteAction, &out.RouteAction + *out = make([]RouteRulesRouteActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.URLRedirect != nil { + in, out := &in.URLRedirect, &out.URLRedirect + *out = make([]RouteRulesURLRedirectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesParameters. +func (in *RouteRulesParameters) DeepCopy() *RouteRulesParameters { + if in == nil { + return nil + } + out := new(RouteRulesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionCorsPolicyObservation) DeepCopyInto(out *RouteRulesRouteActionCorsPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionCorsPolicyObservation. +func (in *RouteRulesRouteActionCorsPolicyObservation) DeepCopy() *RouteRulesRouteActionCorsPolicyObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionCorsPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionCorsPolicyParameters) DeepCopyInto(out *RouteRulesRouteActionCorsPolicyParameters) { + *out = *in + if in.AllowCredentials != nil { + in, out := &in.AllowCredentials, &out.AllowCredentials + *out = new(bool) + **out = **in + } + if in.AllowHeaders != nil { + in, out := &in.AllowHeaders, &out.AllowHeaders + *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.AllowMethods != nil { + in, out := &in.AllowMethods, &out.AllowMethods + *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.AllowOriginRegexes != nil { + in, out := &in.AllowOriginRegexes, &out.AllowOriginRegexes + *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.AllowOrigins != nil { + in, out := &in.AllowOrigins, &out.AllowOrigins + *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.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.ExposeHeaders != nil { + in, out := &in.ExposeHeaders, &out.ExposeHeaders + *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.MaxAge != nil { + in, out := &in.MaxAge, &out.MaxAge + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionCorsPolicyParameters. +func (in *RouteRulesRouteActionCorsPolicyParameters) DeepCopy() *RouteRulesRouteActionCorsPolicyParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionCorsPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionFaultInjectionPolicyAbortObservation) DeepCopyInto(out *RouteRulesRouteActionFaultInjectionPolicyAbortObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyAbortObservation. +func (in *RouteRulesRouteActionFaultInjectionPolicyAbortObservation) DeepCopy() *RouteRulesRouteActionFaultInjectionPolicyAbortObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionFaultInjectionPolicyAbortObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionFaultInjectionPolicyAbortParameters) DeepCopyInto(out *RouteRulesRouteActionFaultInjectionPolicyAbortParameters) { + *out = *in + if in.HTTPStatus != nil { + in, out := &in.HTTPStatus, &out.HTTPStatus + *out = new(int64) + **out = **in + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyAbortParameters. +func (in *RouteRulesRouteActionFaultInjectionPolicyAbortParameters) DeepCopy() *RouteRulesRouteActionFaultInjectionPolicyAbortParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionFaultInjectionPolicyAbortParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayObservation) DeepCopyInto(out *RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayObservation. +func (in *RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayObservation) DeepCopy() *RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters) DeepCopyInto(out *RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters. +func (in *RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters) DeepCopy() *RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionFaultInjectionPolicyDelayObservation) DeepCopyInto(out *RouteRulesRouteActionFaultInjectionPolicyDelayObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyDelayObservation. +func (in *RouteRulesRouteActionFaultInjectionPolicyDelayObservation) DeepCopy() *RouteRulesRouteActionFaultInjectionPolicyDelayObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionFaultInjectionPolicyDelayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionFaultInjectionPolicyDelayParameters) DeepCopyInto(out *RouteRulesRouteActionFaultInjectionPolicyDelayParameters) { + *out = *in + if in.FixedDelay != nil { + in, out := &in.FixedDelay, &out.FixedDelay + *out = make([]RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyDelayParameters. +func (in *RouteRulesRouteActionFaultInjectionPolicyDelayParameters) DeepCopy() *RouteRulesRouteActionFaultInjectionPolicyDelayParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionFaultInjectionPolicyDelayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionFaultInjectionPolicyObservation) DeepCopyInto(out *RouteRulesRouteActionFaultInjectionPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyObservation. +func (in *RouteRulesRouteActionFaultInjectionPolicyObservation) DeepCopy() *RouteRulesRouteActionFaultInjectionPolicyObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionFaultInjectionPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionFaultInjectionPolicyParameters) DeepCopyInto(out *RouteRulesRouteActionFaultInjectionPolicyParameters) { + *out = *in + if in.Abort != nil { + in, out := &in.Abort, &out.Abort + *out = make([]RouteRulesRouteActionFaultInjectionPolicyAbortParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Delay != nil { + in, out := &in.Delay, &out.Delay + *out = make([]RouteRulesRouteActionFaultInjectionPolicyDelayParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionFaultInjectionPolicyParameters. +func (in *RouteRulesRouteActionFaultInjectionPolicyParameters) DeepCopy() *RouteRulesRouteActionFaultInjectionPolicyParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionFaultInjectionPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionObservation) DeepCopyInto(out *RouteRulesRouteActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionObservation. +func (in *RouteRulesRouteActionObservation) DeepCopy() *RouteRulesRouteActionObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionParameters) DeepCopyInto(out *RouteRulesRouteActionParameters) { + *out = *in + if in.CorsPolicy != nil { + in, out := &in.CorsPolicy, &out.CorsPolicy + *out = make([]RouteActionCorsPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FaultInjectionPolicy != nil { + in, out := &in.FaultInjectionPolicy, &out.FaultInjectionPolicy + *out = make([]RouteActionFaultInjectionPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestMirrorPolicy != nil { + in, out := &in.RequestMirrorPolicy, &out.RequestMirrorPolicy + *out = make([]RouteActionRequestMirrorPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryPolicy != nil { + in, out := &in.RetryPolicy, &out.RetryPolicy + *out = make([]RouteActionRetryPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = make([]RouteActionTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.URLRewrite != nil { + in, out := &in.URLRewrite, &out.URLRewrite + *out = make([]RouteActionURLRewriteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WeightedBackendServices != nil { + in, out := &in.WeightedBackendServices, &out.WeightedBackendServices + *out = make([]RouteActionWeightedBackendServicesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionParameters. +func (in *RouteRulesRouteActionParameters) DeepCopy() *RouteRulesRouteActionParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionRequestMirrorPolicyObservation) DeepCopyInto(out *RouteRulesRouteActionRequestMirrorPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionRequestMirrorPolicyObservation. +func (in *RouteRulesRouteActionRequestMirrorPolicyObservation) DeepCopy() *RouteRulesRouteActionRequestMirrorPolicyObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionRequestMirrorPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionRequestMirrorPolicyParameters) DeepCopyInto(out *RouteRulesRouteActionRequestMirrorPolicyParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionRequestMirrorPolicyParameters. +func (in *RouteRulesRouteActionRequestMirrorPolicyParameters) DeepCopy() *RouteRulesRouteActionRequestMirrorPolicyParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionRequestMirrorPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionRetryPolicyObservation) DeepCopyInto(out *RouteRulesRouteActionRetryPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionRetryPolicyObservation. +func (in *RouteRulesRouteActionRetryPolicyObservation) DeepCopy() *RouteRulesRouteActionRetryPolicyObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionRetryPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionRetryPolicyParameters) DeepCopyInto(out *RouteRulesRouteActionRetryPolicyParameters) { + *out = *in + if in.NumRetries != nil { + in, out := &in.NumRetries, &out.NumRetries + *out = new(int64) + **out = **in + } + if in.PerTryTimeout != nil { + in, out := &in.PerTryTimeout, &out.PerTryTimeout + *out = make([]RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetryConditions != nil { + in, out := &in.RetryConditions, &out.RetryConditions + *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 RouteRulesRouteActionRetryPolicyParameters. +func (in *RouteRulesRouteActionRetryPolicyParameters) DeepCopy() *RouteRulesRouteActionRetryPolicyParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionRetryPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionRetryPolicyPerTryTimeoutObservation) DeepCopyInto(out *RouteRulesRouteActionRetryPolicyPerTryTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionRetryPolicyPerTryTimeoutObservation. +func (in *RouteRulesRouteActionRetryPolicyPerTryTimeoutObservation) DeepCopy() *RouteRulesRouteActionRetryPolicyPerTryTimeoutObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionRetryPolicyPerTryTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters) DeepCopyInto(out *RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters. +func (in *RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters) DeepCopy() *RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionTimeoutObservation) DeepCopyInto(out *RouteRulesRouteActionTimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionTimeoutObservation. +func (in *RouteRulesRouteActionTimeoutObservation) DeepCopy() *RouteRulesRouteActionTimeoutObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionTimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionTimeoutParameters) DeepCopyInto(out *RouteRulesRouteActionTimeoutParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionTimeoutParameters. +func (in *RouteRulesRouteActionTimeoutParameters) DeepCopy() *RouteRulesRouteActionTimeoutParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionTimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionURLRewriteObservation) DeepCopyInto(out *RouteRulesRouteActionURLRewriteObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionURLRewriteObservation. +func (in *RouteRulesRouteActionURLRewriteObservation) DeepCopy() *RouteRulesRouteActionURLRewriteObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionURLRewriteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionURLRewriteParameters) DeepCopyInto(out *RouteRulesRouteActionURLRewriteParameters) { + *out = *in + if in.HostRewrite != nil { + in, out := &in.HostRewrite, &out.HostRewrite + *out = new(string) + **out = **in + } + if in.PathPrefixRewrite != nil { + in, out := &in.PathPrefixRewrite, &out.PathPrefixRewrite + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionURLRewriteParameters. +func (in *RouteRulesRouteActionURLRewriteParameters) DeepCopy() *RouteRulesRouteActionURLRewriteParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionURLRewriteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionWeightedBackendServicesHeaderActionObservation) DeepCopyInto(out *RouteRulesRouteActionWeightedBackendServicesHeaderActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesHeaderActionObservation. +func (in *RouteRulesRouteActionWeightedBackendServicesHeaderActionObservation) DeepCopy() *RouteRulesRouteActionWeightedBackendServicesHeaderActionObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionWeightedBackendServicesHeaderActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters) DeepCopyInto(out *RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters) { + *out = *in + if in.RequestHeadersToAdd != nil { + in, out := &in.RequestHeadersToAdd, &out.RequestHeadersToAdd + *out = make([]RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestHeadersToRemove != nil { + in, out := &in.RequestHeadersToRemove, &out.RequestHeadersToRemove + *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.ResponseHeadersToAdd != nil { + in, out := &in.ResponseHeadersToAdd, &out.ResponseHeadersToAdd + *out = make([]RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResponseHeadersToRemove != nil { + in, out := &in.ResponseHeadersToRemove, &out.ResponseHeadersToRemove + *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 RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters. +func (in *RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters) DeepCopy() *RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopyInto(out *RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation. +func (in *RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopy() *RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopyInto(out *RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters. +func (in *RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopy() *RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopyInto(out *RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation. +func (in *RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopy() *RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopyInto(out *RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters. +func (in *RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopy() *RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionWeightedBackendServicesObservation) DeepCopyInto(out *RouteRulesRouteActionWeightedBackendServicesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesObservation. +func (in *RouteRulesRouteActionWeightedBackendServicesObservation) DeepCopy() *RouteRulesRouteActionWeightedBackendServicesObservation { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionWeightedBackendServicesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesRouteActionWeightedBackendServicesParameters) DeepCopyInto(out *RouteRulesRouteActionWeightedBackendServicesParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.HeaderAction != nil { + in, out := &in.HeaderAction, &out.HeaderAction + *out = make([]RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesRouteActionWeightedBackendServicesParameters. +func (in *RouteRulesRouteActionWeightedBackendServicesParameters) DeepCopy() *RouteRulesRouteActionWeightedBackendServicesParameters { + if in == nil { + return nil + } + out := new(RouteRulesRouteActionWeightedBackendServicesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesURLRedirectObservation) DeepCopyInto(out *RouteRulesURLRedirectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesURLRedirectObservation. +func (in *RouteRulesURLRedirectObservation) DeepCopy() *RouteRulesURLRedirectObservation { + if in == nil { + return nil + } + out := new(RouteRulesURLRedirectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRulesURLRedirectParameters) DeepCopyInto(out *RouteRulesURLRedirectParameters) { + *out = *in + if in.HTTPSRedirect != nil { + in, out := &in.HTTPSRedirect, &out.HTTPSRedirect + *out = new(bool) + **out = **in + } + if in.HostRedirect != nil { + in, out := &in.HostRedirect, &out.HostRedirect + *out = new(string) + **out = **in + } + if in.PathRedirect != nil { + in, out := &in.PathRedirect, &out.PathRedirect + *out = new(string) + **out = **in + } + if in.PrefixRedirect != nil { + in, out := &in.PrefixRedirect, &out.PrefixRedirect + *out = new(string) + **out = **in + } + if in.RedirectResponseCode != nil { + in, out := &in.RedirectResponseCode, &out.RedirectResponseCode + *out = new(string) + **out = **in + } + if in.StripQuery != nil { + in, out := &in.StripQuery, &out.StripQuery + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRulesURLRedirectParameters. +func (in *RouteRulesURLRedirectParameters) DeepCopy() *RouteRulesURLRedirectParameters { + if in == nil { + return nil + } + out := new(RouteRulesURLRedirectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteSpec) DeepCopyInto(out *RouteSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpec. +func (in *RouteSpec) DeepCopy() *RouteSpec { + if in == nil { + return nil + } + out := new(RouteSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteStatus) DeepCopyInto(out *RouteStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteStatus. +func (in *RouteStatus) DeepCopy() *RouteStatus { + if in == nil { + return nil + } + out := new(RouteStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouterInterface) DeepCopyInto(out *RouterInterface) { + *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 RouterInterface. +func (in *RouterInterface) DeepCopy() *RouterInterface { + if in == nil { + return nil + } + out := new(RouterInterface) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RouterInterface) 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 *RouterInterfaceList) DeepCopyInto(out *RouterInterfaceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RouterInterface, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterInterfaceList. +func (in *RouterInterfaceList) DeepCopy() *RouterInterfaceList { + if in == nil { + return nil + } + out := new(RouterInterfaceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RouterInterfaceList) 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 *RouterInterfaceObservation) DeepCopyInto(out *RouterInterfaceObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterInterfaceObservation. +func (in *RouterInterfaceObservation) DeepCopy() *RouterInterfaceObservation { + if in == nil { + return nil + } + out := new(RouterInterfaceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouterInterfaceParameters) DeepCopyInto(out *RouterInterfaceParameters) { + *out = *in + if in.IPRange != nil { + in, out := &in.IPRange, &out.IPRange + *out = new(string) + **out = **in + } + if in.InterconnectAttachment != nil { + in, out := &in.InterconnectAttachment, &out.InterconnectAttachment + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Router != nil { + in, out := &in.Router, &out.Router + *out = new(string) + **out = **in + } + if in.VPNTunnel != nil { + in, out := &in.VPNTunnel, &out.VPNTunnel + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterInterfaceParameters. +func (in *RouterInterfaceParameters) DeepCopy() *RouterInterfaceParameters { + if in == nil { + return nil + } + out := new(RouterInterfaceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouterInterfaceSpec) DeepCopyInto(out *RouterInterfaceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterInterfaceSpec. +func (in *RouterInterfaceSpec) DeepCopy() *RouterInterfaceSpec { + if in == nil { + return nil + } + out := new(RouterInterfaceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouterInterfaceStatus) DeepCopyInto(out *RouterInterfaceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterInterfaceStatus. +func (in *RouterInterfaceStatus) DeepCopy() *RouterInterfaceStatus { + if in == nil { + return nil + } + out := new(RouterInterfaceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouterPeer) DeepCopyInto(out *RouterPeer) { + *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 RouterPeer. +func (in *RouterPeer) DeepCopy() *RouterPeer { + if in == nil { + return nil + } + out := new(RouterPeer) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RouterPeer) 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 *RouterPeerList) DeepCopyInto(out *RouterPeerList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RouterPeer, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerList. +func (in *RouterPeerList) DeepCopy() *RouterPeerList { + if in == nil { + return nil + } + out := new(RouterPeerList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RouterPeerList) 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 *RouterPeerObservation) DeepCopyInto(out *RouterPeerObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.ManagementType != nil { + in, out := &in.ManagementType, &out.ManagementType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerObservation. +func (in *RouterPeerObservation) DeepCopy() *RouterPeerObservation { + if in == nil { + return nil + } + out := new(RouterPeerObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouterPeerParameters) DeepCopyInto(out *RouterPeerParameters) { + *out = *in + if in.AdvertiseMode != nil { + in, out := &in.AdvertiseMode, &out.AdvertiseMode + *out = new(string) + **out = **in + } + if in.AdvertisedGroups != nil { + in, out := &in.AdvertisedGroups, &out.AdvertisedGroups + *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.AdvertisedIPRanges != nil { + in, out := &in.AdvertisedIPRanges, &out.AdvertisedIPRanges + *out = make([]AdvertisedIPRangesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AdvertisedRoutePriority != nil { + in, out := &in.AdvertisedRoutePriority, &out.AdvertisedRoutePriority + *out = new(int64) + **out = **in + } + if in.Enable != nil { + in, out := &in.Enable, &out.Enable + *out = new(bool) + **out = **in + } + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } + if in.Interface != nil { + in, out := &in.Interface, &out.Interface + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PeerAsn != nil { + in, out := &in.PeerAsn, &out.PeerAsn + *out = new(int64) + **out = **in + } + if in.PeerIPAddress != nil { + in, out := &in.PeerIPAddress, &out.PeerIPAddress + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Router != nil { + in, out := &in.Router, &out.Router + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerParameters. +func (in *RouterPeerParameters) DeepCopy() *RouterPeerParameters { + if in == nil { + return nil + } + out := new(RouterPeerParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouterPeerSpec) DeepCopyInto(out *RouterPeerSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerSpec. +func (in *RouterPeerSpec) DeepCopy() *RouterPeerSpec { + if in == nil { + return nil + } + out := new(RouterPeerSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouterPeerStatus) DeepCopyInto(out *RouterPeerStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterPeerStatus. +func (in *RouterPeerStatus) DeepCopy() *RouterPeerStatus { + if in == nil { + return nil + } + out := new(RouterPeerStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RuleMatchObservation) DeepCopyInto(out *RuleMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleMatchObservation. +func (in *RuleMatchObservation) DeepCopy() *RuleMatchObservation { + if in == nil { + return nil + } + out := new(RuleMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RuleMatchParameters) DeepCopyInto(out *RuleMatchParameters) { + *out = *in + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = make([]ConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Expr != nil { + in, out := &in.Expr, &out.Expr + *out = make([]ExprParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VersionedExpr != nil { + in, out := &in.VersionedExpr, &out.VersionedExpr + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleMatchParameters. +func (in *RuleMatchParameters) DeepCopy() *RuleMatchParameters { + if in == nil { + return nil + } + out := new(RuleMatchParameters) + 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 +} + +// 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(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 *RuleParameters) DeepCopyInto(out *RuleParameters) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Match != nil { + in, out := &in.Match, &out.Match + *out = make([]RuleMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Preview != nil { + in, out := &in.Preview, &out.Preview + *out = new(bool) + **out = **in + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(int64) + **out = **in + } +} + +// 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(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 *SSLCertificate) DeepCopyInto(out *SSLCertificate) { + *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 SSLCertificate. +func (in *SSLCertificate) DeepCopy() *SSLCertificate { + if in == nil { + return nil + } + out := new(SSLCertificate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SSLCertificate) 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 *SSLCertificateList) DeepCopyInto(out *SSLCertificateList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SSLCertificate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLCertificateList. +func (in *SSLCertificateList) DeepCopy() *SSLCertificateList { + if in == nil { + return nil + } + out := new(SSLCertificateList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SSLCertificateList) 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 *SSLCertificateObservation) DeepCopyInto(out *SSLCertificateObservation) { + *out = *in + if in.CertificateID != nil { + in, out := &in.CertificateID, &out.CertificateID + *out = new(int64) + **out = **in + } + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLCertificateObservation. +func (in *SSLCertificateObservation) DeepCopy() *SSLCertificateObservation { + if in == nil { + return nil + } + out := new(SSLCertificateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSLCertificateParameters) DeepCopyInto(out *SSLCertificateParameters) { + *out = *in + out.CertificateSecretRef = in.CertificateSecretRef + 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.NamePrefix != nil { + in, out := &in.NamePrefix, &out.NamePrefix + *out = new(string) + **out = **in + } + out.PrivateKeySecretRef = in.PrivateKeySecretRef + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLCertificateParameters. +func (in *SSLCertificateParameters) DeepCopy() *SSLCertificateParameters { + if in == nil { + return nil + } + out := new(SSLCertificateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSLCertificateSpec) DeepCopyInto(out *SSLCertificateSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLCertificateSpec. +func (in *SSLCertificateSpec) DeepCopy() *SSLCertificateSpec { + if in == nil { + return nil + } + out := new(SSLCertificateSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSLCertificateStatus) DeepCopyInto(out *SSLCertificateStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLCertificateStatus. +func (in *SSLCertificateStatus) DeepCopy() *SSLCertificateStatus { + if in == nil { + return nil + } + out := new(SSLCertificateStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSLHealthCheckObservation) DeepCopyInto(out *SSLHealthCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLHealthCheckObservation. +func (in *SSLHealthCheckObservation) DeepCopy() *SSLHealthCheckObservation { + if in == nil { + return nil + } + out := new(SSLHealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSLHealthCheckParameters) DeepCopyInto(out *SSLHealthCheckParameters) { + *out = *in + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.PortName != nil { + in, out := &in.PortName, &out.PortName + *out = new(string) + **out = **in + } + if in.PortSpecification != nil { + in, out := &in.PortSpecification, &out.PortSpecification + *out = new(string) + **out = **in + } + if in.ProxyHeader != nil { + in, out := &in.ProxyHeader, &out.ProxyHeader + *out = new(string) + **out = **in + } + if in.Request != nil { + in, out := &in.Request, &out.Request + *out = new(string) + **out = **in + } + if in.Response != nil { + in, out := &in.Response, &out.Response + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLHealthCheckParameters. +func (in *SSLHealthCheckParameters) DeepCopy() *SSLHealthCheckParameters { + if in == nil { + return nil + } + out := new(SSLHealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSLPolicy) DeepCopyInto(out *SSLPolicy) { + *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 SSLPolicy. +func (in *SSLPolicy) DeepCopy() *SSLPolicy { + if in == nil { + return nil + } + out := new(SSLPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SSLPolicy) 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 *SSLPolicyList) DeepCopyInto(out *SSLPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SSLPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLPolicyList. +func (in *SSLPolicyList) DeepCopy() *SSLPolicyList { + if in == nil { + return nil + } + out := new(SSLPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SSLPolicyList) 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 *SSLPolicyObservation) DeepCopyInto(out *SSLPolicyObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.EnabledFeatures != nil { + in, out := &in.EnabledFeatures, &out.EnabledFeatures + *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.Fingerprint != nil { + in, out := &in.Fingerprint, &out.Fingerprint + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLPolicyObservation. +func (in *SSLPolicyObservation) DeepCopy() *SSLPolicyObservation { + if in == nil { + return nil + } + out := new(SSLPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSLPolicyParameters) DeepCopyInto(out *SSLPolicyParameters) { + *out = *in + if in.CustomFeatures != nil { + in, out := &in.CustomFeatures, &out.CustomFeatures + *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.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.MinTLSVersion != nil { + in, out := &in.MinTLSVersion, &out.MinTLSVersion + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Profile != nil { + in, out := &in.Profile, &out.Profile + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLPolicyParameters. +func (in *SSLPolicyParameters) DeepCopy() *SSLPolicyParameters { + if in == nil { + return nil + } + out := new(SSLPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSLPolicySpec) DeepCopyInto(out *SSLPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLPolicySpec. +func (in *SSLPolicySpec) DeepCopy() *SSLPolicySpec { + if in == nil { + return nil + } + out := new(SSLPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSLPolicyStatus) DeepCopyInto(out *SSLPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSLPolicyStatus. +func (in *SSLPolicyStatus) DeepCopy() *SSLPolicyStatus { + if in == nil { + return nil + } + out := new(SSLPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScaleInControlMaxScaledInReplicasObservation) DeepCopyInto(out *ScaleInControlMaxScaledInReplicasObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInControlMaxScaledInReplicasObservation. +func (in *ScaleInControlMaxScaledInReplicasObservation) DeepCopy() *ScaleInControlMaxScaledInReplicasObservation { + if in == nil { + return nil + } + out := new(ScaleInControlMaxScaledInReplicasObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScaleInControlMaxScaledInReplicasParameters) DeepCopyInto(out *ScaleInControlMaxScaledInReplicasParameters) { + *out = *in + if in.Fixed != nil { + in, out := &in.Fixed, &out.Fixed + *out = new(int64) + **out = **in + } + if in.Percent != nil { + in, out := &in.Percent, &out.Percent + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInControlMaxScaledInReplicasParameters. +func (in *ScaleInControlMaxScaledInReplicasParameters) DeepCopy() *ScaleInControlMaxScaledInReplicasParameters { + if in == nil { + return nil + } + out := new(ScaleInControlMaxScaledInReplicasParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScaleInControlObservation) DeepCopyInto(out *ScaleInControlObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInControlObservation. +func (in *ScaleInControlObservation) DeepCopy() *ScaleInControlObservation { + if in == nil { + return nil + } + out := new(ScaleInControlObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScaleInControlParameters) DeepCopyInto(out *ScaleInControlParameters) { + *out = *in + if in.MaxScaledInReplicas != nil { + in, out := &in.MaxScaledInReplicas, &out.MaxScaledInReplicas + *out = make([]MaxScaledInReplicasParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TimeWindowSec != nil { + in, out := &in.TimeWindowSec, &out.TimeWindowSec + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScaleInControlParameters. +func (in *ScaleInControlParameters) DeepCopy() *ScaleInControlParameters { + if in == nil { + return nil + } + out := new(ScaleInControlParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScalingSchedulesObservation) DeepCopyInto(out *ScalingSchedulesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingSchedulesObservation. +func (in *ScalingSchedulesObservation) DeepCopy() *ScalingSchedulesObservation { + if in == nil { + return nil + } + out := new(ScalingSchedulesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScalingSchedulesParameters) DeepCopyInto(out *ScalingSchedulesParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.DurationSec != nil { + in, out := &in.DurationSec, &out.DurationSec + *out = new(int64) + **out = **in + } + if in.MinRequiredReplicas != nil { + in, out := &in.MinRequiredReplicas, &out.MinRequiredReplicas + *out = new(int64) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Schedule != nil { + in, out := &in.Schedule, &out.Schedule + *out = new(string) + **out = **in + } + if in.TimeZone != nil { + in, out := &in.TimeZone, &out.TimeZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingSchedulesParameters. +func (in *ScalingSchedulesParameters) DeepCopy() *ScalingSchedulesParameters { + if in == nil { + return nil + } + out := new(ScalingSchedulesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScheduleObservation) DeepCopyInto(out *ScheduleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleObservation. +func (in *ScheduleObservation) DeepCopy() *ScheduleObservation { + if in == nil { + return nil + } + out := new(ScheduleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScheduleParameters) DeepCopyInto(out *ScheduleParameters) { + *out = *in + if in.DailySchedule != nil { + in, out := &in.DailySchedule, &out.DailySchedule + *out = make([]DailyScheduleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HourlySchedule != nil { + in, out := &in.HourlySchedule, &out.HourlySchedule + *out = make([]HourlyScheduleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WeeklySchedule != nil { + in, out := &in.WeeklySchedule, &out.WeeklySchedule + *out = make([]WeeklyScheduleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleParameters. +func (in *ScheduleParameters) DeepCopy() *ScheduleParameters { + if in == nil { + return nil + } + out := new(ScheduleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityPolicy) DeepCopyInto(out *SecurityPolicy) { + *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 SecurityPolicy. +func (in *SecurityPolicy) DeepCopy() *SecurityPolicy { + if in == nil { + return nil + } + out := new(SecurityPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecurityPolicy) 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 *SecurityPolicyList) DeepCopyInto(out *SecurityPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SecurityPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicyList. +func (in *SecurityPolicyList) DeepCopy() *SecurityPolicyList { + if in == nil { + return nil + } + out := new(SecurityPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecurityPolicyList) 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 *SecurityPolicyObservation) DeepCopyInto(out *SecurityPolicyObservation) { + *out = *in + if in.Fingerprint != nil { + in, out := &in.Fingerprint, &out.Fingerprint + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicyObservation. +func (in *SecurityPolicyObservation) DeepCopy() *SecurityPolicyObservation { + if in == nil { + return nil + } + out := new(SecurityPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityPolicyParameters) DeepCopyInto(out *SecurityPolicyParameters) { + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Rule != nil { + in, out := &in.Rule, &out.Rule + *out = make([]RuleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicyParameters. +func (in *SecurityPolicyParameters) DeepCopy() *SecurityPolicyParameters { + if in == nil { + return nil + } + out := new(SecurityPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityPolicySpec) DeepCopyInto(out *SecurityPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicySpec. +func (in *SecurityPolicySpec) DeepCopy() *SecurityPolicySpec { + if in == nil { + return nil + } + out := new(SecurityPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityPolicyStatus) DeepCopyInto(out *SecurityPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicyStatus. +func (in *SecurityPolicyStatus) DeepCopy() *SecurityPolicyStatus { + if in == nil { + return nil + } + out := new(SecurityPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServerBindingObservation) DeepCopyInto(out *ServerBindingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerBindingObservation. +func (in *ServerBindingObservation) DeepCopy() *ServerBindingObservation { + if in == nil { + return nil + } + out := new(ServerBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServerBindingParameters) DeepCopyInto(out *ServerBindingParameters) { + *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 ServerBindingParameters. +func (in *ServerBindingParameters) DeepCopy() *ServerBindingParameters { + if in == nil { + return nil + } + out := new(ServerBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAttachment) DeepCopyInto(out *ServiceAttachment) { + *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 ServiceAttachment. +func (in *ServiceAttachment) DeepCopy() *ServiceAttachment { + if in == nil { + return nil + } + out := new(ServiceAttachment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceAttachment) 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 *ServiceAttachmentList) DeepCopyInto(out *ServiceAttachmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceAttachment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAttachmentList. +func (in *ServiceAttachmentList) DeepCopy() *ServiceAttachmentList { + if in == nil { + return nil + } + out := new(ServiceAttachmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceAttachmentList) 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 *ServiceAttachmentObservation) DeepCopyInto(out *ServiceAttachmentObservation) { + *out = *in + if in.ConnectedEndpoints != nil { + in, out := &in.ConnectedEndpoints, &out.ConnectedEndpoints + *out = make([]ConnectedEndpointsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Fingerprint != nil { + in, out := &in.Fingerprint, &out.Fingerprint + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAttachmentObservation. +func (in *ServiceAttachmentObservation) DeepCopy() *ServiceAttachmentObservation { + if in == nil { + return nil + } + out := new(ServiceAttachmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAttachmentParameters) DeepCopyInto(out *ServiceAttachmentParameters) { + *out = *in + if in.ConnectionPreference != nil { + in, out := &in.ConnectionPreference, &out.ConnectionPreference + *out = new(string) + **out = **in + } + if in.ConsumerAcceptLists != nil { + in, out := &in.ConsumerAcceptLists, &out.ConsumerAcceptLists + *out = make([]ConsumerAcceptListsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ConsumerRejectLists != nil { + in, out := &in.ConsumerRejectLists, &out.ConsumerRejectLists + *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.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.EnableProxyProtocol != nil { + in, out := &in.EnableProxyProtocol, &out.EnableProxyProtocol + *out = new(bool) + **out = **in + } + if in.NATSubnets != nil { + in, out := &in.NATSubnets, &out.NATSubnets + *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.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.TargetService != nil { + in, out := &in.TargetService, &out.TargetService + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAttachmentParameters. +func (in *ServiceAttachmentParameters) DeepCopy() *ServiceAttachmentParameters { + if in == nil { + return nil + } + out := new(ServiceAttachmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAttachmentSpec) DeepCopyInto(out *ServiceAttachmentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAttachmentSpec. +func (in *ServiceAttachmentSpec) DeepCopy() *ServiceAttachmentSpec { + if in == nil { + return nil + } + out := new(ServiceAttachmentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAttachmentStatus) DeepCopyInto(out *ServiceAttachmentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAttachmentStatus. +func (in *ServiceAttachmentStatus) DeepCopy() *ServiceAttachmentStatus { + if in == nil { + return nil + } + out := new(ServiceAttachmentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SharedVPCHostProject) DeepCopyInto(out *SharedVPCHostProject) { + *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 SharedVPCHostProject. +func (in *SharedVPCHostProject) DeepCopy() *SharedVPCHostProject { + if in == nil { + return nil + } + out := new(SharedVPCHostProject) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SharedVPCHostProject) 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 *SharedVPCHostProjectList) DeepCopyInto(out *SharedVPCHostProjectList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SharedVPCHostProject, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedVPCHostProjectList. +func (in *SharedVPCHostProjectList) DeepCopy() *SharedVPCHostProjectList { + if in == nil { + return nil + } + out := new(SharedVPCHostProjectList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SharedVPCHostProjectList) 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 *SharedVPCHostProjectObservation) DeepCopyInto(out *SharedVPCHostProjectObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedVPCHostProjectObservation. +func (in *SharedVPCHostProjectObservation) DeepCopy() *SharedVPCHostProjectObservation { + if in == nil { + return nil + } + out := new(SharedVPCHostProjectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SharedVPCHostProjectParameters) DeepCopyInto(out *SharedVPCHostProjectParameters) { + *out = *in + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedVPCHostProjectParameters. +func (in *SharedVPCHostProjectParameters) DeepCopy() *SharedVPCHostProjectParameters { + if in == nil { + return nil + } + out := new(SharedVPCHostProjectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SharedVPCHostProjectSpec) DeepCopyInto(out *SharedVPCHostProjectSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedVPCHostProjectSpec. +func (in *SharedVPCHostProjectSpec) DeepCopy() *SharedVPCHostProjectSpec { + if in == nil { + return nil + } + out := new(SharedVPCHostProjectSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SharedVPCHostProjectStatus) DeepCopyInto(out *SharedVPCHostProjectStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedVPCHostProjectStatus. +func (in *SharedVPCHostProjectStatus) DeepCopy() *SharedVPCHostProjectStatus { + if in == nil { + return nil + } + out := new(SharedVPCHostProjectStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SharedVPCServiceProject) DeepCopyInto(out *SharedVPCServiceProject) { + *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 SharedVPCServiceProject. +func (in *SharedVPCServiceProject) DeepCopy() *SharedVPCServiceProject { + if in == nil { + return nil + } + out := new(SharedVPCServiceProject) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SharedVPCServiceProject) 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 *SharedVPCServiceProjectList) DeepCopyInto(out *SharedVPCServiceProjectList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SharedVPCServiceProject, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedVPCServiceProjectList. +func (in *SharedVPCServiceProjectList) DeepCopy() *SharedVPCServiceProjectList { + if in == nil { + return nil + } + out := new(SharedVPCServiceProjectList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SharedVPCServiceProjectList) 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 *SharedVPCServiceProjectObservation) DeepCopyInto(out *SharedVPCServiceProjectObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedVPCServiceProjectObservation. +func (in *SharedVPCServiceProjectObservation) DeepCopy() *SharedVPCServiceProjectObservation { + if in == nil { + return nil + } + out := new(SharedVPCServiceProjectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SharedVPCServiceProjectParameters) DeepCopyInto(out *SharedVPCServiceProjectParameters) { + *out = *in + if in.HostProject != nil { + in, out := &in.HostProject, &out.HostProject + *out = new(string) + **out = **in + } + if in.ServiceProject != nil { + in, out := &in.ServiceProject, &out.ServiceProject + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedVPCServiceProjectParameters. +func (in *SharedVPCServiceProjectParameters) DeepCopy() *SharedVPCServiceProjectParameters { + if in == nil { + return nil + } + out := new(SharedVPCServiceProjectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SharedVPCServiceProjectSpec) DeepCopyInto(out *SharedVPCServiceProjectSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedVPCServiceProjectSpec. +func (in *SharedVPCServiceProjectSpec) DeepCopy() *SharedVPCServiceProjectSpec { + if in == nil { + return nil + } + out := new(SharedVPCServiceProjectSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SharedVPCServiceProjectStatus) DeepCopyInto(out *SharedVPCServiceProjectStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedVPCServiceProjectStatus. +func (in *SharedVPCServiceProjectStatus) DeepCopy() *SharedVPCServiceProjectStatus { + if in == nil { + return nil + } + out := new(SharedVPCServiceProjectStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Snapshot) DeepCopyInto(out *Snapshot) { + *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 Snapshot. +func (in *Snapshot) DeepCopy() *Snapshot { + if in == nil { + return nil + } + out := new(Snapshot) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Snapshot) 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 *SnapshotEncryptionKeyObservation) DeepCopyInto(out *SnapshotEncryptionKeyObservation) { + *out = *in + if in.Sha256 != nil { + in, out := &in.Sha256, &out.Sha256 + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotEncryptionKeyObservation. +func (in *SnapshotEncryptionKeyObservation) DeepCopy() *SnapshotEncryptionKeyObservation { + if in == nil { + return nil + } + out := new(SnapshotEncryptionKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SnapshotEncryptionKeyParameters) DeepCopyInto(out *SnapshotEncryptionKeyParameters) { + *out = *in + if in.KMSKeySelfLink != nil { + in, out := &in.KMSKeySelfLink, &out.KMSKeySelfLink + *out = new(string) + **out = **in + } + if in.KMSKeyServiceAccount != nil { + in, out := &in.KMSKeyServiceAccount, &out.KMSKeyServiceAccount + *out = new(string) + **out = **in + } + if in.RawKeySecretRef != nil { + in, out := &in.RawKeySecretRef, &out.RawKeySecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotEncryptionKeyParameters. +func (in *SnapshotEncryptionKeyParameters) DeepCopy() *SnapshotEncryptionKeyParameters { + if in == nil { + return nil + } + out := new(SnapshotEncryptionKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SnapshotList) DeepCopyInto(out *SnapshotList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Snapshot, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotList. +func (in *SnapshotList) DeepCopy() *SnapshotList { + if in == nil { + return nil + } + out := new(SnapshotList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SnapshotList) 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 *SnapshotObservation) DeepCopyInto(out *SnapshotObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.DiskSizeGb != nil { + in, out := &in.DiskSizeGb, &out.DiskSizeGb + *out = new(int64) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LabelFingerprint != nil { + in, out := &in.LabelFingerprint, &out.LabelFingerprint + *out = new(string) + **out = **in + } + if in.Licenses != nil { + in, out := &in.Licenses, &out.Licenses + *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.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.SnapshotID != nil { + in, out := &in.SnapshotID, &out.SnapshotID + *out = new(int64) + **out = **in + } + if in.StorageBytes != nil { + in, out := &in.StorageBytes, &out.StorageBytes + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotObservation. +func (in *SnapshotObservation) DeepCopy() *SnapshotObservation { + if in == nil { + return nil + } + out := new(SnapshotObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SnapshotParameters) DeepCopyInto(out *SnapshotParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SnapshotEncryptionKey != nil { + in, out := &in.SnapshotEncryptionKey, &out.SnapshotEncryptionKey + *out = make([]SnapshotEncryptionKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SourceDisk != nil { + in, out := &in.SourceDisk, &out.SourceDisk + *out = new(string) + **out = **in + } + if in.SourceDiskEncryptionKey != nil { + in, out := &in.SourceDiskEncryptionKey, &out.SourceDiskEncryptionKey + *out = make([]SourceDiskEncryptionKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StorageLocations != nil { + in, out := &in.StorageLocations, &out.StorageLocations + *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.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotParameters. +func (in *SnapshotParameters) DeepCopy() *SnapshotParameters { + if in == nil { + return nil + } + out := new(SnapshotParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SnapshotPropertiesObservation) DeepCopyInto(out *SnapshotPropertiesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotPropertiesObservation. +func (in *SnapshotPropertiesObservation) DeepCopy() *SnapshotPropertiesObservation { + if in == nil { + return nil + } + out := new(SnapshotPropertiesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SnapshotPropertiesParameters) DeepCopyInto(out *SnapshotPropertiesParameters) { + *out = *in + if in.GuestFlush != nil { + in, out := &in.GuestFlush, &out.GuestFlush + *out = new(bool) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.StorageLocations != nil { + in, out := &in.StorageLocations, &out.StorageLocations + *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 SnapshotPropertiesParameters. +func (in *SnapshotPropertiesParameters) DeepCopy() *SnapshotPropertiesParameters { + if in == nil { + return nil + } + out := new(SnapshotPropertiesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SnapshotSchedulePolicyObservation) DeepCopyInto(out *SnapshotSchedulePolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotSchedulePolicyObservation. +func (in *SnapshotSchedulePolicyObservation) DeepCopy() *SnapshotSchedulePolicyObservation { + if in == nil { + return nil + } + out := new(SnapshotSchedulePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SnapshotSchedulePolicyParameters) DeepCopyInto(out *SnapshotSchedulePolicyParameters) { + *out = *in + if in.RetentionPolicy != nil { + in, out := &in.RetentionPolicy, &out.RetentionPolicy + *out = make([]RetentionPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Schedule != nil { + in, out := &in.Schedule, &out.Schedule + *out = make([]ScheduleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SnapshotProperties != nil { + in, out := &in.SnapshotProperties, &out.SnapshotProperties + *out = make([]SnapshotPropertiesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotSchedulePolicyParameters. +func (in *SnapshotSchedulePolicyParameters) DeepCopy() *SnapshotSchedulePolicyParameters { + if in == nil { + return nil + } + out := new(SnapshotSchedulePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SnapshotSpec) DeepCopyInto(out *SnapshotSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotSpec. +func (in *SnapshotSpec) DeepCopy() *SnapshotSpec { + if in == nil { + return nil + } + out := new(SnapshotSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SnapshotStatus) DeepCopyInto(out *SnapshotStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotStatus. +func (in *SnapshotStatus) DeepCopy() *SnapshotStatus { + if in == nil { + return nil + } + out := new(SnapshotStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceDiskEncryptionKeyObservation) DeepCopyInto(out *SourceDiskEncryptionKeyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceDiskEncryptionKeyObservation. +func (in *SourceDiskEncryptionKeyObservation) DeepCopy() *SourceDiskEncryptionKeyObservation { + if in == nil { + return nil + } + out := new(SourceDiskEncryptionKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceDiskEncryptionKeyParameters) DeepCopyInto(out *SourceDiskEncryptionKeyParameters) { + *out = *in + if in.KMSKeyServiceAccount != nil { + in, out := &in.KMSKeyServiceAccount, &out.KMSKeyServiceAccount + *out = new(string) + **out = **in + } + if in.RawKeySecretRef != nil { + in, out := &in.RawKeySecretRef, &out.RawKeySecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceDiskEncryptionKeyParameters. +func (in *SourceDiskEncryptionKeyParameters) DeepCopy() *SourceDiskEncryptionKeyParameters { + if in == nil { + return nil + } + out := new(SourceDiskEncryptionKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceImageEncryptionKeyObservation) DeepCopyInto(out *SourceImageEncryptionKeyObservation) { + *out = *in + if in.Sha256 != nil { + in, out := &in.Sha256, &out.Sha256 + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceImageEncryptionKeyObservation. +func (in *SourceImageEncryptionKeyObservation) DeepCopy() *SourceImageEncryptionKeyObservation { + if in == nil { + return nil + } + out := new(SourceImageEncryptionKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceImageEncryptionKeyParameters) DeepCopyInto(out *SourceImageEncryptionKeyParameters) { + *out = *in + if in.KMSKeySelfLink != nil { + in, out := &in.KMSKeySelfLink, &out.KMSKeySelfLink + *out = new(string) + **out = **in + } + if in.KMSKeyServiceAccount != nil { + in, out := &in.KMSKeyServiceAccount, &out.KMSKeyServiceAccount + *out = new(string) + **out = **in + } + if in.RawKey != nil { + in, out := &in.RawKey, &out.RawKey + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceImageEncryptionKeyParameters. +func (in *SourceImageEncryptionKeyParameters) DeepCopy() *SourceImageEncryptionKeyParameters { + if in == nil { + return nil + } + out := new(SourceImageEncryptionKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceSnapshotEncryptionKeyObservation) DeepCopyInto(out *SourceSnapshotEncryptionKeyObservation) { + *out = *in + if in.Sha256 != nil { + in, out := &in.Sha256, &out.Sha256 + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceSnapshotEncryptionKeyObservation. +func (in *SourceSnapshotEncryptionKeyObservation) DeepCopy() *SourceSnapshotEncryptionKeyObservation { + if in == nil { + return nil + } + out := new(SourceSnapshotEncryptionKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceSnapshotEncryptionKeyParameters) DeepCopyInto(out *SourceSnapshotEncryptionKeyParameters) { + *out = *in + if in.KMSKeySelfLink != nil { + in, out := &in.KMSKeySelfLink, &out.KMSKeySelfLink + *out = new(string) + **out = **in + } + if in.KMSKeyServiceAccount != nil { + in, out := &in.KMSKeyServiceAccount, &out.KMSKeyServiceAccount + *out = new(string) + **out = **in + } + if in.RawKey != nil { + in, out := &in.RawKey, &out.RawKey + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceSnapshotEncryptionKeyParameters. +func (in *SourceSnapshotEncryptionKeyParameters) DeepCopy() *SourceSnapshotEncryptionKeyParameters { + if in == nil { + return nil + } + out := new(SourceSnapshotEncryptionKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecificReservationObservation) DeepCopyInto(out *SpecificReservationObservation) { + *out = *in + if in.InUseCount != nil { + in, out := &in.InUseCount, &out.InUseCount + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecificReservationObservation. +func (in *SpecificReservationObservation) DeepCopy() *SpecificReservationObservation { + if in == nil { + return nil + } + out := new(SpecificReservationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecificReservationParameters) DeepCopyInto(out *SpecificReservationParameters) { + *out = *in + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int64) + **out = **in + } + if in.InstanceProperties != nil { + in, out := &in.InstanceProperties, &out.InstanceProperties + *out = make([]InstancePropertiesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecificReservationParameters. +func (in *SpecificReservationParameters) DeepCopy() *SpecificReservationParameters { + if in == nil { + return nil + } + out := new(SpecificReservationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatefulDiskObservation) DeepCopyInto(out *StatefulDiskObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulDiskObservation. +func (in *StatefulDiskObservation) DeepCopy() *StatefulDiskObservation { + if in == nil { + return nil + } + out := new(StatefulDiskObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatefulDiskParameters) DeepCopyInto(out *StatefulDiskParameters) { + *out = *in + if in.DeleteRule != nil { + in, out := &in.DeleteRule, &out.DeleteRule + *out = new(string) + **out = **in + } + if in.DeviceName != nil { + in, out := &in.DeviceName, &out.DeviceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulDiskParameters. +func (in *StatefulDiskParameters) DeepCopy() *StatefulDiskParameters { + if in == nil { + return nil + } + out := new(StatefulDiskParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatefulObservation) DeepCopyInto(out *StatefulObservation) { + *out = *in + if in.HasStatefulConfig != nil { + in, out := &in.HasStatefulConfig, &out.HasStatefulConfig + *out = new(bool) + **out = **in + } + if in.PerInstanceConfigs != nil { + in, out := &in.PerInstanceConfigs, &out.PerInstanceConfigs + *out = make([]PerInstanceConfigsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulObservation. +func (in *StatefulObservation) DeepCopy() *StatefulObservation { + if in == nil { + return nil + } + out := new(StatefulObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatefulParameters) DeepCopyInto(out *StatefulParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulParameters. +func (in *StatefulParameters) DeepCopy() *StatefulParameters { + if in == nil { + return nil + } + out := new(StatefulParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatefulPerInstanceConfigsObservation) DeepCopyInto(out *StatefulPerInstanceConfigsObservation) { + *out = *in + if in.AllEffective != nil { + in, out := &in.AllEffective, &out.AllEffective + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulPerInstanceConfigsObservation. +func (in *StatefulPerInstanceConfigsObservation) DeepCopy() *StatefulPerInstanceConfigsObservation { + if in == nil { + return nil + } + out := new(StatefulPerInstanceConfigsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatefulPerInstanceConfigsParameters) DeepCopyInto(out *StatefulPerInstanceConfigsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulPerInstanceConfigsParameters. +func (in *StatefulPerInstanceConfigsParameters) DeepCopy() *StatefulPerInstanceConfigsParameters { + if in == nil { + return nil + } + out := new(StatefulPerInstanceConfigsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusObservation) DeepCopyInto(out *StatusObservation) { + *out = *in + if in.IsStable != nil { + in, out := &in.IsStable, &out.IsStable + *out = new(bool) + **out = **in + } + if in.Stateful != nil { + in, out := &in.Stateful, &out.Stateful + *out = make([]StatefulObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VersionTarget != nil { + in, out := &in.VersionTarget, &out.VersionTarget + *out = make([]VersionTargetObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusObservation. +func (in *StatusObservation) DeepCopy() *StatusObservation { + if in == nil { + return nil + } + out := new(StatusObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusParameters) DeepCopyInto(out *StatusParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusParameters. +func (in *StatusParameters) DeepCopy() *StatusParameters { + if in == nil { + return nil + } + out := new(StatusParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusStatefulObservation) DeepCopyInto(out *StatusStatefulObservation) { + *out = *in + if in.HasStatefulConfig != nil { + in, out := &in.HasStatefulConfig, &out.HasStatefulConfig + *out = new(bool) + **out = **in + } + if in.PerInstanceConfigs != nil { + in, out := &in.PerInstanceConfigs, &out.PerInstanceConfigs + *out = make([]StatefulPerInstanceConfigsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusStatefulObservation. +func (in *StatusStatefulObservation) DeepCopy() *StatusStatefulObservation { + if in == nil { + return nil + } + out := new(StatusStatefulObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusStatefulParameters) DeepCopyInto(out *StatusStatefulParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusStatefulParameters. +func (in *StatusStatefulParameters) DeepCopy() *StatusStatefulParameters { + if in == nil { + return nil + } + out := new(StatusStatefulParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusVersionTargetObservation) DeepCopyInto(out *StatusVersionTargetObservation) { + *out = *in + if in.IsReached != nil { + in, out := &in.IsReached, &out.IsReached + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusVersionTargetObservation. +func (in *StatusVersionTargetObservation) DeepCopy() *StatusVersionTargetObservation { + if in == nil { + return nil + } + out := new(StatusVersionTargetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusVersionTargetParameters) DeepCopyInto(out *StatusVersionTargetParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusVersionTargetParameters. +func (in *StatusVersionTargetParameters) DeepCopy() *StatusVersionTargetParameters { + if in == nil { + return nil + } + out := new(StatusVersionTargetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMBinding) DeepCopyInto(out *SubnetworkIAMBinding) { + *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 SubnetworkIAMBinding. +func (in *SubnetworkIAMBinding) DeepCopy() *SubnetworkIAMBinding { + if in == nil { + return nil + } + out := new(SubnetworkIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubnetworkIAMBinding) 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 *SubnetworkIAMBindingConditionObservation) DeepCopyInto(out *SubnetworkIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMBindingConditionObservation. +func (in *SubnetworkIAMBindingConditionObservation) DeepCopy() *SubnetworkIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(SubnetworkIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMBindingConditionParameters) DeepCopyInto(out *SubnetworkIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMBindingConditionParameters. +func (in *SubnetworkIAMBindingConditionParameters) DeepCopy() *SubnetworkIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(SubnetworkIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMBindingList) DeepCopyInto(out *SubnetworkIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SubnetworkIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMBindingList. +func (in *SubnetworkIAMBindingList) DeepCopy() *SubnetworkIAMBindingList { + if in == nil { + return nil + } + out := new(SubnetworkIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubnetworkIAMBindingList) 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 *SubnetworkIAMBindingObservation) DeepCopyInto(out *SubnetworkIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMBindingObservation. +func (in *SubnetworkIAMBindingObservation) DeepCopy() *SubnetworkIAMBindingObservation { + if in == nil { + return nil + } + out := new(SubnetworkIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMBindingParameters) DeepCopyInto(out *SubnetworkIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]SubnetworkIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMBindingParameters. +func (in *SubnetworkIAMBindingParameters) DeepCopy() *SubnetworkIAMBindingParameters { + if in == nil { + return nil + } + out := new(SubnetworkIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMBindingSpec) DeepCopyInto(out *SubnetworkIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMBindingSpec. +func (in *SubnetworkIAMBindingSpec) DeepCopy() *SubnetworkIAMBindingSpec { + if in == nil { + return nil + } + out := new(SubnetworkIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMBindingStatus) DeepCopyInto(out *SubnetworkIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMBindingStatus. +func (in *SubnetworkIAMBindingStatus) DeepCopy() *SubnetworkIAMBindingStatus { + if in == nil { + return nil + } + out := new(SubnetworkIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMMember) DeepCopyInto(out *SubnetworkIAMMember) { + *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 SubnetworkIAMMember. +func (in *SubnetworkIAMMember) DeepCopy() *SubnetworkIAMMember { + if in == nil { + return nil + } + out := new(SubnetworkIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubnetworkIAMMember) 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 *SubnetworkIAMMemberConditionObservation) DeepCopyInto(out *SubnetworkIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberConditionObservation. +func (in *SubnetworkIAMMemberConditionObservation) DeepCopy() *SubnetworkIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(SubnetworkIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMMemberConditionParameters) DeepCopyInto(out *SubnetworkIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberConditionParameters. +func (in *SubnetworkIAMMemberConditionParameters) DeepCopy() *SubnetworkIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(SubnetworkIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMMemberList) DeepCopyInto(out *SubnetworkIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SubnetworkIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberList. +func (in *SubnetworkIAMMemberList) DeepCopy() *SubnetworkIAMMemberList { + if in == nil { + return nil + } + out := new(SubnetworkIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubnetworkIAMMemberList) 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 *SubnetworkIAMMemberObservation) DeepCopyInto(out *SubnetworkIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberObservation. +func (in *SubnetworkIAMMemberObservation) DeepCopy() *SubnetworkIAMMemberObservation { + if in == nil { + return nil + } + out := new(SubnetworkIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMMemberParameters) DeepCopyInto(out *SubnetworkIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]SubnetworkIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberParameters. +func (in *SubnetworkIAMMemberParameters) DeepCopy() *SubnetworkIAMMemberParameters { + if in == nil { + return nil + } + out := new(SubnetworkIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMMemberSpec) DeepCopyInto(out *SubnetworkIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberSpec. +func (in *SubnetworkIAMMemberSpec) DeepCopy() *SubnetworkIAMMemberSpec { + if in == nil { + return nil + } + out := new(SubnetworkIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMMemberStatus) DeepCopyInto(out *SubnetworkIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMMemberStatus. +func (in *SubnetworkIAMMemberStatus) DeepCopy() *SubnetworkIAMMemberStatus { + if in == nil { + return nil + } + out := new(SubnetworkIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMPolicy) DeepCopyInto(out *SubnetworkIAMPolicy) { + *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 SubnetworkIAMPolicy. +func (in *SubnetworkIAMPolicy) DeepCopy() *SubnetworkIAMPolicy { + if in == nil { + return nil + } + out := new(SubnetworkIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubnetworkIAMPolicy) 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 *SubnetworkIAMPolicyList) DeepCopyInto(out *SubnetworkIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SubnetworkIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMPolicyList. +func (in *SubnetworkIAMPolicyList) DeepCopy() *SubnetworkIAMPolicyList { + if in == nil { + return nil + } + out := new(SubnetworkIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubnetworkIAMPolicyList) 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 *SubnetworkIAMPolicyObservation) DeepCopyInto(out *SubnetworkIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMPolicyObservation. +func (in *SubnetworkIAMPolicyObservation) DeepCopy() *SubnetworkIAMPolicyObservation { + if in == nil { + return nil + } + out := new(SubnetworkIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMPolicyParameters) DeepCopyInto(out *SubnetworkIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMPolicyParameters. +func (in *SubnetworkIAMPolicyParameters) DeepCopy() *SubnetworkIAMPolicyParameters { + if in == nil { + return nil + } + out := new(SubnetworkIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMPolicySpec) DeepCopyInto(out *SubnetworkIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMPolicySpec. +func (in *SubnetworkIAMPolicySpec) DeepCopy() *SubnetworkIAMPolicySpec { + if in == nil { + return nil + } + out := new(SubnetworkIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworkIAMPolicyStatus) DeepCopyInto(out *SubnetworkIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworkIAMPolicyStatus. +func (in *SubnetworkIAMPolicyStatus) DeepCopy() *SubnetworkIAMPolicyStatus { + if in == nil { + return nil + } + out := new(SubnetworkIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworksObservation) DeepCopyInto(out *SubnetworksObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworksObservation. +func (in *SubnetworksObservation) DeepCopy() *SubnetworksObservation { + if in == nil { + return nil + } + out := new(SubnetworksObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetworksParameters) DeepCopyInto(out *SubnetworksParameters) { + *out = *in + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetworksParameters. +func (in *SubnetworksParameters) DeepCopy() *SubnetworksParameters { + if in == nil { + return nil + } + out := new(SubnetworksParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPHealthCheckObservation) DeepCopyInto(out *TCPHealthCheckObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPHealthCheckObservation. +func (in *TCPHealthCheckObservation) DeepCopy() *TCPHealthCheckObservation { + if in == nil { + return nil + } + out := new(TCPHealthCheckObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TCPHealthCheckParameters) DeepCopyInto(out *TCPHealthCheckParameters) { + *out = *in + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.PortName != nil { + in, out := &in.PortName, &out.PortName + *out = new(string) + **out = **in + } + if in.PortSpecification != nil { + in, out := &in.PortSpecification, &out.PortSpecification + *out = new(string) + **out = **in + } + if in.ProxyHeader != nil { + in, out := &in.ProxyHeader, &out.ProxyHeader + *out = new(string) + **out = **in + } + if in.Request != nil { + in, out := &in.Request, &out.Request + *out = new(string) + **out = **in + } + if in.Response != nil { + in, out := &in.Response, &out.Response + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPHealthCheckParameters. +func (in *TCPHealthCheckParameters) DeepCopy() *TCPHealthCheckParameters { + if in == nil { + return nil + } + out := new(TCPHealthCheckParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TTLObservation) DeepCopyInto(out *TTLObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TTLObservation. +func (in *TTLObservation) DeepCopy() *TTLObservation { + if in == nil { + return nil + } + out := new(TTLObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TTLParameters) DeepCopyInto(out *TTLParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TTLParameters. +func (in *TTLParameters) DeepCopy() *TTLParameters { + if in == nil { + return nil + } + out := new(TTLParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetGRPCProxy) DeepCopyInto(out *TargetGRPCProxy) { + *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 TargetGRPCProxy. +func (in *TargetGRPCProxy) DeepCopy() *TargetGRPCProxy { + if in == nil { + return nil + } + out := new(TargetGRPCProxy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TargetGRPCProxy) 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 *TargetGRPCProxyList) DeepCopyInto(out *TargetGRPCProxyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TargetGRPCProxy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetGRPCProxyList. +func (in *TargetGRPCProxyList) DeepCopy() *TargetGRPCProxyList { + if in == nil { + return nil + } + out := new(TargetGRPCProxyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TargetGRPCProxyList) 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 *TargetGRPCProxyObservation) DeepCopyInto(out *TargetGRPCProxyObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.Fingerprint != nil { + in, out := &in.Fingerprint, &out.Fingerprint + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.SelfLinkWithID != nil { + in, out := &in.SelfLinkWithID, &out.SelfLinkWithID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetGRPCProxyObservation. +func (in *TargetGRPCProxyObservation) DeepCopy() *TargetGRPCProxyObservation { + if in == nil { + return nil + } + out := new(TargetGRPCProxyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetGRPCProxyParameters) DeepCopyInto(out *TargetGRPCProxyParameters) { + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.URLMap != nil { + in, out := &in.URLMap, &out.URLMap + *out = new(string) + **out = **in + } + if in.ValidateForProxyless != nil { + in, out := &in.ValidateForProxyless, &out.ValidateForProxyless + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetGRPCProxyParameters. +func (in *TargetGRPCProxyParameters) DeepCopy() *TargetGRPCProxyParameters { + if in == nil { + return nil + } + out := new(TargetGRPCProxyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetGRPCProxySpec) DeepCopyInto(out *TargetGRPCProxySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetGRPCProxySpec. +func (in *TargetGRPCProxySpec) DeepCopy() *TargetGRPCProxySpec { + if in == nil { + return nil + } + out := new(TargetGRPCProxySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetGRPCProxyStatus) DeepCopyInto(out *TargetGRPCProxyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetGRPCProxyStatus. +func (in *TargetGRPCProxyStatus) DeepCopy() *TargetGRPCProxyStatus { + if in == nil { + return nil + } + out := new(TargetGRPCProxyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetHTTPProxy) DeepCopyInto(out *TargetHTTPProxy) { + *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 TargetHTTPProxy. +func (in *TargetHTTPProxy) DeepCopy() *TargetHTTPProxy { + if in == nil { + return nil + } + out := new(TargetHTTPProxy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TargetHTTPProxy) 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 *TargetHTTPProxyList) DeepCopyInto(out *TargetHTTPProxyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TargetHTTPProxy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetHTTPProxyList. +func (in *TargetHTTPProxyList) DeepCopy() *TargetHTTPProxyList { + if in == nil { + return nil + } + out := new(TargetHTTPProxyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TargetHTTPProxyList) 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 *TargetHTTPProxyObservation) DeepCopyInto(out *TargetHTTPProxyObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.ProxyID != nil { + in, out := &in.ProxyID, &out.ProxyID + *out = new(int64) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetHTTPProxyObservation. +func (in *TargetHTTPProxyObservation) DeepCopy() *TargetHTTPProxyObservation { + if in == nil { + return nil + } + out := new(TargetHTTPProxyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetHTTPProxyParameters) DeepCopyInto(out *TargetHTTPProxyParameters) { + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProxyBind != nil { + in, out := &in.ProxyBind, &out.ProxyBind + *out = new(bool) + **out = **in + } + if in.URLMap != nil { + in, out := &in.URLMap, &out.URLMap + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetHTTPProxyParameters. +func (in *TargetHTTPProxyParameters) DeepCopy() *TargetHTTPProxyParameters { + if in == nil { + return nil + } + out := new(TargetHTTPProxyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetHTTPProxySpec) DeepCopyInto(out *TargetHTTPProxySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetHTTPProxySpec. +func (in *TargetHTTPProxySpec) DeepCopy() *TargetHTTPProxySpec { + if in == nil { + return nil + } + out := new(TargetHTTPProxySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetHTTPProxyStatus) DeepCopyInto(out *TargetHTTPProxyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetHTTPProxyStatus. +func (in *TargetHTTPProxyStatus) DeepCopy() *TargetHTTPProxyStatus { + if in == nil { + return nil + } + out := new(TargetHTTPProxyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetHTTPSProxy) DeepCopyInto(out *TargetHTTPSProxy) { + *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 TargetHTTPSProxy. +func (in *TargetHTTPSProxy) DeepCopy() *TargetHTTPSProxy { + if in == nil { + return nil + } + out := new(TargetHTTPSProxy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TargetHTTPSProxy) 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 *TargetHTTPSProxyList) DeepCopyInto(out *TargetHTTPSProxyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TargetHTTPSProxy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetHTTPSProxyList. +func (in *TargetHTTPSProxyList) DeepCopy() *TargetHTTPSProxyList { + if in == nil { + return nil + } + out := new(TargetHTTPSProxyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TargetHTTPSProxyList) 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 *TargetHTTPSProxyObservation) DeepCopyInto(out *TargetHTTPSProxyObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.ProxyID != nil { + in, out := &in.ProxyID, &out.ProxyID + *out = new(int64) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetHTTPSProxyObservation. +func (in *TargetHTTPSProxyObservation) DeepCopy() *TargetHTTPSProxyObservation { + if in == nil { + return nil + } + out := new(TargetHTTPSProxyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetHTTPSProxyParameters) DeepCopyInto(out *TargetHTTPSProxyParameters) { + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProxyBind != nil { + in, out := &in.ProxyBind, &out.ProxyBind + *out = new(bool) + **out = **in + } + if in.QuicOverride != nil { + in, out := &in.QuicOverride, &out.QuicOverride + *out = new(string) + **out = **in + } + if in.SSLCertificates != nil { + in, out := &in.SSLCertificates, &out.SSLCertificates + *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.SSLPolicy != nil { + in, out := &in.SSLPolicy, &out.SSLPolicy + *out = new(string) + **out = **in + } + if in.URLMap != nil { + in, out := &in.URLMap, &out.URLMap + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetHTTPSProxyParameters. +func (in *TargetHTTPSProxyParameters) DeepCopy() *TargetHTTPSProxyParameters { + if in == nil { + return nil + } + out := new(TargetHTTPSProxyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetHTTPSProxySpec) DeepCopyInto(out *TargetHTTPSProxySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetHTTPSProxySpec. +func (in *TargetHTTPSProxySpec) DeepCopy() *TargetHTTPSProxySpec { + if in == nil { + return nil + } + out := new(TargetHTTPSProxySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetHTTPSProxyStatus) DeepCopyInto(out *TargetHTTPSProxyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetHTTPSProxyStatus. +func (in *TargetHTTPSProxyStatus) DeepCopy() *TargetHTTPSProxyStatus { + if in == nil { + return nil + } + out := new(TargetHTTPSProxyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetInstance) DeepCopyInto(out *TargetInstance) { + *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 TargetInstance. +func (in *TargetInstance) DeepCopy() *TargetInstance { + if in == nil { + return nil + } + out := new(TargetInstance) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TargetInstance) 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 *TargetInstanceList) DeepCopyInto(out *TargetInstanceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TargetInstance, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetInstanceList. +func (in *TargetInstanceList) DeepCopy() *TargetInstanceList { + if in == nil { + return nil + } + out := new(TargetInstanceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TargetInstanceList) 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 *TargetInstanceObservation) DeepCopyInto(out *TargetInstanceObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetInstanceObservation. +func (in *TargetInstanceObservation) DeepCopy() *TargetInstanceObservation { + if in == nil { + return nil + } + out := new(TargetInstanceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetInstanceParameters) DeepCopyInto(out *TargetInstanceParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.NATPolicy != nil { + in, out := &in.NATPolicy, &out.NATPolicy + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetInstanceParameters. +func (in *TargetInstanceParameters) DeepCopy() *TargetInstanceParameters { + if in == nil { + return nil + } + out := new(TargetInstanceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetInstanceSpec) DeepCopyInto(out *TargetInstanceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetInstanceSpec. +func (in *TargetInstanceSpec) DeepCopy() *TargetInstanceSpec { + if in == nil { + return nil + } + out := new(TargetInstanceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetInstanceStatus) DeepCopyInto(out *TargetInstanceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetInstanceStatus. +func (in *TargetInstanceStatus) DeepCopy() *TargetInstanceStatus { + if in == nil { + return nil + } + out := new(TargetInstanceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetPool) DeepCopyInto(out *TargetPool) { + *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 TargetPool. +func (in *TargetPool) DeepCopy() *TargetPool { + if in == nil { + return nil + } + out := new(TargetPool) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TargetPool) 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 *TargetPoolList) DeepCopyInto(out *TargetPoolList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TargetPool, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetPoolList. +func (in *TargetPoolList) DeepCopy() *TargetPoolList { + if in == nil { + return nil + } + out := new(TargetPoolList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TargetPoolList) 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 *TargetPoolObservation) DeepCopyInto(out *TargetPoolObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetPoolObservation. +func (in *TargetPoolObservation) DeepCopy() *TargetPoolObservation { + if in == nil { + return nil + } + out := new(TargetPoolObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetPoolParameters) DeepCopyInto(out *TargetPoolParameters) { + *out = *in + if in.BackupPool != nil { + in, out := &in.BackupPool, &out.BackupPool + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.FailoverRatio != nil { + in, out := &in.FailoverRatio, &out.FailoverRatio + *out = new(float64) + **out = **in + } + if in.HealthChecks != nil { + in, out := &in.HealthChecks, &out.HealthChecks + *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.Instances != nil { + in, out := &in.Instances, &out.Instances + *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.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.SessionAffinity != nil { + in, out := &in.SessionAffinity, &out.SessionAffinity + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetPoolParameters. +func (in *TargetPoolParameters) DeepCopy() *TargetPoolParameters { + if in == nil { + return nil + } + out := new(TargetPoolParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetPoolSpec) DeepCopyInto(out *TargetPoolSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetPoolSpec. +func (in *TargetPoolSpec) DeepCopy() *TargetPoolSpec { + if in == nil { + return nil + } + out := new(TargetPoolSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetPoolStatus) DeepCopyInto(out *TargetPoolStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetPoolStatus. +func (in *TargetPoolStatus) DeepCopy() *TargetPoolStatus { + if in == nil { + return nil + } + out := new(TargetPoolStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetSSLProxy) DeepCopyInto(out *TargetSSLProxy) { + *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 TargetSSLProxy. +func (in *TargetSSLProxy) DeepCopy() *TargetSSLProxy { + if in == nil { + return nil + } + out := new(TargetSSLProxy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TargetSSLProxy) 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 *TargetSSLProxyList) DeepCopyInto(out *TargetSSLProxyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TargetSSLProxy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetSSLProxyList. +func (in *TargetSSLProxyList) DeepCopy() *TargetSSLProxyList { + if in == nil { + return nil + } + out := new(TargetSSLProxyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TargetSSLProxyList) 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 *TargetSSLProxyObservation) DeepCopyInto(out *TargetSSLProxyObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.ProxyID != nil { + in, out := &in.ProxyID, &out.ProxyID + *out = new(int64) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetSSLProxyObservation. +func (in *TargetSSLProxyObservation) DeepCopy() *TargetSSLProxyObservation { + if in == nil { + return nil + } + out := new(TargetSSLProxyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetSSLProxyParameters) DeepCopyInto(out *TargetSSLProxyParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProxyHeader != nil { + in, out := &in.ProxyHeader, &out.ProxyHeader + *out = new(string) + **out = **in + } + if in.SSLCertificates != nil { + in, out := &in.SSLCertificates, &out.SSLCertificates + *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.SSLPolicy != nil { + in, out := &in.SSLPolicy, &out.SSLPolicy + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetSSLProxyParameters. +func (in *TargetSSLProxyParameters) DeepCopy() *TargetSSLProxyParameters { + if in == nil { + return nil + } + out := new(TargetSSLProxyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetSSLProxySpec) DeepCopyInto(out *TargetSSLProxySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetSSLProxySpec. +func (in *TargetSSLProxySpec) DeepCopy() *TargetSSLProxySpec { + if in == nil { + return nil + } + out := new(TargetSSLProxySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetSSLProxyStatus) DeepCopyInto(out *TargetSSLProxyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetSSLProxyStatus. +func (in *TargetSSLProxyStatus) DeepCopy() *TargetSSLProxyStatus { + if in == nil { + return nil + } + out := new(TargetSSLProxyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetSizeObservation) DeepCopyInto(out *TargetSizeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetSizeObservation. +func (in *TargetSizeObservation) DeepCopy() *TargetSizeObservation { + if in == nil { + return nil + } + out := new(TargetSizeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetSizeParameters) DeepCopyInto(out *TargetSizeParameters) { + *out = *in + if in.Fixed != nil { + in, out := &in.Fixed, &out.Fixed + *out = new(int64) + **out = **in + } + if in.Percent != nil { + in, out := &in.Percent, &out.Percent + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetSizeParameters. +func (in *TargetSizeParameters) DeepCopy() *TargetSizeParameters { + if in == nil { + return nil + } + out := new(TargetSizeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetTCPProxy) DeepCopyInto(out *TargetTCPProxy) { + *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 TargetTCPProxy. +func (in *TargetTCPProxy) DeepCopy() *TargetTCPProxy { + if in == nil { + return nil + } + out := new(TargetTCPProxy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TargetTCPProxy) 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 *TargetTCPProxyList) DeepCopyInto(out *TargetTCPProxyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TargetTCPProxy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetTCPProxyList. +func (in *TargetTCPProxyList) DeepCopy() *TargetTCPProxyList { + if in == nil { + return nil + } + out := new(TargetTCPProxyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TargetTCPProxyList) 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 *TargetTCPProxyObservation) DeepCopyInto(out *TargetTCPProxyObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.ProxyID != nil { + in, out := &in.ProxyID, &out.ProxyID + *out = new(int64) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetTCPProxyObservation. +func (in *TargetTCPProxyObservation) DeepCopy() *TargetTCPProxyObservation { + if in == nil { + return nil + } + out := new(TargetTCPProxyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetTCPProxyParameters) DeepCopyInto(out *TargetTCPProxyParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProxyBind != nil { + in, out := &in.ProxyBind, &out.ProxyBind + *out = new(bool) + **out = **in + } + if in.ProxyHeader != nil { + in, out := &in.ProxyHeader, &out.ProxyHeader + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetTCPProxyParameters. +func (in *TargetTCPProxyParameters) DeepCopy() *TargetTCPProxyParameters { + if in == nil { + return nil + } + out := new(TargetTCPProxyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetTCPProxySpec) DeepCopyInto(out *TargetTCPProxySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetTCPProxySpec. +func (in *TargetTCPProxySpec) DeepCopy() *TargetTCPProxySpec { + if in == nil { + return nil + } + out := new(TargetTCPProxySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetTCPProxyStatus) DeepCopyInto(out *TargetTCPProxyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetTCPProxyStatus. +func (in *TargetTCPProxyStatus) DeepCopy() *TargetTCPProxyStatus { + if in == nil { + return nil + } + out := new(TargetTCPProxyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TestObservation) DeepCopyInto(out *TestObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestObservation. +func (in *TestObservation) DeepCopy() *TestObservation { + if in == nil { + return nil + } + out := new(TestObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TestParameters) DeepCopyInto(out *TestParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestParameters. +func (in *TestParameters) DeepCopy() *TestParameters { + if in == nil { + return nil + } + out := new(TestParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutObservation) DeepCopyInto(out *TimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutObservation. +func (in *TimeoutObservation) DeepCopy() *TimeoutObservation { + if in == nil { + return nil + } + out := new(TimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutParameters) DeepCopyInto(out *TimeoutParameters) { + *out = *in + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutParameters. +func (in *TimeoutParameters) DeepCopy() *TimeoutParameters { + if in == nil { + return nil + } + out := new(TimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMap) DeepCopyInto(out *URLMap) { + *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 URLMap. +func (in *URLMap) DeepCopy() *URLMap { + if in == nil { + return nil + } + out := new(URLMap) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *URLMap) 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 *URLMapDefaultURLRedirectObservation) DeepCopyInto(out *URLMapDefaultURLRedirectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapDefaultURLRedirectObservation. +func (in *URLMapDefaultURLRedirectObservation) DeepCopy() *URLMapDefaultURLRedirectObservation { + if in == nil { + return nil + } + out := new(URLMapDefaultURLRedirectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapDefaultURLRedirectParameters) DeepCopyInto(out *URLMapDefaultURLRedirectParameters) { + *out = *in + if in.HTTPSRedirect != nil { + in, out := &in.HTTPSRedirect, &out.HTTPSRedirect + *out = new(bool) + **out = **in + } + if in.HostRedirect != nil { + in, out := &in.HostRedirect, &out.HostRedirect + *out = new(string) + **out = **in + } + if in.PathRedirect != nil { + in, out := &in.PathRedirect, &out.PathRedirect + *out = new(string) + **out = **in + } + if in.PrefixRedirect != nil { + in, out := &in.PrefixRedirect, &out.PrefixRedirect + *out = new(string) + **out = **in + } + if in.RedirectResponseCode != nil { + in, out := &in.RedirectResponseCode, &out.RedirectResponseCode + *out = new(string) + **out = **in + } + if in.StripQuery != nil { + in, out := &in.StripQuery, &out.StripQuery + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapDefaultURLRedirectParameters. +func (in *URLMapDefaultURLRedirectParameters) DeepCopy() *URLMapDefaultURLRedirectParameters { + if in == nil { + return nil + } + out := new(URLMapDefaultURLRedirectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapHeaderActionObservation) DeepCopyInto(out *URLMapHeaderActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHeaderActionObservation. +func (in *URLMapHeaderActionObservation) DeepCopy() *URLMapHeaderActionObservation { + if in == nil { + return nil + } + out := new(URLMapHeaderActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapHeaderActionParameters) DeepCopyInto(out *URLMapHeaderActionParameters) { + *out = *in + if in.RequestHeadersToAdd != nil { + in, out := &in.RequestHeadersToAdd, &out.RequestHeadersToAdd + *out = make([]URLMapHeaderActionRequestHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestHeadersToRemove != nil { + in, out := &in.RequestHeadersToRemove, &out.RequestHeadersToRemove + *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.ResponseHeadersToAdd != nil { + in, out := &in.ResponseHeadersToAdd, &out.ResponseHeadersToAdd + *out = make([]URLMapHeaderActionResponseHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResponseHeadersToRemove != nil { + in, out := &in.ResponseHeadersToRemove, &out.ResponseHeadersToRemove + *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 URLMapHeaderActionParameters. +func (in *URLMapHeaderActionParameters) DeepCopy() *URLMapHeaderActionParameters { + if in == nil { + return nil + } + out := new(URLMapHeaderActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapHeaderActionRequestHeadersToAddObservation) DeepCopyInto(out *URLMapHeaderActionRequestHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHeaderActionRequestHeadersToAddObservation. +func (in *URLMapHeaderActionRequestHeadersToAddObservation) DeepCopy() *URLMapHeaderActionRequestHeadersToAddObservation { + if in == nil { + return nil + } + out := new(URLMapHeaderActionRequestHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapHeaderActionRequestHeadersToAddParameters) DeepCopyInto(out *URLMapHeaderActionRequestHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHeaderActionRequestHeadersToAddParameters. +func (in *URLMapHeaderActionRequestHeadersToAddParameters) DeepCopy() *URLMapHeaderActionRequestHeadersToAddParameters { + if in == nil { + return nil + } + out := new(URLMapHeaderActionRequestHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapHeaderActionResponseHeadersToAddObservation) DeepCopyInto(out *URLMapHeaderActionResponseHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHeaderActionResponseHeadersToAddObservation. +func (in *URLMapHeaderActionResponseHeadersToAddObservation) DeepCopy() *URLMapHeaderActionResponseHeadersToAddObservation { + if in == nil { + return nil + } + out := new(URLMapHeaderActionResponseHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapHeaderActionResponseHeadersToAddParameters) DeepCopyInto(out *URLMapHeaderActionResponseHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHeaderActionResponseHeadersToAddParameters. +func (in *URLMapHeaderActionResponseHeadersToAddParameters) DeepCopy() *URLMapHeaderActionResponseHeadersToAddParameters { + if in == nil { + return nil + } + out := new(URLMapHeaderActionResponseHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapHostRuleObservation) DeepCopyInto(out *URLMapHostRuleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHostRuleObservation. +func (in *URLMapHostRuleObservation) DeepCopy() *URLMapHostRuleObservation { + if in == nil { + return nil + } + out := new(URLMapHostRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapHostRuleParameters) DeepCopyInto(out *URLMapHostRuleParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Hosts != nil { + in, out := &in.Hosts, &out.Hosts + *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.PathMatcher != nil { + in, out := &in.PathMatcher, &out.PathMatcher + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapHostRuleParameters. +func (in *URLMapHostRuleParameters) DeepCopy() *URLMapHostRuleParameters { + if in == nil { + return nil + } + out := new(URLMapHostRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapList) DeepCopyInto(out *URLMapList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]URLMap, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapList. +func (in *URLMapList) DeepCopy() *URLMapList { + if in == nil { + return nil + } + out := new(URLMapList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *URLMapList) 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 *URLMapObservation) DeepCopyInto(out *URLMapObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.Fingerprint != nil { + in, out := &in.Fingerprint, &out.Fingerprint + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.MapID != nil { + in, out := &in.MapID, &out.MapID + *out = new(int64) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapObservation. +func (in *URLMapObservation) DeepCopy() *URLMapObservation { + if in == nil { + return nil + } + out := new(URLMapObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapParameters) DeepCopyInto(out *URLMapParameters) { + *out = *in + if in.DefaultRouteAction != nil { + in, out := &in.DefaultRouteAction, &out.DefaultRouteAction + *out = make([]DefaultRouteActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DefaultService != nil { + in, out := &in.DefaultService, &out.DefaultService + *out = new(string) + **out = **in + } + if in.DefaultURLRedirect != nil { + in, out := &in.DefaultURLRedirect, &out.DefaultURLRedirect + *out = make([]URLMapDefaultURLRedirectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.HeaderAction != nil { + in, out := &in.HeaderAction, &out.HeaderAction + *out = make([]URLMapHeaderActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HostRule != nil { + in, out := &in.HostRule, &out.HostRule + *out = make([]URLMapHostRuleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PathMatcher != nil { + in, out := &in.PathMatcher, &out.PathMatcher + *out = make([]URLMapPathMatcherParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Test != nil { + in, out := &in.Test, &out.Test + *out = make([]URLMapTestParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapParameters. +func (in *URLMapParameters) DeepCopy() *URLMapParameters { + if in == nil { + return nil + } + out := new(URLMapParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapPathMatcherDefaultURLRedirectObservation) DeepCopyInto(out *URLMapPathMatcherDefaultURLRedirectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapPathMatcherDefaultURLRedirectObservation. +func (in *URLMapPathMatcherDefaultURLRedirectObservation) DeepCopy() *URLMapPathMatcherDefaultURLRedirectObservation { + if in == nil { + return nil + } + out := new(URLMapPathMatcherDefaultURLRedirectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapPathMatcherDefaultURLRedirectParameters) DeepCopyInto(out *URLMapPathMatcherDefaultURLRedirectParameters) { + *out = *in + if in.HTTPSRedirect != nil { + in, out := &in.HTTPSRedirect, &out.HTTPSRedirect + *out = new(bool) + **out = **in + } + if in.HostRedirect != nil { + in, out := &in.HostRedirect, &out.HostRedirect + *out = new(string) + **out = **in + } + if in.PathRedirect != nil { + in, out := &in.PathRedirect, &out.PathRedirect + *out = new(string) + **out = **in + } + if in.PrefixRedirect != nil { + in, out := &in.PrefixRedirect, &out.PrefixRedirect + *out = new(string) + **out = **in + } + if in.RedirectResponseCode != nil { + in, out := &in.RedirectResponseCode, &out.RedirectResponseCode + *out = new(string) + **out = **in + } + if in.StripQuery != nil { + in, out := &in.StripQuery, &out.StripQuery + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapPathMatcherDefaultURLRedirectParameters. +func (in *URLMapPathMatcherDefaultURLRedirectParameters) DeepCopy() *URLMapPathMatcherDefaultURLRedirectParameters { + if in == nil { + return nil + } + out := new(URLMapPathMatcherDefaultURLRedirectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapPathMatcherObservation) DeepCopyInto(out *URLMapPathMatcherObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapPathMatcherObservation. +func (in *URLMapPathMatcherObservation) DeepCopy() *URLMapPathMatcherObservation { + if in == nil { + return nil + } + out := new(URLMapPathMatcherObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapPathMatcherParameters) DeepCopyInto(out *URLMapPathMatcherParameters) { + *out = *in + if in.DefaultRouteAction != nil { + in, out := &in.DefaultRouteAction, &out.DefaultRouteAction + *out = make([]PathMatcherDefaultRouteActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DefaultService != nil { + in, out := &in.DefaultService, &out.DefaultService + *out = new(string) + **out = **in + } + if in.DefaultURLRedirect != nil { + in, out := &in.DefaultURLRedirect, &out.DefaultURLRedirect + *out = make([]URLMapPathMatcherDefaultURLRedirectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.HeaderAction != nil { + in, out := &in.HeaderAction, &out.HeaderAction + *out = make([]PathMatcherHeaderActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PathRule != nil { + in, out := &in.PathRule, &out.PathRule + *out = make([]PathMatcherPathRuleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RouteRules != nil { + in, out := &in.RouteRules, &out.RouteRules + *out = make([]PathMatcherRouteRulesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapPathMatcherParameters. +func (in *URLMapPathMatcherParameters) DeepCopy() *URLMapPathMatcherParameters { + if in == nil { + return nil + } + out := new(URLMapPathMatcherParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapSpec) DeepCopyInto(out *URLMapSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapSpec. +func (in *URLMapSpec) DeepCopy() *URLMapSpec { + if in == nil { + return nil + } + out := new(URLMapSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapStatus) DeepCopyInto(out *URLMapStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapStatus. +func (in *URLMapStatus) DeepCopy() *URLMapStatus { + if in == nil { + return nil + } + out := new(URLMapStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapTestObservation) DeepCopyInto(out *URLMapTestObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapTestObservation. +func (in *URLMapTestObservation) DeepCopy() *URLMapTestObservation { + if in == nil { + return nil + } + out := new(URLMapTestObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLMapTestParameters) DeepCopyInto(out *URLMapTestParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLMapTestParameters. +func (in *URLMapTestParameters) DeepCopy() *URLMapTestParameters { + if in == nil { + return nil + } + out := new(URLMapTestParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLRedirectObservation) DeepCopyInto(out *URLRedirectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRedirectObservation. +func (in *URLRedirectObservation) DeepCopy() *URLRedirectObservation { + if in == nil { + return nil + } + out := new(URLRedirectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLRedirectParameters) DeepCopyInto(out *URLRedirectParameters) { + *out = *in + if in.HTTPSRedirect != nil { + in, out := &in.HTTPSRedirect, &out.HTTPSRedirect + *out = new(bool) + **out = **in + } + if in.HostRedirect != nil { + in, out := &in.HostRedirect, &out.HostRedirect + *out = new(string) + **out = **in + } + if in.PathRedirect != nil { + in, out := &in.PathRedirect, &out.PathRedirect + *out = new(string) + **out = **in + } + if in.PrefixRedirect != nil { + in, out := &in.PrefixRedirect, &out.PrefixRedirect + *out = new(string) + **out = **in + } + if in.RedirectResponseCode != nil { + in, out := &in.RedirectResponseCode, &out.RedirectResponseCode + *out = new(string) + **out = **in + } + if in.StripQuery != nil { + in, out := &in.StripQuery, &out.StripQuery + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRedirectParameters. +func (in *URLRedirectParameters) DeepCopy() *URLRedirectParameters { + if in == nil { + return nil + } + out := new(URLRedirectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLRewriteObservation) DeepCopyInto(out *URLRewriteObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRewriteObservation. +func (in *URLRewriteObservation) DeepCopy() *URLRewriteObservation { + if in == nil { + return nil + } + out := new(URLRewriteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLRewriteParameters) DeepCopyInto(out *URLRewriteParameters) { + *out = *in + if in.HostRewrite != nil { + in, out := &in.HostRewrite, &out.HostRewrite + *out = new(string) + **out = **in + } + if in.PathPrefixRewrite != nil { + in, out := &in.PathPrefixRewrite, &out.PathPrefixRewrite + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRewriteParameters. +func (in *URLRewriteParameters) DeepCopy() *URLRewriteParameters { + if in == nil { + return nil + } + out := new(URLRewriteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UpdatePolicyObservation) DeepCopyInto(out *UpdatePolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdatePolicyObservation. +func (in *UpdatePolicyObservation) DeepCopy() *UpdatePolicyObservation { + if in == nil { + return nil + } + out := new(UpdatePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UpdatePolicyParameters) DeepCopyInto(out *UpdatePolicyParameters) { + *out = *in + if in.MaxSurgeFixed != nil { + in, out := &in.MaxSurgeFixed, &out.MaxSurgeFixed + *out = new(int64) + **out = **in + } + if in.MaxSurgePercent != nil { + in, out := &in.MaxSurgePercent, &out.MaxSurgePercent + *out = new(int64) + **out = **in + } + if in.MaxUnavailableFixed != nil { + in, out := &in.MaxUnavailableFixed, &out.MaxUnavailableFixed + *out = new(int64) + **out = **in + } + if in.MaxUnavailablePercent != nil { + in, out := &in.MaxUnavailablePercent, &out.MaxUnavailablePercent + *out = new(int64) + **out = **in + } + if in.MinimalAction != nil { + in, out := &in.MinimalAction, &out.MinimalAction + *out = new(string) + **out = **in + } + if in.ReplacementMethod != nil { + in, out := &in.ReplacementMethod, &out.ReplacementMethod + *out = new(string) + **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 UpdatePolicyParameters. +func (in *UpdatePolicyParameters) DeepCopy() *UpdatePolicyParameters { + if in == nil { + return nil + } + out := new(UpdatePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VMStartScheduleObservation) DeepCopyInto(out *VMStartScheduleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMStartScheduleObservation. +func (in *VMStartScheduleObservation) DeepCopy() *VMStartScheduleObservation { + if in == nil { + return nil + } + out := new(VMStartScheduleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VMStartScheduleParameters) DeepCopyInto(out *VMStartScheduleParameters) { + *out = *in + if in.Schedule != nil { + in, out := &in.Schedule, &out.Schedule + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMStartScheduleParameters. +func (in *VMStartScheduleParameters) DeepCopy() *VMStartScheduleParameters { + if in == nil { + return nil + } + out := new(VMStartScheduleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VMStopScheduleObservation) DeepCopyInto(out *VMStopScheduleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMStopScheduleObservation. +func (in *VMStopScheduleObservation) DeepCopy() *VMStopScheduleObservation { + if in == nil { + return nil + } + out := new(VMStopScheduleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VMStopScheduleParameters) DeepCopyInto(out *VMStopScheduleParameters) { + *out = *in + if in.Schedule != nil { + in, out := &in.Schedule, &out.Schedule + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMStopScheduleParameters. +func (in *VMStopScheduleParameters) DeepCopy() *VMStopScheduleParameters { + if in == nil { + return nil + } + out := new(VMStopScheduleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPNGateway) DeepCopyInto(out *VPNGateway) { + *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 VPNGateway. +func (in *VPNGateway) DeepCopy() *VPNGateway { + if in == nil { + return nil + } + out := new(VPNGateway) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *VPNGateway) 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 *VPNGatewayList) DeepCopyInto(out *VPNGatewayList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]VPNGateway, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNGatewayList. +func (in *VPNGatewayList) DeepCopy() *VPNGatewayList { + if in == nil { + return nil + } + out := new(VPNGatewayList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *VPNGatewayList) 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 *VPNGatewayObservation) DeepCopyInto(out *VPNGatewayObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.GatewayID != nil { + in, out := &in.GatewayID, &out.GatewayID + *out = new(int64) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNGatewayObservation. +func (in *VPNGatewayObservation) DeepCopy() *VPNGatewayObservation { + if in == nil { + return nil + } + out := new(VPNGatewayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPNGatewayParameters) DeepCopyInto(out *VPNGatewayParameters) { + *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.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNGatewayParameters. +func (in *VPNGatewayParameters) DeepCopy() *VPNGatewayParameters { + if in == nil { + return nil + } + out := new(VPNGatewayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPNGatewaySpec) DeepCopyInto(out *VPNGatewaySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNGatewaySpec. +func (in *VPNGatewaySpec) DeepCopy() *VPNGatewaySpec { + if in == nil { + return nil + } + out := new(VPNGatewaySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPNGatewayStatus) DeepCopyInto(out *VPNGatewayStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNGatewayStatus. +func (in *VPNGatewayStatus) DeepCopy() *VPNGatewayStatus { + if in == nil { + return nil + } + out := new(VPNGatewayStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPNInterfacesObservation) DeepCopyInto(out *VPNInterfacesObservation) { + *out = *in + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNInterfacesObservation. +func (in *VPNInterfacesObservation) DeepCopy() *VPNInterfacesObservation { + if in == nil { + return nil + } + out := new(VPNInterfacesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPNInterfacesParameters) DeepCopyInto(out *VPNInterfacesParameters) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(int64) + **out = **in + } + if in.InterconnectAttachment != nil { + in, out := &in.InterconnectAttachment, &out.InterconnectAttachment + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNInterfacesParameters. +func (in *VPNInterfacesParameters) DeepCopy() *VPNInterfacesParameters { + if in == nil { + return nil + } + out := new(VPNInterfacesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPNTunnel) DeepCopyInto(out *VPNTunnel) { + *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 VPNTunnel. +func (in *VPNTunnel) DeepCopy() *VPNTunnel { + if in == nil { + return nil + } + out := new(VPNTunnel) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *VPNTunnel) 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 *VPNTunnelList) DeepCopyInto(out *VPNTunnelList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]VPNTunnel, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNTunnelList. +func (in *VPNTunnelList) DeepCopy() *VPNTunnelList { + if in == nil { + return nil + } + out := new(VPNTunnelList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *VPNTunnelList) 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 *VPNTunnelObservation) DeepCopyInto(out *VPNTunnelObservation) { + *out = *in + if in.CreationTimestamp != nil { + in, out := &in.CreationTimestamp, &out.CreationTimestamp + *out = new(string) + **out = **in + } + if in.DetailedStatus != nil { + in, out := &in.DetailedStatus, &out.DetailedStatus + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.SharedSecretHash != nil { + in, out := &in.SharedSecretHash, &out.SharedSecretHash + *out = new(string) + **out = **in + } + if in.TunnelID != nil { + in, out := &in.TunnelID, &out.TunnelID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNTunnelObservation. +func (in *VPNTunnelObservation) DeepCopy() *VPNTunnelObservation { + if in == nil { + return nil + } + out := new(VPNTunnelObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPNTunnelParameters) DeepCopyInto(out *VPNTunnelParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.IkeVersion != nil { + in, out := &in.IkeVersion, &out.IkeVersion + *out = new(int64) + **out = **in + } + if in.LocalTrafficSelector != nil { + in, out := &in.LocalTrafficSelector, &out.LocalTrafficSelector + *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.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PeerExternalGateway != nil { + in, out := &in.PeerExternalGateway, &out.PeerExternalGateway + *out = new(string) + **out = **in + } + if in.PeerExternalGatewayInterface != nil { + in, out := &in.PeerExternalGatewayInterface, &out.PeerExternalGatewayInterface + *out = new(int64) + **out = **in + } + if in.PeerGCPGateway != nil { + in, out := &in.PeerGCPGateway, &out.PeerGCPGateway + *out = new(string) + **out = **in + } + if in.PeerIP != nil { + in, out := &in.PeerIP, &out.PeerIP + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.RemoteTrafficSelector != nil { + in, out := &in.RemoteTrafficSelector, &out.RemoteTrafficSelector + *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.Router != nil { + in, out := &in.Router, &out.Router + *out = new(string) + **out = **in + } + out.SharedSecretSecretRef = in.SharedSecretSecretRef + if in.TargetVPNGateway != nil { + in, out := &in.TargetVPNGateway, &out.TargetVPNGateway + *out = new(string) + **out = **in + } + if in.VPNGateway != nil { + in, out := &in.VPNGateway, &out.VPNGateway + *out = new(string) + **out = **in + } + if in.VPNGatewayInterface != nil { + in, out := &in.VPNGatewayInterface, &out.VPNGatewayInterface + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNTunnelParameters. +func (in *VPNTunnelParameters) DeepCopy() *VPNTunnelParameters { + if in == nil { + return nil + } + out := new(VPNTunnelParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPNTunnelSpec) DeepCopyInto(out *VPNTunnelSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNTunnelSpec. +func (in *VPNTunnelSpec) DeepCopy() *VPNTunnelSpec { + if in == nil { + return nil + } + out := new(VPNTunnelSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPNTunnelStatus) DeepCopyInto(out *VPNTunnelStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNTunnelStatus. +func (in *VPNTunnelStatus) DeepCopy() *VPNTunnelStatus { + if in == nil { + return nil + } + out := new(VPNTunnelStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionObservation) DeepCopyInto(out *VersionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionObservation. +func (in *VersionObservation) DeepCopy() *VersionObservation { + if in == nil { + return nil + } + out := new(VersionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionParameters) DeepCopyInto(out *VersionParameters) { + *out = *in + if in.InstanceTemplate != nil { + in, out := &in.InstanceTemplate, &out.InstanceTemplate + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.TargetSize != nil { + in, out := &in.TargetSize, &out.TargetSize + *out = make([]TargetSizeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionParameters. +func (in *VersionParameters) DeepCopy() *VersionParameters { + if in == nil { + return nil + } + out := new(VersionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionTargetObservation) DeepCopyInto(out *VersionTargetObservation) { + *out = *in + if in.IsReached != nil { + in, out := &in.IsReached, &out.IsReached + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionTargetObservation. +func (in *VersionTargetObservation) DeepCopy() *VersionTargetObservation { + if in == nil { + return nil + } + out := new(VersionTargetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionTargetParameters) DeepCopyInto(out *VersionTargetParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionTargetParameters. +func (in *VersionTargetParameters) DeepCopy() *VersionTargetParameters { + if in == nil { + return nil + } + out := new(VersionTargetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionTargetSizeObservation) DeepCopyInto(out *VersionTargetSizeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionTargetSizeObservation. +func (in *VersionTargetSizeObservation) DeepCopy() *VersionTargetSizeObservation { + if in == nil { + return nil + } + out := new(VersionTargetSizeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionTargetSizeParameters) DeepCopyInto(out *VersionTargetSizeParameters) { + *out = *in + if in.Fixed != nil { + in, out := &in.Fixed, &out.Fixed + *out = new(int64) + **out = **in + } + if in.Percent != nil { + in, out := &in.Percent, &out.Percent + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionTargetSizeParameters. +func (in *VersionTargetSizeParameters) DeepCopy() *VersionTargetSizeParameters { + if in == nil { + return nil + } + out := new(VersionTargetSizeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeeklyScheduleObservation) DeepCopyInto(out *WeeklyScheduleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeeklyScheduleObservation. +func (in *WeeklyScheduleObservation) DeepCopy() *WeeklyScheduleObservation { + if in == nil { + return nil + } + out := new(WeeklyScheduleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeeklyScheduleParameters) DeepCopyInto(out *WeeklyScheduleParameters) { + *out = *in + if in.DayOfWeeks != nil { + in, out := &in.DayOfWeeks, &out.DayOfWeeks + *out = make([]DayOfWeeksParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeeklyScheduleParameters. +func (in *WeeklyScheduleParameters) DeepCopy() *WeeklyScheduleParameters { + if in == nil { + return nil + } + out := new(WeeklyScheduleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeightedBackendServicesHeaderActionObservation) DeepCopyInto(out *WeightedBackendServicesHeaderActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesHeaderActionObservation. +func (in *WeightedBackendServicesHeaderActionObservation) DeepCopy() *WeightedBackendServicesHeaderActionObservation { + if in == nil { + return nil + } + out := new(WeightedBackendServicesHeaderActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeightedBackendServicesHeaderActionParameters) DeepCopyInto(out *WeightedBackendServicesHeaderActionParameters) { + *out = *in + if in.RequestHeadersToAdd != nil { + in, out := &in.RequestHeadersToAdd, &out.RequestHeadersToAdd + *out = make([]WeightedBackendServicesHeaderActionRequestHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestHeadersToRemove != nil { + in, out := &in.RequestHeadersToRemove, &out.RequestHeadersToRemove + *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.ResponseHeadersToAdd != nil { + in, out := &in.ResponseHeadersToAdd, &out.ResponseHeadersToAdd + *out = make([]WeightedBackendServicesHeaderActionResponseHeadersToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResponseHeadersToRemove != nil { + in, out := &in.ResponseHeadersToRemove, &out.ResponseHeadersToRemove + *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 WeightedBackendServicesHeaderActionParameters. +func (in *WeightedBackendServicesHeaderActionParameters) DeepCopy() *WeightedBackendServicesHeaderActionParameters { + if in == nil { + return nil + } + out := new(WeightedBackendServicesHeaderActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopyInto(out *WeightedBackendServicesHeaderActionRequestHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesHeaderActionRequestHeadersToAddObservation. +func (in *WeightedBackendServicesHeaderActionRequestHeadersToAddObservation) DeepCopy() *WeightedBackendServicesHeaderActionRequestHeadersToAddObservation { + if in == nil { + return nil + } + out := new(WeightedBackendServicesHeaderActionRequestHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopyInto(out *WeightedBackendServicesHeaderActionRequestHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesHeaderActionRequestHeadersToAddParameters. +func (in *WeightedBackendServicesHeaderActionRequestHeadersToAddParameters) DeepCopy() *WeightedBackendServicesHeaderActionRequestHeadersToAddParameters { + if in == nil { + return nil + } + out := new(WeightedBackendServicesHeaderActionRequestHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopyInto(out *WeightedBackendServicesHeaderActionResponseHeadersToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesHeaderActionResponseHeadersToAddObservation. +func (in *WeightedBackendServicesHeaderActionResponseHeadersToAddObservation) DeepCopy() *WeightedBackendServicesHeaderActionResponseHeadersToAddObservation { + if in == nil { + return nil + } + out := new(WeightedBackendServicesHeaderActionResponseHeadersToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopyInto(out *WeightedBackendServicesHeaderActionResponseHeadersToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesHeaderActionResponseHeadersToAddParameters. +func (in *WeightedBackendServicesHeaderActionResponseHeadersToAddParameters) DeepCopy() *WeightedBackendServicesHeaderActionResponseHeadersToAddParameters { + if in == nil { + return nil + } + out := new(WeightedBackendServicesHeaderActionResponseHeadersToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeightedBackendServicesObservation) DeepCopyInto(out *WeightedBackendServicesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesObservation. +func (in *WeightedBackendServicesObservation) DeepCopy() *WeightedBackendServicesObservation { + if in == nil { + return nil + } + out := new(WeightedBackendServicesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeightedBackendServicesParameters) DeepCopyInto(out *WeightedBackendServicesParameters) { + *out = *in + if in.BackendService != nil { + in, out := &in.BackendService, &out.BackendService + *out = new(string) + **out = **in + } + if in.HeaderAction != nil { + in, out := &in.HeaderAction, &out.HeaderAction + *out = make([]HeaderActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedBackendServicesParameters. +func (in *WeightedBackendServicesParameters) DeepCopy() *WeightedBackendServicesParameters { + if in == nil { + return nil + } + out := new(WeightedBackendServicesParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/compute/v1alpha1/zz_generated.managed.go b/apis/compute/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..ebd35455 --- /dev/null +++ b/apis/compute/v1alpha1/zz_generated.managed.go @@ -0,0 +1,4836 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this AttachedDisk. +func (mg *AttachedDisk) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AttachedDisk. +func (mg *AttachedDisk) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AttachedDisk. +func (mg *AttachedDisk) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AttachedDisk. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AttachedDisk) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AttachedDisk. +func (mg *AttachedDisk) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AttachedDisk. +func (mg *AttachedDisk) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AttachedDisk. +func (mg *AttachedDisk) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AttachedDisk. +func (mg *AttachedDisk) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AttachedDisk. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AttachedDisk) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AttachedDisk. +func (mg *AttachedDisk) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Autoscaler. +func (mg *Autoscaler) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Autoscaler. +func (mg *Autoscaler) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Autoscaler. +func (mg *Autoscaler) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Autoscaler. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Autoscaler) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Autoscaler. +func (mg *Autoscaler) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Autoscaler. +func (mg *Autoscaler) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Autoscaler. +func (mg *Autoscaler) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Autoscaler. +func (mg *Autoscaler) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Autoscaler. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Autoscaler) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Autoscaler. +func (mg *Autoscaler) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this BackendBucket. +func (mg *BackendBucket) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this BackendBucket. +func (mg *BackendBucket) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this BackendBucket. +func (mg *BackendBucket) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this BackendBucket. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *BackendBucket) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this BackendBucket. +func (mg *BackendBucket) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this BackendBucket. +func (mg *BackendBucket) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this BackendBucket. +func (mg *BackendBucket) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this BackendBucket. +func (mg *BackendBucket) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this BackendBucket. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *BackendBucket) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this BackendBucket. +func (mg *BackendBucket) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this BackendBucketSignedURLKey. +func (mg *BackendBucketSignedURLKey) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this BackendBucketSignedURLKey. +func (mg *BackendBucketSignedURLKey) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this BackendBucketSignedURLKey. +func (mg *BackendBucketSignedURLKey) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this BackendBucketSignedURLKey. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *BackendBucketSignedURLKey) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this BackendBucketSignedURLKey. +func (mg *BackendBucketSignedURLKey) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this BackendBucketSignedURLKey. +func (mg *BackendBucketSignedURLKey) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this BackendBucketSignedURLKey. +func (mg *BackendBucketSignedURLKey) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this BackendBucketSignedURLKey. +func (mg *BackendBucketSignedURLKey) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this BackendBucketSignedURLKey. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *BackendBucketSignedURLKey) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this BackendBucketSignedURLKey. +func (mg *BackendBucketSignedURLKey) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this BackendService. +func (mg *BackendService) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this BackendService. +func (mg *BackendService) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this BackendService. +func (mg *BackendService) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this BackendService. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *BackendService) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this BackendService. +func (mg *BackendService) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this BackendService. +func (mg *BackendService) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this BackendService. +func (mg *BackendService) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this BackendService. +func (mg *BackendService) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this BackendService. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *BackendService) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this BackendService. +func (mg *BackendService) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this BackendServiceSignedURLKey. +func (mg *BackendServiceSignedURLKey) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this BackendServiceSignedURLKey. +func (mg *BackendServiceSignedURLKey) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this BackendServiceSignedURLKey. +func (mg *BackendServiceSignedURLKey) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this BackendServiceSignedURLKey. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *BackendServiceSignedURLKey) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this BackendServiceSignedURLKey. +func (mg *BackendServiceSignedURLKey) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this BackendServiceSignedURLKey. +func (mg *BackendServiceSignedURLKey) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this BackendServiceSignedURLKey. +func (mg *BackendServiceSignedURLKey) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this BackendServiceSignedURLKey. +func (mg *BackendServiceSignedURLKey) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this BackendServiceSignedURLKey. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *BackendServiceSignedURLKey) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this BackendServiceSignedURLKey. +func (mg *BackendServiceSignedURLKey) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Disk. +func (mg *Disk) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Disk. +func (mg *Disk) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Disk. +func (mg *Disk) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Disk. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Disk) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Disk. +func (mg *Disk) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Disk. +func (mg *Disk) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Disk. +func (mg *Disk) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Disk. +func (mg *Disk) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Disk. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Disk) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Disk. +func (mg *Disk) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DiskIAMBinding. +func (mg *DiskIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DiskIAMBinding. +func (mg *DiskIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DiskIAMBinding. +func (mg *DiskIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DiskIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DiskIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DiskIAMBinding. +func (mg *DiskIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DiskIAMBinding. +func (mg *DiskIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DiskIAMBinding. +func (mg *DiskIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DiskIAMBinding. +func (mg *DiskIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DiskIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DiskIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DiskIAMBinding. +func (mg *DiskIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DiskIAMMember. +func (mg *DiskIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DiskIAMMember. +func (mg *DiskIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DiskIAMMember. +func (mg *DiskIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DiskIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DiskIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DiskIAMMember. +func (mg *DiskIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DiskIAMMember. +func (mg *DiskIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DiskIAMMember. +func (mg *DiskIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DiskIAMMember. +func (mg *DiskIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DiskIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DiskIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DiskIAMMember. +func (mg *DiskIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DiskIAMPolicy. +func (mg *DiskIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DiskIAMPolicy. +func (mg *DiskIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DiskIAMPolicy. +func (mg *DiskIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DiskIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DiskIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DiskIAMPolicy. +func (mg *DiskIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DiskIAMPolicy. +func (mg *DiskIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DiskIAMPolicy. +func (mg *DiskIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DiskIAMPolicy. +func (mg *DiskIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DiskIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DiskIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DiskIAMPolicy. +func (mg *DiskIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DiskResourcePolicyAttachment. +func (mg *DiskResourcePolicyAttachment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DiskResourcePolicyAttachment. +func (mg *DiskResourcePolicyAttachment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DiskResourcePolicyAttachment. +func (mg *DiskResourcePolicyAttachment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DiskResourcePolicyAttachment. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DiskResourcePolicyAttachment) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DiskResourcePolicyAttachment. +func (mg *DiskResourcePolicyAttachment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DiskResourcePolicyAttachment. +func (mg *DiskResourcePolicyAttachment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DiskResourcePolicyAttachment. +func (mg *DiskResourcePolicyAttachment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DiskResourcePolicyAttachment. +func (mg *DiskResourcePolicyAttachment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DiskResourcePolicyAttachment. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DiskResourcePolicyAttachment) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DiskResourcePolicyAttachment. +func (mg *DiskResourcePolicyAttachment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ExternalVPNGateway. +func (mg *ExternalVPNGateway) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ExternalVPNGateway. +func (mg *ExternalVPNGateway) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ExternalVPNGateway. +func (mg *ExternalVPNGateway) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ExternalVPNGateway. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ExternalVPNGateway) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ExternalVPNGateway. +func (mg *ExternalVPNGateway) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ExternalVPNGateway. +func (mg *ExternalVPNGateway) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ExternalVPNGateway. +func (mg *ExternalVPNGateway) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ExternalVPNGateway. +func (mg *ExternalVPNGateway) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ExternalVPNGateway. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ExternalVPNGateway) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ExternalVPNGateway. +func (mg *ExternalVPNGateway) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FirewallPolicy. +func (mg *FirewallPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FirewallPolicy. +func (mg *FirewallPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FirewallPolicy. +func (mg *FirewallPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FirewallPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FirewallPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FirewallPolicy. +func (mg *FirewallPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FirewallPolicy. +func (mg *FirewallPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FirewallPolicy. +func (mg *FirewallPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FirewallPolicy. +func (mg *FirewallPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FirewallPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FirewallPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FirewallPolicy. +func (mg *FirewallPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FirewallPolicyAssociation. +func (mg *FirewallPolicyAssociation) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FirewallPolicyAssociation. +func (mg *FirewallPolicyAssociation) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FirewallPolicyAssociation. +func (mg *FirewallPolicyAssociation) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FirewallPolicyAssociation. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FirewallPolicyAssociation) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FirewallPolicyAssociation. +func (mg *FirewallPolicyAssociation) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FirewallPolicyAssociation. +func (mg *FirewallPolicyAssociation) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FirewallPolicyAssociation. +func (mg *FirewallPolicyAssociation) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FirewallPolicyAssociation. +func (mg *FirewallPolicyAssociation) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FirewallPolicyAssociation. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FirewallPolicyAssociation) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FirewallPolicyAssociation. +func (mg *FirewallPolicyAssociation) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FirewallPolicyRule. +func (mg *FirewallPolicyRule) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FirewallPolicyRule. +func (mg *FirewallPolicyRule) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FirewallPolicyRule. +func (mg *FirewallPolicyRule) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FirewallPolicyRule. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FirewallPolicyRule) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FirewallPolicyRule. +func (mg *FirewallPolicyRule) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FirewallPolicyRule. +func (mg *FirewallPolicyRule) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FirewallPolicyRule. +func (mg *FirewallPolicyRule) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FirewallPolicyRule. +func (mg *FirewallPolicyRule) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FirewallPolicyRule. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FirewallPolicyRule) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FirewallPolicyRule. +func (mg *FirewallPolicyRule) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ForwardingRule. +func (mg *ForwardingRule) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ForwardingRule. +func (mg *ForwardingRule) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ForwardingRule. +func (mg *ForwardingRule) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ForwardingRule. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ForwardingRule) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ForwardingRule. +func (mg *ForwardingRule) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ForwardingRule. +func (mg *ForwardingRule) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ForwardingRule. +func (mg *ForwardingRule) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ForwardingRule. +func (mg *ForwardingRule) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ForwardingRule. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ForwardingRule) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ForwardingRule. +func (mg *ForwardingRule) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this GlobalAddress. +func (mg *GlobalAddress) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this GlobalAddress. +func (mg *GlobalAddress) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this GlobalAddress. +func (mg *GlobalAddress) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this GlobalAddress. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *GlobalAddress) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this GlobalAddress. +func (mg *GlobalAddress) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this GlobalAddress. +func (mg *GlobalAddress) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this GlobalAddress. +func (mg *GlobalAddress) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this GlobalAddress. +func (mg *GlobalAddress) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this GlobalAddress. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *GlobalAddress) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this GlobalAddress. +func (mg *GlobalAddress) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this GlobalForwardingRule. +func (mg *GlobalForwardingRule) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this GlobalForwardingRule. +func (mg *GlobalForwardingRule) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this GlobalForwardingRule. +func (mg *GlobalForwardingRule) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this GlobalForwardingRule. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *GlobalForwardingRule) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this GlobalForwardingRule. +func (mg *GlobalForwardingRule) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this GlobalForwardingRule. +func (mg *GlobalForwardingRule) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this GlobalForwardingRule. +func (mg *GlobalForwardingRule) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this GlobalForwardingRule. +func (mg *GlobalForwardingRule) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this GlobalForwardingRule. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *GlobalForwardingRule) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this GlobalForwardingRule. +func (mg *GlobalForwardingRule) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this GlobalNetworkEndpoint. +func (mg *GlobalNetworkEndpoint) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this GlobalNetworkEndpoint. +func (mg *GlobalNetworkEndpoint) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this GlobalNetworkEndpoint. +func (mg *GlobalNetworkEndpoint) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this GlobalNetworkEndpoint. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *GlobalNetworkEndpoint) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this GlobalNetworkEndpoint. +func (mg *GlobalNetworkEndpoint) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this GlobalNetworkEndpoint. +func (mg *GlobalNetworkEndpoint) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this GlobalNetworkEndpoint. +func (mg *GlobalNetworkEndpoint) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this GlobalNetworkEndpoint. +func (mg *GlobalNetworkEndpoint) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this GlobalNetworkEndpoint. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *GlobalNetworkEndpoint) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this GlobalNetworkEndpoint. +func (mg *GlobalNetworkEndpoint) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this GlobalNetworkEndpointGroup. +func (mg *GlobalNetworkEndpointGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this GlobalNetworkEndpointGroup. +func (mg *GlobalNetworkEndpointGroup) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this GlobalNetworkEndpointGroup. +func (mg *GlobalNetworkEndpointGroup) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this GlobalNetworkEndpointGroup. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *GlobalNetworkEndpointGroup) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this GlobalNetworkEndpointGroup. +func (mg *GlobalNetworkEndpointGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this GlobalNetworkEndpointGroup. +func (mg *GlobalNetworkEndpointGroup) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this GlobalNetworkEndpointGroup. +func (mg *GlobalNetworkEndpointGroup) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this GlobalNetworkEndpointGroup. +func (mg *GlobalNetworkEndpointGroup) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this GlobalNetworkEndpointGroup. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *GlobalNetworkEndpointGroup) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this GlobalNetworkEndpointGroup. +func (mg *GlobalNetworkEndpointGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this HTTPHealthCheck. +func (mg *HTTPHealthCheck) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this HTTPHealthCheck. +func (mg *HTTPHealthCheck) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this HTTPHealthCheck. +func (mg *HTTPHealthCheck) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this HTTPHealthCheck. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *HTTPHealthCheck) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this HTTPHealthCheck. +func (mg *HTTPHealthCheck) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this HTTPHealthCheck. +func (mg *HTTPHealthCheck) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this HTTPHealthCheck. +func (mg *HTTPHealthCheck) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this HTTPHealthCheck. +func (mg *HTTPHealthCheck) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this HTTPHealthCheck. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *HTTPHealthCheck) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this HTTPHealthCheck. +func (mg *HTTPHealthCheck) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this HTTPSHealthCheck. +func (mg *HTTPSHealthCheck) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this HTTPSHealthCheck. +func (mg *HTTPSHealthCheck) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this HTTPSHealthCheck. +func (mg *HTTPSHealthCheck) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this HTTPSHealthCheck. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *HTTPSHealthCheck) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this HTTPSHealthCheck. +func (mg *HTTPSHealthCheck) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this HTTPSHealthCheck. +func (mg *HTTPSHealthCheck) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this HTTPSHealthCheck. +func (mg *HTTPSHealthCheck) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this HTTPSHealthCheck. +func (mg *HTTPSHealthCheck) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this HTTPSHealthCheck. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *HTTPSHealthCheck) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this HTTPSHealthCheck. +func (mg *HTTPSHealthCheck) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this HaVPNGateway. +func (mg *HaVPNGateway) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this HaVPNGateway. +func (mg *HaVPNGateway) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this HaVPNGateway. +func (mg *HaVPNGateway) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this HaVPNGateway. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *HaVPNGateway) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this HaVPNGateway. +func (mg *HaVPNGateway) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this HaVPNGateway. +func (mg *HaVPNGateway) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this HaVPNGateway. +func (mg *HaVPNGateway) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this HaVPNGateway. +func (mg *HaVPNGateway) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this HaVPNGateway. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *HaVPNGateway) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this HaVPNGateway. +func (mg *HaVPNGateway) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this HealthCheck. +func (mg *HealthCheck) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this HealthCheck. +func (mg *HealthCheck) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this HealthCheck. +func (mg *HealthCheck) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this HealthCheck. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *HealthCheck) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this HealthCheck. +func (mg *HealthCheck) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this HealthCheck. +func (mg *HealthCheck) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this HealthCheck. +func (mg *HealthCheck) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this HealthCheck. +func (mg *HealthCheck) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this HealthCheck. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *HealthCheck) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this HealthCheck. +func (mg *HealthCheck) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Image. +func (mg *Image) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Image. +func (mg *Image) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Image. +func (mg *Image) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Image. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Image) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Image. +func (mg *Image) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Image. +func (mg *Image) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Image. +func (mg *Image) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Image. +func (mg *Image) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Image. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Image) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Image. +func (mg *Image) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ImageIAMBinding. +func (mg *ImageIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ImageIAMBinding. +func (mg *ImageIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ImageIAMBinding. +func (mg *ImageIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ImageIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ImageIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ImageIAMBinding. +func (mg *ImageIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ImageIAMBinding. +func (mg *ImageIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ImageIAMBinding. +func (mg *ImageIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ImageIAMBinding. +func (mg *ImageIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ImageIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ImageIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ImageIAMBinding. +func (mg *ImageIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ImageIAMMember. +func (mg *ImageIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ImageIAMMember. +func (mg *ImageIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ImageIAMMember. +func (mg *ImageIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ImageIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ImageIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ImageIAMMember. +func (mg *ImageIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ImageIAMMember. +func (mg *ImageIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ImageIAMMember. +func (mg *ImageIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ImageIAMMember. +func (mg *ImageIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ImageIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ImageIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ImageIAMMember. +func (mg *ImageIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ImageIAMPolicy. +func (mg *ImageIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ImageIAMPolicy. +func (mg *ImageIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ImageIAMPolicy. +func (mg *ImageIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ImageIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ImageIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ImageIAMPolicy. +func (mg *ImageIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ImageIAMPolicy. +func (mg *ImageIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ImageIAMPolicy. +func (mg *ImageIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ImageIAMPolicy. +func (mg *ImageIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ImageIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ImageIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ImageIAMPolicy. +func (mg *ImageIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceGroup. +func (mg *InstanceGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceGroup. +func (mg *InstanceGroup) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceGroup. +func (mg *InstanceGroup) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceGroup. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceGroup) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceGroup. +func (mg *InstanceGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceGroup. +func (mg *InstanceGroup) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceGroup. +func (mg *InstanceGroup) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceGroup. +func (mg *InstanceGroup) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceGroup. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceGroup) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceGroup. +func (mg *InstanceGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceGroupManager. +func (mg *InstanceGroupManager) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceGroupManager. +func (mg *InstanceGroupManager) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceGroupManager. +func (mg *InstanceGroupManager) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceGroupManager. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceGroupManager) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceGroupManager. +func (mg *InstanceGroupManager) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceGroupManager. +func (mg *InstanceGroupManager) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceGroupManager. +func (mg *InstanceGroupManager) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceGroupManager. +func (mg *InstanceGroupManager) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceGroupManager. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceGroupManager) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceGroupManager. +func (mg *InstanceGroupManager) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceGroupNamedPort. +func (mg *InstanceGroupNamedPort) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceGroupNamedPort. +func (mg *InstanceGroupNamedPort) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceGroupNamedPort. +func (mg *InstanceGroupNamedPort) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceGroupNamedPort. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceGroupNamedPort) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceGroupNamedPort. +func (mg *InstanceGroupNamedPort) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceGroupNamedPort. +func (mg *InstanceGroupNamedPort) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceGroupNamedPort. +func (mg *InstanceGroupNamedPort) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceGroupNamedPort. +func (mg *InstanceGroupNamedPort) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceGroupNamedPort. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceGroupNamedPort) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceGroupNamedPort. +func (mg *InstanceGroupNamedPort) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InterconnectAttachment. +func (mg *InterconnectAttachment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InterconnectAttachment. +func (mg *InterconnectAttachment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InterconnectAttachment. +func (mg *InterconnectAttachment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InterconnectAttachment. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InterconnectAttachment) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InterconnectAttachment. +func (mg *InterconnectAttachment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InterconnectAttachment. +func (mg *InterconnectAttachment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InterconnectAttachment. +func (mg *InterconnectAttachment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InterconnectAttachment. +func (mg *InterconnectAttachment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InterconnectAttachment. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InterconnectAttachment) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InterconnectAttachment. +func (mg *InterconnectAttachment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this NetworkEndpoint. +func (mg *NetworkEndpoint) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this NetworkEndpoint. +func (mg *NetworkEndpoint) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this NetworkEndpoint. +func (mg *NetworkEndpoint) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this NetworkEndpoint. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *NetworkEndpoint) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this NetworkEndpoint. +func (mg *NetworkEndpoint) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this NetworkEndpoint. +func (mg *NetworkEndpoint) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this NetworkEndpoint. +func (mg *NetworkEndpoint) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this NetworkEndpoint. +func (mg *NetworkEndpoint) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this NetworkEndpoint. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *NetworkEndpoint) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this NetworkEndpoint. +func (mg *NetworkEndpoint) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this NetworkEndpointGroup. +func (mg *NetworkEndpointGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this NetworkEndpointGroup. +func (mg *NetworkEndpointGroup) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this NetworkEndpointGroup. +func (mg *NetworkEndpointGroup) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this NetworkEndpointGroup. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *NetworkEndpointGroup) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this NetworkEndpointGroup. +func (mg *NetworkEndpointGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this NetworkEndpointGroup. +func (mg *NetworkEndpointGroup) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this NetworkEndpointGroup. +func (mg *NetworkEndpointGroup) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this NetworkEndpointGroup. +func (mg *NetworkEndpointGroup) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this NetworkEndpointGroup. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *NetworkEndpointGroup) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this NetworkEndpointGroup. +func (mg *NetworkEndpointGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this NetworkPeering. +func (mg *NetworkPeering) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this NetworkPeering. +func (mg *NetworkPeering) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this NetworkPeering. +func (mg *NetworkPeering) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this NetworkPeering. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *NetworkPeering) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this NetworkPeering. +func (mg *NetworkPeering) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this NetworkPeering. +func (mg *NetworkPeering) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this NetworkPeering. +func (mg *NetworkPeering) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this NetworkPeering. +func (mg *NetworkPeering) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this NetworkPeering. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *NetworkPeering) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this NetworkPeering. +func (mg *NetworkPeering) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this NetworkPeeringRoutesConfig. +func (mg *NetworkPeeringRoutesConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this NetworkPeeringRoutesConfig. +func (mg *NetworkPeeringRoutesConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this NetworkPeeringRoutesConfig. +func (mg *NetworkPeeringRoutesConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this NetworkPeeringRoutesConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *NetworkPeeringRoutesConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this NetworkPeeringRoutesConfig. +func (mg *NetworkPeeringRoutesConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this NetworkPeeringRoutesConfig. +func (mg *NetworkPeeringRoutesConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this NetworkPeeringRoutesConfig. +func (mg *NetworkPeeringRoutesConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this NetworkPeeringRoutesConfig. +func (mg *NetworkPeeringRoutesConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this NetworkPeeringRoutesConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *NetworkPeeringRoutesConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this NetworkPeeringRoutesConfig. +func (mg *NetworkPeeringRoutesConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this NodeGroup. +func (mg *NodeGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this NodeGroup. +func (mg *NodeGroup) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this NodeGroup. +func (mg *NodeGroup) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this NodeGroup. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *NodeGroup) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this NodeGroup. +func (mg *NodeGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this NodeGroup. +func (mg *NodeGroup) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this NodeGroup. +func (mg *NodeGroup) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this NodeGroup. +func (mg *NodeGroup) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this NodeGroup. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *NodeGroup) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this NodeGroup. +func (mg *NodeGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this NodeTemplate. +func (mg *NodeTemplate) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this NodeTemplate. +func (mg *NodeTemplate) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this NodeTemplate. +func (mg *NodeTemplate) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this NodeTemplate. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *NodeTemplate) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this NodeTemplate. +func (mg *NodeTemplate) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this NodeTemplate. +func (mg *NodeTemplate) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this NodeTemplate. +func (mg *NodeTemplate) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this NodeTemplate. +func (mg *NodeTemplate) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this NodeTemplate. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *NodeTemplate) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this NodeTemplate. +func (mg *NodeTemplate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this PacketMirroring. +func (mg *PacketMirroring) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this PacketMirroring. +func (mg *PacketMirroring) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this PacketMirroring. +func (mg *PacketMirroring) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this PacketMirroring. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *PacketMirroring) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this PacketMirroring. +func (mg *PacketMirroring) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this PacketMirroring. +func (mg *PacketMirroring) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this PacketMirroring. +func (mg *PacketMirroring) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this PacketMirroring. +func (mg *PacketMirroring) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this PacketMirroring. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *PacketMirroring) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this PacketMirroring. +func (mg *PacketMirroring) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this PerInstanceConfig. +func (mg *PerInstanceConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this PerInstanceConfig. +func (mg *PerInstanceConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this PerInstanceConfig. +func (mg *PerInstanceConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this PerInstanceConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *PerInstanceConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this PerInstanceConfig. +func (mg *PerInstanceConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this PerInstanceConfig. +func (mg *PerInstanceConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this PerInstanceConfig. +func (mg *PerInstanceConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this PerInstanceConfig. +func (mg *PerInstanceConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this PerInstanceConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *PerInstanceConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this PerInstanceConfig. +func (mg *PerInstanceConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectDefaultNetworkTier. +func (mg *ProjectDefaultNetworkTier) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectDefaultNetworkTier. +func (mg *ProjectDefaultNetworkTier) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectDefaultNetworkTier. +func (mg *ProjectDefaultNetworkTier) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectDefaultNetworkTier. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectDefaultNetworkTier) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectDefaultNetworkTier. +func (mg *ProjectDefaultNetworkTier) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectDefaultNetworkTier. +func (mg *ProjectDefaultNetworkTier) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectDefaultNetworkTier. +func (mg *ProjectDefaultNetworkTier) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectDefaultNetworkTier. +func (mg *ProjectDefaultNetworkTier) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectDefaultNetworkTier. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectDefaultNetworkTier) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectDefaultNetworkTier. +func (mg *ProjectDefaultNetworkTier) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectMetadata. +func (mg *ProjectMetadata) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectMetadata. +func (mg *ProjectMetadata) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectMetadata. +func (mg *ProjectMetadata) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectMetadata. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectMetadata) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectMetadata. +func (mg *ProjectMetadata) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectMetadata. +func (mg *ProjectMetadata) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectMetadata. +func (mg *ProjectMetadata) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectMetadata. +func (mg *ProjectMetadata) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectMetadata. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectMetadata) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectMetadata. +func (mg *ProjectMetadata) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectMetadataItem. +func (mg *ProjectMetadataItem) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectMetadataItem. +func (mg *ProjectMetadataItem) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectMetadataItem. +func (mg *ProjectMetadataItem) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectMetadataItem. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectMetadataItem) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectMetadataItem. +func (mg *ProjectMetadataItem) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectMetadataItem. +func (mg *ProjectMetadataItem) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectMetadataItem. +func (mg *ProjectMetadataItem) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectMetadataItem. +func (mg *ProjectMetadataItem) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectMetadataItem. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectMetadataItem) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectMetadataItem. +func (mg *ProjectMetadataItem) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionAutoscaler. +func (mg *RegionAutoscaler) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionAutoscaler. +func (mg *RegionAutoscaler) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionAutoscaler. +func (mg *RegionAutoscaler) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionAutoscaler. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionAutoscaler) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionAutoscaler. +func (mg *RegionAutoscaler) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionAutoscaler. +func (mg *RegionAutoscaler) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionAutoscaler. +func (mg *RegionAutoscaler) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionAutoscaler. +func (mg *RegionAutoscaler) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionAutoscaler. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionAutoscaler) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionAutoscaler. +func (mg *RegionAutoscaler) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionBackendService. +func (mg *RegionBackendService) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionBackendService. +func (mg *RegionBackendService) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionBackendService. +func (mg *RegionBackendService) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionBackendService. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionBackendService) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionBackendService. +func (mg *RegionBackendService) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionBackendService. +func (mg *RegionBackendService) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionBackendService. +func (mg *RegionBackendService) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionBackendService. +func (mg *RegionBackendService) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionBackendService. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionBackendService) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionBackendService. +func (mg *RegionBackendService) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionDisk. +func (mg *RegionDisk) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionDisk. +func (mg *RegionDisk) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionDisk. +func (mg *RegionDisk) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionDisk. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionDisk) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionDisk. +func (mg *RegionDisk) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionDisk. +func (mg *RegionDisk) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionDisk. +func (mg *RegionDisk) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionDisk. +func (mg *RegionDisk) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionDisk. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionDisk) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionDisk. +func (mg *RegionDisk) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionDiskIAMBinding. +func (mg *RegionDiskIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionDiskIAMBinding. +func (mg *RegionDiskIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionDiskIAMBinding. +func (mg *RegionDiskIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionDiskIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionDiskIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionDiskIAMBinding. +func (mg *RegionDiskIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionDiskIAMBinding. +func (mg *RegionDiskIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionDiskIAMBinding. +func (mg *RegionDiskIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionDiskIAMBinding. +func (mg *RegionDiskIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionDiskIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionDiskIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionDiskIAMBinding. +func (mg *RegionDiskIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionDiskIAMMember. +func (mg *RegionDiskIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionDiskIAMMember. +func (mg *RegionDiskIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionDiskIAMMember. +func (mg *RegionDiskIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionDiskIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionDiskIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionDiskIAMMember. +func (mg *RegionDiskIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionDiskIAMMember. +func (mg *RegionDiskIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionDiskIAMMember. +func (mg *RegionDiskIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionDiskIAMMember. +func (mg *RegionDiskIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionDiskIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionDiskIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionDiskIAMMember. +func (mg *RegionDiskIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionDiskIAMPolicy. +func (mg *RegionDiskIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionDiskIAMPolicy. +func (mg *RegionDiskIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionDiskIAMPolicy. +func (mg *RegionDiskIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionDiskIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionDiskIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionDiskIAMPolicy. +func (mg *RegionDiskIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionDiskIAMPolicy. +func (mg *RegionDiskIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionDiskIAMPolicy. +func (mg *RegionDiskIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionDiskIAMPolicy. +func (mg *RegionDiskIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionDiskIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionDiskIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionDiskIAMPolicy. +func (mg *RegionDiskIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionDiskResourcePolicyAttachment. +func (mg *RegionDiskResourcePolicyAttachment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionDiskResourcePolicyAttachment. +func (mg *RegionDiskResourcePolicyAttachment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionDiskResourcePolicyAttachment. +func (mg *RegionDiskResourcePolicyAttachment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionDiskResourcePolicyAttachment. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionDiskResourcePolicyAttachment) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionDiskResourcePolicyAttachment. +func (mg *RegionDiskResourcePolicyAttachment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionDiskResourcePolicyAttachment. +func (mg *RegionDiskResourcePolicyAttachment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionDiskResourcePolicyAttachment. +func (mg *RegionDiskResourcePolicyAttachment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionDiskResourcePolicyAttachment. +func (mg *RegionDiskResourcePolicyAttachment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionDiskResourcePolicyAttachment. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionDiskResourcePolicyAttachment) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionDiskResourcePolicyAttachment. +func (mg *RegionDiskResourcePolicyAttachment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionHealthCheck. +func (mg *RegionHealthCheck) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionHealthCheck. +func (mg *RegionHealthCheck) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionHealthCheck. +func (mg *RegionHealthCheck) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionHealthCheck. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionHealthCheck) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionHealthCheck. +func (mg *RegionHealthCheck) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionHealthCheck. +func (mg *RegionHealthCheck) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionHealthCheck. +func (mg *RegionHealthCheck) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionHealthCheck. +func (mg *RegionHealthCheck) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionHealthCheck. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionHealthCheck) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionHealthCheck. +func (mg *RegionHealthCheck) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionInstanceGroupManager. +func (mg *RegionInstanceGroupManager) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionInstanceGroupManager. +func (mg *RegionInstanceGroupManager) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionInstanceGroupManager. +func (mg *RegionInstanceGroupManager) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionInstanceGroupManager. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionInstanceGroupManager) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionInstanceGroupManager. +func (mg *RegionInstanceGroupManager) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionInstanceGroupManager. +func (mg *RegionInstanceGroupManager) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionInstanceGroupManager. +func (mg *RegionInstanceGroupManager) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionInstanceGroupManager. +func (mg *RegionInstanceGroupManager) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionInstanceGroupManager. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionInstanceGroupManager) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionInstanceGroupManager. +func (mg *RegionInstanceGroupManager) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionNetworkEndpointGroup. +func (mg *RegionNetworkEndpointGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionNetworkEndpointGroup. +func (mg *RegionNetworkEndpointGroup) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionNetworkEndpointGroup. +func (mg *RegionNetworkEndpointGroup) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionNetworkEndpointGroup. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionNetworkEndpointGroup) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionNetworkEndpointGroup. +func (mg *RegionNetworkEndpointGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionNetworkEndpointGroup. +func (mg *RegionNetworkEndpointGroup) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionNetworkEndpointGroup. +func (mg *RegionNetworkEndpointGroup) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionNetworkEndpointGroup. +func (mg *RegionNetworkEndpointGroup) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionNetworkEndpointGroup. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionNetworkEndpointGroup) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionNetworkEndpointGroup. +func (mg *RegionNetworkEndpointGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionPerInstanceConfig. +func (mg *RegionPerInstanceConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionPerInstanceConfig. +func (mg *RegionPerInstanceConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionPerInstanceConfig. +func (mg *RegionPerInstanceConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionPerInstanceConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionPerInstanceConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionPerInstanceConfig. +func (mg *RegionPerInstanceConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionPerInstanceConfig. +func (mg *RegionPerInstanceConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionPerInstanceConfig. +func (mg *RegionPerInstanceConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionPerInstanceConfig. +func (mg *RegionPerInstanceConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionPerInstanceConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionPerInstanceConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionPerInstanceConfig. +func (mg *RegionPerInstanceConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionSSLCertificate. +func (mg *RegionSSLCertificate) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionSSLCertificate. +func (mg *RegionSSLCertificate) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionSSLCertificate. +func (mg *RegionSSLCertificate) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionSSLCertificate. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionSSLCertificate) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionSSLCertificate. +func (mg *RegionSSLCertificate) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionSSLCertificate. +func (mg *RegionSSLCertificate) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionSSLCertificate. +func (mg *RegionSSLCertificate) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionSSLCertificate. +func (mg *RegionSSLCertificate) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionSSLCertificate. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionSSLCertificate) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionSSLCertificate. +func (mg *RegionSSLCertificate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionTargetHTTPProxy. +func (mg *RegionTargetHTTPProxy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionTargetHTTPProxy. +func (mg *RegionTargetHTTPProxy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionTargetHTTPProxy. +func (mg *RegionTargetHTTPProxy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionTargetHTTPProxy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionTargetHTTPProxy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionTargetHTTPProxy. +func (mg *RegionTargetHTTPProxy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionTargetHTTPProxy. +func (mg *RegionTargetHTTPProxy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionTargetHTTPProxy. +func (mg *RegionTargetHTTPProxy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionTargetHTTPProxy. +func (mg *RegionTargetHTTPProxy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionTargetHTTPProxy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionTargetHTTPProxy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionTargetHTTPProxy. +func (mg *RegionTargetHTTPProxy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionTargetHTTPSProxy. +func (mg *RegionTargetHTTPSProxy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionTargetHTTPSProxy. +func (mg *RegionTargetHTTPSProxy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionTargetHTTPSProxy. +func (mg *RegionTargetHTTPSProxy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionTargetHTTPSProxy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionTargetHTTPSProxy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionTargetHTTPSProxy. +func (mg *RegionTargetHTTPSProxy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionTargetHTTPSProxy. +func (mg *RegionTargetHTTPSProxy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionTargetHTTPSProxy. +func (mg *RegionTargetHTTPSProxy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionTargetHTTPSProxy. +func (mg *RegionTargetHTTPSProxy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionTargetHTTPSProxy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionTargetHTTPSProxy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionTargetHTTPSProxy. +func (mg *RegionTargetHTTPSProxy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RegionURLMap. +func (mg *RegionURLMap) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RegionURLMap. +func (mg *RegionURLMap) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RegionURLMap. +func (mg *RegionURLMap) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RegionURLMap. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RegionURLMap) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RegionURLMap. +func (mg *RegionURLMap) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RegionURLMap. +func (mg *RegionURLMap) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RegionURLMap. +func (mg *RegionURLMap) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RegionURLMap. +func (mg *RegionURLMap) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RegionURLMap. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RegionURLMap) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RegionURLMap. +func (mg *RegionURLMap) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Reservation. +func (mg *Reservation) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Reservation. +func (mg *Reservation) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Reservation. +func (mg *Reservation) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Reservation. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Reservation) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Reservation. +func (mg *Reservation) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Reservation. +func (mg *Reservation) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Reservation. +func (mg *Reservation) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Reservation. +func (mg *Reservation) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Reservation. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Reservation) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Reservation. +func (mg *Reservation) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ResourcePolicy. +func (mg *ResourcePolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ResourcePolicy. +func (mg *ResourcePolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ResourcePolicy. +func (mg *ResourcePolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ResourcePolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ResourcePolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ResourcePolicy. +func (mg *ResourcePolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ResourcePolicy. +func (mg *ResourcePolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ResourcePolicy. +func (mg *ResourcePolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ResourcePolicy. +func (mg *ResourcePolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ResourcePolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ResourcePolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ResourcePolicy. +func (mg *ResourcePolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Route. +func (mg *Route) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Route. +func (mg *Route) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Route. +func (mg *Route) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Route. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Route) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Route. +func (mg *Route) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Route. +func (mg *Route) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Route. +func (mg *Route) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Route. +func (mg *Route) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Route. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Route) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Route. +func (mg *Route) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RouterInterface. +func (mg *RouterInterface) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RouterInterface. +func (mg *RouterInterface) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RouterInterface. +func (mg *RouterInterface) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RouterInterface. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RouterInterface) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RouterInterface. +func (mg *RouterInterface) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RouterInterface. +func (mg *RouterInterface) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RouterInterface. +func (mg *RouterInterface) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RouterInterface. +func (mg *RouterInterface) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RouterInterface. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RouterInterface) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RouterInterface. +func (mg *RouterInterface) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RouterPeer. +func (mg *RouterPeer) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RouterPeer. +func (mg *RouterPeer) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RouterPeer. +func (mg *RouterPeer) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RouterPeer. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RouterPeer) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RouterPeer. +func (mg *RouterPeer) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RouterPeer. +func (mg *RouterPeer) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RouterPeer. +func (mg *RouterPeer) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RouterPeer. +func (mg *RouterPeer) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RouterPeer. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RouterPeer) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RouterPeer. +func (mg *RouterPeer) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SSLCertificate. +func (mg *SSLCertificate) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SSLCertificate. +func (mg *SSLCertificate) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SSLCertificate. +func (mg *SSLCertificate) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SSLCertificate. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SSLCertificate) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SSLCertificate. +func (mg *SSLCertificate) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SSLCertificate. +func (mg *SSLCertificate) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SSLCertificate. +func (mg *SSLCertificate) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SSLCertificate. +func (mg *SSLCertificate) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SSLCertificate. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SSLCertificate) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SSLCertificate. +func (mg *SSLCertificate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SSLPolicy. +func (mg *SSLPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SSLPolicy. +func (mg *SSLPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SSLPolicy. +func (mg *SSLPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SSLPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SSLPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SSLPolicy. +func (mg *SSLPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SSLPolicy. +func (mg *SSLPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SSLPolicy. +func (mg *SSLPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SSLPolicy. +func (mg *SSLPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SSLPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SSLPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SSLPolicy. +func (mg *SSLPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SecurityPolicy. +func (mg *SecurityPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SecurityPolicy. +func (mg *SecurityPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SecurityPolicy. +func (mg *SecurityPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SecurityPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SecurityPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SecurityPolicy. +func (mg *SecurityPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SecurityPolicy. +func (mg *SecurityPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SecurityPolicy. +func (mg *SecurityPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SecurityPolicy. +func (mg *SecurityPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SecurityPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SecurityPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SecurityPolicy. +func (mg *SecurityPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServiceAttachment. +func (mg *ServiceAttachment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServiceAttachment. +func (mg *ServiceAttachment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServiceAttachment. +func (mg *ServiceAttachment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServiceAttachment. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServiceAttachment) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServiceAttachment. +func (mg *ServiceAttachment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServiceAttachment. +func (mg *ServiceAttachment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServiceAttachment. +func (mg *ServiceAttachment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServiceAttachment. +func (mg *ServiceAttachment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServiceAttachment. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServiceAttachment) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServiceAttachment. +func (mg *ServiceAttachment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SharedVPCHostProject. +func (mg *SharedVPCHostProject) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SharedVPCHostProject. +func (mg *SharedVPCHostProject) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SharedVPCHostProject. +func (mg *SharedVPCHostProject) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SharedVPCHostProject. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SharedVPCHostProject) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SharedVPCHostProject. +func (mg *SharedVPCHostProject) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SharedVPCHostProject. +func (mg *SharedVPCHostProject) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SharedVPCHostProject. +func (mg *SharedVPCHostProject) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SharedVPCHostProject. +func (mg *SharedVPCHostProject) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SharedVPCHostProject. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SharedVPCHostProject) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SharedVPCHostProject. +func (mg *SharedVPCHostProject) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SharedVPCServiceProject. +func (mg *SharedVPCServiceProject) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SharedVPCServiceProject. +func (mg *SharedVPCServiceProject) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SharedVPCServiceProject. +func (mg *SharedVPCServiceProject) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SharedVPCServiceProject. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SharedVPCServiceProject) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SharedVPCServiceProject. +func (mg *SharedVPCServiceProject) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SharedVPCServiceProject. +func (mg *SharedVPCServiceProject) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SharedVPCServiceProject. +func (mg *SharedVPCServiceProject) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SharedVPCServiceProject. +func (mg *SharedVPCServiceProject) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SharedVPCServiceProject. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SharedVPCServiceProject) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SharedVPCServiceProject. +func (mg *SharedVPCServiceProject) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Snapshot. +func (mg *Snapshot) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Snapshot. +func (mg *Snapshot) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Snapshot. +func (mg *Snapshot) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Snapshot. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Snapshot) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Snapshot. +func (mg *Snapshot) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Snapshot. +func (mg *Snapshot) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Snapshot. +func (mg *Snapshot) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Snapshot. +func (mg *Snapshot) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Snapshot. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Snapshot) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Snapshot. +func (mg *Snapshot) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SubnetworkIAMBinding. +func (mg *SubnetworkIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SubnetworkIAMBinding. +func (mg *SubnetworkIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SubnetworkIAMBinding. +func (mg *SubnetworkIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SubnetworkIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SubnetworkIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SubnetworkIAMBinding. +func (mg *SubnetworkIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SubnetworkIAMBinding. +func (mg *SubnetworkIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SubnetworkIAMBinding. +func (mg *SubnetworkIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SubnetworkIAMBinding. +func (mg *SubnetworkIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SubnetworkIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SubnetworkIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SubnetworkIAMBinding. +func (mg *SubnetworkIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SubnetworkIAMMember. +func (mg *SubnetworkIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SubnetworkIAMMember. +func (mg *SubnetworkIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SubnetworkIAMMember. +func (mg *SubnetworkIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SubnetworkIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SubnetworkIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SubnetworkIAMMember. +func (mg *SubnetworkIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SubnetworkIAMMember. +func (mg *SubnetworkIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SubnetworkIAMMember. +func (mg *SubnetworkIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SubnetworkIAMMember. +func (mg *SubnetworkIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SubnetworkIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SubnetworkIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SubnetworkIAMMember. +func (mg *SubnetworkIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SubnetworkIAMPolicy. +func (mg *SubnetworkIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SubnetworkIAMPolicy. +func (mg *SubnetworkIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SubnetworkIAMPolicy. +func (mg *SubnetworkIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SubnetworkIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SubnetworkIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SubnetworkIAMPolicy. +func (mg *SubnetworkIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SubnetworkIAMPolicy. +func (mg *SubnetworkIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SubnetworkIAMPolicy. +func (mg *SubnetworkIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SubnetworkIAMPolicy. +func (mg *SubnetworkIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SubnetworkIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SubnetworkIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SubnetworkIAMPolicy. +func (mg *SubnetworkIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TargetGRPCProxy. +func (mg *TargetGRPCProxy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TargetGRPCProxy. +func (mg *TargetGRPCProxy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TargetGRPCProxy. +func (mg *TargetGRPCProxy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TargetGRPCProxy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TargetGRPCProxy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TargetGRPCProxy. +func (mg *TargetGRPCProxy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TargetGRPCProxy. +func (mg *TargetGRPCProxy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TargetGRPCProxy. +func (mg *TargetGRPCProxy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TargetGRPCProxy. +func (mg *TargetGRPCProxy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TargetGRPCProxy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TargetGRPCProxy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TargetGRPCProxy. +func (mg *TargetGRPCProxy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TargetHTTPProxy. +func (mg *TargetHTTPProxy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TargetHTTPProxy. +func (mg *TargetHTTPProxy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TargetHTTPProxy. +func (mg *TargetHTTPProxy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TargetHTTPProxy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TargetHTTPProxy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TargetHTTPProxy. +func (mg *TargetHTTPProxy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TargetHTTPProxy. +func (mg *TargetHTTPProxy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TargetHTTPProxy. +func (mg *TargetHTTPProxy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TargetHTTPProxy. +func (mg *TargetHTTPProxy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TargetHTTPProxy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TargetHTTPProxy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TargetHTTPProxy. +func (mg *TargetHTTPProxy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TargetHTTPSProxy. +func (mg *TargetHTTPSProxy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TargetHTTPSProxy. +func (mg *TargetHTTPSProxy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TargetHTTPSProxy. +func (mg *TargetHTTPSProxy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TargetHTTPSProxy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TargetHTTPSProxy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TargetHTTPSProxy. +func (mg *TargetHTTPSProxy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TargetHTTPSProxy. +func (mg *TargetHTTPSProxy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TargetHTTPSProxy. +func (mg *TargetHTTPSProxy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TargetHTTPSProxy. +func (mg *TargetHTTPSProxy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TargetHTTPSProxy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TargetHTTPSProxy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TargetHTTPSProxy. +func (mg *TargetHTTPSProxy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TargetInstance. +func (mg *TargetInstance) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TargetInstance. +func (mg *TargetInstance) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TargetInstance. +func (mg *TargetInstance) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TargetInstance. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TargetInstance) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TargetInstance. +func (mg *TargetInstance) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TargetInstance. +func (mg *TargetInstance) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TargetInstance. +func (mg *TargetInstance) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TargetInstance. +func (mg *TargetInstance) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TargetInstance. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TargetInstance) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TargetInstance. +func (mg *TargetInstance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TargetPool. +func (mg *TargetPool) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TargetPool. +func (mg *TargetPool) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TargetPool. +func (mg *TargetPool) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TargetPool. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TargetPool) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TargetPool. +func (mg *TargetPool) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TargetPool. +func (mg *TargetPool) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TargetPool. +func (mg *TargetPool) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TargetPool. +func (mg *TargetPool) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TargetPool. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TargetPool) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TargetPool. +func (mg *TargetPool) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TargetSSLProxy. +func (mg *TargetSSLProxy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TargetSSLProxy. +func (mg *TargetSSLProxy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TargetSSLProxy. +func (mg *TargetSSLProxy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TargetSSLProxy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TargetSSLProxy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TargetSSLProxy. +func (mg *TargetSSLProxy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TargetSSLProxy. +func (mg *TargetSSLProxy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TargetSSLProxy. +func (mg *TargetSSLProxy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TargetSSLProxy. +func (mg *TargetSSLProxy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TargetSSLProxy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TargetSSLProxy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TargetSSLProxy. +func (mg *TargetSSLProxy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TargetTCPProxy. +func (mg *TargetTCPProxy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TargetTCPProxy. +func (mg *TargetTCPProxy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TargetTCPProxy. +func (mg *TargetTCPProxy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TargetTCPProxy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TargetTCPProxy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TargetTCPProxy. +func (mg *TargetTCPProxy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TargetTCPProxy. +func (mg *TargetTCPProxy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TargetTCPProxy. +func (mg *TargetTCPProxy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TargetTCPProxy. +func (mg *TargetTCPProxy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TargetTCPProxy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TargetTCPProxy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TargetTCPProxy. +func (mg *TargetTCPProxy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this URLMap. +func (mg *URLMap) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this URLMap. +func (mg *URLMap) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this URLMap. +func (mg *URLMap) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this URLMap. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *URLMap) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this URLMap. +func (mg *URLMap) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this URLMap. +func (mg *URLMap) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this URLMap. +func (mg *URLMap) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this URLMap. +func (mg *URLMap) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this URLMap. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *URLMap) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this URLMap. +func (mg *URLMap) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this VPNGateway. +func (mg *VPNGateway) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this VPNGateway. +func (mg *VPNGateway) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this VPNGateway. +func (mg *VPNGateway) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this VPNGateway. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *VPNGateway) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this VPNGateway. +func (mg *VPNGateway) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this VPNGateway. +func (mg *VPNGateway) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this VPNGateway. +func (mg *VPNGateway) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this VPNGateway. +func (mg *VPNGateway) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this VPNGateway. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *VPNGateway) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this VPNGateway. +func (mg *VPNGateway) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this VPNTunnel. +func (mg *VPNTunnel) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this VPNTunnel. +func (mg *VPNTunnel) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this VPNTunnel. +func (mg *VPNTunnel) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this VPNTunnel. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *VPNTunnel) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this VPNTunnel. +func (mg *VPNTunnel) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this VPNTunnel. +func (mg *VPNTunnel) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this VPNTunnel. +func (mg *VPNTunnel) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this VPNTunnel. +func (mg *VPNTunnel) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this VPNTunnel. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *VPNTunnel) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this VPNTunnel. +func (mg *VPNTunnel) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/compute/v1alpha1/zz_generated.managedlist.go b/apis/compute/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..f8ed69b7 --- /dev/null +++ b/apis/compute/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,794 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this AttachedDiskList. +func (l *AttachedDiskList) 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 AutoscalerList. +func (l *AutoscalerList) 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 BackendBucketList. +func (l *BackendBucketList) 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 BackendBucketSignedURLKeyList. +func (l *BackendBucketSignedURLKeyList) 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 BackendServiceList. +func (l *BackendServiceList) 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 BackendServiceSignedURLKeyList. +func (l *BackendServiceSignedURLKeyList) 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 DiskIAMBindingList. +func (l *DiskIAMBindingList) 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 DiskIAMMemberList. +func (l *DiskIAMMemberList) 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 DiskIAMPolicyList. +func (l *DiskIAMPolicyList) 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 DiskList. +func (l *DiskList) 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 DiskResourcePolicyAttachmentList. +func (l *DiskResourcePolicyAttachmentList) 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 ExternalVPNGatewayList. +func (l *ExternalVPNGatewayList) 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 FirewallPolicyAssociationList. +func (l *FirewallPolicyAssociationList) 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 FirewallPolicyList. +func (l *FirewallPolicyList) 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 FirewallPolicyRuleList. +func (l *FirewallPolicyRuleList) 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 ForwardingRuleList. +func (l *ForwardingRuleList) 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 GlobalAddressList. +func (l *GlobalAddressList) 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 GlobalForwardingRuleList. +func (l *GlobalForwardingRuleList) 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 GlobalNetworkEndpointGroupList. +func (l *GlobalNetworkEndpointGroupList) 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 GlobalNetworkEndpointList. +func (l *GlobalNetworkEndpointList) 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 HTTPHealthCheckList. +func (l *HTTPHealthCheckList) 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 HTTPSHealthCheckList. +func (l *HTTPSHealthCheckList) 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 HaVPNGatewayList. +func (l *HaVPNGatewayList) 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 HealthCheckList. +func (l *HealthCheckList) 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 ImageIAMBindingList. +func (l *ImageIAMBindingList) 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 ImageIAMMemberList. +func (l *ImageIAMMemberList) 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 ImageIAMPolicyList. +func (l *ImageIAMPolicyList) 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 ImageList. +func (l *ImageList) 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 InstanceGroupList. +func (l *InstanceGroupList) 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 InstanceGroupManagerList. +func (l *InstanceGroupManagerList) 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 InstanceGroupNamedPortList. +func (l *InstanceGroupNamedPortList) 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 InstanceIAMBindingList. +func (l *InstanceIAMBindingList) 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 InstanceIAMMemberList. +func (l *InstanceIAMMemberList) 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 InstanceIAMPolicyList. +func (l *InstanceIAMPolicyList) 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 InterconnectAttachmentList. +func (l *InterconnectAttachmentList) 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 NetworkEndpointGroupList. +func (l *NetworkEndpointGroupList) 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 NetworkEndpointList. +func (l *NetworkEndpointList) 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 NetworkPeeringList. +func (l *NetworkPeeringList) 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 NetworkPeeringRoutesConfigList. +func (l *NetworkPeeringRoutesConfigList) 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 NodeGroupList. +func (l *NodeGroupList) 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 NodeTemplateList. +func (l *NodeTemplateList) 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 PacketMirroringList. +func (l *PacketMirroringList) 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 PerInstanceConfigList. +func (l *PerInstanceConfigList) 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 ProjectDefaultNetworkTierList. +func (l *ProjectDefaultNetworkTierList) 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 ProjectMetadataItemList. +func (l *ProjectMetadataItemList) 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 ProjectMetadataList. +func (l *ProjectMetadataList) 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 RegionAutoscalerList. +func (l *RegionAutoscalerList) 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 RegionBackendServiceList. +func (l *RegionBackendServiceList) 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 RegionDiskIAMBindingList. +func (l *RegionDiskIAMBindingList) 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 RegionDiskIAMMemberList. +func (l *RegionDiskIAMMemberList) 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 RegionDiskIAMPolicyList. +func (l *RegionDiskIAMPolicyList) 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 RegionDiskList. +func (l *RegionDiskList) 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 RegionDiskResourcePolicyAttachmentList. +func (l *RegionDiskResourcePolicyAttachmentList) 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 RegionHealthCheckList. +func (l *RegionHealthCheckList) 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 RegionInstanceGroupManagerList. +func (l *RegionInstanceGroupManagerList) 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 RegionNetworkEndpointGroupList. +func (l *RegionNetworkEndpointGroupList) 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 RegionPerInstanceConfigList. +func (l *RegionPerInstanceConfigList) 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 RegionSSLCertificateList. +func (l *RegionSSLCertificateList) 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 RegionTargetHTTPProxyList. +func (l *RegionTargetHTTPProxyList) 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 RegionTargetHTTPSProxyList. +func (l *RegionTargetHTTPSProxyList) 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 RegionURLMapList. +func (l *RegionURLMapList) 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 ReservationList. +func (l *ReservationList) 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 ResourcePolicyList. +func (l *ResourcePolicyList) 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 RouteList. +func (l *RouteList) 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 RouterInterfaceList. +func (l *RouterInterfaceList) 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 RouterPeerList. +func (l *RouterPeerList) 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 SSLCertificateList. +func (l *SSLCertificateList) 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 SSLPolicyList. +func (l *SSLPolicyList) 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 SecurityPolicyList. +func (l *SecurityPolicyList) 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 ServiceAttachmentList. +func (l *ServiceAttachmentList) 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 SharedVPCHostProjectList. +func (l *SharedVPCHostProjectList) 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 SharedVPCServiceProjectList. +func (l *SharedVPCServiceProjectList) 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 SnapshotList. +func (l *SnapshotList) 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 SubnetworkIAMBindingList. +func (l *SubnetworkIAMBindingList) 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 SubnetworkIAMMemberList. +func (l *SubnetworkIAMMemberList) 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 SubnetworkIAMPolicyList. +func (l *SubnetworkIAMPolicyList) 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 TargetGRPCProxyList. +func (l *TargetGRPCProxyList) 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 TargetHTTPProxyList. +func (l *TargetHTTPProxyList) 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 TargetHTTPSProxyList. +func (l *TargetHTTPSProxyList) 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 TargetInstanceList. +func (l *TargetInstanceList) 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 TargetPoolList. +func (l *TargetPoolList) 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 TargetSSLProxyList. +func (l *TargetSSLProxyList) 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 TargetTCPProxyList. +func (l *TargetTCPProxyList) 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 URLMapList. +func (l *URLMapList) 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 VPNGatewayList. +func (l *VPNGatewayList) 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 VPNTunnelList. +func (l *VPNTunnelList) 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/compute/v1alpha1/zz_globaladdress_terraformed.go b/apis/compute/v1alpha1/zz_globaladdress_terraformed.go new file mode 100755 index 00000000..93efa2a0 --- /dev/null +++ b/apis/compute/v1alpha1/zz_globaladdress_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this GlobalAddress +func (mg *GlobalAddress) GetTerraformResourceType() string { + return "google_compute_global_address" +} + +// GetConnectionDetailsMapping for this GlobalAddress +func (tr *GlobalAddress) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this GlobalAddress +func (tr *GlobalAddress) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this GlobalAddress +func (tr *GlobalAddress) SetObservation(obs map[string]interface{}) 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 GlobalAddress +func (tr *GlobalAddress) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this GlobalAddress +func (tr *GlobalAddress) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this GlobalAddress +func (tr *GlobalAddress) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this GlobalAddress using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *GlobalAddress) LateInitialize(attrs []byte) (bool, error) { + params := &GlobalAddressParameters{} + 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 *GlobalAddress) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_globaladdress_types.go b/apis/compute/v1alpha1/zz_globaladdress_types.go new file mode 100755 index 00000000..6f54f950 --- /dev/null +++ b/apis/compute/v1alpha1/zz_globaladdress_types.go @@ -0,0 +1,144 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 GlobalAddressObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type GlobalAddressParameters struct { + + // The IP address or beginning of the address range represented by this + // resource. This can be supplied as an input to reserve a specific + // address or omitted to allow GCP to choose a valid one for you. + // +kubebuilder:validation:Optional + Address *string `json:"address,omitempty" tf:"address,omitempty"` + + // The type of the address to reserve. + // + // * EXTERNAL indicates public/external single IP address. + // * INTERNAL indicates internal IP ranges belonging to some network. Default value: "EXTERNAL" Possible values: ["EXTERNAL", "INTERNAL"] + // +kubebuilder:validation:Optional + AddressType *string `json:"addressType,omitempty" tf:"address_type,omitempty"` + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The IP Version that will be used by this address. The default value is 'IPV4'. Possible values: ["IPV4", "IPV6"] + // +kubebuilder:validation:Optional + IPVersion *string `json:"ipVersion,omitempty" tf:"ip_version,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and + // match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means + // the first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The URL of the network in which to reserve the IP range. The IP range + // must be in RFC1918 space. The network cannot be deleted if there are + // any reserved IP ranges referring to it. + // + // This should only be set when using an Internal address. + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // The prefix length of the IP range. If not present, it means the + // address field is a single IP address. + // + // This field is not applicable to addresses with addressType=EXTERNAL, + // or addressType=INTERNAL when purpose=PRIVATE_SERVICE_CONNECT + // +kubebuilder:validation:Optional + PrefixLength *int64 `json:"prefixLength,omitempty" tf:"prefix_length,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The purpose of the resource. Possible values include: + // + // * VPC_PEERING - for peer networks + // + // * PRIVATE_SERVICE_CONNECT - for ([Beta](https://terraform.io/docs/providers/google/guides/provider_versions.html) only) Private Service Connect networks + // +kubebuilder:validation:Optional + Purpose *string `json:"purpose,omitempty" tf:"purpose,omitempty"` +} + +// GlobalAddressSpec defines the desired state of GlobalAddress +type GlobalAddressSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider GlobalAddressParameters `json:"forProvider"` +} + +// GlobalAddressStatus defines the observed state of GlobalAddress. +type GlobalAddressStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider GlobalAddressObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// GlobalAddress is the Schema for the GlobalAddresss 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,gcpjet} +type GlobalAddress struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec GlobalAddressSpec `json:"spec"` + Status GlobalAddressStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// GlobalAddressList contains a list of GlobalAddresss +type GlobalAddressList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GlobalAddress `json:"items"` +} + +// Repository type metadata. +var ( + GlobalAddress_Kind = "GlobalAddress" + GlobalAddress_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: GlobalAddress_Kind}.String() + GlobalAddress_KindAPIVersion = GlobalAddress_Kind + "." + CRDGroupVersion.String() + GlobalAddress_GroupVersionKind = CRDGroupVersion.WithKind(GlobalAddress_Kind) +) + +func init() { + SchemeBuilder.Register(&GlobalAddress{}, &GlobalAddressList{}) +} diff --git a/apis/compute/v1alpha1/zz_globalforwardingrule_terraformed.go b/apis/compute/v1alpha1/zz_globalforwardingrule_terraformed.go new file mode 100755 index 00000000..405d8105 --- /dev/null +++ b/apis/compute/v1alpha1/zz_globalforwardingrule_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this GlobalForwardingRule +func (mg *GlobalForwardingRule) GetTerraformResourceType() string { + return "google_compute_global_forwarding_rule" +} + +// GetConnectionDetailsMapping for this GlobalForwardingRule +func (tr *GlobalForwardingRule) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this GlobalForwardingRule +func (tr *GlobalForwardingRule) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this GlobalForwardingRule +func (tr *GlobalForwardingRule) SetObservation(obs map[string]interface{}) 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 GlobalForwardingRule +func (tr *GlobalForwardingRule) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this GlobalForwardingRule +func (tr *GlobalForwardingRule) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this GlobalForwardingRule +func (tr *GlobalForwardingRule) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this GlobalForwardingRule using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *GlobalForwardingRule) LateInitialize(attrs []byte) (bool, error) { + params := &GlobalForwardingRuleParameters{} + 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 *GlobalForwardingRule) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_globalforwardingrule_types.go b/apis/compute/v1alpha1/zz_globalforwardingrule_types.go new file mode 100755 index 00000000..61b818c0 --- /dev/null +++ b/apis/compute/v1alpha1/zz_globalforwardingrule_types.go @@ -0,0 +1,201 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FilterLabelsObservation struct { +} + +type FilterLabelsParameters struct { + + // Name of metadata label. + // + // The name can have a maximum length of 1024 characters and must be at least 1 character long. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The value of the label must match the specified value. + // + // value can have a maximum length of 1024 characters. + // +kubebuilder:validation:Required + Value *string `json:"value" tf:"value,omitempty"` +} + +type GlobalForwardingRuleObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type GlobalForwardingRuleParameters struct { + + // An optional description of this resource. Provide this property when you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // IP address that this forwarding rule serves. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the target that you specify in the forwarding rule. If you don't specify a reserved IP address, an ephemeral IP address is assigned. Methods for specifying an IP address: * IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in `https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name` * Partial URL or by name, as in: * `projects/project_id/regions/region/addresses/address-name` * `regions/region/addresses/address-name` * `global/addresses/address-name` * `address-name` The loadBalancingScheme and the forwarding rule's target determine the type of IP address that you can use. For detailed information, refer to [IP address specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). + // +kubebuilder:validation:Optional + IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + + // The IP protocol to which this rule applies. For protocol forwarding, valid options are `TCP`, `UDP`, `ESP`, `AH`, `SCTP` or `ICMP`. For Internal TCP/UDP Load Balancing, the load balancing scheme is `INTERNAL`, and one of `TCP` or `UDP` are valid. For Traffic Director, the load balancing scheme is `INTERNAL_SELF_MANAGED`, and only `TCP`is valid. For Internal HTTP(S) Load Balancing, the load balancing scheme is `INTERNAL_MANAGED`, and only `TCP` is valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load balancing scheme is `EXTERNAL` and only `TCP` is valid. For Network TCP/UDP Load Balancing, the load balancing scheme is `EXTERNAL`, and one of `TCP` or `UDP` is valid. + // +kubebuilder:validation:Optional + IPProtocol *string `json:"ipProtocol,omitempty" tf:"ip_protocol,omitempty"` + + // The IP Version that will be used by this forwarding rule. Valid options are `IPV4` or `IPV6`. This can only be specified for an external global forwarding rule. Possible values: UNSPECIFIED_VERSION, IPV4, IPV6 + // +kubebuilder:validation:Optional + IPVersion *string `json:"ipVersion,omitempty" tf:"ip_version,omitempty"` + + // Labels to apply to this rule. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Specifies the forwarding rule type. + // + // * `EXTERNAL` is used for: + // * Classic Cloud VPN gateways + // * Protocol forwarding to VMs from an external IP address + // * The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP + // * `INTERNAL` is used for: + // * Protocol forwarding to VMs from an internal IP address + // * Internal TCP/UDP load balancers + // * `INTERNAL_MANAGED` is used for: + // * Internal HTTP(S) load balancers + // * `INTERNAL_SELF_MANAGED` is used for: + // * Traffic Director + // + // For more information about forwarding rules, refer to [Forwarding rule concepts](/load-balancing/docs/forwarding-rule-concepts). Possible values: INVALID, INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED, EXTERNAL + // +kubebuilder:validation:Optional + LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"` + + // Opaque filter criteria used by Loadbalancer to restrict routing configuration to a limited set of [xDS](https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md) compliant clients. In their xDS requests to Loadbalancer, xDS clients present [node metadata](https://github.com/envoyproxy/data-plane-api/search?q=%22message+Node%22+in%3A%2Fenvoy%2Fapi%2Fv2%2Fcore%2Fbase.proto&). If a match takes place, the relevant configuration is made available to those proxies. Otherwise, all the resources (e.g. `TargetHttpProxy`, `UrlMap`) referenced by the `ForwardingRule` will not be visible to those proxies. + // + // For each `metadataFilter` in this list, if its `filterMatchCriteria` is set to MATCH_ANY, at least one of the `filterLabel`s must match the corresponding label provided in the metadata. If its `filterMatchCriteria` is set to MATCH_ALL, then all of its `filterLabel`s must match with corresponding labels provided in the metadata. + // + // `metadataFilters` specified here will be applifed before those specified in the `UrlMap` that this `ForwardingRule` references. + // + // `metadataFilters` only applies to Loadbalancers that have their loadBalancingScheme set to `INTERNAL_SELF_MANAGED`. + // +kubebuilder:validation:Optional + MetadataFilters []MetadataFiltersParameters `json:"metadataFilters,omitempty" tf:"metadata_filters,omitempty"` + + // Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // This field is not used for external load balancing. For `INTERNAL` and `INTERNAL_SELF_MANAGED` load balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used. + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` and `INTERNAL_MANAGED`, you can specify a `port_range`. Use with a forwarding rule that points to a target proxy or a target pool. Do not use with a forwarding rule that points to a backend service. This field is used along with the `target` field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance. Applicable only when `IPProtocol` is `TCP`, `UDP`, or `SCTP`, only packets addressed to ports in the specified range will be forwarded to `target`. Forwarding rules with the same `[IPAddress, IPProtocol]` pair must have disjoint port ranges. Some types of forwarding target have constraints on the acceptable ports: + // + // * TargetHttpProxy: 80, 8080 + // * TargetHttpsProxy: 443 + // * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + // * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + // * TargetVpnGateway: 500, 4500 + // + // @pattern: d+(?:-d+)? + // +kubebuilder:validation:Optional + PortRange *string `json:"portRange,omitempty" tf:"port_range,omitempty"` + + // The project this resource belongs in. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must live in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. For `INTERNAL_SELF_MANAGED` load balancing, only `targetHttpProxy` is valid, not `targetHttpsProxy`. + // +kubebuilder:validation:Required + Target *string `json:"target" tf:"target,omitempty"` +} + +type MetadataFiltersObservation struct { +} + +type MetadataFiltersParameters struct { + + // The list of label value pairs that must match labels in the provided metadata based on `filterMatchCriteria` + // + // This list must not be empty and can have at the most 64 entries. + // +kubebuilder:validation:Required + FilterLabels []FilterLabelsParameters `json:"filterLabels" tf:"filter_labels,omitempty"` + + // Specifies how individual `filterLabel` matches within the list of `filterLabel`s contribute towards the overall `metadataFilter` match. + // + // Supported values are: + // + // * MATCH_ANY: At least one of the `filterLabels` must have a matching label in the provided metadata. + // * MATCH_ALL: All `filterLabels` must have matching labels in the provided metadata. Possible values: NOT_SET, MATCH_ALL, MATCH_ANY + // +kubebuilder:validation:Required + FilterMatchCriteria *string `json:"filterMatchCriteria" tf:"filter_match_criteria,omitempty"` +} + +// GlobalForwardingRuleSpec defines the desired state of GlobalForwardingRule +type GlobalForwardingRuleSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider GlobalForwardingRuleParameters `json:"forProvider"` +} + +// GlobalForwardingRuleStatus defines the observed state of GlobalForwardingRule. +type GlobalForwardingRuleStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider GlobalForwardingRuleObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// GlobalForwardingRule is the Schema for the GlobalForwardingRules 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,gcpjet} +type GlobalForwardingRule struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec GlobalForwardingRuleSpec `json:"spec"` + Status GlobalForwardingRuleStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// GlobalForwardingRuleList contains a list of GlobalForwardingRules +type GlobalForwardingRuleList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GlobalForwardingRule `json:"items"` +} + +// Repository type metadata. +var ( + GlobalForwardingRule_Kind = "GlobalForwardingRule" + GlobalForwardingRule_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: GlobalForwardingRule_Kind}.String() + GlobalForwardingRule_KindAPIVersion = GlobalForwardingRule_Kind + "." + CRDGroupVersion.String() + GlobalForwardingRule_GroupVersionKind = CRDGroupVersion.WithKind(GlobalForwardingRule_Kind) +) + +func init() { + SchemeBuilder.Register(&GlobalForwardingRule{}, &GlobalForwardingRuleList{}) +} diff --git a/apis/compute/v1alpha1/zz_globalnetworkendpoint_terraformed.go b/apis/compute/v1alpha1/zz_globalnetworkendpoint_terraformed.go new file mode 100755 index 00000000..a1c228fe --- /dev/null +++ b/apis/compute/v1alpha1/zz_globalnetworkendpoint_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this GlobalNetworkEndpoint +func (mg *GlobalNetworkEndpoint) GetTerraformResourceType() string { + return "google_compute_global_network_endpoint" +} + +// GetConnectionDetailsMapping for this GlobalNetworkEndpoint +func (tr *GlobalNetworkEndpoint) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this GlobalNetworkEndpoint +func (tr *GlobalNetworkEndpoint) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this GlobalNetworkEndpoint +func (tr *GlobalNetworkEndpoint) SetObservation(obs map[string]interface{}) 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 GlobalNetworkEndpoint +func (tr *GlobalNetworkEndpoint) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this GlobalNetworkEndpoint +func (tr *GlobalNetworkEndpoint) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this GlobalNetworkEndpoint +func (tr *GlobalNetworkEndpoint) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this GlobalNetworkEndpoint using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *GlobalNetworkEndpoint) LateInitialize(attrs []byte) (bool, error) { + params := &GlobalNetworkEndpointParameters{} + 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 *GlobalNetworkEndpoint) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_globalnetworkendpoint_types.go b/apis/compute/v1alpha1/zz_globalnetworkendpoint_types.go new file mode 100755 index 00000000..77648d5e --- /dev/null +++ b/apis/compute/v1alpha1/zz_globalnetworkendpoint_types.go @@ -0,0 +1,102 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 GlobalNetworkEndpointObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type GlobalNetworkEndpointParameters struct { + + // Fully qualified domain name of network endpoint. + // This can only be specified when network_endpoint_type of the NEG is INTERNET_FQDN_PORT. + // +kubebuilder:validation:Optional + Fqdn *string `json:"fqdn,omitempty" tf:"fqdn,omitempty"` + + // The global network endpoint group this endpoint is part of. + // +kubebuilder:validation:Required + GlobalNetworkEndpointGroup *string `json:"globalNetworkEndpointGroup" tf:"global_network_endpoint_group,omitempty"` + + // IPv4 address external endpoint. + // +kubebuilder:validation:Optional + IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + + // Port number of the external endpoint. + // +kubebuilder:validation:Required + Port *int64 `json:"port" tf:"port,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// GlobalNetworkEndpointSpec defines the desired state of GlobalNetworkEndpoint +type GlobalNetworkEndpointSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider GlobalNetworkEndpointParameters `json:"forProvider"` +} + +// GlobalNetworkEndpointStatus defines the observed state of GlobalNetworkEndpoint. +type GlobalNetworkEndpointStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider GlobalNetworkEndpointObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// GlobalNetworkEndpoint is the Schema for the GlobalNetworkEndpoints 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,gcpjet} +type GlobalNetworkEndpoint struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec GlobalNetworkEndpointSpec `json:"spec"` + Status GlobalNetworkEndpointStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// GlobalNetworkEndpointList contains a list of GlobalNetworkEndpoints +type GlobalNetworkEndpointList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GlobalNetworkEndpoint `json:"items"` +} + +// Repository type metadata. +var ( + GlobalNetworkEndpoint_Kind = "GlobalNetworkEndpoint" + GlobalNetworkEndpoint_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: GlobalNetworkEndpoint_Kind}.String() + GlobalNetworkEndpoint_KindAPIVersion = GlobalNetworkEndpoint_Kind + "." + CRDGroupVersion.String() + GlobalNetworkEndpoint_GroupVersionKind = CRDGroupVersion.WithKind(GlobalNetworkEndpoint_Kind) +) + +func init() { + SchemeBuilder.Register(&GlobalNetworkEndpoint{}, &GlobalNetworkEndpointList{}) +} diff --git a/apis/compute/v1alpha1/zz_globalnetworkendpointgroup_terraformed.go b/apis/compute/v1alpha1/zz_globalnetworkendpointgroup_terraformed.go new file mode 100755 index 00000000..847f3312 --- /dev/null +++ b/apis/compute/v1alpha1/zz_globalnetworkendpointgroup_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this GlobalNetworkEndpointGroup +func (mg *GlobalNetworkEndpointGroup) GetTerraformResourceType() string { + return "google_compute_global_network_endpoint_group" +} + +// GetConnectionDetailsMapping for this GlobalNetworkEndpointGroup +func (tr *GlobalNetworkEndpointGroup) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this GlobalNetworkEndpointGroup +func (tr *GlobalNetworkEndpointGroup) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this GlobalNetworkEndpointGroup +func (tr *GlobalNetworkEndpointGroup) SetObservation(obs map[string]interface{}) 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 GlobalNetworkEndpointGroup +func (tr *GlobalNetworkEndpointGroup) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this GlobalNetworkEndpointGroup +func (tr *GlobalNetworkEndpointGroup) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this GlobalNetworkEndpointGroup +func (tr *GlobalNetworkEndpointGroup) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this GlobalNetworkEndpointGroup using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *GlobalNetworkEndpointGroup) LateInitialize(attrs []byte) (bool, error) { + params := &GlobalNetworkEndpointGroupParameters{} + 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 *GlobalNetworkEndpointGroup) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_globalnetworkendpointgroup_types.go b/apis/compute/v1alpha1/zz_globalnetworkendpointgroup_types.go new file mode 100755 index 00000000..19976c45 --- /dev/null +++ b/apis/compute/v1alpha1/zz_globalnetworkendpointgroup_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 GlobalNetworkEndpointGroupObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type GlobalNetworkEndpointGroupParameters struct { + + // The default port used if the port number is not specified in the + // network endpoint. + // +kubebuilder:validation:Optional + DefaultPort *int64 `json:"defaultPort,omitempty" tf:"default_port,omitempty"` + + // An optional description of this resource. Provide this property when + // you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource; provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Type of network endpoints in this network endpoint group. Possible values: ["INTERNET_IP_PORT", "INTERNET_FQDN_PORT"] + // +kubebuilder:validation:Required + NetworkEndpointType *string `json:"networkEndpointType" tf:"network_endpoint_type,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// GlobalNetworkEndpointGroupSpec defines the desired state of GlobalNetworkEndpointGroup +type GlobalNetworkEndpointGroupSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider GlobalNetworkEndpointGroupParameters `json:"forProvider"` +} + +// GlobalNetworkEndpointGroupStatus defines the observed state of GlobalNetworkEndpointGroup. +type GlobalNetworkEndpointGroupStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider GlobalNetworkEndpointGroupObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// GlobalNetworkEndpointGroup is the Schema for the GlobalNetworkEndpointGroups 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,gcpjet} +type GlobalNetworkEndpointGroup struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec GlobalNetworkEndpointGroupSpec `json:"spec"` + Status GlobalNetworkEndpointGroupStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// GlobalNetworkEndpointGroupList contains a list of GlobalNetworkEndpointGroups +type GlobalNetworkEndpointGroupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GlobalNetworkEndpointGroup `json:"items"` +} + +// Repository type metadata. +var ( + GlobalNetworkEndpointGroup_Kind = "GlobalNetworkEndpointGroup" + GlobalNetworkEndpointGroup_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: GlobalNetworkEndpointGroup_Kind}.String() + GlobalNetworkEndpointGroup_KindAPIVersion = GlobalNetworkEndpointGroup_Kind + "." + CRDGroupVersion.String() + GlobalNetworkEndpointGroup_GroupVersionKind = CRDGroupVersion.WithKind(GlobalNetworkEndpointGroup_Kind) +) + +func init() { + SchemeBuilder.Register(&GlobalNetworkEndpointGroup{}, &GlobalNetworkEndpointGroupList{}) +} diff --git a/apis/compute/v1alpha1/zz_groupversion_info.go b/apis/compute/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..d0f13c25 --- /dev/null +++ b/apis/compute/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=compute.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "compute.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/compute/v1alpha1/zz_havpngateway_terraformed.go b/apis/compute/v1alpha1/zz_havpngateway_terraformed.go new file mode 100755 index 00000000..96025aee --- /dev/null +++ b/apis/compute/v1alpha1/zz_havpngateway_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this HaVPNGateway +func (mg *HaVPNGateway) GetTerraformResourceType() string { + return "google_compute_ha_vpn_gateway" +} + +// GetConnectionDetailsMapping for this HaVPNGateway +func (tr *HaVPNGateway) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this HaVPNGateway +func (tr *HaVPNGateway) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this HaVPNGateway +func (tr *HaVPNGateway) SetObservation(obs map[string]interface{}) 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 HaVPNGateway +func (tr *HaVPNGateway) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this HaVPNGateway +func (tr *HaVPNGateway) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this HaVPNGateway +func (tr *HaVPNGateway) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this HaVPNGateway using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *HaVPNGateway) LateInitialize(attrs []byte) (bool, error) { + params := &HaVPNGatewayParameters{} + 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 *HaVPNGateway) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_havpngateway_types.go b/apis/compute/v1alpha1/zz_havpngateway_types.go new file mode 100755 index 00000000..7fddf2ad --- /dev/null +++ b/apis/compute/v1alpha1/zz_havpngateway_types.go @@ -0,0 +1,134 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 HaVPNGatewayObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type HaVPNGatewayParameters struct { + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and + // match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means + // the first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The network this VPN gateway is accepting traffic for. + // +kubebuilder:validation:Required + Network *string `json:"network" tf:"network,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The region this gateway should sit in. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // A list of interfaces on this VPN gateway. + // +kubebuilder:validation:Optional + VPNInterfaces []VPNInterfacesParameters `json:"vpnInterfaces,omitempty" tf:"vpn_interfaces,omitempty"` +} + +type VPNInterfacesObservation struct { + IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` +} + +type VPNInterfacesParameters struct { + + // The numeric ID of this VPN gateway interface. + // +kubebuilder:validation:Optional + ID *int64 `json:"id,omitempty" tf:"id,omitempty"` + + // URL of the interconnect attachment resource. When the value + // of this field is present, the VPN Gateway will be used for + // IPsec-encrypted Cloud Interconnect; all Egress or Ingress + // traffic for this VPN Gateway interface will go through the + // specified interconnect attachment resource. + // + // Not currently available publicly. + // +kubebuilder:validation:Optional + InterconnectAttachment *string `json:"interconnectAttachment,omitempty" tf:"interconnect_attachment,omitempty"` +} + +// HaVPNGatewaySpec defines the desired state of HaVPNGateway +type HaVPNGatewaySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider HaVPNGatewayParameters `json:"forProvider"` +} + +// HaVPNGatewayStatus defines the observed state of HaVPNGateway. +type HaVPNGatewayStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider HaVPNGatewayObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// HaVPNGateway is the Schema for the HaVPNGateways 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,gcpjet} +type HaVPNGateway struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HaVPNGatewaySpec `json:"spec"` + Status HaVPNGatewayStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// HaVPNGatewayList contains a list of HaVPNGateways +type HaVPNGatewayList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HaVPNGateway `json:"items"` +} + +// Repository type metadata. +var ( + HaVPNGateway_Kind = "HaVPNGateway" + HaVPNGateway_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: HaVPNGateway_Kind}.String() + HaVPNGateway_KindAPIVersion = HaVPNGateway_Kind + "." + CRDGroupVersion.String() + HaVPNGateway_GroupVersionKind = CRDGroupVersion.WithKind(HaVPNGateway_Kind) +) + +func init() { + SchemeBuilder.Register(&HaVPNGateway{}, &HaVPNGatewayList{}) +} diff --git a/apis/compute/v1alpha1/zz_healthcheck_terraformed.go b/apis/compute/v1alpha1/zz_healthcheck_terraformed.go new file mode 100755 index 00000000..14393555 --- /dev/null +++ b/apis/compute/v1alpha1/zz_healthcheck_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this HealthCheck +func (mg *HealthCheck) GetTerraformResourceType() string { + return "google_compute_health_check" +} + +// GetConnectionDetailsMapping for this HealthCheck +func (tr *HealthCheck) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this HealthCheck +func (tr *HealthCheck) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this HealthCheck +func (tr *HealthCheck) SetObservation(obs map[string]interface{}) 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 HealthCheck +func (tr *HealthCheck) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this HealthCheck +func (tr *HealthCheck) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this HealthCheck +func (tr *HealthCheck) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this HealthCheck using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *HealthCheck) LateInitialize(attrs []byte) (bool, error) { + params := &HealthCheckParameters{} + 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 *HealthCheck) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_healthcheck_types.go b/apis/compute/v1alpha1/zz_healthcheck_types.go new file mode 100755 index 00000000..ca70b359 --- /dev/null +++ b/apis/compute/v1alpha1/zz_healthcheck_types.go @@ -0,0 +1,475 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 GRPCHealthCheckObservation struct { +} + +type GRPCHealthCheckParameters struct { + + // The gRPC service name for the health check. + // The value of grpcServiceName has the following meanings by convention: + // - Empty serviceName means the overall status of all services at the backend. + // - Non-empty serviceName means the health of that gRPC service, as defined by the owner of the service. + // The grpcServiceName can only be ASCII. + // +kubebuilder:validation:Optional + GRPCServiceName *string `json:"grpcServiceName,omitempty" tf:"grpc_service_name,omitempty"` + + // The port number for the health check request. + // Must be specified if portName and portSpecification are not set + // or if port_specification is USE_FIXED_PORT. Valid values are 1 through 65535. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // Port name as defined in InstanceGroup#NamedPort#name. If both port and + // port_name are defined, port takes precedence. + // +kubebuilder:validation:Optional + PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"` + + // Specifies how port is selected for health checking, can be one of the + // following values: + // + // * 'USE_FIXED_PORT': The port number in 'port' is used for health checking. + // + // * 'USE_NAMED_PORT': The 'portName' is used for health checking. + // + // * 'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each + // network endpoint is used for health checking. For other backends, the + // port or named port specified in the Backend Service is used for health + // checking. + // + // If not specified, gRPC health check follows behavior specified in 'port' and + // 'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"] + // +kubebuilder:validation:Optional + PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"` +} + +type HTTPHealthCheckObservation struct { +} + +type HTTPHealthCheckParameters struct { + + // The value of the host header in the HTTP health check request. + // If left empty (default value), the public IP on behalf of which this health + // check is performed will be used. + // +kubebuilder:validation:Optional + Host *string `json:"host,omitempty" tf:"host,omitempty"` + + // The TCP port number for the HTTP health check request. + // The default value is 80. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // Port name as defined in InstanceGroup#NamedPort#name. If both port and + // port_name are defined, port takes precedence. + // +kubebuilder:validation:Optional + PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"` + + // Specifies how port is selected for health checking, can be one of the + // following values: + // + // * 'USE_FIXED_PORT': The port number in 'port' is used for health checking. + // + // * 'USE_NAMED_PORT': The 'portName' is used for health checking. + // + // * 'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each + // network endpoint is used for health checking. For other backends, the + // port or named port specified in the Backend Service is used for health + // checking. + // + // If not specified, HTTP health check follows behavior specified in 'port' and + // 'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"] + // +kubebuilder:validation:Optional + PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"` + + // Specifies the type of proxy header to append before sending data to the + // backend. Default value: "NONE" Possible values: ["NONE", "PROXY_V1"] + // +kubebuilder:validation:Optional + ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"` + + // The request path of the HTTP health check request. + // The default value is /. + // +kubebuilder:validation:Optional + RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"` + + // The bytes to match against the beginning of the response data. If left empty + // (the default value), any response will indicate health. The response data + // can only be ASCII. + // +kubebuilder:validation:Optional + Response *string `json:"response,omitempty" tf:"response,omitempty"` +} + +type HTTPSHealthCheckObservation struct { +} + +type HTTPSHealthCheckParameters struct { + + // The value of the host header in the HTTPS health check request. + // If left empty (default value), the public IP on behalf of which this health + // check is performed will be used. + // +kubebuilder:validation:Optional + Host *string `json:"host,omitempty" tf:"host,omitempty"` + + // The TCP port number for the HTTPS health check request. + // The default value is 443. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // Port name as defined in InstanceGroup#NamedPort#name. If both port and + // port_name are defined, port takes precedence. + // +kubebuilder:validation:Optional + PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"` + + // Specifies how port is selected for health checking, can be one of the + // following values: + // + // * 'USE_FIXED_PORT': The port number in 'port' is used for health checking. + // + // * 'USE_NAMED_PORT': The 'portName' is used for health checking. + // + // * 'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each + // network endpoint is used for health checking. For other backends, the + // port or named port specified in the Backend Service is used for health + // checking. + // + // If not specified, HTTPS health check follows behavior specified in 'port' and + // 'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"] + // +kubebuilder:validation:Optional + PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"` + + // Specifies the type of proxy header to append before sending data to the + // backend. Default value: "NONE" Possible values: ["NONE", "PROXY_V1"] + // +kubebuilder:validation:Optional + ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"` + + // The request path of the HTTPS health check request. + // The default value is /. + // +kubebuilder:validation:Optional + RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"` + + // The bytes to match against the beginning of the response data. If left empty + // (the default value), any response will indicate health. The response data + // can only be ASCII. + // +kubebuilder:validation:Optional + Response *string `json:"response,omitempty" tf:"response,omitempty"` +} + +type HealthCheckLogConfigObservation struct { +} + +type HealthCheckLogConfigParameters struct { + + // Indicates whether or not to export logs. This is false by default, + // which means no health check logging will be done. + // +kubebuilder:validation:Optional + Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"` +} + +type HealthCheckObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type HealthCheckParameters struct { + + // How often (in seconds) to send a health check. The default value is 5 + // seconds. + // +kubebuilder:validation:Optional + CheckIntervalSec *int64 `json:"checkIntervalSec,omitempty" tf:"check_interval_sec,omitempty"` + + // An optional description of this resource. Provide this property when + // you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + GRPCHealthCheck []GRPCHealthCheckParameters `json:"grpcHealthCheck,omitempty" tf:"grpc_health_check,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + HTTPHealthCheck []HTTPHealthCheckParameters `json:"httpHealthCheck,omitempty" tf:"http_health_check,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + HTTPSHealthCheck []HTTPSHealthCheckParameters `json:"httpsHealthCheck,omitempty" tf:"https_health_check,omitempty"` + + // A so-far unhealthy instance will be marked healthy after this many + // consecutive successes. The default value is 2. + // +kubebuilder:validation:Optional + HealthyThreshold *int64 `json:"healthyThreshold,omitempty" tf:"healthy_threshold,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + Http2HealthCheck []Http2HealthCheckParameters `json:"http2HealthCheck,omitempty" tf:"http2_health_check,omitempty"` + + // Configure logging on this health check. + // +kubebuilder:validation:Optional + LogConfig []HealthCheckLogConfigParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and + // match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means + // the first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the + // last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + SSLHealthCheck []SSLHealthCheckParameters `json:"sslHealthCheck,omitempty" tf:"ssl_health_check,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + TCPHealthCheck []TCPHealthCheckParameters `json:"tcpHealthCheck,omitempty" tf:"tcp_health_check,omitempty"` + + // How long (in seconds) to wait before claiming failure. + // The default value is 5 seconds. It is invalid for timeoutSec to have + // greater value than checkIntervalSec. + // +kubebuilder:validation:Optional + TimeoutSec *int64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"` + + // A so-far healthy instance will be marked unhealthy after this many + // consecutive failures. The default value is 2. + // +kubebuilder:validation:Optional + UnhealthyThreshold *int64 `json:"unhealthyThreshold,omitempty" tf:"unhealthy_threshold,omitempty"` +} + +type Http2HealthCheckObservation struct { +} + +type Http2HealthCheckParameters struct { + + // The value of the host header in the HTTP2 health check request. + // If left empty (default value), the public IP on behalf of which this health + // check is performed will be used. + // +kubebuilder:validation:Optional + Host *string `json:"host,omitempty" tf:"host,omitempty"` + + // The TCP port number for the HTTP2 health check request. + // The default value is 443. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // Port name as defined in InstanceGroup#NamedPort#name. If both port and + // port_name are defined, port takes precedence. + // +kubebuilder:validation:Optional + PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"` + + // Specifies how port is selected for health checking, can be one of the + // following values: + // + // * 'USE_FIXED_PORT': The port number in 'port' is used for health checking. + // + // * 'USE_NAMED_PORT': The 'portName' is used for health checking. + // + // * 'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each + // network endpoint is used for health checking. For other backends, the + // port or named port specified in the Backend Service is used for health + // checking. + // + // If not specified, HTTP2 health check follows behavior specified in 'port' and + // 'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"] + // +kubebuilder:validation:Optional + PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"` + + // Specifies the type of proxy header to append before sending data to the + // backend. Default value: "NONE" Possible values: ["NONE", "PROXY_V1"] + // +kubebuilder:validation:Optional + ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"` + + // The request path of the HTTP2 health check request. + // The default value is /. + // +kubebuilder:validation:Optional + RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"` + + // The bytes to match against the beginning of the response data. If left empty + // (the default value), any response will indicate health. The response data + // can only be ASCII. + // +kubebuilder:validation:Optional + Response *string `json:"response,omitempty" tf:"response,omitempty"` +} + +type SSLHealthCheckObservation struct { +} + +type SSLHealthCheckParameters struct { + + // The TCP port number for the SSL health check request. + // The default value is 443. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // Port name as defined in InstanceGroup#NamedPort#name. If both port and + // port_name are defined, port takes precedence. + // +kubebuilder:validation:Optional + PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"` + + // Specifies how port is selected for health checking, can be one of the + // following values: + // + // * 'USE_FIXED_PORT': The port number in 'port' is used for health checking. + // + // * 'USE_NAMED_PORT': The 'portName' is used for health checking. + // + // * 'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each + // network endpoint is used for health checking. For other backends, the + // port or named port specified in the Backend Service is used for health + // checking. + // + // If not specified, SSL health check follows behavior specified in 'port' and + // 'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"] + // +kubebuilder:validation:Optional + PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"` + + // Specifies the type of proxy header to append before sending data to the + // backend. Default value: "NONE" Possible values: ["NONE", "PROXY_V1"] + // +kubebuilder:validation:Optional + ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"` + + // The application data to send once the SSL connection has been + // established (default value is empty). If both request and response are + // empty, the connection establishment alone will indicate health. The request + // data can only be ASCII. + // +kubebuilder:validation:Optional + Request *string `json:"request,omitempty" tf:"request,omitempty"` + + // The bytes to match against the beginning of the response data. If left empty + // (the default value), any response will indicate health. The response data + // can only be ASCII. + // +kubebuilder:validation:Optional + Response *string `json:"response,omitempty" tf:"response,omitempty"` +} + +type TCPHealthCheckObservation struct { +} + +type TCPHealthCheckParameters struct { + + // The TCP port number for the TCP health check request. + // The default value is 443. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // Port name as defined in InstanceGroup#NamedPort#name. If both port and + // port_name are defined, port takes precedence. + // +kubebuilder:validation:Optional + PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"` + + // Specifies how port is selected for health checking, can be one of the + // following values: + // + // * 'USE_FIXED_PORT': The port number in 'port' is used for health checking. + // + // * 'USE_NAMED_PORT': The 'portName' is used for health checking. + // + // * 'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each + // network endpoint is used for health checking. For other backends, the + // port or named port specified in the Backend Service is used for health + // checking. + // + // If not specified, TCP health check follows behavior specified in 'port' and + // 'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"] + // +kubebuilder:validation:Optional + PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"` + + // Specifies the type of proxy header to append before sending data to the + // backend. Default value: "NONE" Possible values: ["NONE", "PROXY_V1"] + // +kubebuilder:validation:Optional + ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"` + + // The application data to send once the TCP connection has been + // established (default value is empty). If both request and response are + // empty, the connection establishment alone will indicate health. The request + // data can only be ASCII. + // +kubebuilder:validation:Optional + Request *string `json:"request,omitempty" tf:"request,omitempty"` + + // The bytes to match against the beginning of the response data. If left empty + // (the default value), any response will indicate health. The response data + // can only be ASCII. + // +kubebuilder:validation:Optional + Response *string `json:"response,omitempty" tf:"response,omitempty"` +} + +// HealthCheckSpec defines the desired state of HealthCheck +type HealthCheckSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider HealthCheckParameters `json:"forProvider"` +} + +// HealthCheckStatus defines the observed state of HealthCheck. +type HealthCheckStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider HealthCheckObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// HealthCheck is the Schema for the HealthChecks 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,gcpjet} +type HealthCheck struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HealthCheckSpec `json:"spec"` + Status HealthCheckStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// HealthCheckList contains a list of HealthChecks +type HealthCheckList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HealthCheck `json:"items"` +} + +// Repository type metadata. +var ( + HealthCheck_Kind = "HealthCheck" + HealthCheck_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: HealthCheck_Kind}.String() + HealthCheck_KindAPIVersion = HealthCheck_Kind + "." + CRDGroupVersion.String() + HealthCheck_GroupVersionKind = CRDGroupVersion.WithKind(HealthCheck_Kind) +) + +func init() { + SchemeBuilder.Register(&HealthCheck{}, &HealthCheckList{}) +} diff --git a/apis/compute/v1alpha1/zz_httphealthcheck_terraformed.go b/apis/compute/v1alpha1/zz_httphealthcheck_terraformed.go new file mode 100755 index 00000000..d91f345e --- /dev/null +++ b/apis/compute/v1alpha1/zz_httphealthcheck_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this HTTPHealthCheck +func (mg *HTTPHealthCheck) GetTerraformResourceType() string { + return "google_compute_http_health_check" +} + +// GetConnectionDetailsMapping for this HTTPHealthCheck +func (tr *HTTPHealthCheck) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this HTTPHealthCheck +func (tr *HTTPHealthCheck) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this HTTPHealthCheck +func (tr *HTTPHealthCheck) SetObservation(obs map[string]interface{}) 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 HTTPHealthCheck +func (tr *HTTPHealthCheck) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this HTTPHealthCheck +func (tr *HTTPHealthCheck) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this HTTPHealthCheck +func (tr *HTTPHealthCheck) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this HTTPHealthCheck using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *HTTPHealthCheck) LateInitialize(attrs []byte) (bool, error) { + params := &HTTPHealthCheckParameters_2{} + 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 *HTTPHealthCheck) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_httphealthcheck_types.go b/apis/compute/v1alpha1/zz_httphealthcheck_types.go new file mode 100755 index 00000000..cd167255 --- /dev/null +++ b/apis/compute/v1alpha1/zz_httphealthcheck_types.go @@ -0,0 +1,141 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 HTTPHealthCheckObservation_2 struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type HTTPHealthCheckParameters_2 struct { + + // How often (in seconds) to send a health check. The default value is 5 + // seconds. + // +kubebuilder:validation:Optional + CheckIntervalSec *int64 `json:"checkIntervalSec,omitempty" tf:"check_interval_sec,omitempty"` + + // An optional description of this resource. Provide this property when + // you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // A so-far unhealthy instance will be marked healthy after this many + // consecutive successes. The default value is 2. + // +kubebuilder:validation:Optional + HealthyThreshold *int64 `json:"healthyThreshold,omitempty" tf:"healthy_threshold,omitempty"` + + // The value of the host header in the HTTP health check request. If + // left empty (default value), the public IP on behalf of which this + // health check is performed will be used. + // +kubebuilder:validation:Optional + Host *string `json:"host,omitempty" tf:"host,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and + // match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means + // the first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the + // last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The TCP port number for the HTTP health check request. + // The default value is 80. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The request path of the HTTP health check request. + // The default value is /. + // +kubebuilder:validation:Optional + RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"` + + // How long (in seconds) to wait before claiming failure. + // The default value is 5 seconds. It is invalid for timeoutSec to have + // greater value than checkIntervalSec. + // +kubebuilder:validation:Optional + TimeoutSec *int64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"` + + // A so-far healthy instance will be marked unhealthy after this many + // consecutive failures. The default value is 2. + // +kubebuilder:validation:Optional + UnhealthyThreshold *int64 `json:"unhealthyThreshold,omitempty" tf:"unhealthy_threshold,omitempty"` +} + +// HTTPHealthCheckSpec defines the desired state of HTTPHealthCheck +type HTTPHealthCheckSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider HTTPHealthCheckParameters_2 `json:"forProvider"` +} + +// HTTPHealthCheckStatus defines the observed state of HTTPHealthCheck. +type HTTPHealthCheckStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider HTTPHealthCheckObservation_2 `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// HTTPHealthCheck is the Schema for the HTTPHealthChecks 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,gcpjet} +type HTTPHealthCheck struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HTTPHealthCheckSpec `json:"spec"` + Status HTTPHealthCheckStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// HTTPHealthCheckList contains a list of HTTPHealthChecks +type HTTPHealthCheckList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HTTPHealthCheck `json:"items"` +} + +// Repository type metadata. +var ( + HTTPHealthCheck_Kind = "HTTPHealthCheck" + HTTPHealthCheck_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: HTTPHealthCheck_Kind}.String() + HTTPHealthCheck_KindAPIVersion = HTTPHealthCheck_Kind + "." + CRDGroupVersion.String() + HTTPHealthCheck_GroupVersionKind = CRDGroupVersion.WithKind(HTTPHealthCheck_Kind) +) + +func init() { + SchemeBuilder.Register(&HTTPHealthCheck{}, &HTTPHealthCheckList{}) +} diff --git a/apis/compute/v1alpha1/zz_httpshealthcheck_terraformed.go b/apis/compute/v1alpha1/zz_httpshealthcheck_terraformed.go new file mode 100755 index 00000000..269be3bd --- /dev/null +++ b/apis/compute/v1alpha1/zz_httpshealthcheck_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this HTTPSHealthCheck +func (mg *HTTPSHealthCheck) GetTerraformResourceType() string { + return "google_compute_https_health_check" +} + +// GetConnectionDetailsMapping for this HTTPSHealthCheck +func (tr *HTTPSHealthCheck) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this HTTPSHealthCheck +func (tr *HTTPSHealthCheck) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this HTTPSHealthCheck +func (tr *HTTPSHealthCheck) SetObservation(obs map[string]interface{}) 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 HTTPSHealthCheck +func (tr *HTTPSHealthCheck) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this HTTPSHealthCheck +func (tr *HTTPSHealthCheck) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this HTTPSHealthCheck +func (tr *HTTPSHealthCheck) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this HTTPSHealthCheck using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *HTTPSHealthCheck) LateInitialize(attrs []byte) (bool, error) { + params := &HTTPSHealthCheckParameters_2{} + 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 *HTTPSHealthCheck) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_httpshealthcheck_types.go b/apis/compute/v1alpha1/zz_httpshealthcheck_types.go new file mode 100755 index 00000000..45f88001 --- /dev/null +++ b/apis/compute/v1alpha1/zz_httpshealthcheck_types.go @@ -0,0 +1,141 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 HTTPSHealthCheckObservation_2 struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type HTTPSHealthCheckParameters_2 struct { + + // How often (in seconds) to send a health check. The default value is 5 + // seconds. + // +kubebuilder:validation:Optional + CheckIntervalSec *int64 `json:"checkIntervalSec,omitempty" tf:"check_interval_sec,omitempty"` + + // An optional description of this resource. Provide this property when + // you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // A so-far unhealthy instance will be marked healthy after this many + // consecutive successes. The default value is 2. + // +kubebuilder:validation:Optional + HealthyThreshold *int64 `json:"healthyThreshold,omitempty" tf:"healthy_threshold,omitempty"` + + // The value of the host header in the HTTPS health check request. If + // left empty (default value), the public IP on behalf of which this + // health check is performed will be used. + // +kubebuilder:validation:Optional + Host *string `json:"host,omitempty" tf:"host,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and + // match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means + // the first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the + // last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The TCP port number for the HTTPS health check request. + // The default value is 443. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The request path of the HTTPS health check request. + // The default value is /. + // +kubebuilder:validation:Optional + RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"` + + // How long (in seconds) to wait before claiming failure. + // The default value is 5 seconds. It is invalid for timeoutSec to have + // greater value than checkIntervalSec. + // +kubebuilder:validation:Optional + TimeoutSec *int64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"` + + // A so-far healthy instance will be marked unhealthy after this many + // consecutive failures. The default value is 2. + // +kubebuilder:validation:Optional + UnhealthyThreshold *int64 `json:"unhealthyThreshold,omitempty" tf:"unhealthy_threshold,omitempty"` +} + +// HTTPSHealthCheckSpec defines the desired state of HTTPSHealthCheck +type HTTPSHealthCheckSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider HTTPSHealthCheckParameters_2 `json:"forProvider"` +} + +// HTTPSHealthCheckStatus defines the observed state of HTTPSHealthCheck. +type HTTPSHealthCheckStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider HTTPSHealthCheckObservation_2 `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// HTTPSHealthCheck is the Schema for the HTTPSHealthChecks 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,gcpjet} +type HTTPSHealthCheck struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HTTPSHealthCheckSpec `json:"spec"` + Status HTTPSHealthCheckStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// HTTPSHealthCheckList contains a list of HTTPSHealthChecks +type HTTPSHealthCheckList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HTTPSHealthCheck `json:"items"` +} + +// Repository type metadata. +var ( + HTTPSHealthCheck_Kind = "HTTPSHealthCheck" + HTTPSHealthCheck_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: HTTPSHealthCheck_Kind}.String() + HTTPSHealthCheck_KindAPIVersion = HTTPSHealthCheck_Kind + "." + CRDGroupVersion.String() + HTTPSHealthCheck_GroupVersionKind = CRDGroupVersion.WithKind(HTTPSHealthCheck_Kind) +) + +func init() { + SchemeBuilder.Register(&HTTPSHealthCheck{}, &HTTPSHealthCheckList{}) +} diff --git a/apis/compute/v1alpha1/zz_image_terraformed.go b/apis/compute/v1alpha1/zz_image_terraformed.go new file mode 100755 index 00000000..649c2c10 --- /dev/null +++ b/apis/compute/v1alpha1/zz_image_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Image +func (mg *Image) GetTerraformResourceType() string { + return "google_compute_image" +} + +// GetConnectionDetailsMapping for this Image +func (tr *Image) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Image +func (tr *Image) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Image +func (tr *Image) SetObservation(obs map[string]interface{}) 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 Image +func (tr *Image) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Image +func (tr *Image) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Image +func (tr *Image) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Image using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Image) LateInitialize(attrs []byte) (bool, error) { + params := &ImageParameters{} + 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 *Image) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_image_types.go b/apis/compute/v1alpha1/zz_image_types.go new file mode 100755 index 00000000..cf14fb54 --- /dev/null +++ b/apis/compute/v1alpha1/zz_image_types.go @@ -0,0 +1,199 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 GuestOsFeaturesObservation struct { +} + +type GuestOsFeaturesParameters struct { + + // The type of supported feature. Read [Enabling guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) to see a list of available options. Possible values: ["MULTI_IP_SUBNET", "SECURE_BOOT", "SEV_CAPABLE", "UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", "WINDOWS", "GVNIC"] + // +kubebuilder:validation:Required + Type *string `json:"type" tf:"type,omitempty"` +} + +type ImageObservation struct { + ArchiveSizeBytes *int64 `json:"archiveSizeBytes,omitempty" tf:"archive_size_bytes,omitempty"` + + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type ImageParameters struct { + + // An optional description of this resource. Provide this property when + // you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Size of the image when restored onto a persistent disk (in GB). + // +kubebuilder:validation:Optional + DiskSizeGb *int64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"` + + // The name of the image family to which this image belongs. You can + // create disks by specifying an image family instead of a specific + // image name. The image family always returns its latest image that is + // not deprecated. The name of the image family must comply with + // RFC1035. + // +kubebuilder:validation:Optional + Family *string `json:"family,omitempty" tf:"family,omitempty"` + + // A list of features to enable on the guest operating system. + // Applicable only for bootable images. + // +kubebuilder:validation:Optional + GuestOsFeatures []GuestOsFeaturesParameters `json:"guestOsFeatures,omitempty" tf:"guest_os_features,omitempty"` + + // Labels to apply to this Image. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Any applicable license URI. + // +kubebuilder:validation:Optional + Licenses []*string `json:"licenses,omitempty" tf:"licenses,omitempty"` + + // Name of the resource; provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and + // match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means + // the first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the + // last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The parameters of the raw disk image. + // +kubebuilder:validation:Optional + RawDisk []RawDiskParameters `json:"rawDisk,omitempty" tf:"raw_disk,omitempty"` + + // The source disk to create this image based on. + // You must provide either this property or the + // rawDisk.source property but not both to create an image. + // +kubebuilder:validation:Optional + SourceDisk *string `json:"sourceDisk,omitempty" tf:"source_disk,omitempty"` + + // URL of the source image used to create this image. In order to create an image, you must provide the full or partial + // URL of one of the following: + // + // * The selfLink URL + // * This property + // * The rawDisk.source URL + // * The sourceDisk URL + // +kubebuilder:validation:Optional + SourceImage *string `json:"sourceImage,omitempty" tf:"source_image,omitempty"` + + // URL of the source snapshot used to create this image. + // + // In order to create an image, you must provide the full or partial URL of one of the following: + // + // * The selfLink URL + // * This property + // * The sourceImage URL + // * The rawDisk.source URL + // * The sourceDisk URL + // +kubebuilder:validation:Optional + SourceSnapshot *string `json:"sourceSnapshot,omitempty" tf:"source_snapshot,omitempty"` +} + +type RawDiskObservation struct { +} + +type RawDiskParameters struct { + + // The format used to encode and transmit the block device, which + // should be TAR. This is just a container and transmission format + // and not a runtime format. Provided by the client when the disk + // image is created. Default value: "TAR" Possible values: ["TAR"] + // +kubebuilder:validation:Optional + ContainerType *string `json:"containerType,omitempty" tf:"container_type,omitempty"` + + // An optional SHA1 checksum of the disk image before unpackaging. + // This is provided by the client when the disk image is created. + // +kubebuilder:validation:Optional + Sha1 *string `json:"sha1,omitempty" tf:"sha1,omitempty"` + + // The full Google Cloud Storage URL where disk storage is stored + // You must provide either this property or the sourceDisk property + // but not both. + // +kubebuilder:validation:Required + Source *string `json:"source" tf:"source,omitempty"` +} + +// ImageSpec defines the desired state of Image +type ImageSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ImageParameters `json:"forProvider"` +} + +// ImageStatus defines the observed state of Image. +type ImageStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ImageObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Image is the Schema for the Images 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,gcpjet} +type Image struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ImageSpec `json:"spec"` + Status ImageStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ImageList contains a list of Images +type ImageList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Image `json:"items"` +} + +// Repository type metadata. +var ( + Image_Kind = "Image" + Image_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Image_Kind}.String() + Image_KindAPIVersion = Image_Kind + "." + CRDGroupVersion.String() + Image_GroupVersionKind = CRDGroupVersion.WithKind(Image_Kind) +) + +func init() { + SchemeBuilder.Register(&Image{}, &ImageList{}) +} diff --git a/apis/compute/v1alpha1/zz_imageiambinding_terraformed.go b/apis/compute/v1alpha1/zz_imageiambinding_terraformed.go new file mode 100755 index 00000000..b0a05d8c --- /dev/null +++ b/apis/compute/v1alpha1/zz_imageiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ImageIAMBinding +func (mg *ImageIAMBinding) GetTerraformResourceType() string { + return "google_compute_image_iam_binding" +} + +// GetConnectionDetailsMapping for this ImageIAMBinding +func (tr *ImageIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ImageIAMBinding +func (tr *ImageIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ImageIAMBinding +func (tr *ImageIAMBinding) SetObservation(obs map[string]interface{}) 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 ImageIAMBinding +func (tr *ImageIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ImageIAMBinding +func (tr *ImageIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ImageIAMBinding +func (tr *ImageIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ImageIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ImageIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &ImageIAMBindingParameters{} + 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 *ImageIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_imageiambinding_types.go b/apis/compute/v1alpha1/zz_imageiambinding_types.go new file mode 100755 index 00000000..640c1faa --- /dev/null +++ b/apis/compute/v1alpha1/zz_imageiambinding_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ImageIAMBindingConditionObservation struct { +} + +type ImageIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type ImageIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ImageIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ImageIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Image *string `json:"image" tf:"image,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// ImageIAMBindingSpec defines the desired state of ImageIAMBinding +type ImageIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ImageIAMBindingParameters `json:"forProvider"` +} + +// ImageIAMBindingStatus defines the observed state of ImageIAMBinding. +type ImageIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ImageIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ImageIAMBinding is the Schema for the ImageIAMBindings 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,gcpjet} +type ImageIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ImageIAMBindingSpec `json:"spec"` + Status ImageIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ImageIAMBindingList contains a list of ImageIAMBindings +type ImageIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ImageIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + ImageIAMBinding_Kind = "ImageIAMBinding" + ImageIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ImageIAMBinding_Kind}.String() + ImageIAMBinding_KindAPIVersion = ImageIAMBinding_Kind + "." + CRDGroupVersion.String() + ImageIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(ImageIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&ImageIAMBinding{}, &ImageIAMBindingList{}) +} diff --git a/apis/compute/v1alpha1/zz_imageiammember_terraformed.go b/apis/compute/v1alpha1/zz_imageiammember_terraformed.go new file mode 100755 index 00000000..78ff4213 --- /dev/null +++ b/apis/compute/v1alpha1/zz_imageiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ImageIAMMember +func (mg *ImageIAMMember) GetTerraformResourceType() string { + return "google_compute_image_iam_member" +} + +// GetConnectionDetailsMapping for this ImageIAMMember +func (tr *ImageIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ImageIAMMember +func (tr *ImageIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ImageIAMMember +func (tr *ImageIAMMember) SetObservation(obs map[string]interface{}) 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 ImageIAMMember +func (tr *ImageIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ImageIAMMember +func (tr *ImageIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ImageIAMMember +func (tr *ImageIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ImageIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ImageIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &ImageIAMMemberParameters{} + 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 *ImageIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_imageiammember_types.go b/apis/compute/v1alpha1/zz_imageiammember_types.go new file mode 100755 index 00000000..691136ea --- /dev/null +++ b/apis/compute/v1alpha1/zz_imageiammember_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ImageIAMMemberConditionObservation struct { +} + +type ImageIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type ImageIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ImageIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []ImageIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Image *string `json:"image" tf:"image,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// ImageIAMMemberSpec defines the desired state of ImageIAMMember +type ImageIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ImageIAMMemberParameters `json:"forProvider"` +} + +// ImageIAMMemberStatus defines the observed state of ImageIAMMember. +type ImageIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ImageIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ImageIAMMember is the Schema for the ImageIAMMembers 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,gcpjet} +type ImageIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ImageIAMMemberSpec `json:"spec"` + Status ImageIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ImageIAMMemberList contains a list of ImageIAMMembers +type ImageIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ImageIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + ImageIAMMember_Kind = "ImageIAMMember" + ImageIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ImageIAMMember_Kind}.String() + ImageIAMMember_KindAPIVersion = ImageIAMMember_Kind + "." + CRDGroupVersion.String() + ImageIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(ImageIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&ImageIAMMember{}, &ImageIAMMemberList{}) +} diff --git a/apis/compute/v1alpha1/zz_imageiampolicy_terraformed.go b/apis/compute/v1alpha1/zz_imageiampolicy_terraformed.go new file mode 100755 index 00000000..67af6657 --- /dev/null +++ b/apis/compute/v1alpha1/zz_imageiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ImageIAMPolicy +func (mg *ImageIAMPolicy) GetTerraformResourceType() string { + return "google_compute_image_iam_policy" +} + +// GetConnectionDetailsMapping for this ImageIAMPolicy +func (tr *ImageIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ImageIAMPolicy +func (tr *ImageIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ImageIAMPolicy +func (tr *ImageIAMPolicy) SetObservation(obs map[string]interface{}) 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 ImageIAMPolicy +func (tr *ImageIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ImageIAMPolicy +func (tr *ImageIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ImageIAMPolicy +func (tr *ImageIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ImageIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ImageIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &ImageIAMPolicyParameters{} + 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 *ImageIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_imageiampolicy_types.go b/apis/compute/v1alpha1/zz_imageiampolicy_types.go new file mode 100755 index 00000000..33af5603 --- /dev/null +++ b/apis/compute/v1alpha1/zz_imageiampolicy_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ImageIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ImageIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + Image *string `json:"image" tf:"image,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// ImageIAMPolicySpec defines the desired state of ImageIAMPolicy +type ImageIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ImageIAMPolicyParameters `json:"forProvider"` +} + +// ImageIAMPolicyStatus defines the observed state of ImageIAMPolicy. +type ImageIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ImageIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ImageIAMPolicy is the Schema for the ImageIAMPolicys 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,gcpjet} +type ImageIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ImageIAMPolicySpec `json:"spec"` + Status ImageIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ImageIAMPolicyList contains a list of ImageIAMPolicys +type ImageIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ImageIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + ImageIAMPolicy_Kind = "ImageIAMPolicy" + ImageIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ImageIAMPolicy_Kind}.String() + ImageIAMPolicy_KindAPIVersion = ImageIAMPolicy_Kind + "." + CRDGroupVersion.String() + ImageIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(ImageIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&ImageIAMPolicy{}, &ImageIAMPolicyList{}) +} diff --git a/apis/compute/v1alpha1/zz_instancegroup_terraformed.go b/apis/compute/v1alpha1/zz_instancegroup_terraformed.go new file mode 100755 index 00000000..56e8e513 --- /dev/null +++ b/apis/compute/v1alpha1/zz_instancegroup_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceGroup +func (mg *InstanceGroup) GetTerraformResourceType() string { + return "google_compute_instance_group" +} + +// GetConnectionDetailsMapping for this InstanceGroup +func (tr *InstanceGroup) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceGroup +func (tr *InstanceGroup) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceGroup +func (tr *InstanceGroup) SetObservation(obs map[string]interface{}) 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 InstanceGroup +func (tr *InstanceGroup) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceGroup +func (tr *InstanceGroup) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceGroup +func (tr *InstanceGroup) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceGroup using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceGroup) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceGroupParameters{} + 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 *InstanceGroup) GetTerraformSchemaVersion() int { + return 2 +} diff --git a/apis/compute/v1alpha1/zz_instancegroup_types.go b/apis/compute/v1alpha1/zz_instancegroup_types.go new file mode 100755 index 00000000..1e666649 --- /dev/null +++ b/apis/compute/v1alpha1/zz_instancegroup_types.go @@ -0,0 +1,128 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceGroupObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + Size *int64 `json:"size,omitempty" tf:"size,omitempty"` +} + +type InstanceGroupParameters struct { + + // An optional textual description of the instance group. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // List of instances in the group. They should be given as self_link URLs. When adding instances they must all be in the same network and zone as the instance group. + // +kubebuilder:validation:Optional + Instances []*string `json:"instances,omitempty" tf:"instances,omitempty"` + + // The name of the instance group. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The named port configuration. + // +kubebuilder:validation:Optional + NamedPort []NamedPortParameters `json:"namedPort,omitempty" tf:"named_port,omitempty"` + + // The URL of the network the instance group is in. If this is different from the network where the instances are in, the creation fails. Defaults to the network where the instances are in (if neither network nor instances is specified, this field will be blank). + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The zone that this instance group should be created in. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type NamedPortObservation struct { +} + +type NamedPortParameters struct { + + // The name which the port will be mapped to. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The port number to map the name to. + // +kubebuilder:validation:Required + Port *int64 `json:"port" tf:"port,omitempty"` +} + +// InstanceGroupSpec defines the desired state of InstanceGroup +type InstanceGroupSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceGroupParameters `json:"forProvider"` +} + +// InstanceGroupStatus defines the observed state of InstanceGroup. +type InstanceGroupStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceGroupObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceGroup is the Schema for the InstanceGroups 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,gcpjet} +type InstanceGroup struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceGroupSpec `json:"spec"` + Status InstanceGroupStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceGroupList contains a list of InstanceGroups +type InstanceGroupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceGroup `json:"items"` +} + +// Repository type metadata. +var ( + InstanceGroup_Kind = "InstanceGroup" + InstanceGroup_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceGroup_Kind}.String() + InstanceGroup_KindAPIVersion = InstanceGroup_Kind + "." + CRDGroupVersion.String() + InstanceGroup_GroupVersionKind = CRDGroupVersion.WithKind(InstanceGroup_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceGroup{}, &InstanceGroupList{}) +} diff --git a/apis/compute/v1alpha1/zz_instancegroupmanager_terraformed.go b/apis/compute/v1alpha1/zz_instancegroupmanager_terraformed.go new file mode 100755 index 00000000..9a2dcb0f --- /dev/null +++ b/apis/compute/v1alpha1/zz_instancegroupmanager_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceGroupManager +func (mg *InstanceGroupManager) GetTerraformResourceType() string { + return "google_compute_instance_group_manager" +} + +// GetConnectionDetailsMapping for this InstanceGroupManager +func (tr *InstanceGroupManager) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceGroupManager +func (tr *InstanceGroupManager) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceGroupManager +func (tr *InstanceGroupManager) SetObservation(obs map[string]interface{}) 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 InstanceGroupManager +func (tr *InstanceGroupManager) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceGroupManager +func (tr *InstanceGroupManager) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceGroupManager +func (tr *InstanceGroupManager) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceGroupManager using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceGroupManager) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceGroupManagerParameters{} + 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 *InstanceGroupManager) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_instancegroupmanager_types.go b/apis/compute/v1alpha1/zz_instancegroupmanager_types.go new file mode 100755 index 00000000..313e041f --- /dev/null +++ b/apis/compute/v1alpha1/zz_instancegroupmanager_types.go @@ -0,0 +1,290 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AutoHealingPoliciesObservation struct { +} + +type AutoHealingPoliciesParameters struct { + + // The health check resource that signals autohealing. + // +kubebuilder:validation:Required + HealthCheck *string `json:"healthCheck" tf:"health_check,omitempty"` + + // The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600. + // +kubebuilder:validation:Required + InitialDelaySec *int64 `json:"initialDelaySec" tf:"initial_delay_sec,omitempty"` +} + +type InstanceGroupManagerNamedPortObservation struct { +} + +type InstanceGroupManagerNamedPortParameters struct { + + // The name of the port. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The port number. + // +kubebuilder:validation:Required + Port *int64 `json:"port" tf:"port,omitempty"` +} + +type InstanceGroupManagerObservation struct { + Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + InstanceGroup *string `json:"instanceGroup,omitempty" tf:"instance_group,omitempty"` + + Operation *string `json:"operation,omitempty" tf:"operation,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + Status []StatusObservation `json:"status,omitempty" tf:"status,omitempty"` +} + +type InstanceGroupManagerParameters struct { + + // The autohealing policies for this managed instance group. You can specify only one value. + // +kubebuilder:validation:Optional + AutoHealingPolicies []AutoHealingPoliciesParameters `json:"autoHealingPolicies,omitempty" tf:"auto_healing_policies,omitempty"` + + // The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name. + // +kubebuilder:validation:Required + BaseInstanceName *string `json:"baseInstanceName" tf:"base_instance_name,omitempty"` + + // An optional textual description of the instance group manager. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The named port configuration. + // +kubebuilder:validation:Optional + NamedPort []InstanceGroupManagerNamedPortParameters `json:"namedPort,omitempty" tf:"named_port,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Disks created on the instances that will be preserved on instance delete, update, etc. + // +kubebuilder:validation:Optional + StatefulDisk []StatefulDiskParameters `json:"statefulDisk,omitempty" tf:"stateful_disk,omitempty"` + + // The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances. + // +kubebuilder:validation:Optional + TargetPools []*string `json:"targetPools,omitempty" tf:"target_pools,omitempty"` + + // The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0. + // +kubebuilder:validation:Optional + TargetSize *int64 `json:"targetSize,omitempty" tf:"target_size,omitempty"` + + // The update policy for this managed instance group. + // +kubebuilder:validation:Optional + UpdatePolicy []UpdatePolicyParameters `json:"updatePolicy,omitempty" tf:"update_policy,omitempty"` + + // Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. + // +kubebuilder:validation:Required + Version []VersionParameters `json:"version" tf:"version,omitempty"` + + // Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, Terraform will continue trying until it times out. + // +kubebuilder:validation:Optional + WaitForInstances *bool `json:"waitForInstances,omitempty" tf:"wait_for_instances,omitempty"` + + // When used with wait_for_instances specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. + // +kubebuilder:validation:Optional + WaitForInstancesStatus *string `json:"waitForInstancesStatus,omitempty" tf:"wait_for_instances_status,omitempty"` + + // The zone that instances in this group should be created in. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type PerInstanceConfigsObservation struct { + AllEffective *bool `json:"allEffective,omitempty" tf:"all_effective,omitempty"` +} + +type PerInstanceConfigsParameters struct { +} + +type StatefulDiskObservation struct { +} + +type StatefulDiskParameters struct { + + // A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER. + // +kubebuilder:validation:Optional + DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"` + + // The device name of the disk to be attached. + // +kubebuilder:validation:Required + DeviceName *string `json:"deviceName" tf:"device_name,omitempty"` +} + +type StatefulObservation struct { + HasStatefulConfig *bool `json:"hasStatefulConfig,omitempty" tf:"has_stateful_config,omitempty"` + + PerInstanceConfigs []PerInstanceConfigsObservation `json:"perInstanceConfigs,omitempty" tf:"per_instance_configs,omitempty"` +} + +type StatefulParameters struct { +} + +type StatusObservation struct { + IsStable *bool `json:"isStable,omitempty" tf:"is_stable,omitempty"` + + Stateful []StatefulObservation `json:"stateful,omitempty" tf:"stateful,omitempty"` + + VersionTarget []VersionTargetObservation `json:"versionTarget,omitempty" tf:"version_target,omitempty"` +} + +type StatusParameters struct { +} + +type TargetSizeObservation struct { +} + +type TargetSizeParameters struct { + + // The number of instances which are managed for this version. Conflicts with percent. + // +kubebuilder:validation:Optional + Fixed *int64 `json:"fixed,omitempty" tf:"fixed,omitempty"` + + // The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed. Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions, one of which has a target_size.percent of 60 will create 2 instances of that version. + // +kubebuilder:validation:Optional + Percent *int64 `json:"percent,omitempty" tf:"percent,omitempty"` +} + +type UpdatePolicyObservation struct { +} + +type UpdatePolicyParameters struct { + + // The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with max_surge_percent. If neither is set, defaults to 1 + // +kubebuilder:validation:Optional + MaxSurgeFixed *int64 `json:"maxSurgeFixed,omitempty" tf:"max_surge_fixed,omitempty"` + + // The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with max_surge_fixed. + // +kubebuilder:validation:Optional + MaxSurgePercent *int64 `json:"maxSurgePercent,omitempty" tf:"max_surge_percent,omitempty"` + + // The maximum number of instances that can be unavailable during the update process. Conflicts with max_unavailable_percent. If neither is set, defaults to 1. + // +kubebuilder:validation:Optional + MaxUnavailableFixed *int64 `json:"maxUnavailableFixed,omitempty" tf:"max_unavailable_fixed,omitempty"` + + // The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed. + // +kubebuilder:validation:Optional + MaxUnavailablePercent *int64 `json:"maxUnavailablePercent,omitempty" tf:"max_unavailable_percent,omitempty"` + + // Minimal action to be taken on an instance. You can specify either RESTART to restart existing instances or REPLACE to delete and create new instances from the target template. If you specify a RESTART, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action. + // +kubebuilder:validation:Required + MinimalAction *string `json:"minimalAction" tf:"minimal_action,omitempty"` + + // The instance replacement method for managed instance groups. Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved. You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0. + // +kubebuilder:validation:Optional + ReplacementMethod *string `json:"replacementMethod,omitempty" tf:"replacement_method,omitempty"` + + // The type of update process. You can specify either PROACTIVE so that the instance group manager proactively executes actions in order to bring instances to their target versions or OPPORTUNISTIC so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls). + // +kubebuilder:validation:Required + Type *string `json:"type" tf:"type,omitempty"` +} + +type VersionObservation struct { +} + +type VersionParameters struct { + + // The full URL to an instance template from which all new instances of this version will be created. + // +kubebuilder:validation:Required + InstanceTemplate *string `json:"instanceTemplate" tf:"instance_template,omitempty"` + + // Version name. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // The number of instances calculated as a fixed number or a percentage depending on the settings. + // +kubebuilder:validation:Optional + TargetSize []TargetSizeParameters `json:"targetSize,omitempty" tf:"target_size,omitempty"` +} + +type VersionTargetObservation struct { + IsReached *bool `json:"isReached,omitempty" tf:"is_reached,omitempty"` +} + +type VersionTargetParameters struct { +} + +// InstanceGroupManagerSpec defines the desired state of InstanceGroupManager +type InstanceGroupManagerSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceGroupManagerParameters `json:"forProvider"` +} + +// InstanceGroupManagerStatus defines the observed state of InstanceGroupManager. +type InstanceGroupManagerStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceGroupManagerObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceGroupManager is the Schema for the InstanceGroupManagers 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,gcpjet} +type InstanceGroupManager struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceGroupManagerSpec `json:"spec"` + Status InstanceGroupManagerStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceGroupManagerList contains a list of InstanceGroupManagers +type InstanceGroupManagerList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceGroupManager `json:"items"` +} + +// Repository type metadata. +var ( + InstanceGroupManager_Kind = "InstanceGroupManager" + InstanceGroupManager_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceGroupManager_Kind}.String() + InstanceGroupManager_KindAPIVersion = InstanceGroupManager_Kind + "." + CRDGroupVersion.String() + InstanceGroupManager_GroupVersionKind = CRDGroupVersion.WithKind(InstanceGroupManager_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceGroupManager{}, &InstanceGroupManagerList{}) +} diff --git a/apis/compute/v1alpha1/zz_instancegroupnamedport_terraformed.go b/apis/compute/v1alpha1/zz_instancegroupnamedport_terraformed.go new file mode 100755 index 00000000..8349539f --- /dev/null +++ b/apis/compute/v1alpha1/zz_instancegroupnamedport_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceGroupNamedPort +func (mg *InstanceGroupNamedPort) GetTerraformResourceType() string { + return "google_compute_instance_group_named_port" +} + +// GetConnectionDetailsMapping for this InstanceGroupNamedPort +func (tr *InstanceGroupNamedPort) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceGroupNamedPort +func (tr *InstanceGroupNamedPort) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceGroupNamedPort +func (tr *InstanceGroupNamedPort) SetObservation(obs map[string]interface{}) 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 InstanceGroupNamedPort +func (tr *InstanceGroupNamedPort) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceGroupNamedPort +func (tr *InstanceGroupNamedPort) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceGroupNamedPort +func (tr *InstanceGroupNamedPort) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceGroupNamedPort using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceGroupNamedPort) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceGroupNamedPortParameters{} + 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 *InstanceGroupNamedPort) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_instancegroupnamedport_types.go b/apis/compute/v1alpha1/zz_instancegroupnamedport_types.go new file mode 100755 index 00000000..3d3747b9 --- /dev/null +++ b/apis/compute/v1alpha1/zz_instancegroupnamedport_types.go @@ -0,0 +1,102 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceGroupNamedPortObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceGroupNamedPortParameters struct { + + // The name of the instance group. + // +kubebuilder:validation:Required + Group *string `json:"group" tf:"group,omitempty"` + + // The name for this named port. The name must be 1-63 characters + // long, and comply with RFC1035. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The port number, which can be a value between 1 and 65535. + // +kubebuilder:validation:Required + Port *int64 `json:"port" tf:"port,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The zone of the instance group. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// InstanceGroupNamedPortSpec defines the desired state of InstanceGroupNamedPort +type InstanceGroupNamedPortSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceGroupNamedPortParameters `json:"forProvider"` +} + +// InstanceGroupNamedPortStatus defines the observed state of InstanceGroupNamedPort. +type InstanceGroupNamedPortStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceGroupNamedPortObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceGroupNamedPort is the Schema for the InstanceGroupNamedPorts 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,gcpjet} +type InstanceGroupNamedPort struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceGroupNamedPortSpec `json:"spec"` + Status InstanceGroupNamedPortStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceGroupNamedPortList contains a list of InstanceGroupNamedPorts +type InstanceGroupNamedPortList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceGroupNamedPort `json:"items"` +} + +// Repository type metadata. +var ( + InstanceGroupNamedPort_Kind = "InstanceGroupNamedPort" + InstanceGroupNamedPort_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceGroupNamedPort_Kind}.String() + InstanceGroupNamedPort_KindAPIVersion = InstanceGroupNamedPort_Kind + "." + CRDGroupVersion.String() + InstanceGroupNamedPort_GroupVersionKind = CRDGroupVersion.WithKind(InstanceGroupNamedPort_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceGroupNamedPort{}, &InstanceGroupNamedPortList{}) +} diff --git a/apis/compute/v1alpha1/zz_instanceiambinding_terraformed.go b/apis/compute/v1alpha1/zz_instanceiambinding_terraformed.go new file mode 100755 index 00000000..9453e755 --- /dev/null +++ b/apis/compute/v1alpha1/zz_instanceiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceIAMBinding +func (mg *InstanceIAMBinding) GetTerraformResourceType() string { + return "google_compute_instance_iam_binding" +} + +// GetConnectionDetailsMapping for this InstanceIAMBinding +func (tr *InstanceIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceIAMBinding +func (tr *InstanceIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceIAMBinding +func (tr *InstanceIAMBinding) SetObservation(obs map[string]interface{}) 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 InstanceIAMBinding +func (tr *InstanceIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceIAMBinding +func (tr *InstanceIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceIAMBinding +func (tr *InstanceIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceIAMBindingParameters{} + 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 *InstanceIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_instanceiambinding_types.go b/apis/compute/v1alpha1/zz_instanceiambinding_types.go new file mode 100755 index 00000000..28164b23 --- /dev/null +++ b/apis/compute/v1alpha1/zz_instanceiambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceIAMBindingConditionObservation struct { +} + +type InstanceIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type InstanceIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []InstanceIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + InstanceName *string `json:"instanceName" tf:"instance_name,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// InstanceIAMBindingSpec defines the desired state of InstanceIAMBinding +type InstanceIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceIAMBindingParameters `json:"forProvider"` +} + +// InstanceIAMBindingStatus defines the observed state of InstanceIAMBinding. +type InstanceIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMBinding is the Schema for the InstanceIAMBindings 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,gcpjet} +type InstanceIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceIAMBindingSpec `json:"spec"` + Status InstanceIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMBindingList contains a list of InstanceIAMBindings +type InstanceIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + InstanceIAMBinding_Kind = "InstanceIAMBinding" + InstanceIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceIAMBinding_Kind}.String() + InstanceIAMBinding_KindAPIVersion = InstanceIAMBinding_Kind + "." + CRDGroupVersion.String() + InstanceIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(InstanceIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceIAMBinding{}, &InstanceIAMBindingList{}) +} diff --git a/apis/compute/v1alpha1/zz_instanceiammember_terraformed.go b/apis/compute/v1alpha1/zz_instanceiammember_terraformed.go new file mode 100755 index 00000000..26e8d451 --- /dev/null +++ b/apis/compute/v1alpha1/zz_instanceiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceIAMMember +func (mg *InstanceIAMMember) GetTerraformResourceType() string { + return "google_compute_instance_iam_member" +} + +// GetConnectionDetailsMapping for this InstanceIAMMember +func (tr *InstanceIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceIAMMember +func (tr *InstanceIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceIAMMember +func (tr *InstanceIAMMember) SetObservation(obs map[string]interface{}) 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 InstanceIAMMember +func (tr *InstanceIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceIAMMember +func (tr *InstanceIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceIAMMember +func (tr *InstanceIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceIAMMemberParameters{} + 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 *InstanceIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_instanceiammember_types.go b/apis/compute/v1alpha1/zz_instanceiammember_types.go new file mode 100755 index 00000000..f2ea813d --- /dev/null +++ b/apis/compute/v1alpha1/zz_instanceiammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceIAMMemberConditionObservation struct { +} + +type InstanceIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type InstanceIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []InstanceIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + InstanceName *string `json:"instanceName" tf:"instance_name,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// InstanceIAMMemberSpec defines the desired state of InstanceIAMMember +type InstanceIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceIAMMemberParameters `json:"forProvider"` +} + +// InstanceIAMMemberStatus defines the observed state of InstanceIAMMember. +type InstanceIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMMember is the Schema for the InstanceIAMMembers 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,gcpjet} +type InstanceIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceIAMMemberSpec `json:"spec"` + Status InstanceIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMMemberList contains a list of InstanceIAMMembers +type InstanceIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + InstanceIAMMember_Kind = "InstanceIAMMember" + InstanceIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceIAMMember_Kind}.String() + InstanceIAMMember_KindAPIVersion = InstanceIAMMember_Kind + "." + CRDGroupVersion.String() + InstanceIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(InstanceIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceIAMMember{}, &InstanceIAMMemberList{}) +} diff --git a/apis/compute/v1alpha1/zz_instanceiampolicy_terraformed.go b/apis/compute/v1alpha1/zz_instanceiampolicy_terraformed.go new file mode 100755 index 00000000..15ddcdc4 --- /dev/null +++ b/apis/compute/v1alpha1/zz_instanceiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceIAMPolicy +func (mg *InstanceIAMPolicy) GetTerraformResourceType() string { + return "google_compute_instance_iam_policy" +} + +// GetConnectionDetailsMapping for this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) SetObservation(obs map[string]interface{}) 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 InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceIAMPolicyParameters{} + 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 *InstanceIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_instanceiampolicy_types.go b/apis/compute/v1alpha1/zz_instanceiampolicy_types.go new file mode 100755 index 00000000..10ce1f56 --- /dev/null +++ b/apis/compute/v1alpha1/zz_instanceiampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + InstanceName *string `json:"instanceName" tf:"instance_name,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// InstanceIAMPolicySpec defines the desired state of InstanceIAMPolicy +type InstanceIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceIAMPolicyParameters `json:"forProvider"` +} + +// InstanceIAMPolicyStatus defines the observed state of InstanceIAMPolicy. +type InstanceIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMPolicy is the Schema for the InstanceIAMPolicys 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,gcpjet} +type InstanceIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceIAMPolicySpec `json:"spec"` + Status InstanceIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMPolicyList contains a list of InstanceIAMPolicys +type InstanceIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + InstanceIAMPolicy_Kind = "InstanceIAMPolicy" + InstanceIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceIAMPolicy_Kind}.String() + InstanceIAMPolicy_KindAPIVersion = InstanceIAMPolicy_Kind + "." + CRDGroupVersion.String() + InstanceIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(InstanceIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceIAMPolicy{}, &InstanceIAMPolicyList{}) +} diff --git a/apis/compute/v1alpha1/zz_interconnectattachment_terraformed.go b/apis/compute/v1alpha1/zz_interconnectattachment_terraformed.go new file mode 100755 index 00000000..6d0bf079 --- /dev/null +++ b/apis/compute/v1alpha1/zz_interconnectattachment_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InterconnectAttachment +func (mg *InterconnectAttachment) GetTerraformResourceType() string { + return "google_compute_interconnect_attachment" +} + +// GetConnectionDetailsMapping for this InterconnectAttachment +func (tr *InterconnectAttachment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InterconnectAttachment +func (tr *InterconnectAttachment) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InterconnectAttachment +func (tr *InterconnectAttachment) SetObservation(obs map[string]interface{}) 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 InterconnectAttachment +func (tr *InterconnectAttachment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InterconnectAttachment +func (tr *InterconnectAttachment) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InterconnectAttachment +func (tr *InterconnectAttachment) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InterconnectAttachment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InterconnectAttachment) LateInitialize(attrs []byte) (bool, error) { + params := &InterconnectAttachmentParameters{} + 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 *InterconnectAttachment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_interconnectattachment_types.go b/apis/compute/v1alpha1/zz_interconnectattachment_types.go new file mode 100755 index 00000000..8f67a54c --- /dev/null +++ b/apis/compute/v1alpha1/zz_interconnectattachment_types.go @@ -0,0 +1,226 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InterconnectAttachmentObservation struct { + CloudRouterIPAddress *string `json:"cloudRouterIpAddress,omitempty" tf:"cloud_router_ip_address,omitempty"` + + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + CustomerRouterIPAddress *string `json:"customerRouterIpAddress,omitempty" tf:"customer_router_ip_address,omitempty"` + + GoogleReferenceID *string `json:"googleReferenceId,omitempty" tf:"google_reference_id,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + PairingKey *string `json:"pairingKey,omitempty" tf:"pairing_key,omitempty"` + + PartnerAsn *string `json:"partnerAsn,omitempty" tf:"partner_asn,omitempty"` + + PrivateInterconnectInfo []PrivateInterconnectInfoObservation `json:"privateInterconnectInfo,omitempty" tf:"private_interconnect_info,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + State *string `json:"state,omitempty" tf:"state,omitempty"` +} + +type InterconnectAttachmentParameters struct { + + // Whether the VLAN attachment is enabled or disabled. When using + // PARTNER type this will Pre-Activate the interconnect attachment + // +kubebuilder:validation:Optional + AdminEnabled *bool `json:"adminEnabled,omitempty" tf:"admin_enabled,omitempty"` + + // Provisioned bandwidth capacity for the interconnect attachment. + // For attachments of type DEDICATED, the user can set the bandwidth. + // For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. + // Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, + // Defaults to BPS_10G Possible values: ["BPS_50M", "BPS_100M", "BPS_200M", "BPS_300M", "BPS_400M", "BPS_500M", "BPS_1G", "BPS_2G", "BPS_5G", "BPS_10G", "BPS_20G", "BPS_50G"] + // +kubebuilder:validation:Optional + Bandwidth *string `json:"bandwidth,omitempty" tf:"bandwidth,omitempty"` + + // Up to 16 candidate prefixes that can be used to restrict the allocation + // of cloudRouterIpAddress and customerRouterIpAddress for this attachment. + // All prefixes must be within link-local address space (169.254.0.0/16) + // and must be /29 or shorter (/28, /27, etc). Google will attempt to select + // an unused /29 from the supplied candidate prefix(es). The request will + // fail if all possible /29s are in use on Google's edge. If not supplied, + // Google will randomly select an unused /29 from all of link-local space. + // +kubebuilder:validation:Optional + CandidateSubnets []*string `json:"candidateSubnets,omitempty" tf:"candidate_subnets,omitempty"` + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Desired availability domain for the attachment. Only available for type + // PARTNER, at creation time. For improved reliability, customers should + // configure a pair of attachments with one per availability domain. The + // selected availability domain will be provided to the Partner via the + // pairing key so that the provisioned circuit will lie in the specified + // domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY. + // +kubebuilder:validation:Optional + EdgeAvailabilityDomain *string `json:"edgeAvailabilityDomain,omitempty" tf:"edge_availability_domain,omitempty"` + + // Indicates the user-supplied encryption option of this interconnect + // attachment: + // + // NONE is the default value, which means that the attachment carries + // unencrypted traffic. VMs can send traffic to, or receive traffic + // from, this type of attachment. + // + // IPSEC indicates that the attachment carries only traffic encrypted by + // an IPsec device such as an HA VPN gateway. VMs cannot directly send + // traffic to, or receive traffic from, such an attachment. To use + // IPsec-encrypted Cloud Interconnect create the attachment using this + // option. + // + // Not currently available publicly. Default value: "NONE" Possible values: ["NONE", "IPSEC"] + // +kubebuilder:validation:Optional + Encryption *string `json:"encryption,omitempty" tf:"encryption,omitempty"` + + // URL of the underlying Interconnect object that this attachment's + // traffic will traverse through. Required if type is DEDICATED, must not + // be set if type is PARTNER. + // +kubebuilder:validation:Optional + Interconnect *string `json:"interconnect,omitempty" tf:"interconnect,omitempty"` + + // URL of addresses that have been reserved for the interconnect + // attachment, Used only for interconnect attachment that has the + // encryption option as IPSEC. + // + // The addresses must be RFC 1918 IP address ranges. When creating HA + // VPN gateway over the interconnect attachment, if the attachment is + // configured to use an RFC 1918 IP address, then the VPN gateway's IP + // address will be allocated from the IP address range specified + // here. + // + // For example, if the HA VPN gateway's interface 0 is paired to this + // interconnect attachment, then an RFC 1918 IP address for the VPN + // gateway interface 0 will be allocated from the IP address specified + // for this interconnect attachment. + // + // If this field is not specified for interconnect attachment that has + // encryption option as IPSEC, later on when creating HA VPN gateway on + // this interconnect attachment, the HA VPN gateway's IP address will be + // allocated from regional external IP address pool. + // +kubebuilder:validation:Optional + IpsecInternalAddresses []*string `json:"ipsecInternalAddresses,omitempty" tf:"ipsec_internal_addresses,omitempty"` + + // Maximum Transmission Unit (MTU), in bytes, of packets passing through + // this interconnect attachment. Currently, only 1440 and 1500 are allowed. If not specified, the value will default to 1440. + // +kubebuilder:validation:Optional + Mtu *string `json:"mtu,omitempty" tf:"mtu,omitempty"` + + // Name of the resource. Provided by the client when the resource is created. The + // name must be 1-63 characters long, and comply with RFC1035. Specifically, the + // name must be 1-63 characters long and match the regular expression + // '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a + // lowercase letter, and all following characters must be a dash, lowercase + // letter, or digit, except the last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Region where the regional interconnect attachment resides. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // URL of the cloud router to be used for dynamic routing. This router must be in + // the same region as this InterconnectAttachment. The InterconnectAttachment will + // automatically connect the Interconnect to the network & region within which the + // Cloud Router is configured. + // +kubebuilder:validation:Required + Router *string `json:"router" tf:"router,omitempty"` + + // The type of InterconnectAttachment you wish to create. Defaults to + // DEDICATED. Possible values: ["DEDICATED", "PARTNER", "PARTNER_PROVIDER"] + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` + + // The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. When + // using PARTNER type this will be managed upstream. + // +kubebuilder:validation:Optional + VlanTag8021Q *int64 `json:"vlanTag8021Q,omitempty" tf:"vlan_tag8021q,omitempty"` +} + +type PrivateInterconnectInfoObservation struct { + Tag8021Q *int64 `json:"tag8021q,omitempty" tf:"tag8021q,omitempty"` +} + +type PrivateInterconnectInfoParameters struct { +} + +// InterconnectAttachmentSpec defines the desired state of InterconnectAttachment +type InterconnectAttachmentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InterconnectAttachmentParameters `json:"forProvider"` +} + +// InterconnectAttachmentStatus defines the observed state of InterconnectAttachment. +type InterconnectAttachmentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InterconnectAttachmentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InterconnectAttachment is the Schema for the InterconnectAttachments 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,gcpjet} +type InterconnectAttachment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InterconnectAttachmentSpec `json:"spec"` + Status InterconnectAttachmentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InterconnectAttachmentList contains a list of InterconnectAttachments +type InterconnectAttachmentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InterconnectAttachment `json:"items"` +} + +// Repository type metadata. +var ( + InterconnectAttachment_Kind = "InterconnectAttachment" + InterconnectAttachment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InterconnectAttachment_Kind}.String() + InterconnectAttachment_KindAPIVersion = InterconnectAttachment_Kind + "." + CRDGroupVersion.String() + InterconnectAttachment_GroupVersionKind = CRDGroupVersion.WithKind(InterconnectAttachment_Kind) +) + +func init() { + SchemeBuilder.Register(&InterconnectAttachment{}, &InterconnectAttachmentList{}) +} diff --git a/apis/compute/v1alpha1/zz_networkendpoint_terraformed.go b/apis/compute/v1alpha1/zz_networkendpoint_terraformed.go new file mode 100755 index 00000000..a6966940 --- /dev/null +++ b/apis/compute/v1alpha1/zz_networkendpoint_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this NetworkEndpoint +func (mg *NetworkEndpoint) GetTerraformResourceType() string { + return "google_compute_network_endpoint" +} + +// GetConnectionDetailsMapping for this NetworkEndpoint +func (tr *NetworkEndpoint) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this NetworkEndpoint +func (tr *NetworkEndpoint) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this NetworkEndpoint +func (tr *NetworkEndpoint) SetObservation(obs map[string]interface{}) 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 NetworkEndpoint +func (tr *NetworkEndpoint) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this NetworkEndpoint +func (tr *NetworkEndpoint) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this NetworkEndpoint +func (tr *NetworkEndpoint) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this NetworkEndpoint using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *NetworkEndpoint) LateInitialize(attrs []byte) (bool, error) { + params := &NetworkEndpointParameters{} + 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 *NetworkEndpoint) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_networkendpoint_types.go b/apis/compute/v1alpha1/zz_networkendpoint_types.go new file mode 100755 index 00000000..14efeb01 --- /dev/null +++ b/apis/compute/v1alpha1/zz_networkendpoint_types.go @@ -0,0 +1,109 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 NetworkEndpointObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type NetworkEndpointParameters struct { + + // IPv4 address of network endpoint. The IP address must belong + // to a VM in GCE (either the primary IP or as part of an aliased IP + // range). + // +kubebuilder:validation:Required + IPAddress *string `json:"ipAddress" tf:"ip_address,omitempty"` + + // The name for a specific VM instance that the IP address belongs to. + // This is required for network endpoints of type GCE_VM_IP_PORT. + // The instance must be in the same zone of network endpoint group. + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // The network endpoint group this endpoint is part of. + // +kubebuilder:validation:Required + NetworkEndpointGroup *string `json:"networkEndpointGroup" tf:"network_endpoint_group,omitempty"` + + // Port number of network endpoint. + // +kubebuilder:validation:Required + Port *int64 `json:"port" tf:"port,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Zone where the containing network endpoint group is located. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// NetworkEndpointSpec defines the desired state of NetworkEndpoint +type NetworkEndpointSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider NetworkEndpointParameters `json:"forProvider"` +} + +// NetworkEndpointStatus defines the observed state of NetworkEndpoint. +type NetworkEndpointStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider NetworkEndpointObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// NetworkEndpoint is the Schema for the NetworkEndpoints 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,gcpjet} +type NetworkEndpoint struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec NetworkEndpointSpec `json:"spec"` + Status NetworkEndpointStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// NetworkEndpointList contains a list of NetworkEndpoints +type NetworkEndpointList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []NetworkEndpoint `json:"items"` +} + +// Repository type metadata. +var ( + NetworkEndpoint_Kind = "NetworkEndpoint" + NetworkEndpoint_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: NetworkEndpoint_Kind}.String() + NetworkEndpoint_KindAPIVersion = NetworkEndpoint_Kind + "." + CRDGroupVersion.String() + NetworkEndpoint_GroupVersionKind = CRDGroupVersion.WithKind(NetworkEndpoint_Kind) +) + +func init() { + SchemeBuilder.Register(&NetworkEndpoint{}, &NetworkEndpointList{}) +} diff --git a/apis/compute/v1alpha1/zz_networkendpointgroup_terraformed.go b/apis/compute/v1alpha1/zz_networkendpointgroup_terraformed.go new file mode 100755 index 00000000..b1ef7076 --- /dev/null +++ b/apis/compute/v1alpha1/zz_networkendpointgroup_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this NetworkEndpointGroup +func (mg *NetworkEndpointGroup) GetTerraformResourceType() string { + return "google_compute_network_endpoint_group" +} + +// GetConnectionDetailsMapping for this NetworkEndpointGroup +func (tr *NetworkEndpointGroup) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this NetworkEndpointGroup +func (tr *NetworkEndpointGroup) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this NetworkEndpointGroup +func (tr *NetworkEndpointGroup) SetObservation(obs map[string]interface{}) 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 NetworkEndpointGroup +func (tr *NetworkEndpointGroup) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this NetworkEndpointGroup +func (tr *NetworkEndpointGroup) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this NetworkEndpointGroup +func (tr *NetworkEndpointGroup) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this NetworkEndpointGroup using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *NetworkEndpointGroup) LateInitialize(attrs []byte) (bool, error) { + params := &NetworkEndpointGroupParameters{} + 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 *NetworkEndpointGroup) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_networkendpointgroup_types.go b/apis/compute/v1alpha1/zz_networkendpointgroup_types.go new file mode 100755 index 00000000..97a9b198 --- /dev/null +++ b/apis/compute/v1alpha1/zz_networkendpointgroup_types.go @@ -0,0 +1,126 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 NetworkEndpointGroupObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + Size *int64 `json:"size,omitempty" tf:"size,omitempty"` +} + +type NetworkEndpointGroupParameters struct { + + // The default port used if the port number is not specified in the + // network endpoint. + // +kubebuilder:validation:Optional + DefaultPort *int64 `json:"defaultPort,omitempty" tf:"default_port,omitempty"` + + // An optional description of this resource. Provide this property when + // you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource; provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The network to which all network endpoints in the NEG belong. + // Uses "default" project network if unspecified. + // +kubebuilder:validation:Required + Network *string `json:"network" tf:"network,omitempty"` + + // Type of network endpoints in this network endpoint group. Default value: "GCE_VM_IP_PORT" Possible values: ["GCE_VM_IP_PORT"] + // +kubebuilder:validation:Optional + NetworkEndpointType *string `json:"networkEndpointType,omitempty" tf:"network_endpoint_type,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Optional subnetwork to which all network endpoints in the NEG belong. + // +kubebuilder:validation:Optional + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // Zone where the network endpoint group is located. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// NetworkEndpointGroupSpec defines the desired state of NetworkEndpointGroup +type NetworkEndpointGroupSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider NetworkEndpointGroupParameters `json:"forProvider"` +} + +// NetworkEndpointGroupStatus defines the observed state of NetworkEndpointGroup. +type NetworkEndpointGroupStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider NetworkEndpointGroupObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// NetworkEndpointGroup is the Schema for the NetworkEndpointGroups 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,gcpjet} +type NetworkEndpointGroup struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec NetworkEndpointGroupSpec `json:"spec"` + Status NetworkEndpointGroupStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// NetworkEndpointGroupList contains a list of NetworkEndpointGroups +type NetworkEndpointGroupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []NetworkEndpointGroup `json:"items"` +} + +// Repository type metadata. +var ( + NetworkEndpointGroup_Kind = "NetworkEndpointGroup" + NetworkEndpointGroup_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: NetworkEndpointGroup_Kind}.String() + NetworkEndpointGroup_KindAPIVersion = NetworkEndpointGroup_Kind + "." + CRDGroupVersion.String() + NetworkEndpointGroup_GroupVersionKind = CRDGroupVersion.WithKind(NetworkEndpointGroup_Kind) +) + +func init() { + SchemeBuilder.Register(&NetworkEndpointGroup{}, &NetworkEndpointGroupList{}) +} diff --git a/apis/compute/v1alpha1/zz_networkpeering_terraformed.go b/apis/compute/v1alpha1/zz_networkpeering_terraformed.go new file mode 100755 index 00000000..90bb4845 --- /dev/null +++ b/apis/compute/v1alpha1/zz_networkpeering_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this NetworkPeering +func (mg *NetworkPeering) GetTerraformResourceType() string { + return "google_compute_network_peering" +} + +// GetConnectionDetailsMapping for this NetworkPeering +func (tr *NetworkPeering) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this NetworkPeering +func (tr *NetworkPeering) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this NetworkPeering +func (tr *NetworkPeering) SetObservation(obs map[string]interface{}) 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 NetworkPeering +func (tr *NetworkPeering) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this NetworkPeering +func (tr *NetworkPeering) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this NetworkPeering +func (tr *NetworkPeering) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this NetworkPeering using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *NetworkPeering) LateInitialize(attrs []byte) (bool, error) { + params := &NetworkPeeringParameters{} + 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 *NetworkPeering) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_networkpeering_types.go b/apis/compute/v1alpha1/zz_networkpeering_types.go new file mode 100755 index 00000000..ff960a95 --- /dev/null +++ b/apis/compute/v1alpha1/zz_networkpeering_types.go @@ -0,0 +1,112 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 NetworkPeeringObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + State *string `json:"state,omitempty" tf:"state,omitempty"` + + StateDetails *string `json:"stateDetails,omitempty" tf:"state_details,omitempty"` +} + +type NetworkPeeringParameters struct { + + // Whether to export the custom routes to the peer network. Defaults to false. + // +kubebuilder:validation:Optional + ExportCustomRoutes *bool `json:"exportCustomRoutes,omitempty" tf:"export_custom_routes,omitempty"` + + // +kubebuilder:validation:Optional + ExportSubnetRoutesWithPublicIP *bool `json:"exportSubnetRoutesWithPublicIp,omitempty" tf:"export_subnet_routes_with_public_ip,omitempty"` + + // Whether to export the custom routes from the peer network. Defaults to false. + // +kubebuilder:validation:Optional + ImportCustomRoutes *bool `json:"importCustomRoutes,omitempty" tf:"import_custom_routes,omitempty"` + + // +kubebuilder:validation:Optional + ImportSubnetRoutesWithPublicIP *bool `json:"importSubnetRoutesWithPublicIp,omitempty" tf:"import_subnet_routes_with_public_ip,omitempty"` + + // Name of the peering. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The primary network of the peering. + // +kubebuilder:validation:Required + Network *string `json:"network" tf:"network,omitempty"` + + // The peer network in the peering. The peer network may belong to a different project. + // +kubebuilder:validation:Required + PeerNetwork *string `json:"peerNetwork" tf:"peer_network,omitempty"` +} + +// NetworkPeeringSpec defines the desired state of NetworkPeering +type NetworkPeeringSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider NetworkPeeringParameters `json:"forProvider"` +} + +// NetworkPeeringStatus defines the observed state of NetworkPeering. +type NetworkPeeringStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider NetworkPeeringObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// NetworkPeering is the Schema for the NetworkPeerings 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,gcpjet} +type NetworkPeering struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec NetworkPeeringSpec `json:"spec"` + Status NetworkPeeringStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// NetworkPeeringList contains a list of NetworkPeerings +type NetworkPeeringList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []NetworkPeering `json:"items"` +} + +// Repository type metadata. +var ( + NetworkPeering_Kind = "NetworkPeering" + NetworkPeering_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: NetworkPeering_Kind}.String() + NetworkPeering_KindAPIVersion = NetworkPeering_Kind + "." + CRDGroupVersion.String() + NetworkPeering_GroupVersionKind = CRDGroupVersion.WithKind(NetworkPeering_Kind) +) + +func init() { + SchemeBuilder.Register(&NetworkPeering{}, &NetworkPeeringList{}) +} diff --git a/apis/compute/v1alpha1/zz_networkpeeringroutesconfig_terraformed.go b/apis/compute/v1alpha1/zz_networkpeeringroutesconfig_terraformed.go new file mode 100755 index 00000000..c5c3c482 --- /dev/null +++ b/apis/compute/v1alpha1/zz_networkpeeringroutesconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this NetworkPeeringRoutesConfig +func (mg *NetworkPeeringRoutesConfig) GetTerraformResourceType() string { + return "google_compute_network_peering_routes_config" +} + +// GetConnectionDetailsMapping for this NetworkPeeringRoutesConfig +func (tr *NetworkPeeringRoutesConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this NetworkPeeringRoutesConfig +func (tr *NetworkPeeringRoutesConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this NetworkPeeringRoutesConfig +func (tr *NetworkPeeringRoutesConfig) SetObservation(obs map[string]interface{}) 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 NetworkPeeringRoutesConfig +func (tr *NetworkPeeringRoutesConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this NetworkPeeringRoutesConfig +func (tr *NetworkPeeringRoutesConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this NetworkPeeringRoutesConfig +func (tr *NetworkPeeringRoutesConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this NetworkPeeringRoutesConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *NetworkPeeringRoutesConfig) LateInitialize(attrs []byte) (bool, error) { + params := &NetworkPeeringRoutesConfigParameters{} + 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 *NetworkPeeringRoutesConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_networkpeeringroutesconfig_types.go b/apis/compute/v1alpha1/zz_networkpeeringroutesconfig_types.go new file mode 100755 index 00000000..64ef9550 --- /dev/null +++ b/apis/compute/v1alpha1/zz_networkpeeringroutesconfig_types.go @@ -0,0 +1,101 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 NetworkPeeringRoutesConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type NetworkPeeringRoutesConfigParameters struct { + + // Whether to export the custom routes to the peer network. + // +kubebuilder:validation:Required + ExportCustomRoutes *bool `json:"exportCustomRoutes" tf:"export_custom_routes,omitempty"` + + // Whether to import the custom routes to the peer network. + // +kubebuilder:validation:Required + ImportCustomRoutes *bool `json:"importCustomRoutes" tf:"import_custom_routes,omitempty"` + + // The name of the primary network for the peering. + // +kubebuilder:validation:Required + Network *string `json:"network" tf:"network,omitempty"` + + // Name of the peering. + // +kubebuilder:validation:Required + Peering *string `json:"peering" tf:"peering,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// NetworkPeeringRoutesConfigSpec defines the desired state of NetworkPeeringRoutesConfig +type NetworkPeeringRoutesConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider NetworkPeeringRoutesConfigParameters `json:"forProvider"` +} + +// NetworkPeeringRoutesConfigStatus defines the observed state of NetworkPeeringRoutesConfig. +type NetworkPeeringRoutesConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider NetworkPeeringRoutesConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// NetworkPeeringRoutesConfig is the Schema for the NetworkPeeringRoutesConfigs 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,gcpjet} +type NetworkPeeringRoutesConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec NetworkPeeringRoutesConfigSpec `json:"spec"` + Status NetworkPeeringRoutesConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// NetworkPeeringRoutesConfigList contains a list of NetworkPeeringRoutesConfigs +type NetworkPeeringRoutesConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []NetworkPeeringRoutesConfig `json:"items"` +} + +// Repository type metadata. +var ( + NetworkPeeringRoutesConfig_Kind = "NetworkPeeringRoutesConfig" + NetworkPeeringRoutesConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: NetworkPeeringRoutesConfig_Kind}.String() + NetworkPeeringRoutesConfig_KindAPIVersion = NetworkPeeringRoutesConfig_Kind + "." + CRDGroupVersion.String() + NetworkPeeringRoutesConfig_GroupVersionKind = CRDGroupVersion.WithKind(NetworkPeeringRoutesConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&NetworkPeeringRoutesConfig{}, &NetworkPeeringRoutesConfigList{}) +} diff --git a/apis/compute/v1alpha1/zz_nodegroup_terraformed.go b/apis/compute/v1alpha1/zz_nodegroup_terraformed.go new file mode 100755 index 00000000..1c7d880d --- /dev/null +++ b/apis/compute/v1alpha1/zz_nodegroup_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this NodeGroup +func (mg *NodeGroup) GetTerraformResourceType() string { + return "google_compute_node_group" +} + +// GetConnectionDetailsMapping for this NodeGroup +func (tr *NodeGroup) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this NodeGroup +func (tr *NodeGroup) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this NodeGroup +func (tr *NodeGroup) SetObservation(obs map[string]interface{}) 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 NodeGroup +func (tr *NodeGroup) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this NodeGroup +func (tr *NodeGroup) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this NodeGroup +func (tr *NodeGroup) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this NodeGroup using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *NodeGroup) LateInitialize(attrs []byte) (bool, error) { + params := &NodeGroupParameters{} + 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 *NodeGroup) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_nodegroup_types.go b/apis/compute/v1alpha1/zz_nodegroup_types.go new file mode 100755 index 00000000..00a987bd --- /dev/null +++ b/apis/compute/v1alpha1/zz_nodegroup_types.go @@ -0,0 +1,161 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 MaintenanceWindowObservation struct { +} + +type MaintenanceWindowParameters struct { + + // instances.start time of the window. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid. + // +kubebuilder:validation:Required + StartTime *string `json:"startTime" tf:"start_time,omitempty"` +} + +type NodeGroupAutoscalingPolicyObservation struct { +} + +type NodeGroupAutoscalingPolicyParameters struct { + + // Maximum size of the node group. Set to a value less than or equal + // to 100 and greater than or equal to min-nodes. + // +kubebuilder:validation:Optional + MaxNodes *int64 `json:"maxNodes,omitempty" tf:"max_nodes,omitempty"` + + // Minimum size of the node group. Must be less + // than or equal to max-nodes. The default value is 0. + // +kubebuilder:validation:Optional + MinNodes *int64 `json:"minNodes,omitempty" tf:"min_nodes,omitempty"` + + // The autoscaling mode. Set to one of the following: + // - OFF: Disables the autoscaler. + // - ON: Enables scaling in and scaling out. + // - ONLY_SCALE_OUT: Enables only scaling out. + // You must use this mode if your node groups are configured to + // restart their hosted VMs on minimal servers. Possible values: ["OFF", "ON", "ONLY_SCALE_OUT"] + // +kubebuilder:validation:Optional + Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` +} + +type NodeGroupObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type NodeGroupParameters struct { + + // If you use sole-tenant nodes for your workloads, you can use the node + // group autoscaler to automatically manage the sizes of your node groups. + // +kubebuilder:validation:Optional + AutoscalingPolicy []NodeGroupAutoscalingPolicyParameters `json:"autoscalingPolicy,omitempty" tf:"autoscaling_policy,omitempty"` + + // An optional textual description of the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The initial number of nodes in the node group. One of 'initial_size' or 'size' must be specified. + // +kubebuilder:validation:Optional + InitialSize *int64 `json:"initialSize,omitempty" tf:"initial_size,omitempty"` + + // Specifies how to handle instances when a node in the group undergoes maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT. + // +kubebuilder:validation:Optional + MaintenancePolicy *string `json:"maintenancePolicy,omitempty" tf:"maintenance_policy,omitempty"` + + // contains properties for the timeframe of maintenance + // +kubebuilder:validation:Optional + MaintenanceWindow []MaintenanceWindowParameters `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"` + + // Name of the resource. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // The URL of the node template to which this node group belongs. + // +kubebuilder:validation:Required + NodeTemplate *string `json:"nodeTemplate" tf:"node_template,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The total number of nodes in the node group. One of 'initial_size' or 'size' must be specified. + // +kubebuilder:validation:Optional + Size *int64 `json:"size,omitempty" tf:"size,omitempty"` + + // Zone where this node group is located + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// NodeGroupSpec defines the desired state of NodeGroup +type NodeGroupSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider NodeGroupParameters `json:"forProvider"` +} + +// NodeGroupStatus defines the observed state of NodeGroup. +type NodeGroupStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider NodeGroupObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// NodeGroup is the Schema for the NodeGroups 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,gcpjet} +type NodeGroup struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec NodeGroupSpec `json:"spec"` + Status NodeGroupStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// NodeGroupList contains a list of NodeGroups +type NodeGroupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []NodeGroup `json:"items"` +} + +// Repository type metadata. +var ( + NodeGroup_Kind = "NodeGroup" + NodeGroup_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: NodeGroup_Kind}.String() + NodeGroup_KindAPIVersion = NodeGroup_Kind + "." + CRDGroupVersion.String() + NodeGroup_GroupVersionKind = CRDGroupVersion.WithKind(NodeGroup_Kind) +) + +func init() { + SchemeBuilder.Register(&NodeGroup{}, &NodeGroupList{}) +} diff --git a/apis/compute/v1alpha1/zz_nodetemplate_terraformed.go b/apis/compute/v1alpha1/zz_nodetemplate_terraformed.go new file mode 100755 index 00000000..27b5e3d4 --- /dev/null +++ b/apis/compute/v1alpha1/zz_nodetemplate_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this NodeTemplate +func (mg *NodeTemplate) GetTerraformResourceType() string { + return "google_compute_node_template" +} + +// GetConnectionDetailsMapping for this NodeTemplate +func (tr *NodeTemplate) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this NodeTemplate +func (tr *NodeTemplate) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this NodeTemplate +func (tr *NodeTemplate) SetObservation(obs map[string]interface{}) 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 NodeTemplate +func (tr *NodeTemplate) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this NodeTemplate +func (tr *NodeTemplate) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this NodeTemplate +func (tr *NodeTemplate) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this NodeTemplate using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *NodeTemplate) LateInitialize(attrs []byte) (bool, error) { + params := &NodeTemplateParameters{} + 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 *NodeTemplate) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_nodetemplate_types.go b/apis/compute/v1alpha1/zz_nodetemplate_types.go new file mode 100755 index 00000000..c2b108a7 --- /dev/null +++ b/apis/compute/v1alpha1/zz_nodetemplate_types.go @@ -0,0 +1,164 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 NodeTemplateObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type NodeTemplateParameters struct { + + // CPU overcommit. Default value: "NONE" Possible values: ["ENABLED", "NONE"] + // +kubebuilder:validation:Optional + CPUOvercommitType *string `json:"cpuOvercommitType,omitempty" tf:"cpu_overcommit_type,omitempty"` + + // An optional textual description of the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Labels to use for node affinity, which will be used in + // instance scheduling. + // +kubebuilder:validation:Optional + NodeAffinityLabels map[string]*string `json:"nodeAffinityLabels,omitempty" tf:"node_affinity_labels,omitempty"` + + // Node type to use for nodes group that are created from this template. + // Only one of nodeTypeFlexibility and nodeType can be specified. + // +kubebuilder:validation:Optional + NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"` + + // Flexible properties for the desired node type. Node groups that + // use this node template will create nodes of a type that matches + // these properties. Only one of nodeTypeFlexibility and nodeType can + // be specified. + // +kubebuilder:validation:Optional + NodeTypeFlexibility []NodeTypeFlexibilityParameters `json:"nodeTypeFlexibility,omitempty" tf:"node_type_flexibility,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Region where nodes using the node template will be created. + // If it is not provided, the provider region is used. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // The server binding policy for nodes using this template. Determines + // where the nodes should restart following a maintenance event. + // +kubebuilder:validation:Optional + ServerBinding []ServerBindingParameters `json:"serverBinding,omitempty" tf:"server_binding,omitempty"` +} + +type NodeTypeFlexibilityObservation struct { + LocalSsd *string `json:"localSsd,omitempty" tf:"local_ssd,omitempty"` +} + +type NodeTypeFlexibilityParameters struct { + + // Number of virtual CPUs to use. + // +kubebuilder:validation:Optional + Cpus *string `json:"cpus,omitempty" tf:"cpus,omitempty"` + + // Physical memory available to the node, defined in MB. + // +kubebuilder:validation:Optional + Memory *string `json:"memory,omitempty" tf:"memory,omitempty"` +} + +type ServerBindingObservation struct { +} + +type ServerBindingParameters struct { + + // Type of server binding policy. If 'RESTART_NODE_ON_ANY_SERVER', + // nodes using this template will restart on any physical server + // following a maintenance event. + // + // If 'RESTART_NODE_ON_MINIMAL_SERVER', nodes using this template + // will restart on the same physical server following a maintenance + // event, instead of being live migrated to or restarted on a new + // physical server. This option may be useful if you are using + // software licenses tied to the underlying server characteristics + // such as physical sockets or cores, to avoid the need for + // additional licenses when maintenance occurs. However, VMs on such + // nodes will experience outages while maintenance is applied. Possible values: ["RESTART_NODE_ON_ANY_SERVER", "RESTART_NODE_ON_MINIMAL_SERVERS"] + // +kubebuilder:validation:Required + Type *string `json:"type" tf:"type,omitempty"` +} + +// NodeTemplateSpec defines the desired state of NodeTemplate +type NodeTemplateSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider NodeTemplateParameters `json:"forProvider"` +} + +// NodeTemplateStatus defines the observed state of NodeTemplate. +type NodeTemplateStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider NodeTemplateObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// NodeTemplate is the Schema for the NodeTemplates 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,gcpjet} +type NodeTemplate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec NodeTemplateSpec `json:"spec"` + Status NodeTemplateStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// NodeTemplateList contains a list of NodeTemplates +type NodeTemplateList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []NodeTemplate `json:"items"` +} + +// Repository type metadata. +var ( + NodeTemplate_Kind = "NodeTemplate" + NodeTemplate_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: NodeTemplate_Kind}.String() + NodeTemplate_KindAPIVersion = NodeTemplate_Kind + "." + CRDGroupVersion.String() + NodeTemplate_GroupVersionKind = CRDGroupVersion.WithKind(NodeTemplate_Kind) +) + +func init() { + SchemeBuilder.Register(&NodeTemplate{}, &NodeTemplateList{}) +} diff --git a/apis/compute/v1alpha1/zz_packetmirroring_terraformed.go b/apis/compute/v1alpha1/zz_packetmirroring_terraformed.go new file mode 100755 index 00000000..84ebe43e --- /dev/null +++ b/apis/compute/v1alpha1/zz_packetmirroring_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this PacketMirroring +func (mg *PacketMirroring) GetTerraformResourceType() string { + return "google_compute_packet_mirroring" +} + +// GetConnectionDetailsMapping for this PacketMirroring +func (tr *PacketMirroring) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this PacketMirroring +func (tr *PacketMirroring) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this PacketMirroring +func (tr *PacketMirroring) SetObservation(obs map[string]interface{}) 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 PacketMirroring +func (tr *PacketMirroring) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this PacketMirroring +func (tr *PacketMirroring) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this PacketMirroring +func (tr *PacketMirroring) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this PacketMirroring using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *PacketMirroring) LateInitialize(attrs []byte) (bool, error) { + params := &PacketMirroringParameters{} + 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 *PacketMirroring) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_packetmirroring_types.go b/apis/compute/v1alpha1/zz_packetmirroring_types.go new file mode 100755 index 00000000..0b497151 --- /dev/null +++ b/apis/compute/v1alpha1/zz_packetmirroring_types.go @@ -0,0 +1,202 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CollectorIlbObservation struct { +} + +type CollectorIlbParameters struct { + + // The URL of the forwarding rule. + // +kubebuilder:validation:Required + URL *string `json:"url" tf:"url,omitempty"` +} + +type FilterObservation struct { +} + +type FilterParameters struct { + + // IP CIDR ranges that apply as a filter on the source (ingress) or + // destination (egress) IP in the IP header. Only IPv4 is supported. + // +kubebuilder:validation:Optional + CidrRanges []*string `json:"cidrRanges,omitempty" tf:"cidr_ranges,omitempty"` + + // Direction of traffic to mirror. Default value: "BOTH" Possible values: ["INGRESS", "EGRESS", "BOTH"] + // +kubebuilder:validation:Optional + Direction *string `json:"direction,omitempty" tf:"direction,omitempty"` + + // Protocols that apply as a filter on mirrored traffic. Possible values: ["tcp", "udp", "icmp"] + // +kubebuilder:validation:Optional + IPProtocols []*string `json:"ipProtocols,omitempty" tf:"ip_protocols,omitempty"` +} + +type InstancesObservation struct { +} + +type InstancesParameters struct { + + // The URL of the instances where this rule should be active. + // +kubebuilder:validation:Required + URL *string `json:"url" tf:"url,omitempty"` +} + +type MirroredResourcesObservation struct { +} + +type MirroredResourcesParameters struct { + + // All the listed instances will be mirrored. Specify at most 50. + // +kubebuilder:validation:Optional + Instances []InstancesParameters `json:"instances,omitempty" tf:"instances,omitempty"` + + // All instances in one of these subnetworks will be mirrored. + // +kubebuilder:validation:Optional + Subnetworks []SubnetworksParameters `json:"subnetworks,omitempty" tf:"subnetworks,omitempty"` + + // All instances with these tags will be mirrored. + // +kubebuilder:validation:Optional + Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` +} + +type NetworkObservation struct { +} + +type NetworkParameters struct { + + // The full self_link URL of the network where this rule is active. + // +kubebuilder:validation:Required + URL *string `json:"url" tf:"url,omitempty"` +} + +type PacketMirroringObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type PacketMirroringParameters struct { + + // The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL) + // that will be used as collector for mirrored traffic. The + // specified forwarding rule must have is_mirroring_collector + // set to true. + // +kubebuilder:validation:Required + CollectorIlb []CollectorIlbParameters `json:"collectorIlb" tf:"collector_ilb,omitempty"` + + // A human-readable description of the rule. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // A filter for mirrored traffic. If unset, all traffic is mirrored. + // +kubebuilder:validation:Optional + Filter []FilterParameters `json:"filter,omitempty" tf:"filter,omitempty"` + + // A means of specifying which resources to mirror. + // +kubebuilder:validation:Required + MirroredResources []MirroredResourcesParameters `json:"mirroredResources" tf:"mirrored_resources,omitempty"` + + // The name of the packet mirroring rule + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Specifies the mirrored VPC network. Only packets in this network + // will be mirrored. All mirrored VMs should have a NIC in the given + // network. All mirrored subnetworks should belong to the given network. + // +kubebuilder:validation:Required + Network []NetworkParameters `json:"network" tf:"network,omitempty"` + + // Since only one rule can be active at a time, priority is + // used to break ties in the case of two rules that apply to + // the same instances. + // +kubebuilder:validation:Optional + Priority *int64 `json:"priority,omitempty" tf:"priority,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The Region in which the created address should reside. + // If it is not provided, the provider region is used. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +type SubnetworksObservation struct { +} + +type SubnetworksParameters struct { + + // The URL of the subnetwork where this rule should be active. + // +kubebuilder:validation:Required + URL *string `json:"url" tf:"url,omitempty"` +} + +// PacketMirroringSpec defines the desired state of PacketMirroring +type PacketMirroringSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider PacketMirroringParameters `json:"forProvider"` +} + +// PacketMirroringStatus defines the observed state of PacketMirroring. +type PacketMirroringStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider PacketMirroringObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// PacketMirroring is the Schema for the PacketMirrorings 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,gcpjet} +type PacketMirroring struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec PacketMirroringSpec `json:"spec"` + Status PacketMirroringStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// PacketMirroringList contains a list of PacketMirrorings +type PacketMirroringList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []PacketMirroring `json:"items"` +} + +// Repository type metadata. +var ( + PacketMirroring_Kind = "PacketMirroring" + PacketMirroring_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: PacketMirroring_Kind}.String() + PacketMirroring_KindAPIVersion = PacketMirroring_Kind + "." + CRDGroupVersion.String() + PacketMirroring_GroupVersionKind = CRDGroupVersion.WithKind(PacketMirroring_Kind) +) + +func init() { + SchemeBuilder.Register(&PacketMirroring{}, &PacketMirroringList{}) +} diff --git a/apis/compute/v1alpha1/zz_perinstanceconfig_terraformed.go b/apis/compute/v1alpha1/zz_perinstanceconfig_terraformed.go new file mode 100755 index 00000000..25d98875 --- /dev/null +++ b/apis/compute/v1alpha1/zz_perinstanceconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this PerInstanceConfig +func (mg *PerInstanceConfig) GetTerraformResourceType() string { + return "google_compute_per_instance_config" +} + +// GetConnectionDetailsMapping for this PerInstanceConfig +func (tr *PerInstanceConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this PerInstanceConfig +func (tr *PerInstanceConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this PerInstanceConfig +func (tr *PerInstanceConfig) SetObservation(obs map[string]interface{}) 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 PerInstanceConfig +func (tr *PerInstanceConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this PerInstanceConfig +func (tr *PerInstanceConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this PerInstanceConfig +func (tr *PerInstanceConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this PerInstanceConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *PerInstanceConfig) LateInitialize(attrs []byte) (bool, error) { + params := &PerInstanceConfigParameters{} + 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 *PerInstanceConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_perinstanceconfig_types.go b/apis/compute/v1alpha1/zz_perinstanceconfig_types.go new file mode 100755 index 00000000..1032fe34 --- /dev/null +++ b/apis/compute/v1alpha1/zz_perinstanceconfig_types.go @@ -0,0 +1,151 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 PerInstanceConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type PerInstanceConfigParameters struct { + + // The instance group manager this instance config is part of. + // +kubebuilder:validation:Required + InstanceGroupManager *string `json:"instanceGroupManager" tf:"instance_group_manager,omitempty"` + + // +kubebuilder:validation:Optional + MinimalAction *string `json:"minimalAction,omitempty" tf:"minimal_action,omitempty"` + + // +kubebuilder:validation:Optional + MostDisruptiveAllowedAction *string `json:"mostDisruptiveAllowedAction,omitempty" tf:"most_disruptive_allowed_action,omitempty"` + + // The name for this per-instance config and its corresponding instance. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The preserved state for this instance. + // +kubebuilder:validation:Optional + PreservedState []PreservedStateParameters `json:"preservedState,omitempty" tf:"preserved_state,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + RemoveInstanceStateOnDestroy *bool `json:"removeInstanceStateOnDestroy,omitempty" tf:"remove_instance_state_on_destroy,omitempty"` + + // Zone where the containing instance group manager is located + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type PreservedStateDiskObservation struct { +} + +type PreservedStateDiskParameters struct { + + // A value that prescribes what should happen to the stateful disk when the VM instance is deleted. + // The available options are 'NEVER' and 'ON_PERMANENT_INSTANCE_DELETION'. + // 'NEVER' - detach the disk when the VM is deleted, but do not delete the disk. + // 'ON_PERMANENT_INSTANCE_DELETION' will delete the stateful disk when the VM is permanently + // deleted from the instance group. Default value: "NEVER" Possible values: ["NEVER", "ON_PERMANENT_INSTANCE_DELETION"] + // +kubebuilder:validation:Optional + DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"` + + // A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. + // +kubebuilder:validation:Required + DeviceName *string `json:"deviceName" tf:"device_name,omitempty"` + + // The mode of the disk. Default value: "READ_WRITE" Possible values: ["READ_ONLY", "READ_WRITE"] + // +kubebuilder:validation:Optional + Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` + + // The URI of an existing persistent disk to attach under the specified device-name in the format + // 'projects/project-id/zones/zone/disks/disk-name'. + // +kubebuilder:validation:Required + Source *string `json:"source" tf:"source,omitempty"` +} + +type PreservedStateObservation struct { +} + +type PreservedStateParameters struct { + + // Stateful disks for the instance. + // +kubebuilder:validation:Optional + Disk []PreservedStateDiskParameters `json:"disk,omitempty" tf:"disk,omitempty"` + + // Preserved metadata defined for this instance. This is a list of key->value pairs. + // +kubebuilder:validation:Optional + Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"` +} + +// PerInstanceConfigSpec defines the desired state of PerInstanceConfig +type PerInstanceConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider PerInstanceConfigParameters `json:"forProvider"` +} + +// PerInstanceConfigStatus defines the observed state of PerInstanceConfig. +type PerInstanceConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider PerInstanceConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// PerInstanceConfig is the Schema for the PerInstanceConfigs 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,gcpjet} +type PerInstanceConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec PerInstanceConfigSpec `json:"spec"` + Status PerInstanceConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// PerInstanceConfigList contains a list of PerInstanceConfigs +type PerInstanceConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []PerInstanceConfig `json:"items"` +} + +// Repository type metadata. +var ( + PerInstanceConfig_Kind = "PerInstanceConfig" + PerInstanceConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: PerInstanceConfig_Kind}.String() + PerInstanceConfig_KindAPIVersion = PerInstanceConfig_Kind + "." + CRDGroupVersion.String() + PerInstanceConfig_GroupVersionKind = CRDGroupVersion.WithKind(PerInstanceConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&PerInstanceConfig{}, &PerInstanceConfigList{}) +} diff --git a/apis/compute/v1alpha1/zz_projectdefaultnetworktier_terraformed.go b/apis/compute/v1alpha1/zz_projectdefaultnetworktier_terraformed.go new file mode 100755 index 00000000..f9149939 --- /dev/null +++ b/apis/compute/v1alpha1/zz_projectdefaultnetworktier_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectDefaultNetworkTier +func (mg *ProjectDefaultNetworkTier) GetTerraformResourceType() string { + return "google_compute_project_default_network_tier" +} + +// GetConnectionDetailsMapping for this ProjectDefaultNetworkTier +func (tr *ProjectDefaultNetworkTier) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectDefaultNetworkTier +func (tr *ProjectDefaultNetworkTier) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectDefaultNetworkTier +func (tr *ProjectDefaultNetworkTier) SetObservation(obs map[string]interface{}) 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 ProjectDefaultNetworkTier +func (tr *ProjectDefaultNetworkTier) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectDefaultNetworkTier +func (tr *ProjectDefaultNetworkTier) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectDefaultNetworkTier +func (tr *ProjectDefaultNetworkTier) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectDefaultNetworkTier using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectDefaultNetworkTier) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectDefaultNetworkTierParameters{} + 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 *ProjectDefaultNetworkTier) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_projectdefaultnetworktier_types.go b/apis/compute/v1alpha1/zz_projectdefaultnetworktier_types.go new file mode 100755 index 00000000..27f6158d --- /dev/null +++ b/apis/compute/v1alpha1/zz_projectdefaultnetworktier_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectDefaultNetworkTierObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ProjectDefaultNetworkTierParameters struct { + + // The default network tier to be configured for the project. This field can take the following values: PREMIUM or STANDARD. + // +kubebuilder:validation:Required + NetworkTier *string `json:"networkTier" tf:"network_tier,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// ProjectDefaultNetworkTierSpec defines the desired state of ProjectDefaultNetworkTier +type ProjectDefaultNetworkTierSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectDefaultNetworkTierParameters `json:"forProvider"` +} + +// ProjectDefaultNetworkTierStatus defines the observed state of ProjectDefaultNetworkTier. +type ProjectDefaultNetworkTierStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectDefaultNetworkTierObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectDefaultNetworkTier is the Schema for the ProjectDefaultNetworkTiers 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,gcpjet} +type ProjectDefaultNetworkTier struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectDefaultNetworkTierSpec `json:"spec"` + Status ProjectDefaultNetworkTierStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectDefaultNetworkTierList contains a list of ProjectDefaultNetworkTiers +type ProjectDefaultNetworkTierList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectDefaultNetworkTier `json:"items"` +} + +// Repository type metadata. +var ( + ProjectDefaultNetworkTier_Kind = "ProjectDefaultNetworkTier" + ProjectDefaultNetworkTier_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectDefaultNetworkTier_Kind}.String() + ProjectDefaultNetworkTier_KindAPIVersion = ProjectDefaultNetworkTier_Kind + "." + CRDGroupVersion.String() + ProjectDefaultNetworkTier_GroupVersionKind = CRDGroupVersion.WithKind(ProjectDefaultNetworkTier_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectDefaultNetworkTier{}, &ProjectDefaultNetworkTierList{}) +} diff --git a/apis/compute/v1alpha1/zz_projectmetadata_terraformed.go b/apis/compute/v1alpha1/zz_projectmetadata_terraformed.go new file mode 100755 index 00000000..25a08df3 --- /dev/null +++ b/apis/compute/v1alpha1/zz_projectmetadata_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectMetadata +func (mg *ProjectMetadata) GetTerraformResourceType() string { + return "google_compute_project_metadata" +} + +// GetConnectionDetailsMapping for this ProjectMetadata +func (tr *ProjectMetadata) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectMetadata +func (tr *ProjectMetadata) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectMetadata +func (tr *ProjectMetadata) SetObservation(obs map[string]interface{}) 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 ProjectMetadata +func (tr *ProjectMetadata) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectMetadata +func (tr *ProjectMetadata) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectMetadata +func (tr *ProjectMetadata) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectMetadata using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectMetadata) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectMetadataParameters{} + 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 *ProjectMetadata) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_projectmetadata_types.go b/apis/compute/v1alpha1/zz_projectmetadata_types.go new file mode 100755 index 00000000..c7e37ae1 --- /dev/null +++ b/apis/compute/v1alpha1/zz_projectmetadata_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectMetadataObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ProjectMetadataParameters struct { + + // A series of key value pairs. + // +kubebuilder:validation:Required + Metadata map[string]*string `json:"metadata" tf:"metadata,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// ProjectMetadataSpec defines the desired state of ProjectMetadata +type ProjectMetadataSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectMetadataParameters `json:"forProvider"` +} + +// ProjectMetadataStatus defines the observed state of ProjectMetadata. +type ProjectMetadataStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectMetadataObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectMetadata is the Schema for the ProjectMetadatas 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,gcpjet} +type ProjectMetadata struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectMetadataSpec `json:"spec"` + Status ProjectMetadataStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectMetadataList contains a list of ProjectMetadatas +type ProjectMetadataList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectMetadata `json:"items"` +} + +// Repository type metadata. +var ( + ProjectMetadata_Kind = "ProjectMetadata" + ProjectMetadata_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectMetadata_Kind}.String() + ProjectMetadata_KindAPIVersion = ProjectMetadata_Kind + "." + CRDGroupVersion.String() + ProjectMetadata_GroupVersionKind = CRDGroupVersion.WithKind(ProjectMetadata_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectMetadata{}, &ProjectMetadataList{}) +} diff --git a/apis/compute/v1alpha1/zz_projectmetadataitem_terraformed.go b/apis/compute/v1alpha1/zz_projectmetadataitem_terraformed.go new file mode 100755 index 00000000..5b269f64 --- /dev/null +++ b/apis/compute/v1alpha1/zz_projectmetadataitem_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectMetadataItem +func (mg *ProjectMetadataItem) GetTerraformResourceType() string { + return "google_compute_project_metadata_item" +} + +// GetConnectionDetailsMapping for this ProjectMetadataItem +func (tr *ProjectMetadataItem) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectMetadataItem +func (tr *ProjectMetadataItem) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectMetadataItem +func (tr *ProjectMetadataItem) SetObservation(obs map[string]interface{}) 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 ProjectMetadataItem +func (tr *ProjectMetadataItem) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectMetadataItem +func (tr *ProjectMetadataItem) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectMetadataItem +func (tr *ProjectMetadataItem) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectMetadataItem using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectMetadataItem) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectMetadataItemParameters{} + 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 *ProjectMetadataItem) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_projectmetadataitem_types.go b/apis/compute/v1alpha1/zz_projectmetadataitem_types.go new file mode 100755 index 00000000..a9fcba7b --- /dev/null +++ b/apis/compute/v1alpha1/zz_projectmetadataitem_types.go @@ -0,0 +1,94 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectMetadataItemObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ProjectMetadataItemParameters struct { + + // The metadata key to set. + // +kubebuilder:validation:Required + Key *string `json:"key" tf:"key,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The value to set for the given metadata key. + // +kubebuilder:validation:Required + Value *string `json:"value" tf:"value,omitempty"` +} + +// ProjectMetadataItemSpec defines the desired state of ProjectMetadataItem +type ProjectMetadataItemSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectMetadataItemParameters `json:"forProvider"` +} + +// ProjectMetadataItemStatus defines the observed state of ProjectMetadataItem. +type ProjectMetadataItemStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectMetadataItemObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectMetadataItem is the Schema for the ProjectMetadataItems 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,gcpjet} +type ProjectMetadataItem struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectMetadataItemSpec `json:"spec"` + Status ProjectMetadataItemStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectMetadataItemList contains a list of ProjectMetadataItems +type ProjectMetadataItemList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectMetadataItem `json:"items"` +} + +// Repository type metadata. +var ( + ProjectMetadataItem_Kind = "ProjectMetadataItem" + ProjectMetadataItem_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectMetadataItem_Kind}.String() + ProjectMetadataItem_KindAPIVersion = ProjectMetadataItem_Kind + "." + CRDGroupVersion.String() + ProjectMetadataItem_GroupVersionKind = CRDGroupVersion.WithKind(ProjectMetadataItem_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectMetadataItem{}, &ProjectMetadataItemList{}) +} diff --git a/apis/compute/v1alpha1/zz_regionautoscaler_terraformed.go b/apis/compute/v1alpha1/zz_regionautoscaler_terraformed.go new file mode 100755 index 00000000..9c477b28 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regionautoscaler_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionAutoscaler +func (mg *RegionAutoscaler) GetTerraformResourceType() string { + return "google_compute_region_autoscaler" +} + +// GetConnectionDetailsMapping for this RegionAutoscaler +func (tr *RegionAutoscaler) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RegionAutoscaler +func (tr *RegionAutoscaler) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionAutoscaler +func (tr *RegionAutoscaler) SetObservation(obs map[string]interface{}) 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 RegionAutoscaler +func (tr *RegionAutoscaler) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionAutoscaler +func (tr *RegionAutoscaler) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionAutoscaler +func (tr *RegionAutoscaler) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionAutoscaler using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionAutoscaler) LateInitialize(attrs []byte) (bool, error) { + params := &RegionAutoscalerParameters{} + 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 *RegionAutoscaler) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_regionautoscaler_types.go b/apis/compute/v1alpha1/zz_regionautoscaler_types.go new file mode 100755 index 00000000..f7a9f584 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regionautoscaler_types.go @@ -0,0 +1,314 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AutoscalingPolicyCPUUtilizationObservation struct { +} + +type AutoscalingPolicyCPUUtilizationParameters struct { + + // Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are: + // + // - NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics. + // + // - OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand. + // +kubebuilder:validation:Optional + PredictiveMethod *string `json:"predictiveMethod,omitempty" tf:"predictive_method,omitempty"` + + // The target CPU utilization that the autoscaler should maintain. + // Must be a float value in the range (0, 1]. If not specified, the + // default is 0.6. + // + // If the CPU level is below the target utilization, the autoscaler + // scales down the number of instances until it reaches the minimum + // number of instances you specified or until the average CPU of + // your instances reaches the target utilization. + // + // If the average CPU is above the target utilization, the autoscaler + // scales up until it reaches the maximum number of instances you + // specified or until the average utilization reaches the target + // utilization. + // +kubebuilder:validation:Required + Target *float64 `json:"target" tf:"target,omitempty"` +} + +type AutoscalingPolicyLoadBalancingUtilizationObservation struct { +} + +type AutoscalingPolicyLoadBalancingUtilizationParameters struct { + + // Fraction of backend capacity utilization (set in HTTP(s) load + // balancing configuration) that autoscaler should maintain. Must + // be a positive float value. If not defined, the default is 0.8. + // +kubebuilder:validation:Required + Target *float64 `json:"target" tf:"target,omitempty"` +} + +type AutoscalingPolicyMetricObservation struct { +} + +type AutoscalingPolicyMetricParameters struct { + + // The identifier (type) of the Stackdriver Monitoring metric. + // The metric cannot have negative values. + // + // The metric must have a value type of INT64 or DOUBLE. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The target value of the metric that autoscaler should + // maintain. This must be a positive value. A utilization + // metric scales number of virtual machines handling requests + // to increase or decrease proportionally to the metric. + // + // For example, a good metric to use as a utilizationTarget is + // www.googleapis.com/compute/instance/network/received_bytes_count. + // The autoscaler will work to keep this value constant for each + // of the instances. + // +kubebuilder:validation:Optional + Target *float64 `json:"target,omitempty" tf:"target,omitempty"` + + // Defines how target utilization value is expressed for a + // Stackdriver Monitoring metric. Possible values: ["GAUGE", "DELTA_PER_SECOND", "DELTA_PER_MINUTE"] + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type AutoscalingPolicyScaleInControlObservation struct { +} + +type AutoscalingPolicyScaleInControlParameters struct { + + // A nested object resource + // +kubebuilder:validation:Optional + MaxScaledInReplicas []ScaleInControlMaxScaledInReplicasParameters `json:"maxScaledInReplicas,omitempty" tf:"max_scaled_in_replicas,omitempty"` + + // How long back autoscaling should look when computing recommendations + // to include directives regarding slower scale down, as described above. + // +kubebuilder:validation:Optional + TimeWindowSec *int64 `json:"timeWindowSec,omitempty" tf:"time_window_sec,omitempty"` +} + +type AutoscalingPolicyScalingSchedulesObservation struct { +} + +type AutoscalingPolicyScalingSchedulesParameters struct { + + // A description of a scaling schedule. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // A boolean value that specifies if a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // The duration of time intervals (in seconds) for which this scaling schedule will be running. The minimum allowed value is 300. + // +kubebuilder:validation:Required + DurationSec *int64 `json:"durationSec" tf:"duration_sec,omitempty"` + + // Minimum number of VM instances that autoscaler will recommend in time intervals starting according to schedule. + // +kubebuilder:validation:Required + MinRequiredReplicas *int64 `json:"minRequiredReplicas" tf:"min_required_replicas,omitempty"` + + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The start timestamps of time intervals when this scaling schedule should provide a scaling signal. This field uses the extended cron format (with an optional year field). + // +kubebuilder:validation:Required + Schedule *string `json:"schedule" tf:"schedule,omitempty"` + + // The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database. + // +kubebuilder:validation:Optional + TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"` +} + +type RegionAutoscalerAutoscalingPolicyObservation struct { +} + +type RegionAutoscalerAutoscalingPolicyParameters struct { + + // Defines the CPU utilization policy that allows the autoscaler to + // scale based on the average CPU utilization of a managed instance + // group. + // +kubebuilder:validation:Optional + CPUUtilization []AutoscalingPolicyCPUUtilizationParameters `json:"cpuUtilization,omitempty" tf:"cpu_utilization,omitempty"` + + // The number of seconds that the autoscaler should wait before it + // starts collecting information from a new instance. This prevents + // the autoscaler from collecting information when the instance is + // initializing, during which the collected usage would not be + // reliable. The default time autoscaler waits is 60 seconds. + // + // Virtual machine initialization times might vary because of + // numerous factors. We recommend that you test how long an + // instance may take to initialize. To do this, create an instance + // and time the startup process. + // +kubebuilder:validation:Optional + CooldownPeriod *int64 `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"` + + // Configuration parameters of autoscaling based on a load balancer. + // +kubebuilder:validation:Optional + LoadBalancingUtilization []AutoscalingPolicyLoadBalancingUtilizationParameters `json:"loadBalancingUtilization,omitempty" tf:"load_balancing_utilization,omitempty"` + + // The maximum number of instances that the autoscaler can scale up + // to. This is required when creating or updating an autoscaler. The + // maximum number of replicas should not be lower than minimal number + // of replicas. + // +kubebuilder:validation:Required + MaxReplicas *int64 `json:"maxReplicas" tf:"max_replicas,omitempty"` + + // Configuration parameters of autoscaling based on a custom metric. + // +kubebuilder:validation:Optional + Metric []AutoscalingPolicyMetricParameters `json:"metric,omitempty" tf:"metric,omitempty"` + + // The minimum number of replicas that the autoscaler can scale down + // to. This cannot be less than 0. If not provided, autoscaler will + // choose a default value depending on maximum number of instances + // allowed. + // +kubebuilder:validation:Required + MinReplicas *int64 `json:"minReplicas" tf:"min_replicas,omitempty"` + + // Defines operating mode for this policy. Default value: "ON" Possible values: ["OFF", "ONLY_UP", "ON"] + // +kubebuilder:validation:Optional + Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` + + // Defines scale in controls to reduce the risk of response latency + // and outages due to abrupt scale-in events + // +kubebuilder:validation:Optional + ScaleInControl []AutoscalingPolicyScaleInControlParameters `json:"scaleInControl,omitempty" tf:"scale_in_control,omitempty"` + + // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler and they can overlap. + // +kubebuilder:validation:Optional + ScalingSchedules []AutoscalingPolicyScalingSchedulesParameters `json:"scalingSchedules,omitempty" tf:"scaling_schedules,omitempty"` +} + +type RegionAutoscalerObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type RegionAutoscalerParameters struct { + + // The configuration parameters for the autoscaling algorithm. You can + // define one or more of the policies for an autoscaler: cpuUtilization, + // customMetricUtilizations, and loadBalancingUtilization. + // + // If none of these are specified, the default will be to autoscale based + // on cpuUtilization to 0.6 or 60%. + // +kubebuilder:validation:Required + AutoscalingPolicy []RegionAutoscalerAutoscalingPolicyParameters `json:"autoscalingPolicy" tf:"autoscaling_policy,omitempty"` + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. The name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // URL of the region where the instance group resides. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // URL of the managed instance group that this autoscaler will scale. + // +kubebuilder:validation:Required + Target *string `json:"target" tf:"target,omitempty"` +} + +type ScaleInControlMaxScaledInReplicasObservation struct { +} + +type ScaleInControlMaxScaledInReplicasParameters struct { + + // Specifies a fixed number of VM instances. This must be a positive + // integer. + // +kubebuilder:validation:Optional + Fixed *int64 `json:"fixed,omitempty" tf:"fixed,omitempty"` + + // Specifies a percentage of instances between 0 to 100%, inclusive. + // For example, specify 80 for 80%. + // +kubebuilder:validation:Optional + Percent *int64 `json:"percent,omitempty" tf:"percent,omitempty"` +} + +// RegionAutoscalerSpec defines the desired state of RegionAutoscaler +type RegionAutoscalerSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionAutoscalerParameters `json:"forProvider"` +} + +// RegionAutoscalerStatus defines the observed state of RegionAutoscaler. +type RegionAutoscalerStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionAutoscalerObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionAutoscaler is the Schema for the RegionAutoscalers 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,gcpjet} +type RegionAutoscaler struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionAutoscalerSpec `json:"spec"` + Status RegionAutoscalerStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionAutoscalerList contains a list of RegionAutoscalers +type RegionAutoscalerList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionAutoscaler `json:"items"` +} + +// Repository type metadata. +var ( + RegionAutoscaler_Kind = "RegionAutoscaler" + RegionAutoscaler_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionAutoscaler_Kind}.String() + RegionAutoscaler_KindAPIVersion = RegionAutoscaler_Kind + "." + CRDGroupVersion.String() + RegionAutoscaler_GroupVersionKind = CRDGroupVersion.WithKind(RegionAutoscaler_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionAutoscaler{}, &RegionAutoscalerList{}) +} diff --git a/apis/compute/v1alpha1/zz_regionbackendservice_terraformed.go b/apis/compute/v1alpha1/zz_regionbackendservice_terraformed.go new file mode 100755 index 00000000..87c61e33 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regionbackendservice_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionBackendService +func (mg *RegionBackendService) GetTerraformResourceType() string { + return "google_compute_region_backend_service" +} + +// GetConnectionDetailsMapping for this RegionBackendService +func (tr *RegionBackendService) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"iap[*].oauth2_client_secret": "spec.forProvider.iap[*].oauth2ClientSecretSecretRef", "iap[*].oauth2_client_secret_sha256": "status.atProvider.iap[*].oauth2ClientSecretSha256"} +} + +// GetObservation of this RegionBackendService +func (tr *RegionBackendService) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionBackendService +func (tr *RegionBackendService) SetObservation(obs map[string]interface{}) 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 RegionBackendService +func (tr *RegionBackendService) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionBackendService +func (tr *RegionBackendService) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionBackendService +func (tr *RegionBackendService) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionBackendService using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionBackendService) LateInitialize(attrs []byte) (bool, error) { + params := &RegionBackendServiceParameters{} + 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 *RegionBackendService) GetTerraformSchemaVersion() int { + return 1 +} diff --git a/apis/compute/v1alpha1/zz_regionbackendservice_types.go b/apis/compute/v1alpha1/zz_regionbackendservice_types.go new file mode 100755 index 00000000..d48b4d1d --- /dev/null +++ b/apis/compute/v1alpha1/zz_regionbackendservice_types.go @@ -0,0 +1,751 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CdnPolicyCacheKeyPolicyObservation struct { +} + +type CdnPolicyCacheKeyPolicyParameters struct { + + // If true requests to different hosts will be cached separately. + // +kubebuilder:validation:Optional + IncludeHost *bool `json:"includeHost,omitempty" tf:"include_host,omitempty"` + + // If true, http and https requests will be cached separately. + // +kubebuilder:validation:Optional + IncludeProtocol *bool `json:"includeProtocol,omitempty" tf:"include_protocol,omitempty"` + + // If true, include query string parameters in the cache key + // according to query_string_whitelist and + // query_string_blacklist. If neither is set, the entire query + // string will be included. + // + // If false, the query string will be excluded from the cache + // key entirely. + // +kubebuilder:validation:Optional + IncludeQueryString *bool `json:"includeQueryString,omitempty" tf:"include_query_string,omitempty"` + + // Names of query string parameters to exclude in cache keys. + // + // All other parameters will be included. Either specify + // query_string_whitelist or query_string_blacklist, not both. + // '&' and '=' will be percent encoded and not treated as + // delimiters. + // +kubebuilder:validation:Optional + QueryStringBlacklist []*string `json:"queryStringBlacklist,omitempty" tf:"query_string_blacklist,omitempty"` + + // Names of query string parameters to include in cache keys. + // + // All other parameters will be excluded. Either specify + // query_string_whitelist or query_string_blacklist, not both. + // '&' and '=' will be percent encoded and not treated as + // delimiters. + // +kubebuilder:validation:Optional + QueryStringWhitelist []*string `json:"queryStringWhitelist,omitempty" tf:"query_string_whitelist,omitempty"` +} + +type ConsistentHashHTTPCookieObservation struct { +} + +type ConsistentHashHTTPCookieParameters struct { + + // Name of the cookie. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Path to set for the cookie. + // +kubebuilder:validation:Optional + Path *string `json:"path,omitempty" tf:"path,omitempty"` + + // Lifetime of the cookie. + // +kubebuilder:validation:Optional + TTL []HTTPCookieTTLParameters `json:"ttl,omitempty" tf:"ttl,omitempty"` +} + +type FailoverPolicyObservation struct { +} + +type FailoverPolicyParameters struct { + + // On failover or failback, this field indicates whether connection drain + // will be honored. Setting this to true has the following effect: connections + // to the old active pool are not drained. Connections to the new active pool + // use the timeout of 10 min (currently fixed). Setting to false has the + // following effect: both old and new connections will have a drain timeout + // of 10 min. + // This can be set to true only if the protocol is TCP. + // The default is false. + // +kubebuilder:validation:Optional + DisableConnectionDrainOnFailover *bool `json:"disableConnectionDrainOnFailover,omitempty" tf:"disable_connection_drain_on_failover,omitempty"` + + // This option is used only when no healthy VMs are detected in the primary + // and backup instance groups. When set to true, traffic is dropped. When + // set to false, new connections are sent across all VMs in the primary group. + // The default is false. + // +kubebuilder:validation:Optional + DropTrafficIfUnhealthy *bool `json:"dropTrafficIfUnhealthy,omitempty" tf:"drop_traffic_if_unhealthy,omitempty"` + + // The value of the field must be in [0, 1]. If the ratio of the healthy + // VMs in the primary backend is at or below this number, traffic arriving + // at the load-balanced IP will be directed to the failover backend. + // In case where 'failoverRatio' is not set or all the VMs in the backup + // backend are unhealthy, the traffic will be directed back to the primary + // backend in the "force" mode, where traffic will be spread to the healthy + // VMs with the best effort, or to all VMs when no VM is healthy. + // This field is only used with l4 load balancing. + // +kubebuilder:validation:Optional + FailoverRatio *float64 `json:"failoverRatio,omitempty" tf:"failover_ratio,omitempty"` +} + +type HTTPCookieTTLObservation struct { +} + +type HTTPCookieTTLParameters struct { + + // Span of time that's a fraction of a second at nanosecond + // resolution. Durations less than one second are represented + // with a 0 seconds field and a positive nanos field. Must + // be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. + // Must be from 0 to 315,576,000,000 inclusive. + // +kubebuilder:validation:Required + Seconds *int64 `json:"seconds" tf:"seconds,omitempty"` +} + +type OutlierDetectionBaseEjectionTimeObservation struct { +} + +type OutlierDetectionBaseEjectionTimeParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *int64 `json:"seconds" tf:"seconds,omitempty"` +} + +type OutlierDetectionIntervalObservation struct { +} + +type OutlierDetectionIntervalParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *int64 `json:"seconds" tf:"seconds,omitempty"` +} + +type RegionBackendServiceBackendObservation struct { +} + +type RegionBackendServiceBackendParameters struct { + + // Specifies the balancing mode for this backend. Default value: "CONNECTION" Possible values: ["UTILIZATION", "RATE", "CONNECTION"] + // +kubebuilder:validation:Optional + BalancingMode *string `json:"balancingMode,omitempty" tf:"balancing_mode,omitempty"` + + // A multiplier applied to the group's maximum servicing capacity + // (based on UTILIZATION, RATE or CONNECTION). + // + // ~>**NOTE**: This field cannot be set for + // INTERNAL region backend services (default loadBalancingScheme), + // but is required for non-INTERNAL backend service. The total + // capacity_scaler for all backends must be non-zero. + // + // A setting of 0 means the group is completely drained, offering + // 0% of its available Capacity. Valid range is [0.0,1.0]. + // +kubebuilder:validation:Optional + CapacityScaler *float64 `json:"capacityScaler,omitempty" tf:"capacity_scaler,omitempty"` + + // An optional description of this resource. + // Provide this property when you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // This field designates whether this is a failover backend. More + // than one failover backend can be configured for a given RegionBackendService. + // +kubebuilder:validation:Optional + Failover *bool `json:"failover,omitempty" tf:"failover,omitempty"` + + // The fully-qualified URL of an Instance Group or Network Endpoint + // Group resource. In case of instance group this defines the list + // of instances that serve traffic. Member virtual machine + // instances from each instance group must live in the same zone as + // the instance group itself. No two backends in a backend service + // are allowed to use same Instance Group resource. + // + // For Network Endpoint Groups this defines list of endpoints. All + // endpoints of Network Endpoint Group must be hosted on instances + // located in the same zone as the Network Endpoint Group. + // + // Backend services cannot mix Instance Group and + // Network Endpoint Group backends. + // + // When the 'load_balancing_scheme' is INTERNAL, only instance groups + // are supported. + // + // Note that you must specify an Instance Group or Network Endpoint + // Group resource using the fully-qualified URL, rather than a + // partial URL. + // +kubebuilder:validation:Required + Group *string `json:"group" tf:"group,omitempty"` + + // The max number of simultaneous connections for the group. Can + // be used with either CONNECTION or UTILIZATION balancing modes. + // Cannot be set for INTERNAL backend services. + // + // For CONNECTION mode, either maxConnections or one + // of maxConnectionsPerInstance or maxConnectionsPerEndpoint, + // as appropriate for group type, must be set. + // +kubebuilder:validation:Optional + MaxConnections *int64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"` + + // The max number of simultaneous connections that a single backend + // network endpoint can handle. Cannot be set + // for INTERNAL backend services. + // + // This is used to calculate the capacity of the group. Can be + // used in either CONNECTION or UTILIZATION balancing modes. For + // CONNECTION mode, either maxConnections or + // maxConnectionsPerEndpoint must be set. + // +kubebuilder:validation:Optional + MaxConnectionsPerEndpoint *int64 `json:"maxConnectionsPerEndpoint,omitempty" tf:"max_connections_per_endpoint,omitempty"` + + // The max number of simultaneous connections that a single + // backend instance can handle. Cannot be set for INTERNAL backend + // services. + // + // This is used to calculate the capacity of the group. + // Can be used in either CONNECTION or UTILIZATION balancing modes. + // For CONNECTION mode, either maxConnections or + // maxConnectionsPerInstance must be set. + // +kubebuilder:validation:Optional + MaxConnectionsPerInstance *int64 `json:"maxConnectionsPerInstance,omitempty" tf:"max_connections_per_instance,omitempty"` + + // The max requests per second (RPS) of the group. Cannot be set + // for INTERNAL backend services. + // + // Can be used with either RATE or UTILIZATION balancing modes, + // but required if RATE mode. Either maxRate or one + // of maxRatePerInstance or maxRatePerEndpoint, as appropriate for + // group type, must be set. + // +kubebuilder:validation:Optional + MaxRate *int64 `json:"maxRate,omitempty" tf:"max_rate,omitempty"` + + // The max requests per second (RPS) that a single backend network + // endpoint can handle. This is used to calculate the capacity of + // the group. Can be used in either balancing mode. For RATE mode, + // either maxRate or maxRatePerEndpoint must be set. Cannot be set + // for INTERNAL backend services. + // +kubebuilder:validation:Optional + MaxRatePerEndpoint *float64 `json:"maxRatePerEndpoint,omitempty" tf:"max_rate_per_endpoint,omitempty"` + + // The max requests per second (RPS) that a single backend + // instance can handle. This is used to calculate the capacity of + // the group. Can be used in either balancing mode. For RATE mode, + // either maxRate or maxRatePerInstance must be set. Cannot be set + // for INTERNAL backend services. + // +kubebuilder:validation:Optional + MaxRatePerInstance *float64 `json:"maxRatePerInstance,omitempty" tf:"max_rate_per_instance,omitempty"` + + // Used when balancingMode is UTILIZATION. This ratio defines the + // CPU utilization target for the group. Valid range is [0.0, 1.0]. + // Cannot be set for INTERNAL backend services. + // +kubebuilder:validation:Optional + MaxUtilization *float64 `json:"maxUtilization,omitempty" tf:"max_utilization,omitempty"` +} + +type RegionBackendServiceCdnPolicyNegativeCachingPolicyObservation struct { +} + +type RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters struct { + + // The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501 + // can be specified as values, and you cannot specify a status code more than once. + // +kubebuilder:validation:Optional + Code *int64 `json:"code,omitempty" tf:"code,omitempty"` +} + +type RegionBackendServiceCdnPolicyObservation struct { +} + +type RegionBackendServiceCdnPolicyParameters struct { + + // The CacheKeyPolicy for this CdnPolicy. + // +kubebuilder:validation:Optional + CacheKeyPolicy []CdnPolicyCacheKeyPolicyParameters `json:"cacheKeyPolicy,omitempty" tf:"cache_key_policy,omitempty"` + + // Specifies the cache setting for all responses from this backend. + // The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC Possible values: ["USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", "CACHE_ALL_STATIC"] + // +kubebuilder:validation:Optional + CacheMode *string `json:"cacheMode,omitempty" tf:"cache_mode,omitempty"` + + // Specifies the maximum allowed TTL for cached content served by this origin. + // +kubebuilder:validation:Optional + ClientTTL *int64 `json:"clientTtl,omitempty" tf:"client_ttl,omitempty"` + + // Specifies the default TTL for cached content served by this origin for responses + // that do not have an existing valid TTL (max-age or s-max-age). + // +kubebuilder:validation:Optional + DefaultTTL *int64 `json:"defaultTtl,omitempty" tf:"default_ttl,omitempty"` + + // Specifies the maximum allowed TTL for cached content served by this origin. + // +kubebuilder:validation:Optional + MaxTTL *int64 `json:"maxTtl,omitempty" tf:"max_ttl,omitempty"` + + // Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. + // +kubebuilder:validation:Optional + NegativeCaching *bool `json:"negativeCaching,omitempty" tf:"negative_caching,omitempty"` + + // Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy. + // Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs. + // +kubebuilder:validation:Optional + NegativeCachingPolicy []RegionBackendServiceCdnPolicyNegativeCachingPolicyParameters `json:"negativeCachingPolicy,omitempty" tf:"negative_caching_policy,omitempty"` + + // Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. + // +kubebuilder:validation:Optional + ServeWhileStale *int64 `json:"serveWhileStale,omitempty" tf:"serve_while_stale,omitempty"` + + // Maximum number of seconds the response to a signed URL request + // will be considered fresh, defaults to 1hr (3600s). After this + // time period, the response will be revalidated before + // being served. + // + // When serving responses to signed URL requests, Cloud CDN will + // internally behave as though all responses from this backend had a + // "Cache-Control: public, max-age=[TTL]" header, regardless of any + // existing Cache-Control header. The actual headers served in + // responses will not be altered. + // +kubebuilder:validation:Optional + SignedURLCacheMaxAgeSec *int64 `json:"signedUrlCacheMaxAgeSec,omitempty" tf:"signed_url_cache_max_age_sec,omitempty"` +} + +type RegionBackendServiceCircuitBreakersObservation struct { +} + +type RegionBackendServiceCircuitBreakersParameters struct { + + // The maximum number of connections to the backend cluster. + // Defaults to 1024. + // +kubebuilder:validation:Optional + MaxConnections *int64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"` + + // The maximum number of pending requests to the backend cluster. + // Defaults to 1024. + // +kubebuilder:validation:Optional + MaxPendingRequests *int64 `json:"maxPendingRequests,omitempty" tf:"max_pending_requests,omitempty"` + + // The maximum number of parallel requests to the backend cluster. + // Defaults to 1024. + // +kubebuilder:validation:Optional + MaxRequests *int64 `json:"maxRequests,omitempty" tf:"max_requests,omitempty"` + + // Maximum requests for a single backend connection. This parameter + // is respected by both the HTTP/1.1 and HTTP/2 implementations. If + // not specified, there is no limit. Setting this parameter to 1 + // will effectively disable keep alive. + // +kubebuilder:validation:Optional + MaxRequestsPerConnection *int64 `json:"maxRequestsPerConnection,omitempty" tf:"max_requests_per_connection,omitempty"` + + // The maximum number of parallel retries to the backend cluster. + // Defaults to 3. + // +kubebuilder:validation:Optional + MaxRetries *int64 `json:"maxRetries,omitempty" tf:"max_retries,omitempty"` +} + +type RegionBackendServiceConsistentHashObservation struct { +} + +type RegionBackendServiceConsistentHashParameters struct { + + // Hash is based on HTTP Cookie. This field describes a HTTP cookie + // that will be used as the hash key for the consistent hash load + // balancer. If the cookie is not present, it will be generated. + // This field is applicable if the sessionAffinity is set to HTTP_COOKIE. + // +kubebuilder:validation:Optional + HTTPCookie []ConsistentHashHTTPCookieParameters `json:"httpCookie,omitempty" tf:"http_cookie,omitempty"` + + // The hash based on the value of the specified header field. + // This field is applicable if the sessionAffinity is set to HEADER_FIELD. + // +kubebuilder:validation:Optional + HTTPHeaderName *string `json:"httpHeaderName,omitempty" tf:"http_header_name,omitempty"` + + // The minimum number of virtual nodes to use for the hash ring. + // Larger ring sizes result in more granular load + // distributions. If the number of hosts in the load balancing pool + // is larger than the ring size, each host will be assigned a single + // virtual node. + // Defaults to 1024. + // +kubebuilder:validation:Optional + MinimumRingSize *int64 `json:"minimumRingSize,omitempty" tf:"minimum_ring_size,omitempty"` +} + +type RegionBackendServiceIapObservation struct { +} + +type RegionBackendServiceIapParameters struct { + + // OAuth2 Client ID for IAP + // +kubebuilder:validation:Required + Oauth2ClientID *string `json:"oauth2ClientId" tf:"oauth2_client_id,omitempty"` + + // OAuth2 Client Secret for IAP + // +kubebuilder:validation:Required + Oauth2ClientSecretSecretRef v1.SecretKeySelector `json:"oauth2ClientSecretSecretRef" tf:"-"` +} + +type RegionBackendServiceLogConfigObservation struct { +} + +type RegionBackendServiceLogConfigParameters struct { + + // Whether to enable logging for the load balancer traffic served by this backend service. + // +kubebuilder:validation:Optional + Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"` + + // This field can only be specified if logging is enabled for this backend service. The value of + // the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer + // where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. + // The default value is 1.0. + // +kubebuilder:validation:Optional + SampleRate *float64 `json:"sampleRate,omitempty" tf:"sample_rate,omitempty"` +} + +type RegionBackendServiceObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type RegionBackendServiceOutlierDetectionObservation struct { +} + +type RegionBackendServiceOutlierDetectionParameters struct { + + // The base time that a host is ejected for. The real time is equal to the base + // time multiplied by the number of times the host has been ejected. Defaults to + // 30000ms or 30s. + // +kubebuilder:validation:Optional + BaseEjectionTime []OutlierDetectionBaseEjectionTimeParameters `json:"baseEjectionTime,omitempty" tf:"base_ejection_time,omitempty"` + + // Number of errors before a host is ejected from the connection pool. When the + // backend host is accessed over HTTP, a 5xx return code qualifies as an error. + // Defaults to 5. + // +kubebuilder:validation:Optional + ConsecutiveErrors *int64 `json:"consecutiveErrors,omitempty" tf:"consecutive_errors,omitempty"` + + // The number of consecutive gateway failures (502, 503, 504 status or connection + // errors that are mapped to one of those status codes) before a consecutive + // gateway failure ejection occurs. Defaults to 5. + // +kubebuilder:validation:Optional + ConsecutiveGatewayFailure *int64 `json:"consecutiveGatewayFailure,omitempty" tf:"consecutive_gateway_failure,omitempty"` + + // The percentage chance that a host will be actually ejected when an outlier + // status is detected through consecutive 5xx. This setting can be used to disable + // ejection or to ramp it up slowly. Defaults to 100. + // +kubebuilder:validation:Optional + EnforcingConsecutiveErrors *int64 `json:"enforcingConsecutiveErrors,omitempty" tf:"enforcing_consecutive_errors,omitempty"` + + // The percentage chance that a host will be actually ejected when an outlier + // status is detected through consecutive gateway failures. This setting can be + // used to disable ejection or to ramp it up slowly. Defaults to 0. + // +kubebuilder:validation:Optional + EnforcingConsecutiveGatewayFailure *int64 `json:"enforcingConsecutiveGatewayFailure,omitempty" tf:"enforcing_consecutive_gateway_failure,omitempty"` + + // The percentage chance that a host will be actually ejected when an outlier + // status is detected through success rate statistics. This setting can be used to + // disable ejection or to ramp it up slowly. Defaults to 100. + // +kubebuilder:validation:Optional + EnforcingSuccessRate *int64 `json:"enforcingSuccessRate,omitempty" tf:"enforcing_success_rate,omitempty"` + + // Time interval between ejection sweep analysis. This can result in both new + // ejections as well as hosts being returned to service. Defaults to 10 seconds. + // +kubebuilder:validation:Optional + Interval []OutlierDetectionIntervalParameters `json:"interval,omitempty" tf:"interval,omitempty"` + + // Maximum percentage of hosts in the load balancing pool for the backend service + // that can be ejected. Defaults to 10%. + // +kubebuilder:validation:Optional + MaxEjectionPercent *int64 `json:"maxEjectionPercent,omitempty" tf:"max_ejection_percent,omitempty"` + + // The number of hosts in a cluster that must have enough request volume to detect + // success rate outliers. If the number of hosts is less than this setting, outlier + // detection via success rate statistics is not performed for any host in the + // cluster. Defaults to 5. + // +kubebuilder:validation:Optional + SuccessRateMinimumHosts *int64 `json:"successRateMinimumHosts,omitempty" tf:"success_rate_minimum_hosts,omitempty"` + + // The minimum number of total requests that must be collected in one interval (as + // defined by the interval duration above) to include this host in success rate + // based outlier detection. If the volume is lower than this setting, outlier + // detection via success rate statistics is not performed for that host. Defaults + // to 100. + // +kubebuilder:validation:Optional + SuccessRateRequestVolume *int64 `json:"successRateRequestVolume,omitempty" tf:"success_rate_request_volume,omitempty"` + + // This factor is used to determine the ejection threshold for success rate outlier + // ejection. The ejection threshold is the difference between the mean success + // rate, and the product of this factor and the standard deviation of the mean + // success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided + // by a thousand to get a double. That is, if the desired factor is 1.9, the + // runtime value should be 1900. Defaults to 1900. + // +kubebuilder:validation:Optional + SuccessRateStdevFactor *int64 `json:"successRateStdevFactor,omitempty" tf:"success_rate_stdev_factor,omitempty"` +} + +type RegionBackendServiceParameters struct { + + // Lifetime of cookies in seconds if session_affinity is + // GENERATED_COOKIE. If set to 0, the cookie is non-persistent and lasts + // only until the end of the browser session (or equivalent). The + // maximum allowed value for TTL is one day. + // + // When the load balancing scheme is INTERNAL, this field is not used. + // +kubebuilder:validation:Optional + AffinityCookieTTLSec *int64 `json:"affinityCookieTtlSec,omitempty" tf:"affinity_cookie_ttl_sec,omitempty"` + + // The set of backends that serve this RegionBackendService. + // +kubebuilder:validation:Optional + Backend []RegionBackendServiceBackendParameters `json:"backend,omitempty" tf:"backend,omitempty"` + + // Cloud CDN configuration for this BackendService. + // +kubebuilder:validation:Optional + CdnPolicy []RegionBackendServiceCdnPolicyParameters `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"` + + // Settings controlling the volume of connections to a backend service. This field + // is applicable only when the 'load_balancing_scheme' is set to INTERNAL_MANAGED + // and the 'protocol' is set to HTTP, HTTPS, or HTTP2. + // +kubebuilder:validation:Optional + CircuitBreakers []RegionBackendServiceCircuitBreakersParameters `json:"circuitBreakers,omitempty" tf:"circuit_breakers,omitempty"` + + // Time for which instance will be drained (not accept new + // connections, but still work to finish started). + // +kubebuilder:validation:Optional + ConnectionDrainingTimeoutSec *int64 `json:"connectionDrainingTimeoutSec,omitempty" tf:"connection_draining_timeout_sec,omitempty"` + + // Consistent Hash-based load balancing can be used to provide soft session + // affinity based on HTTP headers, cookies or other properties. This load balancing + // policy is applicable only for HTTP connections. The affinity to a particular + // destination host will be lost when one or more hosts are added/removed from the + // destination service. This field specifies parameters that control consistent + // hashing. + // This field only applies when all of the following are true - + // * 'load_balancing_scheme' is set to INTERNAL_MANAGED + // * 'protocol' is set to HTTP, HTTPS, or HTTP2 + // * 'locality_lb_policy' is set to MAGLEV or RING_HASH + // +kubebuilder:validation:Optional + ConsistentHash []RegionBackendServiceConsistentHashParameters `json:"consistentHash,omitempty" tf:"consistent_hash,omitempty"` + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // If true, enable Cloud CDN for this RegionBackendService. + // +kubebuilder:validation:Optional + EnableCdn *bool `json:"enableCdn,omitempty" tf:"enable_cdn,omitempty"` + + // Policy for failovers. + // +kubebuilder:validation:Optional + FailoverPolicy []FailoverPolicyParameters `json:"failoverPolicy,omitempty" tf:"failover_policy,omitempty"` + + // The set of URLs to HealthCheck resources for health checking + // this RegionBackendService. Currently at most one health + // check can be specified. + // + // A health check must be specified unless the backend service uses an internet + // or serverless NEG as a backend. + // +kubebuilder:validation:Optional + HealthChecks []*string `json:"healthChecks,omitempty" tf:"health_checks,omitempty"` + + // Settings for enabling Cloud Identity Aware Proxy + // +kubebuilder:validation:Optional + Iap []RegionBackendServiceIapParameters `json:"iap,omitempty" tf:"iap,omitempty"` + + // Indicates what kind of load balancing this regional backend service + // will be used for. A backend service created for one type of load + // balancing cannot be used with the other(s). Default value: "INTERNAL" Possible values: ["EXTERNAL", "INTERNAL", "INTERNAL_MANAGED"] + // +kubebuilder:validation:Optional + LoadBalancingScheme *string `json:"loadBalancingScheme,omitempty" tf:"load_balancing_scheme,omitempty"` + + // The load balancing algorithm used within the scope of the locality. + // The possible values are - + // + // * ROUND_ROBIN - This is a simple policy in which each healthy backend + // is selected in round robin order. + // + // * LEAST_REQUEST - An O(1) algorithm which selects two random healthy + // hosts and picks the host which has fewer active requests. + // + // * RING_HASH - The ring/modulo hash load balancer implements consistent + // hashing to backends. The algorithm has the property that the + // addition/removal of a host from a set of N hosts only affects + // 1/N of the requests. + // + // * RANDOM - The load balancer selects a random healthy host. + // + // * ORIGINAL_DESTINATION - Backend host is selected based on the client + // connection metadata, i.e., connections are opened + // to the same address as the destination address of + // the incoming connection before the connection + // was redirected to the load balancer. + // + // * MAGLEV - used as a drop in replacement for the ring hash load balancer. + // Maglev is not as stable as ring hash but has faster table lookup + // build times and host selection times. For more information about + // Maglev, refer to https://ai.google/research/pubs/pub44824 + // + // This field is applicable only when the 'load_balancing_scheme' is set to + // INTERNAL_MANAGED and the 'protocol' is set to HTTP, HTTPS, or HTTP2. Possible values: ["ROUND_ROBIN", "LEAST_REQUEST", "RING_HASH", "RANDOM", "ORIGINAL_DESTINATION", "MAGLEV"] + // +kubebuilder:validation:Optional + LocalityLBPolicy *string `json:"localityLbPolicy,omitempty" tf:"locality_lb_policy,omitempty"` + + // This field denotes the logging options for the load balancer traffic served by this backend service. + // If logging is enabled, logs will be exported to Stackdriver. + // +kubebuilder:validation:Optional + LogConfig []RegionBackendServiceLogConfigParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The URL of the network to which this backend service belongs. + // This field can only be specified when the load balancing scheme is set to INTERNAL. + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Settings controlling eviction of unhealthy hosts from the load balancing pool. + // This field is applicable only when the 'load_balancing_scheme' is set + // to INTERNAL_MANAGED and the 'protocol' is set to HTTP, HTTPS, or HTTP2. + // +kubebuilder:validation:Optional + OutlierDetection []RegionBackendServiceOutlierDetectionParameters `json:"outlierDetection,omitempty" tf:"outlier_detection,omitempty"` + + // A named port on a backend instance group representing the port for + // communication to the backend VMs in that group. Required when the + // loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED + // and the backends are instance groups. The named port must be defined on each + // backend instance group. This parameter has no meaning if the backends are NEGs. API sets a + // default of "http" if not given. + // Must be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Balancing). + // +kubebuilder:validation:Optional + PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The protocol this RegionBackendService uses to communicate with backends. + // The default is HTTP. **NOTE**: HTTP2 is only valid for beta HTTP/2 load balancer + // types and may result in errors if used with the GA API. Possible values: ["HTTP", "HTTPS", "HTTP2", "SSL", "TCP", "UDP", "GRPC", "UNSPECIFIED"] + // +kubebuilder:validation:Optional + Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"` + + // The Region in which the created backend service should reside. + // If it is not provided, the provider region is used. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // Type of session affinity to use. The default is NONE. Session affinity is + // not applicable if the protocol is UDP. Possible values: ["NONE", "CLIENT_IP", "CLIENT_IP_PORT_PROTO", "CLIENT_IP_PROTO", "GENERATED_COOKIE", "HEADER_FIELD", "HTTP_COOKIE", "CLIENT_IP_NO_DESTINATION"] + // +kubebuilder:validation:Optional + SessionAffinity *string `json:"sessionAffinity,omitempty" tf:"session_affinity,omitempty"` + + // How many seconds to wait for the backend before considering it a + // failed request. Default is 30 seconds. Valid range is [1, 86400]. + // +kubebuilder:validation:Optional + TimeoutSec *int64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"` +} + +// RegionBackendServiceSpec defines the desired state of RegionBackendService +type RegionBackendServiceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionBackendServiceParameters `json:"forProvider"` +} + +// RegionBackendServiceStatus defines the observed state of RegionBackendService. +type RegionBackendServiceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionBackendServiceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionBackendService is the Schema for the RegionBackendServices 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,gcpjet} +type RegionBackendService struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionBackendServiceSpec `json:"spec"` + Status RegionBackendServiceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionBackendServiceList contains a list of RegionBackendServices +type RegionBackendServiceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionBackendService `json:"items"` +} + +// Repository type metadata. +var ( + RegionBackendService_Kind = "RegionBackendService" + RegionBackendService_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionBackendService_Kind}.String() + RegionBackendService_KindAPIVersion = RegionBackendService_Kind + "." + CRDGroupVersion.String() + RegionBackendService_GroupVersionKind = CRDGroupVersion.WithKind(RegionBackendService_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionBackendService{}, &RegionBackendServiceList{}) +} diff --git a/apis/compute/v1alpha1/zz_regiondisk_terraformed.go b/apis/compute/v1alpha1/zz_regiondisk_terraformed.go new file mode 100755 index 00000000..fc25d4d3 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regiondisk_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionDisk +func (mg *RegionDisk) GetTerraformResourceType() string { + return "google_compute_region_disk" +} + +// GetConnectionDetailsMapping for this RegionDisk +func (tr *RegionDisk) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"disk_encryption_key[*].raw_key": "spec.forProvider.diskEncryptionKey[*].rawKeySecretRef"} +} + +// GetObservation of this RegionDisk +func (tr *RegionDisk) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionDisk +func (tr *RegionDisk) SetObservation(obs map[string]interface{}) 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 RegionDisk +func (tr *RegionDisk) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionDisk +func (tr *RegionDisk) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionDisk +func (tr *RegionDisk) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionDisk using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionDisk) LateInitialize(attrs []byte) (bool, error) { + params := &RegionDiskParameters{} + 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 *RegionDisk) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_regiondisk_types.go b/apis/compute/v1alpha1/zz_regiondisk_types.go new file mode 100755 index 00000000..c6a1a2f3 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regiondisk_types.go @@ -0,0 +1,206 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RegionDiskDiskEncryptionKeyObservation struct { + Sha256 *string `json:"sha256,omitempty" tf:"sha256,omitempty"` +} + +type RegionDiskDiskEncryptionKeyParameters struct { + + // Specifies a 256-bit customer-supplied encryption key, encoded in + // RFC 4648 base64 to either encrypt or decrypt this resource. + // +kubebuilder:validation:Optional + RawKeySecretRef *v1.SecretKeySelector `json:"rawKeySecretRef,omitempty" tf:"-"` +} + +type RegionDiskObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"` + + LastAttachTimestamp *string `json:"lastAttachTimestamp,omitempty" tf:"last_attach_timestamp,omitempty"` + + LastDetachTimestamp *string `json:"lastDetachTimestamp,omitempty" tf:"last_detach_timestamp,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + SourceSnapshotID *string `json:"sourceSnapshotId,omitempty" tf:"source_snapshot_id,omitempty"` + + Users []*string `json:"users,omitempty" tf:"users,omitempty"` +} + +type RegionDiskParameters struct { + + // An optional description of this resource. Provide this property when + // you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Encrypts the disk using a customer-supplied encryption key. + // + // After you encrypt a disk with a customer-supplied key, you must + // provide the same key if you use the disk later (e.g. to create a disk + // snapshot or an image, or to attach the disk to a virtual machine). + // + // Customer-supplied encryption keys do not protect access to metadata of + // the disk. + // + // If you do not provide an encryption key when creating the disk, then + // the disk will be encrypted using an automatically generated key and + // you do not need to provide a key to use the disk later. + // +kubebuilder:validation:Optional + DiskEncryptionKey []RegionDiskDiskEncryptionKeyParameters `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"` + + // Labels to apply to this disk. A list of key->value pairs. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Physical block size of the persistent disk, in bytes. If not present + // in a request, a default value is used. Currently supported sizes + // are 4096 and 16384, other sizes may be added in the future. + // If an unsupported value is requested, the error message will list + // the supported values for the caller's project. + // +kubebuilder:validation:Optional + PhysicalBlockSizeBytes *int64 `json:"physicalBlockSizeBytes,omitempty" tf:"physical_block_size_bytes,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // A reference to the region where the disk resides. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // URLs of the zones where the disk should be replicated to. + // +kubebuilder:validation:Required + ReplicaZones []*string `json:"replicaZones" tf:"replica_zones,omitempty"` + + // Size of the persistent disk, specified in GB. You can specify this + // field when creating a persistent disk using the sourceImage or + // sourceSnapshot parameter, or specify it alone to create an empty + // persistent disk. + // + // If you specify this field along with sourceImage or sourceSnapshot, + // the value of sizeGb must not be less than the size of the sourceImage + // or the size of the snapshot. + // +kubebuilder:validation:Optional + Size *int64 `json:"size,omitempty" tf:"size,omitempty"` + + // The source snapshot used to create this disk. You can provide this as + // a partial or full URL to the resource. For example, the following are + // valid values: + // + // * 'https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot' + // * 'projects/project/global/snapshots/snapshot' + // * 'global/snapshots/snapshot' + // * 'snapshot' + // +kubebuilder:validation:Optional + Snapshot *string `json:"snapshot,omitempty" tf:"snapshot,omitempty"` + + // The customer-supplied encryption key of the source snapshot. Required + // if the source snapshot is protected by a customer-supplied encryption + // key. + // +kubebuilder:validation:Optional + SourceSnapshotEncryptionKey []RegionDiskSourceSnapshotEncryptionKeyParameters `json:"sourceSnapshotEncryptionKey,omitempty" tf:"source_snapshot_encryption_key,omitempty"` + + // URL of the disk type resource describing which disk type to use to + // create the disk. Provide this when creating the disk. + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type RegionDiskSourceSnapshotEncryptionKeyObservation struct { + Sha256 *string `json:"sha256,omitempty" tf:"sha256,omitempty"` +} + +type RegionDiskSourceSnapshotEncryptionKeyParameters struct { + + // Specifies a 256-bit customer-supplied encryption key, encoded in + // RFC 4648 base64 to either encrypt or decrypt this resource. + // +kubebuilder:validation:Optional + RawKey *string `json:"rawKey,omitempty" tf:"raw_key,omitempty"` +} + +// RegionDiskSpec defines the desired state of RegionDisk +type RegionDiskSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionDiskParameters `json:"forProvider"` +} + +// RegionDiskStatus defines the observed state of RegionDisk. +type RegionDiskStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionDiskObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionDisk is the Schema for the RegionDisks 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,gcpjet} +type RegionDisk struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionDiskSpec `json:"spec"` + Status RegionDiskStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionDiskList contains a list of RegionDisks +type RegionDiskList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionDisk `json:"items"` +} + +// Repository type metadata. +var ( + RegionDisk_Kind = "RegionDisk" + RegionDisk_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionDisk_Kind}.String() + RegionDisk_KindAPIVersion = RegionDisk_Kind + "." + CRDGroupVersion.String() + RegionDisk_GroupVersionKind = CRDGroupVersion.WithKind(RegionDisk_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionDisk{}, &RegionDiskList{}) +} diff --git a/apis/compute/v1alpha1/zz_regiondiskiambinding_terraformed.go b/apis/compute/v1alpha1/zz_regiondiskiambinding_terraformed.go new file mode 100755 index 00000000..c5cc4231 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regiondiskiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionDiskIAMBinding +func (mg *RegionDiskIAMBinding) GetTerraformResourceType() string { + return "google_compute_region_disk_iam_binding" +} + +// GetConnectionDetailsMapping for this RegionDiskIAMBinding +func (tr *RegionDiskIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RegionDiskIAMBinding +func (tr *RegionDiskIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionDiskIAMBinding +func (tr *RegionDiskIAMBinding) SetObservation(obs map[string]interface{}) 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 RegionDiskIAMBinding +func (tr *RegionDiskIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionDiskIAMBinding +func (tr *RegionDiskIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionDiskIAMBinding +func (tr *RegionDiskIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionDiskIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionDiskIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &RegionDiskIAMBindingParameters{} + 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 *RegionDiskIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_regiondiskiambinding_types.go b/apis/compute/v1alpha1/zz_regiondiskiambinding_types.go new file mode 100755 index 00000000..c3a13c9e --- /dev/null +++ b/apis/compute/v1alpha1/zz_regiondiskiambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RegionDiskIAMBindingConditionObservation struct { +} + +type RegionDiskIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type RegionDiskIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type RegionDiskIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []RegionDiskIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// RegionDiskIAMBindingSpec defines the desired state of RegionDiskIAMBinding +type RegionDiskIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionDiskIAMBindingParameters `json:"forProvider"` +} + +// RegionDiskIAMBindingStatus defines the observed state of RegionDiskIAMBinding. +type RegionDiskIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionDiskIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionDiskIAMBinding is the Schema for the RegionDiskIAMBindings 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,gcpjet} +type RegionDiskIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionDiskIAMBindingSpec `json:"spec"` + Status RegionDiskIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionDiskIAMBindingList contains a list of RegionDiskIAMBindings +type RegionDiskIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionDiskIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + RegionDiskIAMBinding_Kind = "RegionDiskIAMBinding" + RegionDiskIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionDiskIAMBinding_Kind}.String() + RegionDiskIAMBinding_KindAPIVersion = RegionDiskIAMBinding_Kind + "." + CRDGroupVersion.String() + RegionDiskIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(RegionDiskIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionDiskIAMBinding{}, &RegionDiskIAMBindingList{}) +} diff --git a/apis/compute/v1alpha1/zz_regiondiskiammember_terraformed.go b/apis/compute/v1alpha1/zz_regiondiskiammember_terraformed.go new file mode 100755 index 00000000..2d803ee0 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regiondiskiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionDiskIAMMember +func (mg *RegionDiskIAMMember) GetTerraformResourceType() string { + return "google_compute_region_disk_iam_member" +} + +// GetConnectionDetailsMapping for this RegionDiskIAMMember +func (tr *RegionDiskIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RegionDiskIAMMember +func (tr *RegionDiskIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionDiskIAMMember +func (tr *RegionDiskIAMMember) SetObservation(obs map[string]interface{}) 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 RegionDiskIAMMember +func (tr *RegionDiskIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionDiskIAMMember +func (tr *RegionDiskIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionDiskIAMMember +func (tr *RegionDiskIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionDiskIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionDiskIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &RegionDiskIAMMemberParameters{} + 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 *RegionDiskIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_regiondiskiammember_types.go b/apis/compute/v1alpha1/zz_regiondiskiammember_types.go new file mode 100755 index 00000000..c522cbd9 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regiondiskiammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RegionDiskIAMMemberConditionObservation struct { +} + +type RegionDiskIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type RegionDiskIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type RegionDiskIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []RegionDiskIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// RegionDiskIAMMemberSpec defines the desired state of RegionDiskIAMMember +type RegionDiskIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionDiskIAMMemberParameters `json:"forProvider"` +} + +// RegionDiskIAMMemberStatus defines the observed state of RegionDiskIAMMember. +type RegionDiskIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionDiskIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionDiskIAMMember is the Schema for the RegionDiskIAMMembers 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,gcpjet} +type RegionDiskIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionDiskIAMMemberSpec `json:"spec"` + Status RegionDiskIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionDiskIAMMemberList contains a list of RegionDiskIAMMembers +type RegionDiskIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionDiskIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + RegionDiskIAMMember_Kind = "RegionDiskIAMMember" + RegionDiskIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionDiskIAMMember_Kind}.String() + RegionDiskIAMMember_KindAPIVersion = RegionDiskIAMMember_Kind + "." + CRDGroupVersion.String() + RegionDiskIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(RegionDiskIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionDiskIAMMember{}, &RegionDiskIAMMemberList{}) +} diff --git a/apis/compute/v1alpha1/zz_regiondiskiampolicy_terraformed.go b/apis/compute/v1alpha1/zz_regiondiskiampolicy_terraformed.go new file mode 100755 index 00000000..6278549b --- /dev/null +++ b/apis/compute/v1alpha1/zz_regiondiskiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionDiskIAMPolicy +func (mg *RegionDiskIAMPolicy) GetTerraformResourceType() string { + return "google_compute_region_disk_iam_policy" +} + +// GetConnectionDetailsMapping for this RegionDiskIAMPolicy +func (tr *RegionDiskIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RegionDiskIAMPolicy +func (tr *RegionDiskIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionDiskIAMPolicy +func (tr *RegionDiskIAMPolicy) SetObservation(obs map[string]interface{}) 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 RegionDiskIAMPolicy +func (tr *RegionDiskIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionDiskIAMPolicy +func (tr *RegionDiskIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionDiskIAMPolicy +func (tr *RegionDiskIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionDiskIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionDiskIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &RegionDiskIAMPolicyParameters{} + 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 *RegionDiskIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_regiondiskiampolicy_types.go b/apis/compute/v1alpha1/zz_regiondiskiampolicy_types.go new file mode 100755 index 00000000..21c0d077 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regiondiskiampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RegionDiskIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type RegionDiskIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +// RegionDiskIAMPolicySpec defines the desired state of RegionDiskIAMPolicy +type RegionDiskIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionDiskIAMPolicyParameters `json:"forProvider"` +} + +// RegionDiskIAMPolicyStatus defines the observed state of RegionDiskIAMPolicy. +type RegionDiskIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionDiskIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionDiskIAMPolicy is the Schema for the RegionDiskIAMPolicys 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,gcpjet} +type RegionDiskIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionDiskIAMPolicySpec `json:"spec"` + Status RegionDiskIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionDiskIAMPolicyList contains a list of RegionDiskIAMPolicys +type RegionDiskIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionDiskIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + RegionDiskIAMPolicy_Kind = "RegionDiskIAMPolicy" + RegionDiskIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionDiskIAMPolicy_Kind}.String() + RegionDiskIAMPolicy_KindAPIVersion = RegionDiskIAMPolicy_Kind + "." + CRDGroupVersion.String() + RegionDiskIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(RegionDiskIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionDiskIAMPolicy{}, &RegionDiskIAMPolicyList{}) +} diff --git a/apis/compute/v1alpha1/zz_regiondiskresourcepolicyattachment_terraformed.go b/apis/compute/v1alpha1/zz_regiondiskresourcepolicyattachment_terraformed.go new file mode 100755 index 00000000..759c7de6 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regiondiskresourcepolicyattachment_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionDiskResourcePolicyAttachment +func (mg *RegionDiskResourcePolicyAttachment) GetTerraformResourceType() string { + return "google_compute_region_disk_resource_policy_attachment" +} + +// GetConnectionDetailsMapping for this RegionDiskResourcePolicyAttachment +func (tr *RegionDiskResourcePolicyAttachment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RegionDiskResourcePolicyAttachment +func (tr *RegionDiskResourcePolicyAttachment) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionDiskResourcePolicyAttachment +func (tr *RegionDiskResourcePolicyAttachment) SetObservation(obs map[string]interface{}) 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 RegionDiskResourcePolicyAttachment +func (tr *RegionDiskResourcePolicyAttachment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionDiskResourcePolicyAttachment +func (tr *RegionDiskResourcePolicyAttachment) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionDiskResourcePolicyAttachment +func (tr *RegionDiskResourcePolicyAttachment) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionDiskResourcePolicyAttachment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionDiskResourcePolicyAttachment) LateInitialize(attrs []byte) (bool, error) { + params := &RegionDiskResourcePolicyAttachmentParameters{} + 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 *RegionDiskResourcePolicyAttachment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_regiondiskresourcepolicyattachment_types.go b/apis/compute/v1alpha1/zz_regiondiskresourcepolicyattachment_types.go new file mode 100755 index 00000000..873c8efc --- /dev/null +++ b/apis/compute/v1alpha1/zz_regiondiskresourcepolicyattachment_types.go @@ -0,0 +1,98 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RegionDiskResourcePolicyAttachmentObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type RegionDiskResourcePolicyAttachmentParameters struct { + + // The name of the regional disk in which the resource policies are attached to. + // +kubebuilder:validation:Required + Disk *string `json:"disk" tf:"disk,omitempty"` + + // The resource policy to be attached to the disk for scheduling snapshot + // creation. Do not specify the self link. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // A reference to the region where the disk resides. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +// RegionDiskResourcePolicyAttachmentSpec defines the desired state of RegionDiskResourcePolicyAttachment +type RegionDiskResourcePolicyAttachmentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionDiskResourcePolicyAttachmentParameters `json:"forProvider"` +} + +// RegionDiskResourcePolicyAttachmentStatus defines the observed state of RegionDiskResourcePolicyAttachment. +type RegionDiskResourcePolicyAttachmentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionDiskResourcePolicyAttachmentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionDiskResourcePolicyAttachment is the Schema for the RegionDiskResourcePolicyAttachments 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,gcpjet} +type RegionDiskResourcePolicyAttachment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionDiskResourcePolicyAttachmentSpec `json:"spec"` + Status RegionDiskResourcePolicyAttachmentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionDiskResourcePolicyAttachmentList contains a list of RegionDiskResourcePolicyAttachments +type RegionDiskResourcePolicyAttachmentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionDiskResourcePolicyAttachment `json:"items"` +} + +// Repository type metadata. +var ( + RegionDiskResourcePolicyAttachment_Kind = "RegionDiskResourcePolicyAttachment" + RegionDiskResourcePolicyAttachment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionDiskResourcePolicyAttachment_Kind}.String() + RegionDiskResourcePolicyAttachment_KindAPIVersion = RegionDiskResourcePolicyAttachment_Kind + "." + CRDGroupVersion.String() + RegionDiskResourcePolicyAttachment_GroupVersionKind = CRDGroupVersion.WithKind(RegionDiskResourcePolicyAttachment_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionDiskResourcePolicyAttachment{}, &RegionDiskResourcePolicyAttachmentList{}) +} diff --git a/apis/compute/v1alpha1/zz_regionhealthcheck_terraformed.go b/apis/compute/v1alpha1/zz_regionhealthcheck_terraformed.go new file mode 100755 index 00000000..90a90ac2 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regionhealthcheck_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionHealthCheck +func (mg *RegionHealthCheck) GetTerraformResourceType() string { + return "google_compute_region_health_check" +} + +// GetConnectionDetailsMapping for this RegionHealthCheck +func (tr *RegionHealthCheck) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RegionHealthCheck +func (tr *RegionHealthCheck) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionHealthCheck +func (tr *RegionHealthCheck) SetObservation(obs map[string]interface{}) 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 RegionHealthCheck +func (tr *RegionHealthCheck) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionHealthCheck +func (tr *RegionHealthCheck) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionHealthCheck +func (tr *RegionHealthCheck) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionHealthCheck using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionHealthCheck) LateInitialize(attrs []byte) (bool, error) { + params := &RegionHealthCheckParameters{} + 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 *RegionHealthCheck) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_regionhealthcheck_types.go b/apis/compute/v1alpha1/zz_regionhealthcheck_types.go new file mode 100755 index 00000000..283cd32a --- /dev/null +++ b/apis/compute/v1alpha1/zz_regionhealthcheck_types.go @@ -0,0 +1,482 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RegionHealthCheckGRPCHealthCheckObservation struct { +} + +type RegionHealthCheckGRPCHealthCheckParameters struct { + + // The gRPC service name for the health check. + // The value of grpcServiceName has the following meanings by convention: + // + // * Empty serviceName means the overall status of all services at the backend. + // * Non-empty serviceName means the health of that gRPC service, as defined by the owner of the service. + // + // The grpcServiceName can only be ASCII. + // +kubebuilder:validation:Optional + GRPCServiceName *string `json:"grpcServiceName,omitempty" tf:"grpc_service_name,omitempty"` + + // The port number for the health check request. + // Must be specified if portName and portSpecification are not set + // or if port_specification is USE_FIXED_PORT. Valid values are 1 through 65535. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // Port name as defined in InstanceGroup#NamedPort#name. If both port and + // port_name are defined, port takes precedence. + // +kubebuilder:validation:Optional + PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"` + + // Specifies how port is selected for health checking, can be one of the + // following values: + // + // * 'USE_FIXED_PORT': The port number in 'port' is used for health checking. + // + // * 'USE_NAMED_PORT': The 'portName' is used for health checking. + // + // * 'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each + // network endpoint is used for health checking. For other backends, the + // port or named port specified in the Backend Service is used for health + // checking. + // + // If not specified, gRPC health check follows behavior specified in 'port' and + // 'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"] + // +kubebuilder:validation:Optional + PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"` +} + +type RegionHealthCheckHTTPHealthCheckObservation struct { +} + +type RegionHealthCheckHTTPHealthCheckParameters struct { + + // The value of the host header in the HTTP health check request. + // If left empty (default value), the public IP on behalf of which this health + // check is performed will be used. + // +kubebuilder:validation:Optional + Host *string `json:"host,omitempty" tf:"host,omitempty"` + + // The TCP port number for the HTTP health check request. + // The default value is 80. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // Port name as defined in InstanceGroup#NamedPort#name. If both port and + // port_name are defined, port takes precedence. + // +kubebuilder:validation:Optional + PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"` + + // Specifies how port is selected for health checking, can be one of the + // following values: + // + // * 'USE_FIXED_PORT': The port number in 'port' is used for health checking. + // + // * 'USE_NAMED_PORT': The 'portName' is used for health checking. + // + // * 'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each + // network endpoint is used for health checking. For other backends, the + // port or named port specified in the Backend Service is used for health + // checking. + // + // If not specified, HTTP health check follows behavior specified in 'port' and + // 'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"] + // +kubebuilder:validation:Optional + PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"` + + // Specifies the type of proxy header to append before sending data to the + // backend. Default value: "NONE" Possible values: ["NONE", "PROXY_V1"] + // +kubebuilder:validation:Optional + ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"` + + // The request path of the HTTP health check request. + // The default value is /. + // +kubebuilder:validation:Optional + RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"` + + // The bytes to match against the beginning of the response data. If left empty + // (the default value), any response will indicate health. The response data + // can only be ASCII. + // +kubebuilder:validation:Optional + Response *string `json:"response,omitempty" tf:"response,omitempty"` +} + +type RegionHealthCheckHTTPSHealthCheckObservation struct { +} + +type RegionHealthCheckHTTPSHealthCheckParameters struct { + + // The value of the host header in the HTTPS health check request. + // If left empty (default value), the public IP on behalf of which this health + // check is performed will be used. + // +kubebuilder:validation:Optional + Host *string `json:"host,omitempty" tf:"host,omitempty"` + + // The TCP port number for the HTTPS health check request. + // The default value is 443. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // Port name as defined in InstanceGroup#NamedPort#name. If both port and + // port_name are defined, port takes precedence. + // +kubebuilder:validation:Optional + PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"` + + // Specifies how port is selected for health checking, can be one of the + // following values: + // + // * 'USE_FIXED_PORT': The port number in 'port' is used for health checking. + // + // * 'USE_NAMED_PORT': The 'portName' is used for health checking. + // + // * 'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each + // network endpoint is used for health checking. For other backends, the + // port or named port specified in the Backend Service is used for health + // checking. + // + // If not specified, HTTPS health check follows behavior specified in 'port' and + // 'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"] + // +kubebuilder:validation:Optional + PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"` + + // Specifies the type of proxy header to append before sending data to the + // backend. Default value: "NONE" Possible values: ["NONE", "PROXY_V1"] + // +kubebuilder:validation:Optional + ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"` + + // The request path of the HTTPS health check request. + // The default value is /. + // +kubebuilder:validation:Optional + RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"` + + // The bytes to match against the beginning of the response data. If left empty + // (the default value), any response will indicate health. The response data + // can only be ASCII. + // +kubebuilder:validation:Optional + Response *string `json:"response,omitempty" tf:"response,omitempty"` +} + +type RegionHealthCheckHttp2HealthCheckObservation struct { +} + +type RegionHealthCheckHttp2HealthCheckParameters struct { + + // The value of the host header in the HTTP2 health check request. + // If left empty (default value), the public IP on behalf of which this health + // check is performed will be used. + // +kubebuilder:validation:Optional + Host *string `json:"host,omitempty" tf:"host,omitempty"` + + // The TCP port number for the HTTP2 health check request. + // The default value is 443. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // Port name as defined in InstanceGroup#NamedPort#name. If both port and + // port_name are defined, port takes precedence. + // +kubebuilder:validation:Optional + PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"` + + // Specifies how port is selected for health checking, can be one of the + // following values: + // + // * 'USE_FIXED_PORT': The port number in 'port' is used for health checking. + // + // * 'USE_NAMED_PORT': The 'portName' is used for health checking. + // + // * 'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each + // network endpoint is used for health checking. For other backends, the + // port or named port specified in the Backend Service is used for health + // checking. + // + // If not specified, HTTP2 health check follows behavior specified in 'port' and + // 'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"] + // +kubebuilder:validation:Optional + PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"` + + // Specifies the type of proxy header to append before sending data to the + // backend. Default value: "NONE" Possible values: ["NONE", "PROXY_V1"] + // +kubebuilder:validation:Optional + ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"` + + // The request path of the HTTP2 health check request. + // The default value is /. + // +kubebuilder:validation:Optional + RequestPath *string `json:"requestPath,omitempty" tf:"request_path,omitempty"` + + // The bytes to match against the beginning of the response data. If left empty + // (the default value), any response will indicate health. The response data + // can only be ASCII. + // +kubebuilder:validation:Optional + Response *string `json:"response,omitempty" tf:"response,omitempty"` +} + +type RegionHealthCheckLogConfigObservation struct { +} + +type RegionHealthCheckLogConfigParameters struct { + + // Indicates whether or not to export logs. This is false by default, + // which means no health check logging will be done. + // +kubebuilder:validation:Optional + Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"` +} + +type RegionHealthCheckObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type RegionHealthCheckParameters struct { + + // How often (in seconds) to send a health check. The default value is 5 + // seconds. + // +kubebuilder:validation:Optional + CheckIntervalSec *int64 `json:"checkIntervalSec,omitempty" tf:"check_interval_sec,omitempty"` + + // An optional description of this resource. Provide this property when + // you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + GRPCHealthCheck []RegionHealthCheckGRPCHealthCheckParameters `json:"grpcHealthCheck,omitempty" tf:"grpc_health_check,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + HTTPHealthCheck []RegionHealthCheckHTTPHealthCheckParameters `json:"httpHealthCheck,omitempty" tf:"http_health_check,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + HTTPSHealthCheck []RegionHealthCheckHTTPSHealthCheckParameters `json:"httpsHealthCheck,omitempty" tf:"https_health_check,omitempty"` + + // A so-far unhealthy instance will be marked healthy after this many + // consecutive successes. The default value is 2. + // +kubebuilder:validation:Optional + HealthyThreshold *int64 `json:"healthyThreshold,omitempty" tf:"healthy_threshold,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + Http2HealthCheck []RegionHealthCheckHttp2HealthCheckParameters `json:"http2HealthCheck,omitempty" tf:"http2_health_check,omitempty"` + + // Configure logging on this health check. + // +kubebuilder:validation:Optional + LogConfig []RegionHealthCheckLogConfigParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and + // match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means + // the first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the + // last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The Region in which the created health check should reside. + // If it is not provided, the provider region is used. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + SSLHealthCheck []RegionHealthCheckSSLHealthCheckParameters `json:"sslHealthCheck,omitempty" tf:"ssl_health_check,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + TCPHealthCheck []RegionHealthCheckTCPHealthCheckParameters `json:"tcpHealthCheck,omitempty" tf:"tcp_health_check,omitempty"` + + // How long (in seconds) to wait before claiming failure. + // The default value is 5 seconds. It is invalid for timeoutSec to have + // greater value than checkIntervalSec. + // +kubebuilder:validation:Optional + TimeoutSec *int64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"` + + // A so-far healthy instance will be marked unhealthy after this many + // consecutive failures. The default value is 2. + // +kubebuilder:validation:Optional + UnhealthyThreshold *int64 `json:"unhealthyThreshold,omitempty" tf:"unhealthy_threshold,omitempty"` +} + +type RegionHealthCheckSSLHealthCheckObservation struct { +} + +type RegionHealthCheckSSLHealthCheckParameters struct { + + // The TCP port number for the SSL health check request. + // The default value is 443. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // Port name as defined in InstanceGroup#NamedPort#name. If both port and + // port_name are defined, port takes precedence. + // +kubebuilder:validation:Optional + PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"` + + // Specifies how port is selected for health checking, can be one of the + // following values: + // + // * 'USE_FIXED_PORT': The port number in 'port' is used for health checking. + // + // * 'USE_NAMED_PORT': The 'portName' is used for health checking. + // + // * 'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each + // network endpoint is used for health checking. For other backends, the + // port or named port specified in the Backend Service is used for health + // checking. + // + // If not specified, SSL health check follows behavior specified in 'port' and + // 'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"] + // +kubebuilder:validation:Optional + PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"` + + // Specifies the type of proxy header to append before sending data to the + // backend. Default value: "NONE" Possible values: ["NONE", "PROXY_V1"] + // +kubebuilder:validation:Optional + ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"` + + // The application data to send once the SSL connection has been + // established (default value is empty). If both request and response are + // empty, the connection establishment alone will indicate health. The request + // data can only be ASCII. + // +kubebuilder:validation:Optional + Request *string `json:"request,omitempty" tf:"request,omitempty"` + + // The bytes to match against the beginning of the response data. If left empty + // (the default value), any response will indicate health. The response data + // can only be ASCII. + // +kubebuilder:validation:Optional + Response *string `json:"response,omitempty" tf:"response,omitempty"` +} + +type RegionHealthCheckTCPHealthCheckObservation struct { +} + +type RegionHealthCheckTCPHealthCheckParameters struct { + + // The TCP port number for the TCP health check request. + // The default value is 80. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // Port name as defined in InstanceGroup#NamedPort#name. If both port and + // port_name are defined, port takes precedence. + // +kubebuilder:validation:Optional + PortName *string `json:"portName,omitempty" tf:"port_name,omitempty"` + + // Specifies how port is selected for health checking, can be one of the + // following values: + // + // * 'USE_FIXED_PORT': The port number in 'port' is used for health checking. + // + // * 'USE_NAMED_PORT': The 'portName' is used for health checking. + // + // * 'USE_SERVING_PORT': For NetworkEndpointGroup, the port specified for each + // network endpoint is used for health checking. For other backends, the + // port or named port specified in the Backend Service is used for health + // checking. + // + // If not specified, TCP health check follows behavior specified in 'port' and + // 'portName' fields. Possible values: ["USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"] + // +kubebuilder:validation:Optional + PortSpecification *string `json:"portSpecification,omitempty" tf:"port_specification,omitempty"` + + // Specifies the type of proxy header to append before sending data to the + // backend. Default value: "NONE" Possible values: ["NONE", "PROXY_V1"] + // +kubebuilder:validation:Optional + ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"` + + // The application data to send once the TCP connection has been + // established (default value is empty). If both request and response are + // empty, the connection establishment alone will indicate health. The request + // data can only be ASCII. + // +kubebuilder:validation:Optional + Request *string `json:"request,omitempty" tf:"request,omitempty"` + + // The bytes to match against the beginning of the response data. If left empty + // (the default value), any response will indicate health. The response data + // can only be ASCII. + // +kubebuilder:validation:Optional + Response *string `json:"response,omitempty" tf:"response,omitempty"` +} + +// RegionHealthCheckSpec defines the desired state of RegionHealthCheck +type RegionHealthCheckSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionHealthCheckParameters `json:"forProvider"` +} + +// RegionHealthCheckStatus defines the observed state of RegionHealthCheck. +type RegionHealthCheckStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionHealthCheckObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionHealthCheck is the Schema for the RegionHealthChecks 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,gcpjet} +type RegionHealthCheck struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionHealthCheckSpec `json:"spec"` + Status RegionHealthCheckStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionHealthCheckList contains a list of RegionHealthChecks +type RegionHealthCheckList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionHealthCheck `json:"items"` +} + +// Repository type metadata. +var ( + RegionHealthCheck_Kind = "RegionHealthCheck" + RegionHealthCheck_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionHealthCheck_Kind}.String() + RegionHealthCheck_KindAPIVersion = RegionHealthCheck_Kind + "." + CRDGroupVersion.String() + RegionHealthCheck_GroupVersionKind = CRDGroupVersion.WithKind(RegionHealthCheck_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionHealthCheck{}, &RegionHealthCheckList{}) +} diff --git a/apis/compute/v1alpha1/zz_regioninstancegroupmanager_terraformed.go b/apis/compute/v1alpha1/zz_regioninstancegroupmanager_terraformed.go new file mode 100755 index 00000000..15f5b0ae --- /dev/null +++ b/apis/compute/v1alpha1/zz_regioninstancegroupmanager_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionInstanceGroupManager +func (mg *RegionInstanceGroupManager) GetTerraformResourceType() string { + return "google_compute_region_instance_group_manager" +} + +// GetConnectionDetailsMapping for this RegionInstanceGroupManager +func (tr *RegionInstanceGroupManager) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RegionInstanceGroupManager +func (tr *RegionInstanceGroupManager) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionInstanceGroupManager +func (tr *RegionInstanceGroupManager) SetObservation(obs map[string]interface{}) 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 RegionInstanceGroupManager +func (tr *RegionInstanceGroupManager) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionInstanceGroupManager +func (tr *RegionInstanceGroupManager) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionInstanceGroupManager +func (tr *RegionInstanceGroupManager) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionInstanceGroupManager using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionInstanceGroupManager) LateInitialize(attrs []byte) (bool, error) { + params := &RegionInstanceGroupManagerParameters{} + 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 *RegionInstanceGroupManager) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_regioninstancegroupmanager_types.go b/apis/compute/v1alpha1/zz_regioninstancegroupmanager_types.go new file mode 100755 index 00000000..157e623a --- /dev/null +++ b/apis/compute/v1alpha1/zz_regioninstancegroupmanager_types.go @@ -0,0 +1,300 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RegionInstanceGroupManagerAutoHealingPoliciesObservation struct { +} + +type RegionInstanceGroupManagerAutoHealingPoliciesParameters struct { + + // The health check resource that signals autohealing. + // +kubebuilder:validation:Required + HealthCheck *string `json:"healthCheck" tf:"health_check,omitempty"` + + // The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600. + // +kubebuilder:validation:Required + InitialDelaySec *int64 `json:"initialDelaySec" tf:"initial_delay_sec,omitempty"` +} + +type RegionInstanceGroupManagerNamedPortObservation struct { +} + +type RegionInstanceGroupManagerNamedPortParameters struct { + + // The name of the port. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The port number. + // +kubebuilder:validation:Required + Port *int64 `json:"port" tf:"port,omitempty"` +} + +type RegionInstanceGroupManagerObservation struct { + Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + InstanceGroup *string `json:"instanceGroup,omitempty" tf:"instance_group,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + Status []RegionInstanceGroupManagerStatusObservation `json:"status,omitempty" tf:"status,omitempty"` +} + +type RegionInstanceGroupManagerParameters struct { + + // The autohealing policies for this managed instance group. You can specify only one value. + // +kubebuilder:validation:Optional + AutoHealingPolicies []RegionInstanceGroupManagerAutoHealingPoliciesParameters `json:"autoHealingPolicies,omitempty" tf:"auto_healing_policies,omitempty"` + + // The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name. + // +kubebuilder:validation:Required + BaseInstanceName *string `json:"baseInstanceName" tf:"base_instance_name,omitempty"` + + // An optional textual description of the instance group manager. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The shape to which the group converges either proactively or on resize events (depending on the value set in updatePolicy.instanceRedistributionType). + // +kubebuilder:validation:Optional + DistributionPolicyTargetShape *string `json:"distributionPolicyTargetShape,omitempty" tf:"distribution_policy_target_shape,omitempty"` + + // The distribution policy for this managed instance group. You can specify one or more values. + // +kubebuilder:validation:Optional + DistributionPolicyZones []*string `json:"distributionPolicyZones,omitempty" tf:"distribution_policy_zones,omitempty"` + + // The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The named port configuration. + // +kubebuilder:validation:Optional + NamedPort []RegionInstanceGroupManagerNamedPortParameters `json:"namedPort,omitempty" tf:"named_port,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The region where the managed instance group resides. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy. + // +kubebuilder:validation:Optional + StatefulDisk []RegionInstanceGroupManagerStatefulDiskParameters `json:"statefulDisk,omitempty" tf:"stateful_disk,omitempty"` + + // The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances. + // +kubebuilder:validation:Optional + TargetPools []*string `json:"targetPools,omitempty" tf:"target_pools,omitempty"` + + // The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0. + // +kubebuilder:validation:Optional + TargetSize *int64 `json:"targetSize,omitempty" tf:"target_size,omitempty"` + + // The update policy for this managed instance group. + // +kubebuilder:validation:Optional + UpdatePolicy []RegionInstanceGroupManagerUpdatePolicyParameters `json:"updatePolicy,omitempty" tf:"update_policy,omitempty"` + + // Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios. + // +kubebuilder:validation:Required + Version []RegionInstanceGroupManagerVersionParameters `json:"version" tf:"version,omitempty"` + + // Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, Terraform will continue trying until it times out. + // +kubebuilder:validation:Optional + WaitForInstances *bool `json:"waitForInstances,omitempty" tf:"wait_for_instances,omitempty"` + + // When used with wait_for_instances specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective as well as all instances to be stable before returning. + // +kubebuilder:validation:Optional + WaitForInstancesStatus *string `json:"waitForInstancesStatus,omitempty" tf:"wait_for_instances_status,omitempty"` +} + +type RegionInstanceGroupManagerStatefulDiskObservation struct { +} + +type RegionInstanceGroupManagerStatefulDiskParameters struct { + + // A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER. + // +kubebuilder:validation:Optional + DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"` + + // The device name of the disk to be attached. + // +kubebuilder:validation:Required + DeviceName *string `json:"deviceName" tf:"device_name,omitempty"` +} + +type RegionInstanceGroupManagerStatusObservation struct { + IsStable *bool `json:"isStable,omitempty" tf:"is_stable,omitempty"` + + Stateful []StatusStatefulObservation `json:"stateful,omitempty" tf:"stateful,omitempty"` + + VersionTarget []StatusVersionTargetObservation `json:"versionTarget,omitempty" tf:"version_target,omitempty"` +} + +type RegionInstanceGroupManagerStatusParameters struct { +} + +type RegionInstanceGroupManagerUpdatePolicyObservation struct { +} + +type RegionInstanceGroupManagerUpdatePolicyParameters struct { + + // The instance redistribution policy for regional managed instance groups. Valid values are: "PROACTIVE", "NONE". If PROACTIVE (default), the group attempts to maintain an even distribution of VM instances across zones in the region. If NONE, proactive redistribution is disabled. + // +kubebuilder:validation:Optional + InstanceRedistributionType *string `json:"instanceRedistributionType,omitempty" tf:"instance_redistribution_type,omitempty"` + + // The maximum number of instances that can be created above the specified targetSize during the update process. Conflicts with max_surge_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0. + // +kubebuilder:validation:Optional + MaxSurgeFixed *int64 `json:"maxSurgeFixed,omitempty" tf:"max_surge_fixed,omitempty"` + + // The maximum number of instances(calculated as percentage) that can be created above the specified targetSize during the update process. Conflicts with max_surge_fixed. Percent value is only allowed for regional managed instance groups with size at least 10. + // +kubebuilder:validation:Optional + MaxSurgePercent *int64 `json:"maxSurgePercent,omitempty" tf:"max_surge_percent,omitempty"` + + // The maximum number of instances that can be unavailable during the update process. Conflicts with max_unavailable_percent. It has to be either 0 or at least equal to the number of zones. If fixed values are used, at least one of max_unavailable_fixed or max_surge_fixed must be greater than 0. + // +kubebuilder:validation:Optional + MaxUnavailableFixed *int64 `json:"maxUnavailableFixed,omitempty" tf:"max_unavailable_fixed,omitempty"` + + // The maximum number of instances(calculated as percentage) that can be unavailable during the update process. Conflicts with max_unavailable_fixed. Percent value is only allowed for regional managed instance groups with size at least 10. + // +kubebuilder:validation:Optional + MaxUnavailablePercent *int64 `json:"maxUnavailablePercent,omitempty" tf:"max_unavailable_percent,omitempty"` + + // Minimal action to be taken on an instance. You can specify either RESTART to restart existing instances or REPLACE to delete and create new instances from the target template. If you specify a RESTART, the Updater will attempt to perform that action only. However, if the Updater determines that the minimal action you specify is not enough to perform the update, it might perform a more disruptive action. + // +kubebuilder:validation:Required + MinimalAction *string `json:"minimalAction" tf:"minimal_action,omitempty"` + + // The instance replacement method for regional managed instance groups. Valid values are: "RECREATE", "SUBSTITUTE". If SUBSTITUTE (default), the group replaces VM instances with new instances that have randomly generated names. If RECREATE, instance names are preserved. You must also set max_unavailable_fixed or max_unavailable_percent to be greater than 0. + // +kubebuilder:validation:Optional + ReplacementMethod *string `json:"replacementMethod,omitempty" tf:"replacement_method,omitempty"` + + // The type of update process. You can specify either PROACTIVE so that the instance group manager proactively executes actions in order to bring instances to their target versions or OPPORTUNISTIC so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls). + // +kubebuilder:validation:Required + Type *string `json:"type" tf:"type,omitempty"` +} + +type RegionInstanceGroupManagerVersionObservation struct { +} + +type RegionInstanceGroupManagerVersionParameters struct { + + // The full URL to an instance template from which all new instances of this version will be created. + // +kubebuilder:validation:Required + InstanceTemplate *string `json:"instanceTemplate" tf:"instance_template,omitempty"` + + // Version name. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // The number of instances calculated as a fixed number or a percentage depending on the settings. + // +kubebuilder:validation:Optional + TargetSize []VersionTargetSizeParameters `json:"targetSize,omitempty" tf:"target_size,omitempty"` +} + +type StatefulPerInstanceConfigsObservation struct { + AllEffective *bool `json:"allEffective,omitempty" tf:"all_effective,omitempty"` +} + +type StatefulPerInstanceConfigsParameters struct { +} + +type StatusStatefulObservation struct { + HasStatefulConfig *bool `json:"hasStatefulConfig,omitempty" tf:"has_stateful_config,omitempty"` + + PerInstanceConfigs []StatefulPerInstanceConfigsObservation `json:"perInstanceConfigs,omitempty" tf:"per_instance_configs,omitempty"` +} + +type StatusStatefulParameters struct { +} + +type StatusVersionTargetObservation struct { + IsReached *bool `json:"isReached,omitempty" tf:"is_reached,omitempty"` +} + +type StatusVersionTargetParameters struct { +} + +type VersionTargetSizeObservation struct { +} + +type VersionTargetSizeParameters struct { + + // The number of instances which are managed for this version. Conflicts with percent. + // +kubebuilder:validation:Optional + Fixed *int64 `json:"fixed,omitempty" tf:"fixed,omitempty"` + + // The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed. Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions, one of which has a target_size.percent of 60 will create 2 instances of that version. + // +kubebuilder:validation:Optional + Percent *int64 `json:"percent,omitempty" tf:"percent,omitempty"` +} + +// RegionInstanceGroupManagerSpec defines the desired state of RegionInstanceGroupManager +type RegionInstanceGroupManagerSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionInstanceGroupManagerParameters `json:"forProvider"` +} + +// RegionInstanceGroupManagerStatus defines the observed state of RegionInstanceGroupManager. +type RegionInstanceGroupManagerStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionInstanceGroupManagerObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionInstanceGroupManager is the Schema for the RegionInstanceGroupManagers 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,gcpjet} +type RegionInstanceGroupManager struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionInstanceGroupManagerSpec `json:"spec"` + Status RegionInstanceGroupManagerStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionInstanceGroupManagerList contains a list of RegionInstanceGroupManagers +type RegionInstanceGroupManagerList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionInstanceGroupManager `json:"items"` +} + +// Repository type metadata. +var ( + RegionInstanceGroupManager_Kind = "RegionInstanceGroupManager" + RegionInstanceGroupManager_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionInstanceGroupManager_Kind}.String() + RegionInstanceGroupManager_KindAPIVersion = RegionInstanceGroupManager_Kind + "." + CRDGroupVersion.String() + RegionInstanceGroupManager_GroupVersionKind = CRDGroupVersion.WithKind(RegionInstanceGroupManager_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionInstanceGroupManager{}, &RegionInstanceGroupManagerList{}) +} diff --git a/apis/compute/v1alpha1/zz_regionnetworkendpointgroup_terraformed.go b/apis/compute/v1alpha1/zz_regionnetworkendpointgroup_terraformed.go new file mode 100755 index 00000000..2b43d7c9 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regionnetworkendpointgroup_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionNetworkEndpointGroup +func (mg *RegionNetworkEndpointGroup) GetTerraformResourceType() string { + return "google_compute_region_network_endpoint_group" +} + +// GetConnectionDetailsMapping for this RegionNetworkEndpointGroup +func (tr *RegionNetworkEndpointGroup) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RegionNetworkEndpointGroup +func (tr *RegionNetworkEndpointGroup) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionNetworkEndpointGroup +func (tr *RegionNetworkEndpointGroup) SetObservation(obs map[string]interface{}) 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 RegionNetworkEndpointGroup +func (tr *RegionNetworkEndpointGroup) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionNetworkEndpointGroup +func (tr *RegionNetworkEndpointGroup) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionNetworkEndpointGroup +func (tr *RegionNetworkEndpointGroup) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionNetworkEndpointGroup using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionNetworkEndpointGroup) LateInitialize(attrs []byte) (bool, error) { + params := &RegionNetworkEndpointGroupParameters{} + 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 *RegionNetworkEndpointGroup) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_regionnetworkendpointgroup_types.go b/apis/compute/v1alpha1/zz_regionnetworkendpointgroup_types.go new file mode 100755 index 00000000..bf21a525 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regionnetworkendpointgroup_types.go @@ -0,0 +1,206 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AppEngineObservation struct { +} + +type AppEngineParameters struct { + + // Optional serving service. + // The service name must be 1-63 characters long, and comply with RFC1035. + // Example value: "default", "my-service". + // +kubebuilder:validation:Optional + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // A template to parse service and version fields from a request URL. + // URL mask allows for routing to multiple App Engine services without + // having to create multiple Network Endpoint Groups and backend services. + // + // For example, the request URLs "foo1-dot-appname.appspot.com/v1" and + // "foo1-dot-appname.appspot.com/v2" can be backed by the same Serverless NEG with + // URL mask "-dot-appname.appspot.com/". The URL mask will parse + // them to { service = "foo1", version = "v1" } and { service = "foo1", version = "v2" } respectively. + // +kubebuilder:validation:Optional + URLMask *string `json:"urlMask,omitempty" tf:"url_mask,omitempty"` + + // Optional serving version. + // The version must be 1-63 characters long, and comply with RFC1035. + // Example value: "v1", "v2". + // +kubebuilder:validation:Optional + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type CloudFunctionObservation struct { +} + +type CloudFunctionParameters struct { + + // A user-defined name of the Cloud Function. + // The function name is case-sensitive and must be 1-63 characters long. + // Example value: "func1". + // +kubebuilder:validation:Optional + Function *string `json:"function,omitempty" tf:"function,omitempty"` + + // A template to parse function field from a request URL. URL mask allows + // for routing to multiple Cloud Functions without having to create + // multiple Network Endpoint Groups and backend services. + // + // For example, request URLs "mydomain.com/function1" and "mydomain.com/function2" + // can be backed by the same Serverless NEG with URL mask "/". The URL mask + // will parse them to { function = "function1" } and { function = "function2" } respectively. + // +kubebuilder:validation:Optional + URLMask *string `json:"urlMask,omitempty" tf:"url_mask,omitempty"` +} + +type CloudRunObservation struct { +} + +type CloudRunParameters struct { + + // Cloud Run service is the main resource of Cloud Run. + // The service must be 1-63 characters long, and comply with RFC1035. + // Example value: "run-service". + // +kubebuilder:validation:Optional + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // Cloud Run tag represents the "named-revision" to provide + // additional fine-grained traffic routing information. + // The tag must be 1-63 characters long, and comply with RFC1035. + // Example value: "revision-0010". + // +kubebuilder:validation:Optional + Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` + + // A template to parse service and tag fields from a request URL. + // URL mask allows for routing to multiple Run services without having + // to create multiple network endpoint groups and backend services. + // + // For example, request URLs "foo1.domain.com/bar1" and "foo1.domain.com/bar2" + // an be backed by the same Serverless Network Endpoint Group (NEG) with + // URL mask ".domain.com/". The URL mask will parse them to { service="bar1", tag="foo1" } + // and { service="bar2", tag="foo2" } respectively. + // +kubebuilder:validation:Optional + URLMask *string `json:"urlMask,omitempty" tf:"url_mask,omitempty"` +} + +type RegionNetworkEndpointGroupObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type RegionNetworkEndpointGroupParameters struct { + + // Only valid when networkEndpointType is "SERVERLESS". + // Only one of cloud_run, app_engine or cloud_function may be set. + // +kubebuilder:validation:Optional + AppEngine []AppEngineParameters `json:"appEngine,omitempty" tf:"app_engine,omitempty"` + + // Only valid when networkEndpointType is "SERVERLESS". + // Only one of cloud_run, app_engine or cloud_function may be set. + // +kubebuilder:validation:Optional + CloudFunction []CloudFunctionParameters `json:"cloudFunction,omitempty" tf:"cloud_function,omitempty"` + + // Only valid when networkEndpointType is "SERVERLESS". + // Only one of cloud_run, app_engine or cloud_function may be set. + // +kubebuilder:validation:Optional + CloudRun []CloudRunParameters `json:"cloudRun,omitempty" tf:"cloud_run,omitempty"` + + // An optional description of this resource. Provide this property when + // you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource; provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Type of network endpoints in this network endpoint group. Defaults to SERVERLESS Default value: "SERVERLESS" Possible values: ["SERVERLESS"] + // +kubebuilder:validation:Optional + NetworkEndpointType *string `json:"networkEndpointType,omitempty" tf:"network_endpoint_type,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // A reference to the region where the Serverless NEGs Reside. + // +kubebuilder:validation:Required + Region *string `json:"region" tf:"region,omitempty"` +} + +// RegionNetworkEndpointGroupSpec defines the desired state of RegionNetworkEndpointGroup +type RegionNetworkEndpointGroupSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionNetworkEndpointGroupParameters `json:"forProvider"` +} + +// RegionNetworkEndpointGroupStatus defines the observed state of RegionNetworkEndpointGroup. +type RegionNetworkEndpointGroupStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionNetworkEndpointGroupObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionNetworkEndpointGroup is the Schema for the RegionNetworkEndpointGroups 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,gcpjet} +type RegionNetworkEndpointGroup struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionNetworkEndpointGroupSpec `json:"spec"` + Status RegionNetworkEndpointGroupStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionNetworkEndpointGroupList contains a list of RegionNetworkEndpointGroups +type RegionNetworkEndpointGroupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionNetworkEndpointGroup `json:"items"` +} + +// Repository type metadata. +var ( + RegionNetworkEndpointGroup_Kind = "RegionNetworkEndpointGroup" + RegionNetworkEndpointGroup_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionNetworkEndpointGroup_Kind}.String() + RegionNetworkEndpointGroup_KindAPIVersion = RegionNetworkEndpointGroup_Kind + "." + CRDGroupVersion.String() + RegionNetworkEndpointGroup_GroupVersionKind = CRDGroupVersion.WithKind(RegionNetworkEndpointGroup_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionNetworkEndpointGroup{}, &RegionNetworkEndpointGroupList{}) +} diff --git a/apis/compute/v1alpha1/zz_regionperinstanceconfig_terraformed.go b/apis/compute/v1alpha1/zz_regionperinstanceconfig_terraformed.go new file mode 100755 index 00000000..45265cb2 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regionperinstanceconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionPerInstanceConfig +func (mg *RegionPerInstanceConfig) GetTerraformResourceType() string { + return "google_compute_region_per_instance_config" +} + +// GetConnectionDetailsMapping for this RegionPerInstanceConfig +func (tr *RegionPerInstanceConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RegionPerInstanceConfig +func (tr *RegionPerInstanceConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionPerInstanceConfig +func (tr *RegionPerInstanceConfig) SetObservation(obs map[string]interface{}) 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 RegionPerInstanceConfig +func (tr *RegionPerInstanceConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionPerInstanceConfig +func (tr *RegionPerInstanceConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionPerInstanceConfig +func (tr *RegionPerInstanceConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionPerInstanceConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionPerInstanceConfig) LateInitialize(attrs []byte) (bool, error) { + params := &RegionPerInstanceConfigParameters{} + 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 *RegionPerInstanceConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_regionperinstanceconfig_types.go b/apis/compute/v1alpha1/zz_regionperinstanceconfig_types.go new file mode 100755 index 00000000..2a16ceb5 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regionperinstanceconfig_types.go @@ -0,0 +1,151 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RegionPerInstanceConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type RegionPerInstanceConfigParameters struct { + + // +kubebuilder:validation:Optional + MinimalAction *string `json:"minimalAction,omitempty" tf:"minimal_action,omitempty"` + + // +kubebuilder:validation:Optional + MostDisruptiveAllowedAction *string `json:"mostDisruptiveAllowedAction,omitempty" tf:"most_disruptive_allowed_action,omitempty"` + + // The name for this per-instance config and its corresponding instance. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The preserved state for this instance. + // +kubebuilder:validation:Optional + PreservedState []RegionPerInstanceConfigPreservedStateParameters `json:"preservedState,omitempty" tf:"preserved_state,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Region where the containing instance group manager is located + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // The region instance group manager this instance config is part of. + // +kubebuilder:validation:Required + RegionInstanceGroupManager *string `json:"regionInstanceGroupManager" tf:"region_instance_group_manager,omitempty"` + + // +kubebuilder:validation:Optional + RemoveInstanceStateOnDestroy *bool `json:"removeInstanceStateOnDestroy,omitempty" tf:"remove_instance_state_on_destroy,omitempty"` +} + +type RegionPerInstanceConfigPreservedStateDiskObservation struct { +} + +type RegionPerInstanceConfigPreservedStateDiskParameters struct { + + // A value that prescribes what should happen to the stateful disk when the VM instance is deleted. + // The available options are 'NEVER' and 'ON_PERMANENT_INSTANCE_DELETION'. + // 'NEVER' - detach the disk when the VM is deleted, but do not delete the disk. + // 'ON_PERMANENT_INSTANCE_DELETION' will delete the stateful disk when the VM is permanently + // deleted from the instance group. Default value: "NEVER" Possible values: ["NEVER", "ON_PERMANENT_INSTANCE_DELETION"] + // +kubebuilder:validation:Optional + DeleteRule *string `json:"deleteRule,omitempty" tf:"delete_rule,omitempty"` + + // A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. + // +kubebuilder:validation:Required + DeviceName *string `json:"deviceName" tf:"device_name,omitempty"` + + // The mode of the disk. Default value: "READ_WRITE" Possible values: ["READ_ONLY", "READ_WRITE"] + // +kubebuilder:validation:Optional + Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` + + // The URI of an existing persistent disk to attach under the specified device-name in the format + // 'projects/project-id/zones/zone/disks/disk-name'. + // +kubebuilder:validation:Required + Source *string `json:"source" tf:"source,omitempty"` +} + +type RegionPerInstanceConfigPreservedStateObservation struct { +} + +type RegionPerInstanceConfigPreservedStateParameters struct { + + // Stateful disks for the instance. + // +kubebuilder:validation:Optional + Disk []RegionPerInstanceConfigPreservedStateDiskParameters `json:"disk,omitempty" tf:"disk,omitempty"` + + // Preserved metadata defined for this instance. This is a list of key->value pairs. + // +kubebuilder:validation:Optional + Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"` +} + +// RegionPerInstanceConfigSpec defines the desired state of RegionPerInstanceConfig +type RegionPerInstanceConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionPerInstanceConfigParameters `json:"forProvider"` +} + +// RegionPerInstanceConfigStatus defines the observed state of RegionPerInstanceConfig. +type RegionPerInstanceConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionPerInstanceConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionPerInstanceConfig is the Schema for the RegionPerInstanceConfigs 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,gcpjet} +type RegionPerInstanceConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionPerInstanceConfigSpec `json:"spec"` + Status RegionPerInstanceConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionPerInstanceConfigList contains a list of RegionPerInstanceConfigs +type RegionPerInstanceConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionPerInstanceConfig `json:"items"` +} + +// Repository type metadata. +var ( + RegionPerInstanceConfig_Kind = "RegionPerInstanceConfig" + RegionPerInstanceConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionPerInstanceConfig_Kind}.String() + RegionPerInstanceConfig_KindAPIVersion = RegionPerInstanceConfig_Kind + "." + CRDGroupVersion.String() + RegionPerInstanceConfig_GroupVersionKind = CRDGroupVersion.WithKind(RegionPerInstanceConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionPerInstanceConfig{}, &RegionPerInstanceConfigList{}) +} diff --git a/apis/compute/v1alpha1/zz_regionsslcertificate_terraformed.go b/apis/compute/v1alpha1/zz_regionsslcertificate_terraformed.go new file mode 100755 index 00000000..d3915c20 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regionsslcertificate_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionSSLCertificate +func (mg *RegionSSLCertificate) GetTerraformResourceType() string { + return "google_compute_region_ssl_certificate" +} + +// GetConnectionDetailsMapping for this RegionSSLCertificate +func (tr *RegionSSLCertificate) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"certificate": "spec.forProvider.certificateSecretRef", "private_key": "spec.forProvider.privateKeySecretRef"} +} + +// GetObservation of this RegionSSLCertificate +func (tr *RegionSSLCertificate) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionSSLCertificate +func (tr *RegionSSLCertificate) SetObservation(obs map[string]interface{}) 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 RegionSSLCertificate +func (tr *RegionSSLCertificate) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionSSLCertificate +func (tr *RegionSSLCertificate) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionSSLCertificate +func (tr *RegionSSLCertificate) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionSSLCertificate using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionSSLCertificate) LateInitialize(attrs []byte) (bool, error) { + params := &RegionSSLCertificateParameters{} + 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 *RegionSSLCertificate) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_regionsslcertificate_types.go b/apis/compute/v1alpha1/zz_regionsslcertificate_types.go new file mode 100755 index 00000000..93dd2b26 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regionsslcertificate_types.go @@ -0,0 +1,127 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RegionSSLCertificateObservation struct { + CertificateID *int64 `json:"certificateId,omitempty" tf:"certificate_id,omitempty"` + + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type RegionSSLCertificateParameters struct { + + // The certificate in PEM format. + // The certificate chain must be no greater than 5 certs long. + // The chain must include at least one intermediate cert. + // +kubebuilder:validation:Required + CertificateSecretRef v1.SecretKeySelector `json:"certificateSecretRef" tf:"-"` + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // + // + // These are in the same namespace as the managed SSL certificates. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Creates a unique name beginning with the specified prefix. Conflicts with name. + // +kubebuilder:validation:Optional + NamePrefix *string `json:"namePrefix,omitempty" tf:"name_prefix,omitempty"` + + // The write-only private key in PEM format. + // +kubebuilder:validation:Required + PrivateKeySecretRef v1.SecretKeySelector `json:"privateKeySecretRef" tf:"-"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The Region in which the created regional ssl certificate should reside. + // If it is not provided, the provider region is used. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +// RegionSSLCertificateSpec defines the desired state of RegionSSLCertificate +type RegionSSLCertificateSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionSSLCertificateParameters `json:"forProvider"` +} + +// RegionSSLCertificateStatus defines the observed state of RegionSSLCertificate. +type RegionSSLCertificateStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionSSLCertificateObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionSSLCertificate is the Schema for the RegionSSLCertificates 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,gcpjet} +type RegionSSLCertificate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionSSLCertificateSpec `json:"spec"` + Status RegionSSLCertificateStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionSSLCertificateList contains a list of RegionSSLCertificates +type RegionSSLCertificateList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionSSLCertificate `json:"items"` +} + +// Repository type metadata. +var ( + RegionSSLCertificate_Kind = "RegionSSLCertificate" + RegionSSLCertificate_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionSSLCertificate_Kind}.String() + RegionSSLCertificate_KindAPIVersion = RegionSSLCertificate_Kind + "." + CRDGroupVersion.String() + RegionSSLCertificate_GroupVersionKind = CRDGroupVersion.WithKind(RegionSSLCertificate_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionSSLCertificate{}, &RegionSSLCertificateList{}) +} diff --git a/apis/compute/v1alpha1/zz_regiontargethttpproxy_terraformed.go b/apis/compute/v1alpha1/zz_regiontargethttpproxy_terraformed.go new file mode 100755 index 00000000..ea6f557f --- /dev/null +++ b/apis/compute/v1alpha1/zz_regiontargethttpproxy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionTargetHTTPProxy +func (mg *RegionTargetHTTPProxy) GetTerraformResourceType() string { + return "google_compute_region_target_http_proxy" +} + +// GetConnectionDetailsMapping for this RegionTargetHTTPProxy +func (tr *RegionTargetHTTPProxy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RegionTargetHTTPProxy +func (tr *RegionTargetHTTPProxy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionTargetHTTPProxy +func (tr *RegionTargetHTTPProxy) SetObservation(obs map[string]interface{}) 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 RegionTargetHTTPProxy +func (tr *RegionTargetHTTPProxy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionTargetHTTPProxy +func (tr *RegionTargetHTTPProxy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionTargetHTTPProxy +func (tr *RegionTargetHTTPProxy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionTargetHTTPProxy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionTargetHTTPProxy) LateInitialize(attrs []byte) (bool, error) { + params := &RegionTargetHTTPProxyParameters{} + 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 *RegionTargetHTTPProxy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_regiontargethttpproxy_types.go b/apis/compute/v1alpha1/zz_regiontargethttpproxy_types.go new file mode 100755 index 00000000..7e8db76a --- /dev/null +++ b/apis/compute/v1alpha1/zz_regiontargethttpproxy_types.go @@ -0,0 +1,115 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RegionTargetHTTPProxyObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + ProxyID *int64 `json:"proxyId,omitempty" tf:"proxy_id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type RegionTargetHTTPProxyParameters struct { + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The Region in which the created target https proxy should reside. + // If it is not provided, the provider region is used. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // A reference to the RegionUrlMap resource that defines the mapping from URL + // to the BackendService. + // +kubebuilder:validation:Required + URLMap *string `json:"urlMap" tf:"url_map,omitempty"` +} + +// RegionTargetHTTPProxySpec defines the desired state of RegionTargetHTTPProxy +type RegionTargetHTTPProxySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionTargetHTTPProxyParameters `json:"forProvider"` +} + +// RegionTargetHTTPProxyStatus defines the observed state of RegionTargetHTTPProxy. +type RegionTargetHTTPProxyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionTargetHTTPProxyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionTargetHTTPProxy is the Schema for the RegionTargetHTTPProxys 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,gcpjet} +type RegionTargetHTTPProxy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionTargetHTTPProxySpec `json:"spec"` + Status RegionTargetHTTPProxyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionTargetHTTPProxyList contains a list of RegionTargetHTTPProxys +type RegionTargetHTTPProxyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionTargetHTTPProxy `json:"items"` +} + +// Repository type metadata. +var ( + RegionTargetHTTPProxy_Kind = "RegionTargetHTTPProxy" + RegionTargetHTTPProxy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionTargetHTTPProxy_Kind}.String() + RegionTargetHTTPProxy_KindAPIVersion = RegionTargetHTTPProxy_Kind + "." + CRDGroupVersion.String() + RegionTargetHTTPProxy_GroupVersionKind = CRDGroupVersion.WithKind(RegionTargetHTTPProxy_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionTargetHTTPProxy{}, &RegionTargetHTTPProxyList{}) +} diff --git a/apis/compute/v1alpha1/zz_regiontargethttpsproxy_terraformed.go b/apis/compute/v1alpha1/zz_regiontargethttpsproxy_terraformed.go new file mode 100755 index 00000000..43c5e304 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regiontargethttpsproxy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionTargetHTTPSProxy +func (mg *RegionTargetHTTPSProxy) GetTerraformResourceType() string { + return "google_compute_region_target_https_proxy" +} + +// GetConnectionDetailsMapping for this RegionTargetHTTPSProxy +func (tr *RegionTargetHTTPSProxy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RegionTargetHTTPSProxy +func (tr *RegionTargetHTTPSProxy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionTargetHTTPSProxy +func (tr *RegionTargetHTTPSProxy) SetObservation(obs map[string]interface{}) 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 RegionTargetHTTPSProxy +func (tr *RegionTargetHTTPSProxy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionTargetHTTPSProxy +func (tr *RegionTargetHTTPSProxy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionTargetHTTPSProxy +func (tr *RegionTargetHTTPSProxy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionTargetHTTPSProxy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionTargetHTTPSProxy) LateInitialize(attrs []byte) (bool, error) { + params := &RegionTargetHTTPSProxyParameters{} + 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 *RegionTargetHTTPSProxy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_regiontargethttpsproxy_types.go b/apis/compute/v1alpha1/zz_regiontargethttpsproxy_types.go new file mode 100755 index 00000000..2fb7febb --- /dev/null +++ b/apis/compute/v1alpha1/zz_regiontargethttpsproxy_types.go @@ -0,0 +1,121 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RegionTargetHTTPSProxyObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + ProxyID *int64 `json:"proxyId,omitempty" tf:"proxy_id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type RegionTargetHTTPSProxyParameters struct { + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The Region in which the created target https proxy should reside. + // If it is not provided, the provider region is used. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // A list of RegionSslCertificate resources that are used to authenticate + // connections between users and the load balancer. Currently, exactly + // one SSL certificate must be specified. + // +kubebuilder:validation:Required + SSLCertificates []*string `json:"sslCertificates" tf:"ssl_certificates,omitempty"` + + // A reference to the RegionUrlMap resource that defines the mapping from URL + // to the RegionBackendService. + // +kubebuilder:validation:Required + URLMap *string `json:"urlMap" tf:"url_map,omitempty"` +} + +// RegionTargetHTTPSProxySpec defines the desired state of RegionTargetHTTPSProxy +type RegionTargetHTTPSProxySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionTargetHTTPSProxyParameters `json:"forProvider"` +} + +// RegionTargetHTTPSProxyStatus defines the observed state of RegionTargetHTTPSProxy. +type RegionTargetHTTPSProxyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionTargetHTTPSProxyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionTargetHTTPSProxy is the Schema for the RegionTargetHTTPSProxys 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,gcpjet} +type RegionTargetHTTPSProxy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionTargetHTTPSProxySpec `json:"spec"` + Status RegionTargetHTTPSProxyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionTargetHTTPSProxyList contains a list of RegionTargetHTTPSProxys +type RegionTargetHTTPSProxyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionTargetHTTPSProxy `json:"items"` +} + +// Repository type metadata. +var ( + RegionTargetHTTPSProxy_Kind = "RegionTargetHTTPSProxy" + RegionTargetHTTPSProxy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionTargetHTTPSProxy_Kind}.String() + RegionTargetHTTPSProxy_KindAPIVersion = RegionTargetHTTPSProxy_Kind + "." + CRDGroupVersion.String() + RegionTargetHTTPSProxy_GroupVersionKind = CRDGroupVersion.WithKind(RegionTargetHTTPSProxy_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionTargetHTTPSProxy{}, &RegionTargetHTTPSProxyList{}) +} diff --git a/apis/compute/v1alpha1/zz_regionurlmap_terraformed.go b/apis/compute/v1alpha1/zz_regionurlmap_terraformed.go new file mode 100755 index 00000000..a7ea3dc0 --- /dev/null +++ b/apis/compute/v1alpha1/zz_regionurlmap_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RegionURLMap +func (mg *RegionURLMap) GetTerraformResourceType() string { + return "google_compute_region_url_map" +} + +// GetConnectionDetailsMapping for this RegionURLMap +func (tr *RegionURLMap) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RegionURLMap +func (tr *RegionURLMap) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RegionURLMap +func (tr *RegionURLMap) SetObservation(obs map[string]interface{}) 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 RegionURLMap +func (tr *RegionURLMap) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RegionURLMap +func (tr *RegionURLMap) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RegionURLMap +func (tr *RegionURLMap) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RegionURLMap using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RegionURLMap) LateInitialize(attrs []byte) (bool, error) { + params := &RegionURLMapParameters{} + 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 *RegionURLMap) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_regionurlmap_types.go b/apis/compute/v1alpha1/zz_regionurlmap_types.go new file mode 100755 index 00000000..5f5485db --- /dev/null +++ b/apis/compute/v1alpha1/zz_regionurlmap_types.go @@ -0,0 +1,1549 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AbortObservation struct { +} + +type AbortParameters struct { + + // The HTTP status code used to abort the request. The value must be between 200 + // and 599 inclusive. + // +kubebuilder:validation:Required + HTTPStatus *int64 `json:"httpStatus" tf:"http_status,omitempty"` + + // The percentage of traffic (connections/operations/requests) which will be + // aborted as part of fault injection. The value must be between 0.0 and 100.0 + // inclusive. + // +kubebuilder:validation:Required + Percentage *float64 `json:"percentage" tf:"percentage,omitempty"` +} + +type CorsPolicyObservation struct { +} + +type CorsPolicyParameters struct { + + // In response to a preflight request, setting this to true indicates that the + // actual request can include user credentials. This translates to the Access- + // Control-Allow-Credentials header. Defaults to false. + // +kubebuilder:validation:Optional + AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"` + + // Specifies the content for the Access-Control-Allow-Headers header. + // +kubebuilder:validation:Optional + AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"` + + // Specifies the content for the Access-Control-Allow-Methods header. + // +kubebuilder:validation:Optional + AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"` + + // Specifies the regular expression patterns that match allowed origins. For + // regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript + // An origin is allowed if it matches either allow_origins or allow_origin_regex. + // +kubebuilder:validation:Optional + AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"` + + // Specifies the list of origins that will be allowed to do CORS requests. An + // origin is allowed if it matches either allow_origins or allow_origin_regex. + // +kubebuilder:validation:Optional + AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"` + + // If true, specifies the CORS policy is disabled. + // +kubebuilder:validation:Required + Disabled *bool `json:"disabled" tf:"disabled,omitempty"` + + // Specifies the content for the Access-Control-Expose-Headers header. + // +kubebuilder:validation:Optional + ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"` + + // Specifies how long the results of a preflight request can be cached. This + // translates to the content for the Access-Control-Max-Age header. + // +kubebuilder:validation:Optional + MaxAge *int64 `json:"maxAge,omitempty" tf:"max_age,omitempty"` +} + +type DefaultURLRedirectObservation struct { +} + +type DefaultURLRedirectParameters struct { + + // If set to true, the URL scheme in the redirected request is set to https. If set to + // false, the URL scheme of the redirected request will remain the same as that of the + // request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this + // true for TargetHttpsProxy is not permitted. The default is set to false. + // +kubebuilder:validation:Optional + HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"` + + // The host that will be used in the redirect response instead of the one that was + // supplied in the request. The value must be between 1 and 255 characters. + // +kubebuilder:validation:Optional + HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"` + + // The path that will be used in the redirect response instead of the one that was + // supplied in the request. pathRedirect cannot be supplied together with + // prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the + // original request will be used for the redirect. The value must be between 1 and 1024 + // characters. + // +kubebuilder:validation:Optional + PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"` + + // The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, + // retaining the remaining portion of the URL before redirecting the request. + // prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or + // neither. If neither is supplied, the path of the original request will be used for + // the redirect. The value must be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"` + + // The HTTP Status code to use for this RedirectAction. Supported values are: + // + // * MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. + // + // * FOUND, which corresponds to 302. + // + // * SEE_OTHER which corresponds to 303. + // + // * TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method + // will be retained. + // + // * PERMANENT_REDIRECT, which corresponds to 308. In this case, + // the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"] + // +kubebuilder:validation:Optional + RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"` + + // If set to true, any accompanying query portion of the original URL is removed prior + // to redirecting the request. If set to false, the query portion of the original URL is + // retained. + // This field is required to ensure an empty block is not set. The normal default value is false. + // +kubebuilder:validation:Required + StripQuery *bool `json:"stripQuery" tf:"strip_query,omitempty"` +} + +type DelayFixedDelayObservation struct { +} + +type DelayFixedDelayParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *string `json:"seconds" tf:"seconds,omitempty"` +} + +type DelayObservation struct { +} + +type DelayParameters struct { + + // Specifies the value of the fixed delay interval. + // +kubebuilder:validation:Required + FixedDelay []FixedDelayParameters `json:"fixedDelay" tf:"fixed_delay,omitempty"` + + // The percentage of traffic (connections/operations/requests) on which delay will + // be introduced as part of fault injection. The value must be between 0.0 and + // 100.0 inclusive. + // +kubebuilder:validation:Required + Percentage *float64 `json:"percentage" tf:"percentage,omitempty"` +} + +type FaultInjectionPolicyAbortObservation struct { +} + +type FaultInjectionPolicyAbortParameters struct { + + // The HTTP status code used to abort the request. The value must be between 200 + // and 599 inclusive. + // +kubebuilder:validation:Optional + HTTPStatus *int64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"` + + // The percentage of traffic (connections/operations/requests) which will be + // aborted as part of fault injection. The value must be between 0.0 and 100.0 + // inclusive. + // +kubebuilder:validation:Optional + Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"` +} + +type FaultInjectionPolicyDelayObservation struct { +} + +type FaultInjectionPolicyDelayParameters struct { + + // Specifies the value of the fixed delay interval. + // +kubebuilder:validation:Optional + FixedDelay []DelayFixedDelayParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"` + + // The percentage of traffic (connections/operations/requests) on which delay will + // be introduced as part of fault injection. The value must be between 0.0 and + // 100.0 inclusive. + // +kubebuilder:validation:Optional + Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"` +} + +type FaultInjectionPolicyObservation struct { +} + +type FaultInjectionPolicyParameters struct { + + // The specification for how client requests are aborted as part of fault + // injection. + // +kubebuilder:validation:Optional + Abort []AbortParameters `json:"abort,omitempty" tf:"abort,omitempty"` + + // The specification for how client requests are delayed as part of fault + // injection, before being sent to a backend service. + // +kubebuilder:validation:Optional + Delay []DelayParameters `json:"delay,omitempty" tf:"delay,omitempty"` +} + +type FixedDelayObservation struct { +} + +type FixedDelayParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *string `json:"seconds" tf:"seconds,omitempty"` +} + +type HeaderActionObservation struct { +} + +type HeaderActionParameters struct { + + // Headers to add to a matching request prior to forwarding the request to the + // backendService. + // +kubebuilder:validation:Optional + RequestHeadersToAdd []RequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the request + // prior to forwarding the request to the backendService. + // +kubebuilder:validation:Optional + RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"` + + // Headers to add the response prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToAdd []ResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the response + // prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"` +} + +type HeaderActionRequestHeadersToAddObservation struct { +} + +type HeaderActionRequestHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type HeaderActionResponseHeadersToAddObservation struct { +} + +type HeaderActionResponseHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type HeaderMatchesObservation struct { +} + +type HeaderMatchesParameters struct { + + // The value should exactly match contents of exactMatch. Only one of exactMatch, + // prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. + // +kubebuilder:validation:Optional + ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"` + + // The name of the HTTP header to match. For matching against the HTTP request's + // authority, use a headerMatch with the header name ":authority". For matching a + // request's method, use the headerName ":method". + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // If set to false, the headerMatch is considered a match if the match criteria + // above are met. If set to true, the headerMatch is considered a match if the + // match criteria above are NOT met. Defaults to false. + // +kubebuilder:validation:Optional + InvertMatch *bool `json:"invertMatch,omitempty" tf:"invert_match,omitempty"` + + // The value of the header must start with the contents of prefixMatch. Only one of + // exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch + // must be set. + // +kubebuilder:validation:Optional + PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"` + + // A header with the contents of headerName must exist. The match takes place + // whether or not the request's header has a value or not. Only one of exactMatch, + // prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. + // +kubebuilder:validation:Optional + PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"` + + // The header value must be an integer and its value must be in the range specified + // in rangeMatch. If the header does not contain an integer, number or is empty, + // the match fails. For example for a range [-5, 0] + // + // * -3 will match + // * 0 will not match + // * 0.25 will not match + // * -3someString will not match. + // + // Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or + // rangeMatch must be set. + // +kubebuilder:validation:Optional + RangeMatch []RangeMatchParameters `json:"rangeMatch,omitempty" tf:"range_match,omitempty"` + + // The value of the header must match the regular expression specified in + // regexMatch. For regular expression grammar, please see: + // en.cppreference.com/w/cpp/regex/ecmascript For matching against a port + // specified in the HTTP request, use a headerMatch with headerName set to PORT and + // a regular expression that satisfies the RFC2616 Host header's port specifier. + // Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or + // rangeMatch must be set. + // +kubebuilder:validation:Optional + RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"` + + // The value of the header must end with the contents of suffixMatch. Only one of + // exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch + // must be set. + // +kubebuilder:validation:Optional + SuffixMatch *string `json:"suffixMatch,omitempty" tf:"suffix_match,omitempty"` +} + +type HostRuleObservation struct { +} + +type HostRuleParameters struct { + + // An optional description of this HostRule. Provide this property + // when you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The list of host patterns to match. They must be valid + // hostnames, except * will match any string of ([a-z0-9-.]*). In + // that case, * must be the first character and must be followed in + // the pattern by either - or .. + // +kubebuilder:validation:Required + Hosts []*string `json:"hosts" tf:"hosts,omitempty"` + + // The name of the PathMatcher to use to match the path portion of + // the URL if the hostRule matches the URL's host portion. + // +kubebuilder:validation:Required + PathMatcher *string `json:"pathMatcher" tf:"path_matcher,omitempty"` +} + +type MatchRulesMetadataFiltersObservation struct { +} + +type MatchRulesMetadataFiltersParameters struct { + + // The list of label value pairs that must match labels in the provided metadata + // based on filterMatchCriteria This list must not be empty and can have at the + // most 64 entries. + // +kubebuilder:validation:Required + FilterLabels []MetadataFiltersFilterLabelsParameters `json:"filterLabels" tf:"filter_labels,omitempty"` + + // Specifies how individual filterLabel matches within the list of filterLabels + // contribute towards the overall metadataFilter match. Supported values are: + // + // * MATCH_ANY: At least one of the filterLabels must have a matching label in the + // provided metadata. + // * MATCH_ALL: All filterLabels must have matching labels in + // the provided metadata. Possible values: ["MATCH_ALL", "MATCH_ANY"] + // +kubebuilder:validation:Required + FilterMatchCriteria *string `json:"filterMatchCriteria" tf:"filter_match_criteria,omitempty"` +} + +type MatchRulesObservation struct { +} + +type MatchRulesParameters struct { + + // For satisfying the matchRule condition, the path of the request must exactly + // match the value specified in fullPathMatch after removing any query parameters + // and anchor that may be part of the original URL. FullPathMatch must be between 1 + // and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must + // be specified. + // +kubebuilder:validation:Optional + FullPathMatch *string `json:"fullPathMatch,omitempty" tf:"full_path_match,omitempty"` + + // Specifies a list of header match criteria, all of which must match corresponding + // headers in the request. + // +kubebuilder:validation:Optional + HeaderMatches []HeaderMatchesParameters `json:"headerMatches,omitempty" tf:"header_matches,omitempty"` + + // Specifies that prefixMatch and fullPathMatch matches are case sensitive. + // Defaults to false. + // +kubebuilder:validation:Optional + IgnoreCase *bool `json:"ignoreCase,omitempty" tf:"ignore_case,omitempty"` + + // Opaque filter criteria used by Loadbalancer to restrict routing configuration to + // a limited set xDS compliant clients. In their xDS requests to Loadbalancer, xDS + // clients present node metadata. If a match takes place, the relevant routing + // configuration is made available to those proxies. For each metadataFilter in + // this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the + // filterLabels must match the corresponding label provided in the metadata. If its + // filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match + // with corresponding labels in the provided metadata. metadataFilters specified + // here can be overrides those specified in ForwardingRule that refers to this + // UrlMap. metadataFilters only applies to Loadbalancers that have their + // loadBalancingScheme set to INTERNAL_SELF_MANAGED. + // +kubebuilder:validation:Optional + MetadataFilters []MatchRulesMetadataFiltersParameters `json:"metadataFilters,omitempty" tf:"metadata_filters,omitempty"` + + // For satisfying the matchRule condition, the request's path must begin with the + // specified prefixMatch. prefixMatch must begin with a /. The value must be + // between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or + // regexMatch must be specified. + // +kubebuilder:validation:Optional + PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"` + + // Specifies a list of query parameter match criteria, all of which must match + // corresponding query parameters in the request. + // +kubebuilder:validation:Optional + QueryParameterMatches []QueryParameterMatchesParameters `json:"queryParameterMatches,omitempty" tf:"query_parameter_matches,omitempty"` + + // For satisfying the matchRule condition, the path of the request must satisfy the + // regular expression specified in regexMatch after removing any query parameters + // and anchor supplied with the original URL. For regular expression grammar please + // see en.cppreference.com/w/cpp/regex/ecmascript Only one of prefixMatch, + // fullPathMatch or regexMatch must be specified. + // +kubebuilder:validation:Optional + RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"` +} + +type MetadataFiltersFilterLabelsObservation struct { +} + +type MetadataFiltersFilterLabelsParameters struct { + + // Name of metadata label. The name can have a maximum length of 1024 characters + // and must be at least 1 character long. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The value of the label must match the specified value. value can have a maximum + // length of 1024 characters. + // +kubebuilder:validation:Required + Value *string `json:"value" tf:"value,omitempty"` +} + +type PathMatcherDefaultURLRedirectObservation struct { +} + +type PathMatcherDefaultURLRedirectParameters struct { + + // If set to true, the URL scheme in the redirected request is set to https. If set to + // false, the URL scheme of the redirected request will remain the same as that of the + // request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this + // true for TargetHttpsProxy is not permitted. The default is set to false. + // +kubebuilder:validation:Optional + HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"` + + // The host that will be used in the redirect response instead of the one that was + // supplied in the request. The value must be between 1 and 255 characters. + // +kubebuilder:validation:Optional + HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"` + + // The path that will be used in the redirect response instead of the one that was + // supplied in the request. pathRedirect cannot be supplied together with + // prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the + // original request will be used for the redirect. The value must be between 1 and 1024 + // characters. + // +kubebuilder:validation:Optional + PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"` + + // The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, + // retaining the remaining portion of the URL before redirecting the request. + // prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or + // neither. If neither is supplied, the path of the original request will be used for + // the redirect. The value must be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"` + + // The HTTP Status code to use for this RedirectAction. Supported values are: + // + // * MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. + // + // * FOUND, which corresponds to 302. + // + // * SEE_OTHER which corresponds to 303. + // + // * TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method + // will be retained. + // + // * PERMANENT_REDIRECT, which corresponds to 308. In this case, + // the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"] + // +kubebuilder:validation:Optional + RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"` + + // If set to true, any accompanying query portion of the original URL is removed prior + // to redirecting the request. If set to false, the query portion of the original URL is + // retained. + // This field is required to ensure an empty block is not set. The normal default value is false. + // +kubebuilder:validation:Required + StripQuery *bool `json:"stripQuery" tf:"strip_query,omitempty"` +} + +type PathMatcherObservation struct { +} + +type PathMatcherParameters struct { + + // A reference to a RegionBackendService resource. This will be used if + // none of the pathRules defined by this PathMatcher is matched by + // the URL's path portion. + // +kubebuilder:validation:Optional + DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"` + + // When none of the specified hostRules match, the request is redirected to a URL specified + // by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or + // defaultRouteAction must not be set. + // +kubebuilder:validation:Optional + DefaultURLRedirect []PathMatcherDefaultURLRedirectParameters `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"` + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The name to which this PathMatcher is referred by the HostRule. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The list of path rules. Use this list instead of routeRules when routing based + // on simple path matching is all that's required. The order by which path rules + // are specified does not matter. Matches are always done on the longest-path-first + // basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/* + // irrespective of the order in which those paths appear in this list. Within a + // given pathMatcher, only one of pathRules or routeRules must be set. + // +kubebuilder:validation:Optional + PathRule []PathRuleParameters `json:"pathRule,omitempty" tf:"path_rule,omitempty"` + + // The list of ordered HTTP route rules. Use this list instead of pathRules when + // advanced route matching and routing actions are desired. The order of specifying + // routeRules matters: the first rule that matches will cause its specified routing + // action to take effect. Within a given pathMatcher, only one of pathRules or + // routeRules must be set. routeRules are not supported in UrlMaps intended for + // External load balancers. + // +kubebuilder:validation:Optional + RouteRules []RouteRulesParameters `json:"routeRules,omitempty" tf:"route_rules,omitempty"` +} + +type PathRuleObservation struct { +} + +type PathRuleParameters struct { + + // The list of path patterns to match. Each must start with / and the only place a + // \* is allowed is at the end following a /. The string fed to the path matcher + // does not include any text after the first ? or #, and those chars are not + // allowed here. + // +kubebuilder:validation:Required + Paths []*string `json:"paths" tf:"paths,omitempty"` + + // In response to a matching path, the load balancer performs advanced routing + // actions like URL rewrites, header transformations, etc. prior to forwarding the + // request to the selected backend. If routeAction specifies any + // weightedBackendServices, service must not be set. Conversely if service is set, + // routeAction cannot contain any weightedBackendServices. Only one of routeAction + // or urlRedirect must be set. + // +kubebuilder:validation:Optional + RouteAction []RouteActionParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"` + + // The region backend service resource to which traffic is + // directed if this rule is matched. If routeAction is additionally specified, + // advanced routing actions like URL Rewrites, etc. take effect prior to sending + // the request to the backend. However, if service is specified, routeAction cannot + // contain any weightedBackendService s. Conversely, if routeAction specifies any + // weightedBackendServices, service must not be specified. Only one of urlRedirect, + // service or routeAction.weightedBackendService must be set. + // +kubebuilder:validation:Optional + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // When a path pattern is matched, the request is redirected to a URL specified + // by urlRedirect. If urlRedirect is specified, service or routeAction must not + // be set. + // +kubebuilder:validation:Optional + URLRedirect []URLRedirectParameters `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"` +} + +type PerTryTimeoutObservation struct { +} + +type PerTryTimeoutParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *string `json:"seconds" tf:"seconds,omitempty"` +} + +type QueryParameterMatchesObservation struct { +} + +type QueryParameterMatchesParameters struct { + + // The queryParameterMatch matches if the value of the parameter exactly matches + // the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch + // must be set. + // +kubebuilder:validation:Optional + ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"` + + // The name of the query parameter to match. The query parameter must exist in the + // request, in the absence of which the request match fails. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Specifies that the queryParameterMatch matches if the request contains the query + // parameter, irrespective of whether the parameter has a value or not. Only one of + // presentMatch, exactMatch and regexMatch must be set. + // +kubebuilder:validation:Optional + PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"` + + // The queryParameterMatch matches if the value of the parameter matches the + // regular expression specified by regexMatch. For the regular expression grammar, + // please see en.cppreference.com/w/cpp/regex/ecmascript Only one of presentMatch, + // exactMatch and regexMatch must be set. + // +kubebuilder:validation:Optional + RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"` +} + +type RangeMatchObservation struct { +} + +type RangeMatchParameters struct { + + // The end of the range (exclusive). + // +kubebuilder:validation:Required + RangeEnd *int64 `json:"rangeEnd" tf:"range_end,omitempty"` + + // The start of the range (inclusive). + // +kubebuilder:validation:Required + RangeStart *int64 `json:"rangeStart" tf:"range_start,omitempty"` +} + +type RegionURLMapObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + MapID *int64 `json:"mapId,omitempty" tf:"map_id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type RegionURLMapParameters struct { + + // The full or partial URL of the defaultService resource to which traffic is directed if + // none of the hostRules match. If defaultRouteAction is additionally specified, advanced + // routing actions like URL Rewrites, etc. take effect prior to sending the request to the + // backend. However, if defaultService is specified, defaultRouteAction cannot contain any + // weightedBackendServices. Conversely, if routeAction specifies any + // weightedBackendServices, service must not be specified. Only one of defaultService, + // defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set. + // +kubebuilder:validation:Optional + DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"` + + // When none of the specified hostRules match, the request is redirected to a URL specified + // by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or + // defaultRouteAction must not be set. + // +kubebuilder:validation:Optional + DefaultURLRedirect []DefaultURLRedirectParameters `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"` + + // An optional description of this resource. Provide this property when + // you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The list of HostRules to use against the URL. + // +kubebuilder:validation:Optional + HostRule []HostRuleParameters `json:"hostRule,omitempty" tf:"host_rule,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The list of named PathMatchers to use against the URL. + // +kubebuilder:validation:Optional + PathMatcher []PathMatcherParameters `json:"pathMatcher,omitempty" tf:"path_matcher,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The Region in which the url map should reside. + // If it is not provided, the provider region is used. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // The list of expected URL mappings. Requests to update this UrlMap will + // succeed only if all of the test cases pass. + // +kubebuilder:validation:Optional + Test []TestParameters `json:"test,omitempty" tf:"test,omitempty"` +} + +type RequestHeadersToAddObservation struct { +} + +type RequestHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type RequestMirrorPolicyObservation struct { +} + +type RequestMirrorPolicyParameters struct { + + // The RegionBackendService resource being mirrored to. + // +kubebuilder:validation:Required + BackendService *string `json:"backendService" tf:"backend_service,omitempty"` +} + +type ResponseHeadersToAddObservation struct { +} + +type ResponseHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type RetryPolicyObservation struct { +} + +type RetryPolicyParameters struct { + + // Specifies the allowed number retries. This number must be > 0. + // +kubebuilder:validation:Optional + NumRetries *int64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"` + + // Specifies a non-zero timeout per retry attempt. + // +kubebuilder:validation:Optional + PerTryTimeout []PerTryTimeoutParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"` + + // Specifies one or more conditions when this retry rule applies. Valid values are: + // + // - 5xx: Loadbalancer will attempt a retry if the backend service responds with + // any 5xx response code, or if the backend service does not respond at all, + // example: disconnects, reset, read timeout, connection failure, and refused + // streams. + // - gateway-error: Similar to 5xx, but only applies to response codes + // 502, 503 or 504. + // - connect-failure: Loadbalancer will retry on failures + // connecting to backend services, for example due to connection timeouts. + // - retriable-4xx: Loadbalancer will retry for retriable 4xx response codes. + // Currently the only retriable error supported is 409. + // - refused-stream: Loadbalancer will retry if the backend service resets the stream with a + // REFUSED_STREAM error code. This reset type indicates that it is safe to retry. + // - cancelled: Loadbalancer will retry if the gRPC status code in the response + // header is set to cancelled + // - deadline-exceeded: Loadbalancer will retry if the + // gRPC status code in the response header is set to deadline-exceeded + // - resource-exhausted: Loadbalancer will retry if the gRPC status code in the response + // header is set to resource-exhausted + // - unavailable: Loadbalancer will retry if + // the gRPC status code in the response header is set to unavailable + // +kubebuilder:validation:Optional + RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"` +} + +type RetryPolicyPerTryTimeoutObservation struct { +} + +type RetryPolicyPerTryTimeoutParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *string `json:"seconds" tf:"seconds,omitempty"` +} + +type RouteActionCorsPolicyObservation struct { +} + +type RouteActionCorsPolicyParameters struct { + + // In response to a preflight request, setting this to true indicates that the + // actual request can include user credentials. This translates to the Access- + // Control-Allow-Credentials header. Defaults to false. + // +kubebuilder:validation:Optional + AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"` + + // Specifies the content for the Access-Control-Allow-Headers header. + // +kubebuilder:validation:Optional + AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"` + + // Specifies the content for the Access-Control-Allow-Methods header. + // +kubebuilder:validation:Optional + AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"` + + // Specifies the regular expression patterns that match allowed origins. For + // regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript + // An origin is allowed if it matches either allow_origins or allow_origin_regex. + // +kubebuilder:validation:Optional + AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"` + + // Specifies the list of origins that will be allowed to do CORS requests. An + // origin is allowed if it matches either allow_origins or allow_origin_regex. + // +kubebuilder:validation:Optional + AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"` + + // If true, specifies the CORS policy is disabled. + // which indicates that the CORS policy is in effect. Defaults to false. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // Specifies the content for the Access-Control-Expose-Headers header. + // +kubebuilder:validation:Optional + ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"` + + // Specifies how long the results of a preflight request can be cached. This + // translates to the content for the Access-Control-Max-Age header. + // +kubebuilder:validation:Optional + MaxAge *int64 `json:"maxAge,omitempty" tf:"max_age,omitempty"` +} + +type RouteActionFaultInjectionPolicyObservation struct { +} + +type RouteActionFaultInjectionPolicyParameters struct { + + // The specification for how client requests are aborted as part of fault + // injection. + // +kubebuilder:validation:Optional + Abort []FaultInjectionPolicyAbortParameters `json:"abort,omitempty" tf:"abort,omitempty"` + + // The specification for how client requests are delayed as part of fault + // injection, before being sent to a backend service. + // +kubebuilder:validation:Optional + Delay []FaultInjectionPolicyDelayParameters `json:"delay,omitempty" tf:"delay,omitempty"` +} + +type RouteActionObservation struct { +} + +type RouteActionParameters struct { + + // The specification for allowing client side cross-origin requests. Please see W3C + // Recommendation for Cross Origin Resource Sharing + // +kubebuilder:validation:Optional + CorsPolicy []CorsPolicyParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"` + + // The specification for fault injection introduced into traffic to test the + // resiliency of clients to backend service failure. As part of fault injection, + // when clients send requests to a backend service, delays can be introduced by + // Loadbalancer on a percentage of requests before sending those request to the + // backend service. Similarly requests from clients can be aborted by the + // Loadbalancer for a percentage of requests. timeout and retry_policy will be + // ignored by clients that are configured with a fault_injection_policy. + // +kubebuilder:validation:Optional + FaultInjectionPolicy []FaultInjectionPolicyParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"` + + // Specifies the policy on how requests intended for the route's backends are + // shadowed to a separate mirrored backend service. Loadbalancer does not wait for + // responses from the shadow service. Prior to sending traffic to the shadow + // service, the host / authority header is suffixed with -shadow. + // +kubebuilder:validation:Optional + RequestMirrorPolicy []RequestMirrorPolicyParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"` + + // Specifies the retry policy associated with this route. + // +kubebuilder:validation:Optional + RetryPolicy []RetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"` + + // Specifies the timeout for the selected route. Timeout is computed from the time + // the request is has been fully processed (i.e. end-of-stream) up until the + // response has been completely processed. Timeout includes all retries. If not + // specified, the default value is 15 seconds. + // +kubebuilder:validation:Optional + Timeout []TimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"` + + // The spec to modify the URL of the request, prior to forwarding the request to + // the matched service + // +kubebuilder:validation:Optional + URLRewrite []URLRewriteParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"` + + // A list of weighted backend services to send traffic to when a route match + // occurs. The weights determine the fraction of traffic that flows to their + // corresponding backend service. If all traffic needs to go to a single backend + // service, there must be one weightedBackendService with weight set to a non 0 + // number. Once a backendService is identified and before forwarding the request to + // the backend service, advanced routing actions like Url rewrites and header + // transformations are applied depending on additional settings specified in this + // HttpRouteAction. + // +kubebuilder:validation:Optional + WeightedBackendServices []WeightedBackendServicesParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"` +} + +type RouteActionRequestMirrorPolicyObservation struct { +} + +type RouteActionRequestMirrorPolicyParameters struct { + + // The RegionBackendService resource being mirrored to. + // +kubebuilder:validation:Required + BackendService *string `json:"backendService" tf:"backend_service,omitempty"` +} + +type RouteActionRetryPolicyObservation struct { +} + +type RouteActionRetryPolicyParameters struct { + + // Specifies the allowed number retries. This number must be > 0. + // +kubebuilder:validation:Required + NumRetries *int64 `json:"numRetries" tf:"num_retries,omitempty"` + + // Specifies a non-zero timeout per retry attempt. + // +kubebuilder:validation:Optional + PerTryTimeout []RetryPolicyPerTryTimeoutParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"` + + // Specifies one or more conditions when this retry rule applies. Valid values are: + // + // * 5xx: Loadbalancer will attempt a retry if the backend service responds with + // any 5xx response code, or if the backend service does not respond at all, + // example: disconnects, reset, read timeout, connection failure, and refused + // streams. + // * gateway-error: Similar to 5xx, but only applies to response codes + // 502, 503 or 504. + // * connect-failure: Loadbalancer will retry on failures + // connecting to backend services, for example due to connection timeouts. + // * retriable-4xx: Loadbalancer will retry for retriable 4xx response codes. + // Currently the only retriable error supported is 409. + // * refused-stream: Loadbalancer will retry if the backend service resets the stream with a + // REFUSED_STREAM error code. This reset type indicates that it is safe to retry. + // * cancelled: Loadbalancer will retry if the gRPC status code in the response + // header is set to cancelled + // * deadline-exceeded: Loadbalancer will retry if the + // gRPC status code in the response header is set to deadline-exceeded + // * resource-exhausted: Loadbalancer will retry if the gRPC status code in the response + // header is set to resource-exhausted + // * unavailable: Loadbalancer will retry if the gRPC status code in + // the response header is set to unavailable + // +kubebuilder:validation:Optional + RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"` +} + +type RouteActionTimeoutObservation struct { +} + +type RouteActionTimeoutParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *string `json:"seconds" tf:"seconds,omitempty"` +} + +type RouteActionURLRewriteObservation struct { +} + +type RouteActionURLRewriteParameters struct { + + // Prior to forwarding the request to the selected service, the request's host + // header is replaced with contents of hostRewrite. The value must be between 1 and + // 255 characters. + // +kubebuilder:validation:Optional + HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"` + + // Prior to forwarding the request to the selected backend service, the matching + // portion of the request's path is replaced by pathPrefixRewrite. The value must + // be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"` +} + +type RouteActionWeightedBackendServicesObservation struct { +} + +type RouteActionWeightedBackendServicesParameters struct { + + // The default RegionBackendService resource. Before + // forwarding the request to backendService, the loadbalancer applies any relevant + // headerActions specified as part of this backendServiceWeight. + // +kubebuilder:validation:Required + BackendService *string `json:"backendService" tf:"backend_service,omitempty"` + + // Specifies changes to request and response headers that need to take effect for + // the selected backendService. headerAction specified here take effect before + // headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap. + // +kubebuilder:validation:Optional + HeaderAction []WeightedBackendServicesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"` + + // Specifies the fraction of traffic sent to backendService, computed as weight / + // (sum of all weightedBackendService weights in routeAction) . The selection of a + // backend service is determined only for new traffic. Once a user's request has + // been directed to a backendService, subsequent requests will be sent to the same + // backendService as determined by the BackendService's session affinity policy. + // The value must be between 0 and 1000 + // +kubebuilder:validation:Required + Weight *int64 `json:"weight" tf:"weight,omitempty"` +} + +type RouteRulesHeaderActionObservation struct { +} + +type RouteRulesHeaderActionParameters struct { + + // Headers to add to a matching request prior to forwarding the request to the + // backendService. + // +kubebuilder:validation:Optional + RequestHeadersToAdd []HeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the request + // prior to forwarding the request to the backendService. + // +kubebuilder:validation:Optional + RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"` + + // Headers to add the response prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToAdd []HeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the response + // prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"` +} + +type RouteRulesObservation struct { +} + +type RouteRulesParameters struct { + + // Specifies changes to request and response headers that need to take effect for + // the selected backendService. The headerAction specified here are applied before + // the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].r + // outeAction.weightedBackendService.backendServiceWeightAction[].headerAction + // +kubebuilder:validation:Optional + HeaderAction []RouteRulesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"` + + // The rules for determining a match. + // +kubebuilder:validation:Optional + MatchRules []MatchRulesParameters `json:"matchRules,omitempty" tf:"match_rules,omitempty"` + + // For routeRules within a given pathMatcher, priority determines the order + // in which load balancer will interpret routeRules. RouteRules are evaluated + // in order of priority, from the lowest to highest number. The priority of + // a rule decreases as its number increases (1, 2, 3, N+1). The first rule + // that matches the request is applied. + // + // You cannot configure two or more routeRules with the same priority. + // Priority for each rule must be set to a number between 0 and + // 2147483647 inclusive. + // + // Priority numbers can have gaps, which enable you to add or remove rules + // in the future without affecting the rest of the rules. For example, + // 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which + // you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the + // future without any impact on existing rules. + // +kubebuilder:validation:Required + Priority *int64 `json:"priority" tf:"priority,omitempty"` + + // In response to a matching matchRule, the load balancer performs advanced routing + // actions like URL rewrites, header transformations, etc. prior to forwarding the + // request to the selected backend. If routeAction specifies any + // weightedBackendServices, service must not be set. Conversely if service is set, + // routeAction cannot contain any weightedBackendServices. Only one of routeAction + // or urlRedirect must be set. + // +kubebuilder:validation:Optional + RouteAction []RouteRulesRouteActionParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"` + + // The region backend service resource to which traffic is + // directed if this rule is matched. If routeAction is additionally specified, + // advanced routing actions like URL Rewrites, etc. take effect prior to sending + // the request to the backend. However, if service is specified, routeAction cannot + // contain any weightedBackendService s. Conversely, if routeAction specifies any + // weightedBackendServices, service must not be specified. Only one of urlRedirect, + // service or routeAction.weightedBackendService must be set. + // +kubebuilder:validation:Optional + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // When this rule is matched, the request is redirected to a URL specified by + // urlRedirect. If urlRedirect is specified, service or routeAction must not be + // set. + // +kubebuilder:validation:Optional + URLRedirect []RouteRulesURLRedirectParameters `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"` +} + +type RouteRulesRouteActionObservation struct { +} + +type RouteRulesRouteActionParameters struct { + + // The specification for allowing client side cross-origin requests. Please see W3C + // Recommendation for Cross Origin Resource Sharing + // +kubebuilder:validation:Optional + CorsPolicy []RouteActionCorsPolicyParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"` + + // The specification for fault injection introduced into traffic to test the + // resiliency of clients to backend service failure. As part of fault injection, + // when clients send requests to a backend service, delays can be introduced by + // Loadbalancer on a percentage of requests before sending those request to the + // backend service. Similarly requests from clients can be aborted by the + // Loadbalancer for a percentage of requests. timeout and retry_policy will be + // ignored by clients that are configured with a fault_injection_policy. + // +kubebuilder:validation:Optional + FaultInjectionPolicy []RouteActionFaultInjectionPolicyParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"` + + // Specifies the policy on how requests intended for the route's backends are + // shadowed to a separate mirrored backend service. Loadbalancer does not wait for + // responses from the shadow service. Prior to sending traffic to the shadow + // service, the host / authority header is suffixed with -shadow. + // +kubebuilder:validation:Optional + RequestMirrorPolicy []RouteActionRequestMirrorPolicyParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"` + + // Specifies the retry policy associated with this route. + // +kubebuilder:validation:Optional + RetryPolicy []RouteActionRetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"` + + // Specifies the timeout for the selected route. Timeout is computed from the time + // the request is has been fully processed (i.e. end-of-stream) up until the + // response has been completely processed. Timeout includes all retries. If not + // specified, the default value is 15 seconds. + // +kubebuilder:validation:Optional + Timeout []RouteActionTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"` + + // The spec to modify the URL of the request, prior to forwarding the request to + // the matched service + // +kubebuilder:validation:Optional + URLRewrite []RouteActionURLRewriteParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"` + + // A list of weighted backend services to send traffic to when a route match + // occurs. The weights determine the fraction of traffic that flows to their + // corresponding backend service. If all traffic needs to go to a single backend + // service, there must be one weightedBackendService with weight set to a non 0 + // number. Once a backendService is identified and before forwarding the request to + // the backend service, advanced routing actions like Url rewrites and header + // transformations are applied depending on additional settings specified in this + // HttpRouteAction. + // +kubebuilder:validation:Optional + WeightedBackendServices []RouteActionWeightedBackendServicesParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"` +} + +type RouteRulesURLRedirectObservation struct { +} + +type RouteRulesURLRedirectParameters struct { + + // If set to true, the URL scheme in the redirected request is set to https. + // If set to false, the URL scheme of the redirected request will remain the + // same as that of the request. This must only be set for UrlMaps used in + // TargetHttpProxys. Setting this true for TargetHttpsProxy is not + // permitted. The default is set to false. + // +kubebuilder:validation:Optional + HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"` + + // The host that will be used in the redirect response instead of the one + // that was supplied in the request. The value must be between 1 and 255 + // characters. + // +kubebuilder:validation:Optional + HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"` + + // The path that will be used in the redirect response instead of the one + // that was supplied in the request. pathRedirect cannot be supplied + // together with prefixRedirect. Supply one alone or neither. If neither is + // supplied, the path of the original request will be used for the redirect. + // The value must be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"` + + // The prefix that replaces the prefixMatch specified in the + // HttpRouteRuleMatch, retaining the remaining portion of the URL before + // redirecting the request. prefixRedirect cannot be supplied together with + // pathRedirect. Supply one alone or neither. If neither is supplied, the + // path of the original request will be used for the redirect. The value + // must be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"` + + // The HTTP Status code to use for this RedirectAction. Supported values are: + // + // * MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. + // + // * FOUND, which corresponds to 302. + // + // * SEE_OTHER which corresponds to 303. + // + // * TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method + // will be retained. + // + // * PERMANENT_REDIRECT, which corresponds to 308. In this case, + // the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"] + // +kubebuilder:validation:Optional + RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"` + + // If set to true, any accompanying query portion of the original URL is + // removed prior to redirecting the request. If set to false, the query + // portion of the original URL is retained. The default value is false. + // +kubebuilder:validation:Optional + StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"` +} + +type TestObservation struct { +} + +type TestParameters struct { + + // Description of this test case. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Host portion of the URL. + // +kubebuilder:validation:Required + Host *string `json:"host" tf:"host,omitempty"` + + // Path portion of the URL. + // +kubebuilder:validation:Required + Path *string `json:"path" tf:"path,omitempty"` + + // A reference to expected RegionBackendService resource the given URL should be mapped to. + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +type TimeoutObservation struct { +} + +type TimeoutParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *string `json:"seconds" tf:"seconds,omitempty"` +} + +type URLRedirectObservation struct { +} + +type URLRedirectParameters struct { + + // If set to true, the URL scheme in the redirected request is set to https. + // If set to false, the URL scheme of the redirected request will remain the + // same as that of the request. This must only be set for UrlMaps used in + // TargetHttpProxys. Setting this true for TargetHttpsProxy is not + // permitted. The default is set to false. + // +kubebuilder:validation:Optional + HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"` + + // The host that will be used in the redirect response instead of the one + // that was supplied in the request. The value must be between 1 and 255 + // characters. + // +kubebuilder:validation:Optional + HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"` + + // The path that will be used in the redirect response instead of the one + // that was supplied in the request. pathRedirect cannot be supplied + // together with prefixRedirect. Supply one alone or neither. If neither is + // supplied, the path of the original request will be used for the redirect. + // The value must be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"` + + // The prefix that replaces the prefixMatch specified in the + // HttpRouteRuleMatch, retaining the remaining portion of the URL before + // redirecting the request. prefixRedirect cannot be supplied together with + // pathRedirect. Supply one alone or neither. If neither is supplied, the + // path of the original request will be used for the redirect. The value + // must be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"` + + // The HTTP Status code to use for this RedirectAction. Supported values are: + // + // * MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. + // + // * FOUND, which corresponds to 302. + // + // * SEE_OTHER which corresponds to 303. + // + // * TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method + // will be retained. + // + // * PERMANENT_REDIRECT, which corresponds to 308. In this case, + // the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"] + // +kubebuilder:validation:Optional + RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"` + + // If set to true, any accompanying query portion of the original URL is removed + // prior to redirecting the request. If set to false, the query portion of the + // original URL is retained. + // This field is required to ensure an empty block is not set. The normal default value is false. + // +kubebuilder:validation:Required + StripQuery *bool `json:"stripQuery" tf:"strip_query,omitempty"` +} + +type URLRewriteObservation struct { +} + +type URLRewriteParameters struct { + + // Prior to forwarding the request to the selected service, the request's host + // header is replaced with contents of hostRewrite. The value must be between 1 and + // 255 characters. + // +kubebuilder:validation:Optional + HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"` + + // Prior to forwarding the request to the selected backend service, the matching + // portion of the request's path is replaced by pathPrefixRewrite. The value must + // be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"` +} + +type WeightedBackendServicesHeaderActionObservation struct { +} + +type WeightedBackendServicesHeaderActionParameters struct { + + // Headers to add to a matching request prior to forwarding the request to the + // backendService. + // +kubebuilder:validation:Optional + RequestHeadersToAdd []WeightedBackendServicesHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the request + // prior to forwarding the request to the backendService. + // +kubebuilder:validation:Optional + RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"` + + // Headers to add the response prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToAdd []WeightedBackendServicesHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the response + // prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"` +} + +type WeightedBackendServicesHeaderActionRequestHeadersToAddObservation struct { +} + +type WeightedBackendServicesHeaderActionRequestHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type WeightedBackendServicesHeaderActionResponseHeadersToAddObservation struct { +} + +type WeightedBackendServicesHeaderActionResponseHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type WeightedBackendServicesObservation struct { +} + +type WeightedBackendServicesParameters struct { + + // The default RegionBackendService resource. Before + // forwarding the request to backendService, the loadbalancer applies any relevant + // headerActions specified as part of this backendServiceWeight. + // +kubebuilder:validation:Required + BackendService *string `json:"backendService" tf:"backend_service,omitempty"` + + // Specifies changes to request and response headers that need to take effect for + // the selected backendService. headerAction specified here take effect before + // headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap. + // +kubebuilder:validation:Optional + HeaderAction []HeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"` + + // Specifies the fraction of traffic sent to backendService, computed as weight / + // (sum of all weightedBackendService weights in routeAction) . The selection of a + // backend service is determined only for new traffic. Once a user's request has + // been directed to a backendService, subsequent requests will be sent to the same + // backendService as determined by the BackendService's session affinity policy. + // The value must be between 0 and 1000 + // +kubebuilder:validation:Required + Weight *int64 `json:"weight" tf:"weight,omitempty"` +} + +// RegionURLMapSpec defines the desired state of RegionURLMap +type RegionURLMapSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegionURLMapParameters `json:"forProvider"` +} + +// RegionURLMapStatus defines the observed state of RegionURLMap. +type RegionURLMapStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegionURLMapObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionURLMap is the Schema for the RegionURLMaps 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,gcpjet} +type RegionURLMap struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegionURLMapSpec `json:"spec"` + Status RegionURLMapStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegionURLMapList contains a list of RegionURLMaps +type RegionURLMapList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RegionURLMap `json:"items"` +} + +// Repository type metadata. +var ( + RegionURLMap_Kind = "RegionURLMap" + RegionURLMap_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RegionURLMap_Kind}.String() + RegionURLMap_KindAPIVersion = RegionURLMap_Kind + "." + CRDGroupVersion.String() + RegionURLMap_GroupVersionKind = CRDGroupVersion.WithKind(RegionURLMap_Kind) +) + +func init() { + SchemeBuilder.Register(&RegionURLMap{}, &RegionURLMapList{}) +} diff --git a/apis/compute/v1alpha1/zz_reservation_terraformed.go b/apis/compute/v1alpha1/zz_reservation_terraformed.go new file mode 100755 index 00000000..deaae346 --- /dev/null +++ b/apis/compute/v1alpha1/zz_reservation_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Reservation +func (mg *Reservation) GetTerraformResourceType() string { + return "google_compute_reservation" +} + +// GetConnectionDetailsMapping for this Reservation +func (tr *Reservation) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Reservation +func (tr *Reservation) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Reservation +func (tr *Reservation) SetObservation(obs map[string]interface{}) 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 Reservation +func (tr *Reservation) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Reservation +func (tr *Reservation) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Reservation +func (tr *Reservation) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Reservation using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Reservation) LateInitialize(attrs []byte) (bool, error) { + params := &ReservationParameters{} + 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 *Reservation) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_reservation_types.go b/apis/compute/v1alpha1/zz_reservation_types.go new file mode 100755 index 00000000..94a80dae --- /dev/null +++ b/apis/compute/v1alpha1/zz_reservation_types.go @@ -0,0 +1,195 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 GuestAcceleratorsObservation struct { +} + +type GuestAcceleratorsParameters struct { + + // The number of the guest accelerator cards exposed to + // this instance. + // +kubebuilder:validation:Required + AcceleratorCount *int64 `json:"acceleratorCount" tf:"accelerator_count,omitempty"` + + // The full or partial URL of the accelerator type to + // attach to this instance. For example: + // 'projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100' + // + // If you are creating an instance template, specify only the accelerator name. + // +kubebuilder:validation:Required + AcceleratorType *string `json:"acceleratorType" tf:"accelerator_type,omitempty"` +} + +type InstancePropertiesObservation struct { +} + +type InstancePropertiesParameters struct { + + // Guest accelerator type and count. + // +kubebuilder:validation:Optional + GuestAccelerators []GuestAcceleratorsParameters `json:"guestAccelerators,omitempty" tf:"guest_accelerators,omitempty"` + + // The amount of local ssd to reserve with each instance. This + // reserves disks of type 'local-ssd'. + // +kubebuilder:validation:Optional + LocalSsds []LocalSsdsParameters `json:"localSsds,omitempty" tf:"local_ssds,omitempty"` + + // The name of the machine type to reserve. + // +kubebuilder:validation:Required + MachineType *string `json:"machineType" tf:"machine_type,omitempty"` + + // The minimum CPU platform for the reservation. For example, + // '"Intel Skylake"'. See + // the CPU platform availability reference](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones) + // for information on available CPU platforms. + // +kubebuilder:validation:Optional + MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"` +} + +type LocalSsdsObservation struct { +} + +type LocalSsdsParameters struct { + + // The size of the disk in base-2 GB. + // +kubebuilder:validation:Required + DiskSizeGb *int64 `json:"diskSizeGb" tf:"disk_size_gb,omitempty"` + + // The disk interface to use for attaching this disk. Default value: "SCSI" Possible values: ["SCSI", "NVME"] + // +kubebuilder:validation:Optional + Interface *string `json:"interface,omitempty" tf:"interface,omitempty"` +} + +type ReservationObservation struct { + Commitment *string `json:"commitment,omitempty" tf:"commitment,omitempty"` + + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + Status *string `json:"status,omitempty" tf:"status,omitempty"` +} + +type ReservationParameters struct { + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Reservation for instances with specific machine shapes. + // +kubebuilder:validation:Required + SpecificReservation []SpecificReservationParameters `json:"specificReservation" tf:"specific_reservation,omitempty"` + + // When set to true, only VMs that target this reservation by name can + // consume this reservation. Otherwise, it can be consumed by VMs with + // affinity for any reservation. Defaults to false. + // +kubebuilder:validation:Optional + SpecificReservationRequired *bool `json:"specificReservationRequired,omitempty" tf:"specific_reservation_required,omitempty"` + + // The zone where the reservation is made. + // +kubebuilder:validation:Required + Zone *string `json:"zone" tf:"zone,omitempty"` +} + +type SpecificReservationObservation struct { + InUseCount *int64 `json:"inUseCount,omitempty" tf:"in_use_count,omitempty"` +} + +type SpecificReservationParameters struct { + + // The number of resources that are allocated. + // +kubebuilder:validation:Required + Count *int64 `json:"count" tf:"count,omitempty"` + + // The instance properties for the reservation. + // +kubebuilder:validation:Required + InstanceProperties []InstancePropertiesParameters `json:"instanceProperties" tf:"instance_properties,omitempty"` +} + +// ReservationSpec defines the desired state of Reservation +type ReservationSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ReservationParameters `json:"forProvider"` +} + +// ReservationStatus defines the observed state of Reservation. +type ReservationStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ReservationObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Reservation is the Schema for the Reservations 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,gcpjet} +type Reservation struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ReservationSpec `json:"spec"` + Status ReservationStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ReservationList contains a list of Reservations +type ReservationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Reservation `json:"items"` +} + +// Repository type metadata. +var ( + Reservation_Kind = "Reservation" + Reservation_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Reservation_Kind}.String() + Reservation_KindAPIVersion = Reservation_Kind + "." + CRDGroupVersion.String() + Reservation_GroupVersionKind = CRDGroupVersion.WithKind(Reservation_Kind) +) + +func init() { + SchemeBuilder.Register(&Reservation{}, &ReservationList{}) +} diff --git a/apis/compute/v1alpha1/zz_resourcepolicy_terraformed.go b/apis/compute/v1alpha1/zz_resourcepolicy_terraformed.go new file mode 100755 index 00000000..ab38ef89 --- /dev/null +++ b/apis/compute/v1alpha1/zz_resourcepolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ResourcePolicy +func (mg *ResourcePolicy) GetTerraformResourceType() string { + return "google_compute_resource_policy" +} + +// GetConnectionDetailsMapping for this ResourcePolicy +func (tr *ResourcePolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ResourcePolicy +func (tr *ResourcePolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ResourcePolicy +func (tr *ResourcePolicy) SetObservation(obs map[string]interface{}) 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 ResourcePolicy +func (tr *ResourcePolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ResourcePolicy +func (tr *ResourcePolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ResourcePolicy +func (tr *ResourcePolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ResourcePolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ResourcePolicy) LateInitialize(attrs []byte) (bool, error) { + params := &ResourcePolicyParameters{} + 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 *ResourcePolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_resourcepolicy_types.go b/apis/compute/v1alpha1/zz_resourcepolicy_types.go new file mode 100755 index 00000000..ce66c7dd --- /dev/null +++ b/apis/compute/v1alpha1/zz_resourcepolicy_types.go @@ -0,0 +1,314 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DailyScheduleObservation struct { +} + +type DailyScheduleParameters struct { + + // The number of days between snapshots. + // +kubebuilder:validation:Required + DaysInCycle *int64 `json:"daysInCycle" tf:"days_in_cycle,omitempty"` + + // This must be in UTC format that resolves to one of + // 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, + // both 13:00-5 and 08:00 are valid. + // +kubebuilder:validation:Required + StartTime *string `json:"startTime" tf:"start_time,omitempty"` +} + +type DayOfWeeksObservation struct { +} + +type DayOfWeeksParameters struct { + + // The day of the week to create the snapshot. e.g. MONDAY Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"] + // +kubebuilder:validation:Required + Day *string `json:"day" tf:"day,omitempty"` + + // Time within the window to start the operations. + // It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT. + // +kubebuilder:validation:Required + StartTime *string `json:"startTime" tf:"start_time,omitempty"` +} + +type GroupPlacementPolicyObservation struct { +} + +type GroupPlacementPolicyParameters struct { + + // The number of availability domains instances will be spread across. If two instances are in different + // availability domain, they will not be put in the same low latency network + // +kubebuilder:validation:Optional + AvailabilityDomainCount *int64 `json:"availabilityDomainCount,omitempty" tf:"availability_domain_count,omitempty"` + + // Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network. + // Specify 'COLLOCATED' to enable collocation. Can only be specified with 'vm_count'. If compute instances are created + // with a COLLOCATED policy, then exactly 'vm_count' instances must be created at the same time with the resource policy + // attached. Possible values: ["COLLOCATED"] + // +kubebuilder:validation:Optional + Collocation *string `json:"collocation,omitempty" tf:"collocation,omitempty"` + + // Number of vms in this placement group. + // +kubebuilder:validation:Optional + VMCount *int64 `json:"vmCount,omitempty" tf:"vm_count,omitempty"` +} + +type HourlyScheduleObservation struct { +} + +type HourlyScheduleParameters struct { + + // The number of hours between snapshots. + // +kubebuilder:validation:Required + HoursInCycle *int64 `json:"hoursInCycle" tf:"hours_in_cycle,omitempty"` + + // Time within the window to start the operations. + // It must be in an hourly format "HH:MM", + // where HH : [00-23] and MM : [00] GMT. + // eg: 21:00 + // +kubebuilder:validation:Required + StartTime *string `json:"startTime" tf:"start_time,omitempty"` +} + +type InstanceSchedulePolicyObservation struct { +} + +type InstanceSchedulePolicyParameters struct { + + // The expiration time of the schedule. The timestamp is an RFC3339 string. + // +kubebuilder:validation:Optional + ExpirationTime *string `json:"expirationTime,omitempty" tf:"expiration_time,omitempty"` + + // The start time of the schedule. The timestamp is an RFC3339 string. + // +kubebuilder:validation:Optional + StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"` + + // Specifies the time zone to be used in interpreting the schedule. The value of this field must be a time zone name + // from the tz database: http://en.wikipedia.org/wiki/Tz_database. + // +kubebuilder:validation:Required + TimeZone *string `json:"timeZone" tf:"time_zone,omitempty"` + + // Specifies the schedule for starting instances. + // +kubebuilder:validation:Optional + VMStartSchedule []VMStartScheduleParameters `json:"vmStartSchedule,omitempty" tf:"vm_start_schedule,omitempty"` + + // Specifies the schedule for stopping instances. + // +kubebuilder:validation:Optional + VMStopSchedule []VMStopScheduleParameters `json:"vmStopSchedule,omitempty" tf:"vm_stop_schedule,omitempty"` +} + +type ResourcePolicyObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type ResourcePolicyParameters struct { + + // An optional description of this resource. Provide this property when you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Resource policy for instances used for placement configuration. + // +kubebuilder:validation:Optional + GroupPlacementPolicy []GroupPlacementPolicyParameters `json:"groupPlacementPolicy,omitempty" tf:"group_placement_policy,omitempty"` + + // Resource policy for scheduling instance operations. + // +kubebuilder:validation:Optional + InstanceSchedulePolicy []InstanceSchedulePolicyParameters `json:"instanceSchedulePolicy,omitempty" tf:"instance_schedule_policy,omitempty"` + + // The name of the resource, provided by the client when initially creating + // the resource. The resource name must be 1-63 characters long, and comply + // with RFC1035. Specifically, the name must be 1-63 characters long and + // match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])'? which means the + // first character must be a lowercase letter, and all following characters + // must be a dash, lowercase letter, or digit, except the last character, + // which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Region where resource policy resides. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // Policy for creating snapshots of persistent disks. + // +kubebuilder:validation:Optional + SnapshotSchedulePolicy []SnapshotSchedulePolicyParameters `json:"snapshotSchedulePolicy,omitempty" tf:"snapshot_schedule_policy,omitempty"` +} + +type RetentionPolicyObservation struct { +} + +type RetentionPolicyParameters struct { + + // Maximum age of the snapshot that is allowed to be kept. + // +kubebuilder:validation:Required + MaxRetentionDays *int64 `json:"maxRetentionDays" tf:"max_retention_days,omitempty"` + + // Specifies the behavior to apply to scheduled snapshots when + // the source disk is deleted. Default value: "KEEP_AUTO_SNAPSHOTS" Possible values: ["KEEP_AUTO_SNAPSHOTS", "APPLY_RETENTION_POLICY"] + // +kubebuilder:validation:Optional + OnSourceDiskDelete *string `json:"onSourceDiskDelete,omitempty" tf:"on_source_disk_delete,omitempty"` +} + +type ScheduleObservation struct { +} + +type ScheduleParameters struct { + + // The policy will execute every nth day at the specified time. + // +kubebuilder:validation:Optional + DailySchedule []DailyScheduleParameters `json:"dailySchedule,omitempty" tf:"daily_schedule,omitempty"` + + // The policy will execute every nth hour starting at the specified time. + // +kubebuilder:validation:Optional + HourlySchedule []HourlyScheduleParameters `json:"hourlySchedule,omitempty" tf:"hourly_schedule,omitempty"` + + // Allows specifying a snapshot time for each day of the week. + // +kubebuilder:validation:Optional + WeeklySchedule []WeeklyScheduleParameters `json:"weeklySchedule,omitempty" tf:"weekly_schedule,omitempty"` +} + +type SnapshotPropertiesObservation struct { +} + +type SnapshotPropertiesParameters struct { + + // Whether to perform a 'guest aware' snapshot. + // +kubebuilder:validation:Optional + GuestFlush *bool `json:"guestFlush,omitempty" tf:"guest_flush,omitempty"` + + // A set of key-value pairs. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Cloud Storage bucket location to store the auto snapshot + // (regional or multi-regional) + // +kubebuilder:validation:Optional + StorageLocations []*string `json:"storageLocations,omitempty" tf:"storage_locations,omitempty"` +} + +type SnapshotSchedulePolicyObservation struct { +} + +type SnapshotSchedulePolicyParameters struct { + + // Retention policy applied to snapshots created by this resource policy. + // +kubebuilder:validation:Optional + RetentionPolicy []RetentionPolicyParameters `json:"retentionPolicy,omitempty" tf:"retention_policy,omitempty"` + + // Contains one of an 'hourlySchedule', 'dailySchedule', or 'weeklySchedule'. + // +kubebuilder:validation:Required + Schedule []ScheduleParameters `json:"schedule" tf:"schedule,omitempty"` + + // Properties with which the snapshots are created, such as labels. + // +kubebuilder:validation:Optional + SnapshotProperties []SnapshotPropertiesParameters `json:"snapshotProperties,omitempty" tf:"snapshot_properties,omitempty"` +} + +type VMStartScheduleObservation struct { +} + +type VMStartScheduleParameters struct { + + // Specifies the frequency for the operation, using the unix-cron format. + // +kubebuilder:validation:Required + Schedule *string `json:"schedule" tf:"schedule,omitempty"` +} + +type VMStopScheduleObservation struct { +} + +type VMStopScheduleParameters struct { + + // Specifies the frequency for the operation, using the unix-cron format. + // +kubebuilder:validation:Required + Schedule *string `json:"schedule" tf:"schedule,omitempty"` +} + +type WeeklyScheduleObservation struct { +} + +type WeeklyScheduleParameters struct { + + // May contain up to seven (one for each day of the week) snapshot times. + // +kubebuilder:validation:Required + DayOfWeeks []DayOfWeeksParameters `json:"dayOfWeeks" tf:"day_of_weeks,omitempty"` +} + +// ResourcePolicySpec defines the desired state of ResourcePolicy +type ResourcePolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ResourcePolicyParameters `json:"forProvider"` +} + +// ResourcePolicyStatus defines the observed state of ResourcePolicy. +type ResourcePolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ResourcePolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ResourcePolicy is the Schema for the ResourcePolicys 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,gcpjet} +type ResourcePolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ResourcePolicySpec `json:"spec"` + Status ResourcePolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ResourcePolicyList contains a list of ResourcePolicys +type ResourcePolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ResourcePolicy `json:"items"` +} + +// Repository type metadata. +var ( + ResourcePolicy_Kind = "ResourcePolicy" + ResourcePolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ResourcePolicy_Kind}.String() + ResourcePolicy_KindAPIVersion = ResourcePolicy_Kind + "." + CRDGroupVersion.String() + ResourcePolicy_GroupVersionKind = CRDGroupVersion.WithKind(ResourcePolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&ResourcePolicy{}, &ResourcePolicyList{}) +} diff --git a/apis/compute/v1alpha1/zz_route_terraformed.go b/apis/compute/v1alpha1/zz_route_terraformed.go new file mode 100755 index 00000000..148c2165 --- /dev/null +++ b/apis/compute/v1alpha1/zz_route_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Route +func (mg *Route) GetTerraformResourceType() string { + return "google_compute_route" +} + +// GetConnectionDetailsMapping for this Route +func (tr *Route) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Route +func (tr *Route) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Route +func (tr *Route) SetObservation(obs map[string]interface{}) 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 Route +func (tr *Route) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Route +func (tr *Route) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Route +func (tr *Route) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Route using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Route) LateInitialize(attrs []byte) (bool, error) { + params := &RouteParameters{} + 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 *Route) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_route_types.go b/apis/compute/v1alpha1/zz_route_types.go new file mode 100755 index 00000000..1e7402b6 --- /dev/null +++ b/apis/compute/v1alpha1/zz_route_types.go @@ -0,0 +1,177 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RouteObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + NextHopNetwork *string `json:"nextHopNetwork,omitempty" tf:"next_hop_network,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type RouteParameters struct { + + // An optional description of this resource. Provide this property + // when you create the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The destination range of outgoing packets that this route applies to. + // Only IPv4 is supported. + // +kubebuilder:validation:Required + DestRange *string `json:"destRange" tf:"dest_range,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and + // match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means + // the first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the + // last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The network that this route applies to. + // +kubebuilder:validation:Required + Network *string `json:"network" tf:"network,omitempty"` + + // URL to a gateway that should handle matching packets. + // Currently, you can only specify the internet gateway, using a full or + // partial valid URL: + // * 'https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway' + // * 'projects/project/global/gateways/default-internet-gateway' + // * 'global/gateways/default-internet-gateway' + // * The string 'default-internet-gateway'. + // +kubebuilder:validation:Optional + NextHopGateway *string `json:"nextHopGateway,omitempty" tf:"next_hop_gateway,omitempty"` + + // Network IP address of an instance that should handle matching packets. + // +kubebuilder:validation:Optional + NextHopIP *string `json:"nextHopIp,omitempty" tf:"next_hop_ip,omitempty"` + + // The IP address or URL to a forwarding rule of type + // loadBalancingScheme=INTERNAL that should handle matching + // packets. + // + // With the GA provider you can only specify the forwarding + // rule as a partial or full URL. For example, the following + // are all valid values: + // * 10.128.0.56 + // * https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule + // * regions/region/forwardingRules/forwardingRule + // + // When the beta provider, you can also specify the IP address + // of a forwarding rule from the same VPC or any peered VPC. + // + // Note that this can only be used when the destinationRange is + // a public (non-RFC 1918) IP CIDR range. + // +kubebuilder:validation:Optional + NextHopIlb *string `json:"nextHopIlb,omitempty" tf:"next_hop_ilb,omitempty"` + + // URL to an instance that should handle matching packets. + // You can specify this as a full or partial URL. For example: + // * 'https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance' + // * 'projects/project/zones/zone/instances/instance' + // * 'zones/zone/instances/instance' + // * Just the instance name, with the zone in 'next_hop_instance_zone'. + // +kubebuilder:validation:Optional + NextHopInstance *string `json:"nextHopInstance,omitempty" tf:"next_hop_instance,omitempty"` + + // The zone of the instance specified in next_hop_instance. Omit if next_hop_instance is specified as a URL. + // +kubebuilder:validation:Optional + NextHopInstanceZone *string `json:"nextHopInstanceZone,omitempty" tf:"next_hop_instance_zone,omitempty"` + + // URL to a VpnTunnel that should handle matching packets. + // +kubebuilder:validation:Optional + NextHopVPNTunnel *string `json:"nextHopVpnTunnel,omitempty" tf:"next_hop_vpn_tunnel,omitempty"` + + // The priority of this route. Priority is used to break ties in cases + // where there is more than one matching route of equal prefix length. + // + // In the case of two routes with equal prefix length, the one with the + // lowest-numbered priority value wins. + // + // Default value is 1000. Valid range is 0 through 65535. + // +kubebuilder:validation:Optional + Priority *int64 `json:"priority,omitempty" tf:"priority,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // A list of instance tags to which this route applies. + // +kubebuilder:validation:Optional + Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` +} + +// RouteSpec defines the desired state of Route +type RouteSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RouteParameters `json:"forProvider"` +} + +// RouteStatus defines the observed state of Route. +type RouteStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RouteObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Route is the Schema for the Routes 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,gcpjet} +type Route struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RouteSpec `json:"spec"` + Status RouteStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RouteList contains a list of Routes +type RouteList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Route `json:"items"` +} + +// Repository type metadata. +var ( + Route_Kind = "Route" + Route_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Route_Kind}.String() + Route_KindAPIVersion = Route_Kind + "." + CRDGroupVersion.String() + Route_GroupVersionKind = CRDGroupVersion.WithKind(Route_Kind) +) + +func init() { + SchemeBuilder.Register(&Route{}, &RouteList{}) +} diff --git a/apis/compute/v1alpha1/zz_routerinterface_terraformed.go b/apis/compute/v1alpha1/zz_routerinterface_terraformed.go new file mode 100755 index 00000000..7c5be210 --- /dev/null +++ b/apis/compute/v1alpha1/zz_routerinterface_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RouterInterface +func (mg *RouterInterface) GetTerraformResourceType() string { + return "google_compute_router_interface" +} + +// GetConnectionDetailsMapping for this RouterInterface +func (tr *RouterInterface) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RouterInterface +func (tr *RouterInterface) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RouterInterface +func (tr *RouterInterface) SetObservation(obs map[string]interface{}) 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 RouterInterface +func (tr *RouterInterface) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RouterInterface +func (tr *RouterInterface) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RouterInterface +func (tr *RouterInterface) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RouterInterface using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RouterInterface) LateInitialize(attrs []byte) (bool, error) { + params := &RouterInterfaceParameters{} + 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 *RouterInterface) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_routerinterface_types.go b/apis/compute/v1alpha1/zz_routerinterface_types.go new file mode 100755 index 00000000..050bb8a2 --- /dev/null +++ b/apis/compute/v1alpha1/zz_routerinterface_types.go @@ -0,0 +1,110 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RouterInterfaceObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type RouterInterfaceParameters struct { + + // IP address and range of the interface. The IP range must be in the RFC3927 link-local IP space. Changing this forces a new interface to be created. + // +kubebuilder:validation:Optional + IPRange *string `json:"ipRange,omitempty" tf:"ip_range,omitempty"` + + // The name or resource link to the VLAN interconnect for this interface. Changing this forces a new interface to be created. Only one of vpn_tunnel and interconnect_attachment can be specified. + // +kubebuilder:validation:Optional + InterconnectAttachment *string `json:"interconnectAttachment,omitempty" tf:"interconnect_attachment,omitempty"` + + // A unique name for the interface, required by GCE. Changing this forces a new interface to be created. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The ID of the project in which this interface's router belongs. If it is not provided, the provider project is used. Changing this forces a new interface to be created. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The region this interface's router sits in. If not specified, the project region will be used. Changing this forces a new interface to be created. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // The name of the router this interface will be attached to. Changing this forces a new interface to be created. + // +kubebuilder:validation:Required + Router *string `json:"router" tf:"router,omitempty"` + + // The name or resource link to the VPN tunnel this interface will be linked to. Changing this forces a new interface to be created. Only one of vpn_tunnel and interconnect_attachment can be specified. + // +kubebuilder:validation:Optional + VPNTunnel *string `json:"vpnTunnel,omitempty" tf:"vpn_tunnel,omitempty"` +} + +// RouterInterfaceSpec defines the desired state of RouterInterface +type RouterInterfaceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RouterInterfaceParameters `json:"forProvider"` +} + +// RouterInterfaceStatus defines the observed state of RouterInterface. +type RouterInterfaceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RouterInterfaceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RouterInterface is the Schema for the RouterInterfaces 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,gcpjet} +type RouterInterface struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RouterInterfaceSpec `json:"spec"` + Status RouterInterfaceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RouterInterfaceList contains a list of RouterInterfaces +type RouterInterfaceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RouterInterface `json:"items"` +} + +// Repository type metadata. +var ( + RouterInterface_Kind = "RouterInterface" + RouterInterface_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RouterInterface_Kind}.String() + RouterInterface_KindAPIVersion = RouterInterface_Kind + "." + CRDGroupVersion.String() + RouterInterface_GroupVersionKind = CRDGroupVersion.WithKind(RouterInterface_Kind) +) + +func init() { + SchemeBuilder.Register(&RouterInterface{}, &RouterInterfaceList{}) +} diff --git a/apis/compute/v1alpha1/zz_routerpeer_terraformed.go b/apis/compute/v1alpha1/zz_routerpeer_terraformed.go new file mode 100755 index 00000000..2f26b557 --- /dev/null +++ b/apis/compute/v1alpha1/zz_routerpeer_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RouterPeer +func (mg *RouterPeer) GetTerraformResourceType() string { + return "google_compute_router_peer" +} + +// GetConnectionDetailsMapping for this RouterPeer +func (tr *RouterPeer) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RouterPeer +func (tr *RouterPeer) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RouterPeer +func (tr *RouterPeer) SetObservation(obs map[string]interface{}) 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 RouterPeer +func (tr *RouterPeer) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RouterPeer +func (tr *RouterPeer) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RouterPeer +func (tr *RouterPeer) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RouterPeer using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RouterPeer) LateInitialize(attrs []byte) (bool, error) { + params := &RouterPeerParameters{} + 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 *RouterPeer) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_routerpeer_types.go b/apis/compute/v1alpha1/zz_routerpeer_types.go new file mode 100755 index 00000000..7f27c554 --- /dev/null +++ b/apis/compute/v1alpha1/zz_routerpeer_types.go @@ -0,0 +1,180 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AdvertisedIPRangesObservation struct { +} + +type AdvertisedIPRangesParameters struct { + + // User-specified description for the IP range. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The IP range to advertise. The value must be a + // CIDR-formatted string. + // +kubebuilder:validation:Required + Range *string `json:"range" tf:"range,omitempty"` +} + +type RouterPeerObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + ManagementType *string `json:"managementType,omitempty" tf:"management_type,omitempty"` +} + +type RouterPeerParameters struct { + + // User-specified flag to indicate which mode to use for advertisement. + // Valid values of this enum field are: 'DEFAULT', 'CUSTOM' Default value: "DEFAULT" Possible values: ["DEFAULT", "CUSTOM"] + // +kubebuilder:validation:Optional + AdvertiseMode *string `json:"advertiseMode,omitempty" tf:"advertise_mode,omitempty"` + + // User-specified list of prefix groups to advertise in custom + // mode, which can take one of the following options: + // + // * 'ALL_SUBNETS': Advertises all available subnets, including peer VPC subnets. + // * 'ALL_VPC_SUBNETS': Advertises the router's own VPC subnets. + // * 'ALL_PEER_VPC_SUBNETS': Advertises peer subnets of the router's VPC network. + // + // + // Note that this field can only be populated if advertiseMode is 'CUSTOM' + // and overrides the list defined for the router (in the "bgp" message). + // These groups are advertised in addition to any specified prefixes. + // Leave this field blank to advertise no custom groups. + // +kubebuilder:validation:Optional + AdvertisedGroups []*string `json:"advertisedGroups,omitempty" tf:"advertised_groups,omitempty"` + + // User-specified list of individual IP ranges to advertise in + // custom mode. This field can only be populated if advertiseMode + // is 'CUSTOM' and is advertised to all peers of the router. These IP + // ranges will be advertised in addition to any specified groups. + // Leave this field blank to advertise no custom IP ranges. + // +kubebuilder:validation:Optional + AdvertisedIPRanges []AdvertisedIPRangesParameters `json:"advertisedIpRanges,omitempty" tf:"advertised_ip_ranges,omitempty"` + + // The priority of routes advertised to this BGP peer. + // Where there is more than one matching route of maximum + // length, the routes with the lowest priority value win. + // +kubebuilder:validation:Optional + AdvertisedRoutePriority *int64 `json:"advertisedRoutePriority,omitempty" tf:"advertised_route_priority,omitempty"` + + // The status of the BGP peer connection. If set to false, any active session + // with the peer is terminated and all associated routing information is removed. + // If set to true, the peer connection can be established with routing information. + // The default is true. + // +kubebuilder:validation:Optional + Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"` + + // IP address of the interface inside Google Cloud Platform. + // Only IPv4 is supported. + // +kubebuilder:validation:Optional + IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + + // Name of the interface the BGP peer is associated with. + // +kubebuilder:validation:Required + Interface *string `json:"interface" tf:"interface,omitempty"` + + // Name of this BGP peer. The name must be 1-63 characters long, + // and comply with RFC1035. Specifically, the name must be 1-63 characters + // long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which + // means the first character must be a lowercase letter, and all + // following characters must be a dash, lowercase letter, or digit, + // except the last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Peer BGP Autonomous System Number (ASN). + // Each BGP interface may use a different value. + // +kubebuilder:validation:Required + PeerAsn *int64 `json:"peerAsn" tf:"peer_asn,omitempty"` + + // IP address of the BGP interface outside Google Cloud Platform. + // Only IPv4 is supported. + // +kubebuilder:validation:Required + PeerIPAddress *string `json:"peerIpAddress" tf:"peer_ip_address,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Region where the router and BgpPeer reside. + // If it is not provided, the provider region is used. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // The name of the Cloud Router in which this BgpPeer will be configured. + // +kubebuilder:validation:Required + Router *string `json:"router" tf:"router,omitempty"` +} + +// RouterPeerSpec defines the desired state of RouterPeer +type RouterPeerSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RouterPeerParameters `json:"forProvider"` +} + +// RouterPeerStatus defines the observed state of RouterPeer. +type RouterPeerStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RouterPeerObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RouterPeer is the Schema for the RouterPeers 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,gcpjet} +type RouterPeer struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RouterPeerSpec `json:"spec"` + Status RouterPeerStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RouterPeerList contains a list of RouterPeers +type RouterPeerList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RouterPeer `json:"items"` +} + +// Repository type metadata. +var ( + RouterPeer_Kind = "RouterPeer" + RouterPeer_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RouterPeer_Kind}.String() + RouterPeer_KindAPIVersion = RouterPeer_Kind + "." + CRDGroupVersion.String() + RouterPeer_GroupVersionKind = CRDGroupVersion.WithKind(RouterPeer_Kind) +) + +func init() { + SchemeBuilder.Register(&RouterPeer{}, &RouterPeerList{}) +} diff --git a/apis/compute/v1alpha1/zz_securitypolicy_terraformed.go b/apis/compute/v1alpha1/zz_securitypolicy_terraformed.go new file mode 100755 index 00000000..1d52f0ff --- /dev/null +++ b/apis/compute/v1alpha1/zz_securitypolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SecurityPolicy +func (mg *SecurityPolicy) GetTerraformResourceType() string { + return "google_compute_security_policy" +} + +// GetConnectionDetailsMapping for this SecurityPolicy +func (tr *SecurityPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SecurityPolicy +func (tr *SecurityPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SecurityPolicy +func (tr *SecurityPolicy) SetObservation(obs map[string]interface{}) 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 SecurityPolicy +func (tr *SecurityPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SecurityPolicy +func (tr *SecurityPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SecurityPolicy +func (tr *SecurityPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SecurityPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SecurityPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &SecurityPolicyParameters{} + 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 *SecurityPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_securitypolicy_types.go b/apis/compute/v1alpha1/zz_securitypolicy_types.go new file mode 100755 index 00000000..42f995f0 --- /dev/null +++ b/apis/compute/v1alpha1/zz_securitypolicy_types.go @@ -0,0 +1,166 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConfigObservation struct { +} + +type ConfigParameters struct { + + // Set of IP addresses or ranges (IPV4 or IPV6) in CIDR notation to match against inbound traffic. There is a limit of 10 IP ranges per rule. A value of '*' matches all IPs (can be used to override the default behavior). + // +kubebuilder:validation:Required + SrcIPRanges []*string `json:"srcIpRanges" tf:"src_ip_ranges,omitempty"` +} + +type ExprObservation struct { +} + +type ExprParameters struct { + + // Textual representation of an expression in Common Expression Language syntax. The application context of the containing message determines which well-known feature set of CEL is supported. + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` +} + +type RuleMatchObservation struct { +} + +type RuleMatchParameters struct { + + // The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified. + // +kubebuilder:validation:Optional + Config []ConfigParameters `json:"config,omitempty" tf:"config,omitempty"` + + // User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. + // +kubebuilder:validation:Optional + Expr []ExprParameters `json:"expr,omitempty" tf:"expr,omitempty"` + + // Predefined rule expression. If this field is specified, config must also be specified. Available options: SRC_IPS_V1: Must specify the corresponding src_ip_ranges field in config. + // +kubebuilder:validation:Optional + VersionedExpr *string `json:"versionedExpr,omitempty" tf:"versioned_expr,omitempty"` +} + +type RuleObservation struct { +} + +type RuleParameters struct { + + // Action to take when match matches the request. Valid values: "allow" : allow access to target, "deny(status)" : deny access to target, returns the HTTP response code specified (valid values are 403, 404 and 502) + // +kubebuilder:validation:Required + Action *string `json:"action" tf:"action,omitempty"` + + // An optional description of this rule. Max size is 64. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding action is enforced. + // +kubebuilder:validation:Required + Match []RuleMatchParameters `json:"match" tf:"match,omitempty"` + + // When set to true, the action specified above is not enforced. Stackdriver logs for requests that trigger a preview action are annotated as such. + // +kubebuilder:validation:Optional + Preview *bool `json:"preview,omitempty" tf:"preview,omitempty"` + + // An unique positive integer indicating the priority of evaluation for a rule. Rules are evaluated from highest priority (lowest numerically) to lowest priority (highest numerically) in order. + // +kubebuilder:validation:Required + Priority *int64 `json:"priority" tf:"priority,omitempty"` +} + +type SecurityPolicyObservation struct { + Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type SecurityPolicyParameters struct { + + // An optional description of this security policy. Max size is 2048. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The name of the security policy. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The set of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match "*"). If no rules are provided when creating a security policy, a default rule with action "allow" will be added. + // +kubebuilder:validation:Optional + Rule []RuleParameters `json:"rule,omitempty" tf:"rule,omitempty"` +} + +// SecurityPolicySpec defines the desired state of SecurityPolicy +type SecurityPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SecurityPolicyParameters `json:"forProvider"` +} + +// SecurityPolicyStatus defines the observed state of SecurityPolicy. +type SecurityPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SecurityPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecurityPolicy is the Schema for the SecurityPolicys 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,gcpjet} +type SecurityPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SecurityPolicySpec `json:"spec"` + Status SecurityPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecurityPolicyList contains a list of SecurityPolicys +type SecurityPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SecurityPolicy `json:"items"` +} + +// Repository type metadata. +var ( + SecurityPolicy_Kind = "SecurityPolicy" + SecurityPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SecurityPolicy_Kind}.String() + SecurityPolicy_KindAPIVersion = SecurityPolicy_Kind + "." + CRDGroupVersion.String() + SecurityPolicy_GroupVersionKind = CRDGroupVersion.WithKind(SecurityPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&SecurityPolicy{}, &SecurityPolicyList{}) +} diff --git a/apis/compute/v1alpha1/zz_serviceattachment_terraformed.go b/apis/compute/v1alpha1/zz_serviceattachment_terraformed.go new file mode 100755 index 00000000..e616646d --- /dev/null +++ b/apis/compute/v1alpha1/zz_serviceattachment_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServiceAttachment +func (mg *ServiceAttachment) GetTerraformResourceType() string { + return "google_compute_service_attachment" +} + +// GetConnectionDetailsMapping for this ServiceAttachment +func (tr *ServiceAttachment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServiceAttachment +func (tr *ServiceAttachment) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServiceAttachment +func (tr *ServiceAttachment) SetObservation(obs map[string]interface{}) 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 ServiceAttachment +func (tr *ServiceAttachment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServiceAttachment +func (tr *ServiceAttachment) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServiceAttachment +func (tr *ServiceAttachment) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServiceAttachment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServiceAttachment) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceAttachmentParameters{} + 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 *ServiceAttachment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_serviceattachment_types.go b/apis/compute/v1alpha1/zz_serviceattachment_types.go new file mode 100755 index 00000000..2411a594 --- /dev/null +++ b/apis/compute/v1alpha1/zz_serviceattachment_types.go @@ -0,0 +1,162 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConnectedEndpointsObservation struct { + Endpoint *string `json:"endpoint,omitempty" tf:"endpoint,omitempty"` + + Status *string `json:"status,omitempty" tf:"status,omitempty"` +} + +type ConnectedEndpointsParameters struct { +} + +type ConsumerAcceptListsObservation struct { +} + +type ConsumerAcceptListsParameters struct { + + // The number of consumer forwarding rules the consumer project can + // create. + // +kubebuilder:validation:Required + ConnectionLimit *int64 `json:"connectionLimit" tf:"connection_limit,omitempty"` + + // A project that is allowed to connect to this service attachment. + // +kubebuilder:validation:Required + ProjectIDOrNum *string `json:"projectIdOrNum" tf:"project_id_or_num,omitempty"` +} + +type ServiceAttachmentObservation struct { + ConnectedEndpoints []ConnectedEndpointsObservation `json:"connectedEndpoints,omitempty" tf:"connected_endpoints,omitempty"` + + Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type ServiceAttachmentParameters struct { + + // The connection preference to use for this service attachment. Valid + // values include "ACCEPT_AUTOMATIC", "ACCEPT_MANUAL". + // +kubebuilder:validation:Required + ConnectionPreference *string `json:"connectionPreference" tf:"connection_preference,omitempty"` + + // An array of projects that are allowed to connect to this service + // attachment. + // +kubebuilder:validation:Optional + ConsumerAcceptLists []ConsumerAcceptListsParameters `json:"consumerAcceptLists,omitempty" tf:"consumer_accept_lists,omitempty"` + + // An array of projects that are not allowed to connect to this service + // attachment. + // +kubebuilder:validation:Optional + ConsumerRejectLists []*string `json:"consumerRejectLists,omitempty" tf:"consumer_reject_lists,omitempty"` + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // If true, enable the proxy protocol which is for supplying client TCP/IP + // address data in TCP connections that traverse proxies on their way to + // destination servers. + // +kubebuilder:validation:Required + EnableProxyProtocol *bool `json:"enableProxyProtocol" tf:"enable_proxy_protocol,omitempty"` + + // An array of subnets that is provided for NAT in this service attachment. + // +kubebuilder:validation:Required + NATSubnets []*string `json:"natSubnets" tf:"nat_subnets,omitempty"` + + // Name of the resource. The name must be 1-63 characters long, and + // comply with RFC1035. Specifically, the name must be 1-63 characters + // long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + // which means the first character must be a lowercase letter, and all + // following characters must be a dash, lowercase letter, or digit, + // except the last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // URL of the region where the resource resides. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // The URL of a forwarding rule that represents the service identified by + // this service attachment. + // +kubebuilder:validation:Required + TargetService *string `json:"targetService" tf:"target_service,omitempty"` +} + +// ServiceAttachmentSpec defines the desired state of ServiceAttachment +type ServiceAttachmentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceAttachmentParameters `json:"forProvider"` +} + +// ServiceAttachmentStatus defines the observed state of ServiceAttachment. +type ServiceAttachmentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceAttachmentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceAttachment is the Schema for the ServiceAttachments 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,gcpjet} +type ServiceAttachment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceAttachmentSpec `json:"spec"` + Status ServiceAttachmentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceAttachmentList contains a list of ServiceAttachments +type ServiceAttachmentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServiceAttachment `json:"items"` +} + +// Repository type metadata. +var ( + ServiceAttachment_Kind = "ServiceAttachment" + ServiceAttachment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceAttachment_Kind}.String() + ServiceAttachment_KindAPIVersion = ServiceAttachment_Kind + "." + CRDGroupVersion.String() + ServiceAttachment_GroupVersionKind = CRDGroupVersion.WithKind(ServiceAttachment_Kind) +) + +func init() { + SchemeBuilder.Register(&ServiceAttachment{}, &ServiceAttachmentList{}) +} diff --git a/apis/compute/v1alpha1/zz_sharedvpchostproject_terraformed.go b/apis/compute/v1alpha1/zz_sharedvpchostproject_terraformed.go new file mode 100755 index 00000000..3ce9d58c --- /dev/null +++ b/apis/compute/v1alpha1/zz_sharedvpchostproject_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SharedVPCHostProject +func (mg *SharedVPCHostProject) GetTerraformResourceType() string { + return "google_compute_shared_vpc_host_project" +} + +// GetConnectionDetailsMapping for this SharedVPCHostProject +func (tr *SharedVPCHostProject) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SharedVPCHostProject +func (tr *SharedVPCHostProject) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SharedVPCHostProject +func (tr *SharedVPCHostProject) SetObservation(obs map[string]interface{}) 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 SharedVPCHostProject +func (tr *SharedVPCHostProject) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SharedVPCHostProject +func (tr *SharedVPCHostProject) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SharedVPCHostProject +func (tr *SharedVPCHostProject) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SharedVPCHostProject using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SharedVPCHostProject) LateInitialize(attrs []byte) (bool, error) { + params := &SharedVPCHostProjectParameters{} + 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 *SharedVPCHostProject) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_sharedvpchostproject_types.go b/apis/compute/v1alpha1/zz_sharedvpchostproject_types.go new file mode 100755 index 00000000..dae3f567 --- /dev/null +++ b/apis/compute/v1alpha1/zz_sharedvpchostproject_types.go @@ -0,0 +1,86 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SharedVPCHostProjectObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SharedVPCHostProjectParameters struct { + + // The ID of the project that will serve as a Shared VPC host project + // +kubebuilder:validation:Required + Project *string `json:"project" tf:"project,omitempty"` +} + +// SharedVPCHostProjectSpec defines the desired state of SharedVPCHostProject +type SharedVPCHostProjectSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SharedVPCHostProjectParameters `json:"forProvider"` +} + +// SharedVPCHostProjectStatus defines the observed state of SharedVPCHostProject. +type SharedVPCHostProjectStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SharedVPCHostProjectObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SharedVPCHostProject is the Schema for the SharedVPCHostProjects 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,gcpjet} +type SharedVPCHostProject struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SharedVPCHostProjectSpec `json:"spec"` + Status SharedVPCHostProjectStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SharedVPCHostProjectList contains a list of SharedVPCHostProjects +type SharedVPCHostProjectList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SharedVPCHostProject `json:"items"` +} + +// Repository type metadata. +var ( + SharedVPCHostProject_Kind = "SharedVPCHostProject" + SharedVPCHostProject_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SharedVPCHostProject_Kind}.String() + SharedVPCHostProject_KindAPIVersion = SharedVPCHostProject_Kind + "." + CRDGroupVersion.String() + SharedVPCHostProject_GroupVersionKind = CRDGroupVersion.WithKind(SharedVPCHostProject_Kind) +) + +func init() { + SchemeBuilder.Register(&SharedVPCHostProject{}, &SharedVPCHostProjectList{}) +} diff --git a/apis/compute/v1alpha1/zz_sharedvpcserviceproject_terraformed.go b/apis/compute/v1alpha1/zz_sharedvpcserviceproject_terraformed.go new file mode 100755 index 00000000..e1caed15 --- /dev/null +++ b/apis/compute/v1alpha1/zz_sharedvpcserviceproject_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SharedVPCServiceProject +func (mg *SharedVPCServiceProject) GetTerraformResourceType() string { + return "google_compute_shared_vpc_service_project" +} + +// GetConnectionDetailsMapping for this SharedVPCServiceProject +func (tr *SharedVPCServiceProject) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SharedVPCServiceProject +func (tr *SharedVPCServiceProject) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SharedVPCServiceProject +func (tr *SharedVPCServiceProject) SetObservation(obs map[string]interface{}) 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 SharedVPCServiceProject +func (tr *SharedVPCServiceProject) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SharedVPCServiceProject +func (tr *SharedVPCServiceProject) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SharedVPCServiceProject +func (tr *SharedVPCServiceProject) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SharedVPCServiceProject using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SharedVPCServiceProject) LateInitialize(attrs []byte) (bool, error) { + params := &SharedVPCServiceProjectParameters{} + 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 *SharedVPCServiceProject) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_sharedvpcserviceproject_types.go b/apis/compute/v1alpha1/zz_sharedvpcserviceproject_types.go new file mode 100755 index 00000000..c3919377 --- /dev/null +++ b/apis/compute/v1alpha1/zz_sharedvpcserviceproject_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SharedVPCServiceProjectObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SharedVPCServiceProjectParameters struct { + + // The ID of a host project to associate. + // +kubebuilder:validation:Required + HostProject *string `json:"hostProject" tf:"host_project,omitempty"` + + // The ID of the project that will serve as a Shared VPC service project. + // +kubebuilder:validation:Required + ServiceProject *string `json:"serviceProject" tf:"service_project,omitempty"` +} + +// SharedVPCServiceProjectSpec defines the desired state of SharedVPCServiceProject +type SharedVPCServiceProjectSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SharedVPCServiceProjectParameters `json:"forProvider"` +} + +// SharedVPCServiceProjectStatus defines the observed state of SharedVPCServiceProject. +type SharedVPCServiceProjectStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SharedVPCServiceProjectObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SharedVPCServiceProject is the Schema for the SharedVPCServiceProjects 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,gcpjet} +type SharedVPCServiceProject struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SharedVPCServiceProjectSpec `json:"spec"` + Status SharedVPCServiceProjectStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SharedVPCServiceProjectList contains a list of SharedVPCServiceProjects +type SharedVPCServiceProjectList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SharedVPCServiceProject `json:"items"` +} + +// Repository type metadata. +var ( + SharedVPCServiceProject_Kind = "SharedVPCServiceProject" + SharedVPCServiceProject_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SharedVPCServiceProject_Kind}.String() + SharedVPCServiceProject_KindAPIVersion = SharedVPCServiceProject_Kind + "." + CRDGroupVersion.String() + SharedVPCServiceProject_GroupVersionKind = CRDGroupVersion.WithKind(SharedVPCServiceProject_Kind) +) + +func init() { + SchemeBuilder.Register(&SharedVPCServiceProject{}, &SharedVPCServiceProjectList{}) +} diff --git a/apis/compute/v1alpha1/zz_snapshot_terraformed.go b/apis/compute/v1alpha1/zz_snapshot_terraformed.go new file mode 100755 index 00000000..6b091427 --- /dev/null +++ b/apis/compute/v1alpha1/zz_snapshot_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Snapshot +func (mg *Snapshot) GetTerraformResourceType() string { + return "google_compute_snapshot" +} + +// GetConnectionDetailsMapping for this Snapshot +func (tr *Snapshot) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"snapshot_encryption_key[*].raw_key": "spec.forProvider.snapshotEncryptionKey[*].rawKeySecretRef", "source_disk_encryption_key[*].raw_key": "spec.forProvider.sourceDiskEncryptionKey[*].rawKeySecretRef"} +} + +// GetObservation of this Snapshot +func (tr *Snapshot) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Snapshot +func (tr *Snapshot) SetObservation(obs map[string]interface{}) 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 Snapshot +func (tr *Snapshot) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Snapshot +func (tr *Snapshot) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Snapshot +func (tr *Snapshot) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Snapshot using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Snapshot) LateInitialize(attrs []byte) (bool, error) { + params := &SnapshotParameters{} + 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 *Snapshot) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_snapshot_types.go b/apis/compute/v1alpha1/zz_snapshot_types.go new file mode 100755 index 00000000..c3b067ba --- /dev/null +++ b/apis/compute/v1alpha1/zz_snapshot_types.go @@ -0,0 +1,177 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SnapshotEncryptionKeyObservation struct { + Sha256 *string `json:"sha256,omitempty" tf:"sha256,omitempty"` +} + +type SnapshotEncryptionKeyParameters struct { + + // The name of the encryption key that is stored in Google Cloud KMS. + // +kubebuilder:validation:Optional + KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"` + + // The service account used for the encryption request for the given KMS key. + // If absent, the Compute Engine Service Agent service account is used. + // +kubebuilder:validation:Optional + KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"` + + // Specifies a 256-bit customer-supplied encryption key, encoded in + // RFC 4648 base64 to either encrypt or decrypt this resource. + // +kubebuilder:validation:Optional + RawKeySecretRef *v1.SecretKeySelector `json:"rawKeySecretRef,omitempty" tf:"-"` +} + +type SnapshotObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + DiskSizeGb *int64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"` + + Licenses []*string `json:"licenses,omitempty" tf:"licenses,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + SnapshotID *int64 `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"` + + StorageBytes *int64 `json:"storageBytes,omitempty" tf:"storage_bytes,omitempty"` +} + +type SnapshotParameters struct { + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Labels to apply to this Snapshot. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Name of the resource; provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The customer-supplied encryption key of the snapshot. Required if the + // source snapshot is protected by a customer-supplied encryption key. + // +kubebuilder:validation:Optional + SnapshotEncryptionKey []SnapshotEncryptionKeyParameters `json:"snapshotEncryptionKey,omitempty" tf:"snapshot_encryption_key,omitempty"` + + // A reference to the disk used to create this snapshot. + // +kubebuilder:validation:Required + SourceDisk *string `json:"sourceDisk" tf:"source_disk,omitempty"` + + // The customer-supplied encryption key of the source snapshot. Required + // if the source snapshot is protected by a customer-supplied encryption + // key. + // +kubebuilder:validation:Optional + SourceDiskEncryptionKey []SourceDiskEncryptionKeyParameters `json:"sourceDiskEncryptionKey,omitempty" tf:"source_disk_encryption_key,omitempty"` + + // Cloud Storage bucket storage location of the snapshot (regional or multi-regional). + // +kubebuilder:validation:Optional + StorageLocations []*string `json:"storageLocations,omitempty" tf:"storage_locations,omitempty"` + + // A reference to the zone where the disk is hosted. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type SourceDiskEncryptionKeyObservation struct { +} + +type SourceDiskEncryptionKeyParameters struct { + + // The service account used for the encryption request for the given KMS key. + // If absent, the Compute Engine Service Agent service account is used. + // +kubebuilder:validation:Optional + KMSKeyServiceAccount *string `json:"kmsKeyServiceAccount,omitempty" tf:"kms_key_service_account,omitempty"` + + // Specifies a 256-bit customer-supplied encryption key, encoded in + // RFC 4648 base64 to either encrypt or decrypt this resource. + // +kubebuilder:validation:Optional + RawKeySecretRef *v1.SecretKeySelector `json:"rawKeySecretRef,omitempty" tf:"-"` +} + +// SnapshotSpec defines the desired state of Snapshot +type SnapshotSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SnapshotParameters `json:"forProvider"` +} + +// SnapshotStatus defines the observed state of Snapshot. +type SnapshotStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SnapshotObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Snapshot is the Schema for the Snapshots 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,gcpjet} +type Snapshot struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SnapshotSpec `json:"spec"` + Status SnapshotStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SnapshotList contains a list of Snapshots +type SnapshotList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Snapshot `json:"items"` +} + +// Repository type metadata. +var ( + Snapshot_Kind = "Snapshot" + Snapshot_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Snapshot_Kind}.String() + Snapshot_KindAPIVersion = Snapshot_Kind + "." + CRDGroupVersion.String() + Snapshot_GroupVersionKind = CRDGroupVersion.WithKind(Snapshot_Kind) +) + +func init() { + SchemeBuilder.Register(&Snapshot{}, &SnapshotList{}) +} diff --git a/apis/compute/v1alpha1/zz_sslcertificate_terraformed.go b/apis/compute/v1alpha1/zz_sslcertificate_terraformed.go new file mode 100755 index 00000000..a7322d79 --- /dev/null +++ b/apis/compute/v1alpha1/zz_sslcertificate_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SSLCertificate +func (mg *SSLCertificate) GetTerraformResourceType() string { + return "google_compute_ssl_certificate" +} + +// GetConnectionDetailsMapping for this SSLCertificate +func (tr *SSLCertificate) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"certificate": "spec.forProvider.certificateSecretRef", "private_key": "spec.forProvider.privateKeySecretRef"} +} + +// GetObservation of this SSLCertificate +func (tr *SSLCertificate) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SSLCertificate +func (tr *SSLCertificate) SetObservation(obs map[string]interface{}) 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 SSLCertificate +func (tr *SSLCertificate) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SSLCertificate +func (tr *SSLCertificate) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SSLCertificate +func (tr *SSLCertificate) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SSLCertificate using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SSLCertificate) LateInitialize(attrs []byte) (bool, error) { + params := &SSLCertificateParameters{} + 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 *SSLCertificate) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_sslcertificate_types.go b/apis/compute/v1alpha1/zz_sslcertificate_types.go new file mode 100755 index 00000000..6051af25 --- /dev/null +++ b/apis/compute/v1alpha1/zz_sslcertificate_types.go @@ -0,0 +1,122 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SSLCertificateObservation struct { + CertificateID *int64 `json:"certificateId,omitempty" tf:"certificate_id,omitempty"` + + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type SSLCertificateParameters struct { + + // The certificate in PEM format. + // The certificate chain must be no greater than 5 certs long. + // The chain must include at least one intermediate cert. + // +kubebuilder:validation:Required + CertificateSecretRef v1.SecretKeySelector `json:"certificateSecretRef" tf:"-"` + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // + // + // These are in the same namespace as the managed SSL certificates. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Creates a unique name beginning with the specified prefix. Conflicts with name. + // +kubebuilder:validation:Optional + NamePrefix *string `json:"namePrefix,omitempty" tf:"name_prefix,omitempty"` + + // The write-only private key in PEM format. + // +kubebuilder:validation:Required + PrivateKeySecretRef v1.SecretKeySelector `json:"privateKeySecretRef" tf:"-"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// SSLCertificateSpec defines the desired state of SSLCertificate +type SSLCertificateSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SSLCertificateParameters `json:"forProvider"` +} + +// SSLCertificateStatus defines the observed state of SSLCertificate. +type SSLCertificateStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SSLCertificateObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SSLCertificate is the Schema for the SSLCertificates 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,gcpjet} +type SSLCertificate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SSLCertificateSpec `json:"spec"` + Status SSLCertificateStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SSLCertificateList contains a list of SSLCertificates +type SSLCertificateList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SSLCertificate `json:"items"` +} + +// Repository type metadata. +var ( + SSLCertificate_Kind = "SSLCertificate" + SSLCertificate_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SSLCertificate_Kind}.String() + SSLCertificate_KindAPIVersion = SSLCertificate_Kind + "." + CRDGroupVersion.String() + SSLCertificate_GroupVersionKind = CRDGroupVersion.WithKind(SSLCertificate_Kind) +) + +func init() { + SchemeBuilder.Register(&SSLCertificate{}, &SSLCertificateList{}) +} diff --git a/apis/compute/v1alpha1/zz_sslpolicy_terraformed.go b/apis/compute/v1alpha1/zz_sslpolicy_terraformed.go new file mode 100755 index 00000000..3eba3236 --- /dev/null +++ b/apis/compute/v1alpha1/zz_sslpolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SSLPolicy +func (mg *SSLPolicy) GetTerraformResourceType() string { + return "google_compute_ssl_policy" +} + +// GetConnectionDetailsMapping for this SSLPolicy +func (tr *SSLPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SSLPolicy +func (tr *SSLPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SSLPolicy +func (tr *SSLPolicy) SetObservation(obs map[string]interface{}) 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 SSLPolicy +func (tr *SSLPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SSLPolicy +func (tr *SSLPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SSLPolicy +func (tr *SSLPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SSLPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SSLPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &SSLPolicyParameters{} + 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 *SSLPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_sslpolicy_types.go b/apis/compute/v1alpha1/zz_sslpolicy_types.go new file mode 100755 index 00000000..76ec6b95 --- /dev/null +++ b/apis/compute/v1alpha1/zz_sslpolicy_types.go @@ -0,0 +1,136 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SSLPolicyObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + EnabledFeatures []*string `json:"enabledFeatures,omitempty" tf:"enabled_features,omitempty"` + + Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type SSLPolicyParameters struct { + + // Profile specifies the set of SSL features that can be used by the + // load balancer when negotiating SSL with clients. This can be one of + // 'COMPATIBLE', 'MODERN', 'RESTRICTED', or 'CUSTOM'. If using 'CUSTOM', + // the set of SSL features to enable must be specified in the + // 'customFeatures' field. + // + // See the [official documentation](https://cloud.google.com/compute/docs/load-balancing/ssl-policies#profilefeaturesupport) + // for which ciphers are available to use. **Note**: this argument + // *must* be present when using the 'CUSTOM' profile. This argument + // *must not* be present when using any other profile. + // +kubebuilder:validation:Optional + CustomFeatures []*string `json:"customFeatures,omitempty" tf:"custom_features,omitempty"` + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The minimum version of SSL protocol that can be used by the clients + // to establish a connection with the load balancer. Default value: "TLS_1_0" Possible values: ["TLS_1_0", "TLS_1_1", "TLS_1_2"] + // +kubebuilder:validation:Optional + MinTLSVersion *string `json:"minTlsVersion,omitempty" tf:"min_tls_version,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Profile specifies the set of SSL features that can be used by the + // load balancer when negotiating SSL with clients. If using 'CUSTOM', + // the set of SSL features to enable must be specified in the + // 'customFeatures' field. + // + // See the [official documentation](https://cloud.google.com/compute/docs/load-balancing/ssl-policies#profilefeaturesupport) + // for information on what cipher suites each profile provides. If + // 'CUSTOM' is used, the 'custom_features' attribute **must be set**. Default value: "COMPATIBLE" Possible values: ["COMPATIBLE", "MODERN", "RESTRICTED", "CUSTOM"] + // +kubebuilder:validation:Optional + Profile *string `json:"profile,omitempty" tf:"profile,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// SSLPolicySpec defines the desired state of SSLPolicy +type SSLPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SSLPolicyParameters `json:"forProvider"` +} + +// SSLPolicyStatus defines the observed state of SSLPolicy. +type SSLPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SSLPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SSLPolicy is the Schema for the SSLPolicys 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,gcpjet} +type SSLPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SSLPolicySpec `json:"spec"` + Status SSLPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SSLPolicyList contains a list of SSLPolicys +type SSLPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SSLPolicy `json:"items"` +} + +// Repository type metadata. +var ( + SSLPolicy_Kind = "SSLPolicy" + SSLPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SSLPolicy_Kind}.String() + SSLPolicy_KindAPIVersion = SSLPolicy_Kind + "." + CRDGroupVersion.String() + SSLPolicy_GroupVersionKind = CRDGroupVersion.WithKind(SSLPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&SSLPolicy{}, &SSLPolicyList{}) +} diff --git a/apis/compute/v1alpha1/zz_subnetworkiambinding_terraformed.go b/apis/compute/v1alpha1/zz_subnetworkiambinding_terraformed.go new file mode 100755 index 00000000..4df9fb6f --- /dev/null +++ b/apis/compute/v1alpha1/zz_subnetworkiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SubnetworkIAMBinding +func (mg *SubnetworkIAMBinding) GetTerraformResourceType() string { + return "google_compute_subnetwork_iam_binding" +} + +// GetConnectionDetailsMapping for this SubnetworkIAMBinding +func (tr *SubnetworkIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SubnetworkIAMBinding +func (tr *SubnetworkIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SubnetworkIAMBinding +func (tr *SubnetworkIAMBinding) SetObservation(obs map[string]interface{}) 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 SubnetworkIAMBinding +func (tr *SubnetworkIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SubnetworkIAMBinding +func (tr *SubnetworkIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SubnetworkIAMBinding +func (tr *SubnetworkIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SubnetworkIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SubnetworkIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &SubnetworkIAMBindingParameters{} + 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 *SubnetworkIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_subnetworkiambinding_types.go b/apis/compute/v1alpha1/zz_subnetworkiambinding_types.go new file mode 100755 index 00000000..4bb04e93 --- /dev/null +++ b/apis/compute/v1alpha1/zz_subnetworkiambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SubnetworkIAMBindingConditionObservation struct { +} + +type SubnetworkIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type SubnetworkIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SubnetworkIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []SubnetworkIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + Subnetwork *string `json:"subnetwork" tf:"subnetwork,omitempty"` +} + +// SubnetworkIAMBindingSpec defines the desired state of SubnetworkIAMBinding +type SubnetworkIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SubnetworkIAMBindingParameters `json:"forProvider"` +} + +// SubnetworkIAMBindingStatus defines the observed state of SubnetworkIAMBinding. +type SubnetworkIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SubnetworkIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubnetworkIAMBinding is the Schema for the SubnetworkIAMBindings 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,gcpjet} +type SubnetworkIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SubnetworkIAMBindingSpec `json:"spec"` + Status SubnetworkIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubnetworkIAMBindingList contains a list of SubnetworkIAMBindings +type SubnetworkIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SubnetworkIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + SubnetworkIAMBinding_Kind = "SubnetworkIAMBinding" + SubnetworkIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SubnetworkIAMBinding_Kind}.String() + SubnetworkIAMBinding_KindAPIVersion = SubnetworkIAMBinding_Kind + "." + CRDGroupVersion.String() + SubnetworkIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(SubnetworkIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&SubnetworkIAMBinding{}, &SubnetworkIAMBindingList{}) +} diff --git a/apis/compute/v1alpha1/zz_subnetworkiammember_terraformed.go b/apis/compute/v1alpha1/zz_subnetworkiammember_terraformed.go new file mode 100755 index 00000000..1d410071 --- /dev/null +++ b/apis/compute/v1alpha1/zz_subnetworkiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SubnetworkIAMMember +func (mg *SubnetworkIAMMember) GetTerraformResourceType() string { + return "google_compute_subnetwork_iam_member" +} + +// GetConnectionDetailsMapping for this SubnetworkIAMMember +func (tr *SubnetworkIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SubnetworkIAMMember +func (tr *SubnetworkIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SubnetworkIAMMember +func (tr *SubnetworkIAMMember) SetObservation(obs map[string]interface{}) 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 SubnetworkIAMMember +func (tr *SubnetworkIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SubnetworkIAMMember +func (tr *SubnetworkIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SubnetworkIAMMember +func (tr *SubnetworkIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SubnetworkIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SubnetworkIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &SubnetworkIAMMemberParameters{} + 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 *SubnetworkIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_subnetworkiammember_types.go b/apis/compute/v1alpha1/zz_subnetworkiammember_types.go new file mode 100755 index 00000000..77505067 --- /dev/null +++ b/apis/compute/v1alpha1/zz_subnetworkiammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SubnetworkIAMMemberConditionObservation struct { +} + +type SubnetworkIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type SubnetworkIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SubnetworkIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []SubnetworkIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + Subnetwork *string `json:"subnetwork" tf:"subnetwork,omitempty"` +} + +// SubnetworkIAMMemberSpec defines the desired state of SubnetworkIAMMember +type SubnetworkIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SubnetworkIAMMemberParameters `json:"forProvider"` +} + +// SubnetworkIAMMemberStatus defines the observed state of SubnetworkIAMMember. +type SubnetworkIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SubnetworkIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubnetworkIAMMember is the Schema for the SubnetworkIAMMembers 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,gcpjet} +type SubnetworkIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SubnetworkIAMMemberSpec `json:"spec"` + Status SubnetworkIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubnetworkIAMMemberList contains a list of SubnetworkIAMMembers +type SubnetworkIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SubnetworkIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + SubnetworkIAMMember_Kind = "SubnetworkIAMMember" + SubnetworkIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SubnetworkIAMMember_Kind}.String() + SubnetworkIAMMember_KindAPIVersion = SubnetworkIAMMember_Kind + "." + CRDGroupVersion.String() + SubnetworkIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(SubnetworkIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&SubnetworkIAMMember{}, &SubnetworkIAMMemberList{}) +} diff --git a/apis/compute/v1alpha1/zz_subnetworkiampolicy_terraformed.go b/apis/compute/v1alpha1/zz_subnetworkiampolicy_terraformed.go new file mode 100755 index 00000000..8b8e7f71 --- /dev/null +++ b/apis/compute/v1alpha1/zz_subnetworkiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SubnetworkIAMPolicy +func (mg *SubnetworkIAMPolicy) GetTerraformResourceType() string { + return "google_compute_subnetwork_iam_policy" +} + +// GetConnectionDetailsMapping for this SubnetworkIAMPolicy +func (tr *SubnetworkIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SubnetworkIAMPolicy +func (tr *SubnetworkIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SubnetworkIAMPolicy +func (tr *SubnetworkIAMPolicy) SetObservation(obs map[string]interface{}) 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 SubnetworkIAMPolicy +func (tr *SubnetworkIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SubnetworkIAMPolicy +func (tr *SubnetworkIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SubnetworkIAMPolicy +func (tr *SubnetworkIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SubnetworkIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SubnetworkIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &SubnetworkIAMPolicyParameters{} + 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 *SubnetworkIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_subnetworkiampolicy_types.go b/apis/compute/v1alpha1/zz_subnetworkiampolicy_types.go new file mode 100755 index 00000000..a775a2cb --- /dev/null +++ b/apis/compute/v1alpha1/zz_subnetworkiampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SubnetworkIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SubnetworkIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Subnetwork *string `json:"subnetwork" tf:"subnetwork,omitempty"` +} + +// SubnetworkIAMPolicySpec defines the desired state of SubnetworkIAMPolicy +type SubnetworkIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SubnetworkIAMPolicyParameters `json:"forProvider"` +} + +// SubnetworkIAMPolicyStatus defines the observed state of SubnetworkIAMPolicy. +type SubnetworkIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SubnetworkIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubnetworkIAMPolicy is the Schema for the SubnetworkIAMPolicys 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,gcpjet} +type SubnetworkIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SubnetworkIAMPolicySpec `json:"spec"` + Status SubnetworkIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubnetworkIAMPolicyList contains a list of SubnetworkIAMPolicys +type SubnetworkIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SubnetworkIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + SubnetworkIAMPolicy_Kind = "SubnetworkIAMPolicy" + SubnetworkIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SubnetworkIAMPolicy_Kind}.String() + SubnetworkIAMPolicy_KindAPIVersion = SubnetworkIAMPolicy_Kind + "." + CRDGroupVersion.String() + SubnetworkIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(SubnetworkIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&SubnetworkIAMPolicy{}, &SubnetworkIAMPolicyList{}) +} diff --git a/apis/compute/v1alpha1/zz_targetgrpcproxy_terraformed.go b/apis/compute/v1alpha1/zz_targetgrpcproxy_terraformed.go new file mode 100755 index 00000000..a1b50424 --- /dev/null +++ b/apis/compute/v1alpha1/zz_targetgrpcproxy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TargetGRPCProxy +func (mg *TargetGRPCProxy) GetTerraformResourceType() string { + return "google_compute_target_grpc_proxy" +} + +// GetConnectionDetailsMapping for this TargetGRPCProxy +func (tr *TargetGRPCProxy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TargetGRPCProxy +func (tr *TargetGRPCProxy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TargetGRPCProxy +func (tr *TargetGRPCProxy) SetObservation(obs map[string]interface{}) 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 TargetGRPCProxy +func (tr *TargetGRPCProxy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TargetGRPCProxy +func (tr *TargetGRPCProxy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TargetGRPCProxy +func (tr *TargetGRPCProxy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TargetGRPCProxy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TargetGRPCProxy) LateInitialize(attrs []byte) (bool, error) { + params := &TargetGRPCProxyParameters{} + 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 *TargetGRPCProxy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_targetgrpcproxy_types.go b/apis/compute/v1alpha1/zz_targetgrpcproxy_types.go new file mode 100755 index 00000000..29e19abe --- /dev/null +++ b/apis/compute/v1alpha1/zz_targetgrpcproxy_types.go @@ -0,0 +1,126 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TargetGRPCProxyObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + SelfLinkWithID *string `json:"selfLinkWithId,omitempty" tf:"self_link_with_id,omitempty"` +} + +type TargetGRPCProxyParameters struct { + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. Provided by the client when the resource + // is created. The name must be 1-63 characters long, and comply + // with RFC1035. Specifically, the name must be 1-63 characters long + // and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which + // means the first character must be a lowercase letter, and all + // following characters must be a dash, lowercase letter, or digit, + // except the last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // URL to the UrlMap resource that defines the mapping from URL to + // the BackendService. The protocol field in the BackendService + // must be set to GRPC. + // +kubebuilder:validation:Optional + URLMap *string `json:"urlMap,omitempty" tf:"url_map,omitempty"` + + // If true, indicates that the BackendServices referenced by + // the urlMap may be accessed by gRPC applications without using + // a sidecar proxy. This will enable configuration checks on urlMap + // and its referenced BackendServices to not allow unsupported features. + // A gRPC application must use "xds:///" scheme in the target URI + // of the service it is connecting to. If false, indicates that the + // BackendServices referenced by the urlMap will be accessed by gRPC + // applications via a sidecar proxy. In this case, a gRPC application + // must not use "xds:///" scheme in the target URI of the service + // it is connecting to + // +kubebuilder:validation:Optional + ValidateForProxyless *bool `json:"validateForProxyless,omitempty" tf:"validate_for_proxyless,omitempty"` +} + +// TargetGRPCProxySpec defines the desired state of TargetGRPCProxy +type TargetGRPCProxySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TargetGRPCProxyParameters `json:"forProvider"` +} + +// TargetGRPCProxyStatus defines the observed state of TargetGRPCProxy. +type TargetGRPCProxyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TargetGRPCProxyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TargetGRPCProxy is the Schema for the TargetGRPCProxys 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,gcpjet} +type TargetGRPCProxy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TargetGRPCProxySpec `json:"spec"` + Status TargetGRPCProxyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TargetGRPCProxyList contains a list of TargetGRPCProxys +type TargetGRPCProxyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TargetGRPCProxy `json:"items"` +} + +// Repository type metadata. +var ( + TargetGRPCProxy_Kind = "TargetGRPCProxy" + TargetGRPCProxy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TargetGRPCProxy_Kind}.String() + TargetGRPCProxy_KindAPIVersion = TargetGRPCProxy_Kind + "." + CRDGroupVersion.String() + TargetGRPCProxy_GroupVersionKind = CRDGroupVersion.WithKind(TargetGRPCProxy_Kind) +) + +func init() { + SchemeBuilder.Register(&TargetGRPCProxy{}, &TargetGRPCProxyList{}) +} diff --git a/apis/compute/v1alpha1/zz_targethttpproxy_terraformed.go b/apis/compute/v1alpha1/zz_targethttpproxy_terraformed.go new file mode 100755 index 00000000..1f9f6c72 --- /dev/null +++ b/apis/compute/v1alpha1/zz_targethttpproxy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TargetHTTPProxy +func (mg *TargetHTTPProxy) GetTerraformResourceType() string { + return "google_compute_target_http_proxy" +} + +// GetConnectionDetailsMapping for this TargetHTTPProxy +func (tr *TargetHTTPProxy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TargetHTTPProxy +func (tr *TargetHTTPProxy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TargetHTTPProxy +func (tr *TargetHTTPProxy) SetObservation(obs map[string]interface{}) 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 TargetHTTPProxy +func (tr *TargetHTTPProxy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TargetHTTPProxy +func (tr *TargetHTTPProxy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TargetHTTPProxy +func (tr *TargetHTTPProxy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TargetHTTPProxy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TargetHTTPProxy) LateInitialize(attrs []byte) (bool, error) { + params := &TargetHTTPProxyParameters{} + 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 *TargetHTTPProxy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_targethttpproxy_types.go b/apis/compute/v1alpha1/zz_targethttpproxy_types.go new file mode 100755 index 00000000..1758d88e --- /dev/null +++ b/apis/compute/v1alpha1/zz_targethttpproxy_types.go @@ -0,0 +1,115 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TargetHTTPProxyObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + ProxyID *int64 `json:"proxyId,omitempty" tf:"proxy_id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type TargetHTTPProxyParameters struct { + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // This field only applies when the forwarding rule that references + // this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. + // +kubebuilder:validation:Optional + ProxyBind *bool `json:"proxyBind,omitempty" tf:"proxy_bind,omitempty"` + + // A reference to the UrlMap resource that defines the mapping from URL + // to the BackendService. + // +kubebuilder:validation:Required + URLMap *string `json:"urlMap" tf:"url_map,omitempty"` +} + +// TargetHTTPProxySpec defines the desired state of TargetHTTPProxy +type TargetHTTPProxySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TargetHTTPProxyParameters `json:"forProvider"` +} + +// TargetHTTPProxyStatus defines the observed state of TargetHTTPProxy. +type TargetHTTPProxyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TargetHTTPProxyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TargetHTTPProxy is the Schema for the TargetHTTPProxys 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,gcpjet} +type TargetHTTPProxy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TargetHTTPProxySpec `json:"spec"` + Status TargetHTTPProxyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TargetHTTPProxyList contains a list of TargetHTTPProxys +type TargetHTTPProxyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TargetHTTPProxy `json:"items"` +} + +// Repository type metadata. +var ( + TargetHTTPProxy_Kind = "TargetHTTPProxy" + TargetHTTPProxy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TargetHTTPProxy_Kind}.String() + TargetHTTPProxy_KindAPIVersion = TargetHTTPProxy_Kind + "." + CRDGroupVersion.String() + TargetHTTPProxy_GroupVersionKind = CRDGroupVersion.WithKind(TargetHTTPProxy_Kind) +) + +func init() { + SchemeBuilder.Register(&TargetHTTPProxy{}, &TargetHTTPProxyList{}) +} diff --git a/apis/compute/v1alpha1/zz_targethttpsproxy_terraformed.go b/apis/compute/v1alpha1/zz_targethttpsproxy_terraformed.go new file mode 100755 index 00000000..05229b2a --- /dev/null +++ b/apis/compute/v1alpha1/zz_targethttpsproxy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TargetHTTPSProxy +func (mg *TargetHTTPSProxy) GetTerraformResourceType() string { + return "google_compute_target_https_proxy" +} + +// GetConnectionDetailsMapping for this TargetHTTPSProxy +func (tr *TargetHTTPSProxy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TargetHTTPSProxy +func (tr *TargetHTTPSProxy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TargetHTTPSProxy +func (tr *TargetHTTPSProxy) SetObservation(obs map[string]interface{}) 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 TargetHTTPSProxy +func (tr *TargetHTTPSProxy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TargetHTTPSProxy +func (tr *TargetHTTPSProxy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TargetHTTPSProxy +func (tr *TargetHTTPSProxy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TargetHTTPSProxy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TargetHTTPSProxy) LateInitialize(attrs []byte) (bool, error) { + params := &TargetHTTPSProxyParameters{} + 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 *TargetHTTPSProxy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_targethttpsproxy_types.go b/apis/compute/v1alpha1/zz_targethttpsproxy_types.go new file mode 100755 index 00000000..e904ea16 --- /dev/null +++ b/apis/compute/v1alpha1/zz_targethttpsproxy_types.go @@ -0,0 +1,135 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TargetHTTPSProxyObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + ProxyID *int64 `json:"proxyId,omitempty" tf:"proxy_id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type TargetHTTPSProxyParameters struct { + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // This field only applies when the forwarding rule that references + // this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. + // +kubebuilder:validation:Optional + ProxyBind *bool `json:"proxyBind,omitempty" tf:"proxy_bind,omitempty"` + + // Specifies the QUIC override policy for this resource. This determines + // whether the load balancer will attempt to negotiate QUIC with clients + // or not. Can specify one of NONE, ENABLE, or DISABLE. If NONE is + // specified, uses the QUIC policy with no user overrides, which is + // equivalent to DISABLE. Default value: "NONE" Possible values: ["NONE", "ENABLE", "DISABLE"] + // +kubebuilder:validation:Optional + QuicOverride *string `json:"quicOverride,omitempty" tf:"quic_override,omitempty"` + + // A list of SslCertificate resources that are used to authenticate + // connections between users and the load balancer. At least one SSL + // certificate must be specified. + // +kubebuilder:validation:Required + SSLCertificates []*string `json:"sslCertificates" tf:"ssl_certificates,omitempty"` + + // A reference to the SslPolicy resource that will be associated with + // the TargetHttpsProxy resource. If not set, the TargetHttpsProxy + // resource will not have any SSL policy configured. + // +kubebuilder:validation:Optional + SSLPolicy *string `json:"sslPolicy,omitempty" tf:"ssl_policy,omitempty"` + + // A reference to the UrlMap resource that defines the mapping from URL + // to the BackendService. + // +kubebuilder:validation:Required + URLMap *string `json:"urlMap" tf:"url_map,omitempty"` +} + +// TargetHTTPSProxySpec defines the desired state of TargetHTTPSProxy +type TargetHTTPSProxySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TargetHTTPSProxyParameters `json:"forProvider"` +} + +// TargetHTTPSProxyStatus defines the observed state of TargetHTTPSProxy. +type TargetHTTPSProxyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TargetHTTPSProxyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TargetHTTPSProxy is the Schema for the TargetHTTPSProxys 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,gcpjet} +type TargetHTTPSProxy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TargetHTTPSProxySpec `json:"spec"` + Status TargetHTTPSProxyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TargetHTTPSProxyList contains a list of TargetHTTPSProxys +type TargetHTTPSProxyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TargetHTTPSProxy `json:"items"` +} + +// Repository type metadata. +var ( + TargetHTTPSProxy_Kind = "TargetHTTPSProxy" + TargetHTTPSProxy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TargetHTTPSProxy_Kind}.String() + TargetHTTPSProxy_KindAPIVersion = TargetHTTPSProxy_Kind + "." + CRDGroupVersion.String() + TargetHTTPSProxy_GroupVersionKind = CRDGroupVersion.WithKind(TargetHTTPSProxy_Kind) +) + +func init() { + SchemeBuilder.Register(&TargetHTTPSProxy{}, &TargetHTTPSProxyList{}) +} diff --git a/apis/compute/v1alpha1/zz_targetinstance_terraformed.go b/apis/compute/v1alpha1/zz_targetinstance_terraformed.go new file mode 100755 index 00000000..d32332e6 --- /dev/null +++ b/apis/compute/v1alpha1/zz_targetinstance_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TargetInstance +func (mg *TargetInstance) GetTerraformResourceType() string { + return "google_compute_target_instance" +} + +// GetConnectionDetailsMapping for this TargetInstance +func (tr *TargetInstance) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TargetInstance +func (tr *TargetInstance) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TargetInstance +func (tr *TargetInstance) SetObservation(obs map[string]interface{}) 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 TargetInstance +func (tr *TargetInstance) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TargetInstance +func (tr *TargetInstance) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TargetInstance +func (tr *TargetInstance) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TargetInstance using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TargetInstance) LateInitialize(attrs []byte) (bool, error) { + params := &TargetInstanceParameters{} + 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 *TargetInstance) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_targetinstance_types.go b/apis/compute/v1alpha1/zz_targetinstance_types.go new file mode 100755 index 00000000..6a799b5b --- /dev/null +++ b/apis/compute/v1alpha1/zz_targetinstance_types.go @@ -0,0 +1,121 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TargetInstanceObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type TargetInstanceParameters struct { + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The Compute instance VM handling traffic for this target instance. + // Accepts the instance self-link, relative path + // (e.g. 'projects/project/zones/zone/instances/instance') or name. If + // name is given, the zone will default to the given zone or + // the provider-default zone and the project will default to the + // provider-level project. + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // NAT option controlling how IPs are NAT'ed to the instance. + // Currently only NO_NAT (default value) is supported. Default value: "NO_NAT" Possible values: ["NO_NAT"] + // +kubebuilder:validation:Optional + NATPolicy *string `json:"natPolicy,omitempty" tf:"nat_policy,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // URL of the zone where the target instance resides. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// TargetInstanceSpec defines the desired state of TargetInstance +type TargetInstanceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TargetInstanceParameters `json:"forProvider"` +} + +// TargetInstanceStatus defines the observed state of TargetInstance. +type TargetInstanceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TargetInstanceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TargetInstance is the Schema for the TargetInstances 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,gcpjet} +type TargetInstance struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TargetInstanceSpec `json:"spec"` + Status TargetInstanceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TargetInstanceList contains a list of TargetInstances +type TargetInstanceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TargetInstance `json:"items"` +} + +// Repository type metadata. +var ( + TargetInstance_Kind = "TargetInstance" + TargetInstance_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TargetInstance_Kind}.String() + TargetInstance_KindAPIVersion = TargetInstance_Kind + "." + CRDGroupVersion.String() + TargetInstance_GroupVersionKind = CRDGroupVersion.WithKind(TargetInstance_Kind) +) + +func init() { + SchemeBuilder.Register(&TargetInstance{}, &TargetInstanceList{}) +} diff --git a/apis/compute/v1alpha1/zz_targetpool_terraformed.go b/apis/compute/v1alpha1/zz_targetpool_terraformed.go new file mode 100755 index 00000000..b9abba85 --- /dev/null +++ b/apis/compute/v1alpha1/zz_targetpool_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TargetPool +func (mg *TargetPool) GetTerraformResourceType() string { + return "google_compute_target_pool" +} + +// GetConnectionDetailsMapping for this TargetPool +func (tr *TargetPool) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TargetPool +func (tr *TargetPool) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TargetPool +func (tr *TargetPool) SetObservation(obs map[string]interface{}) 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 TargetPool +func (tr *TargetPool) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TargetPool +func (tr *TargetPool) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TargetPool +func (tr *TargetPool) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TargetPool using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TargetPool) LateInitialize(attrs []byte) (bool, error) { + params := &TargetPoolParameters{} + 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 *TargetPool) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_targetpool_types.go b/apis/compute/v1alpha1/zz_targetpool_types.go new file mode 100755 index 00000000..27a3185b --- /dev/null +++ b/apis/compute/v1alpha1/zz_targetpool_types.go @@ -0,0 +1,120 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TargetPoolObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type TargetPoolParameters struct { + + // URL to the backup target pool. Must also set failover_ratio. + // +kubebuilder:validation:Optional + BackupPool *string `json:"backupPool,omitempty" tf:"backup_pool,omitempty"` + + // Textual description field. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Ratio (0 to 1) of failed nodes before using the backup pool (which must also be set). + // +kubebuilder:validation:Optional + FailoverRatio *float64 `json:"failoverRatio,omitempty" tf:"failover_ratio,omitempty"` + + // List of zero or one health check name or self_link. Only legacy google_compute_http_health_check is supported. + // +kubebuilder:validation:Optional + HealthChecks []*string `json:"healthChecks,omitempty" tf:"health_checks,omitempty"` + + // List of instances in the pool. They can be given as URLs, or in the form of "zone/name". Note that the instances need not exist at the time of target pool creation, so there is no need to use the Terraform interpolators to create a dependency on the instances from the target pool. + // +kubebuilder:validation:Optional + Instances []*string `json:"instances,omitempty" tf:"instances,omitempty"` + + // A unique name for the resource, required by GCE. Changing this forces a new resource to be created. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Where the target pool resides. Defaults to project region. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // How to distribute load. Options are "NONE" (no affinity). "CLIENT_IP" (hash of the source/dest addresses / ports), and "CLIENT_IP_PROTO" also includes the protocol (default "NONE"). + // +kubebuilder:validation:Optional + SessionAffinity *string `json:"sessionAffinity,omitempty" tf:"session_affinity,omitempty"` +} + +// TargetPoolSpec defines the desired state of TargetPool +type TargetPoolSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TargetPoolParameters `json:"forProvider"` +} + +// TargetPoolStatus defines the observed state of TargetPool. +type TargetPoolStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TargetPoolObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TargetPool is the Schema for the TargetPools 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,gcpjet} +type TargetPool struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TargetPoolSpec `json:"spec"` + Status TargetPoolStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TargetPoolList contains a list of TargetPools +type TargetPoolList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TargetPool `json:"items"` +} + +// Repository type metadata. +var ( + TargetPool_Kind = "TargetPool" + TargetPool_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TargetPool_Kind}.String() + TargetPool_KindAPIVersion = TargetPool_Kind + "." + CRDGroupVersion.String() + TargetPool_GroupVersionKind = CRDGroupVersion.WithKind(TargetPool_Kind) +) + +func init() { + SchemeBuilder.Register(&TargetPool{}, &TargetPoolList{}) +} diff --git a/apis/compute/v1alpha1/zz_targetsslproxy_terraformed.go b/apis/compute/v1alpha1/zz_targetsslproxy_terraformed.go new file mode 100755 index 00000000..7a06a6fa --- /dev/null +++ b/apis/compute/v1alpha1/zz_targetsslproxy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TargetSSLProxy +func (mg *TargetSSLProxy) GetTerraformResourceType() string { + return "google_compute_target_ssl_proxy" +} + +// GetConnectionDetailsMapping for this TargetSSLProxy +func (tr *TargetSSLProxy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TargetSSLProxy +func (tr *TargetSSLProxy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TargetSSLProxy +func (tr *TargetSSLProxy) SetObservation(obs map[string]interface{}) 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 TargetSSLProxy +func (tr *TargetSSLProxy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TargetSSLProxy +func (tr *TargetSSLProxy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TargetSSLProxy +func (tr *TargetSSLProxy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TargetSSLProxy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TargetSSLProxy) LateInitialize(attrs []byte) (bool, error) { + params := &TargetSSLProxyParameters{} + 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 *TargetSSLProxy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_targetsslproxy_types.go b/apis/compute/v1alpha1/zz_targetsslproxy_types.go new file mode 100755 index 00000000..3ed4ec86 --- /dev/null +++ b/apis/compute/v1alpha1/zz_targetsslproxy_types.go @@ -0,0 +1,126 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TargetSSLProxyObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + ProxyID *int64 `json:"proxyId,omitempty" tf:"proxy_id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type TargetSSLProxyParameters struct { + + // A reference to the BackendService resource. + // +kubebuilder:validation:Required + BackendService *string `json:"backendService" tf:"backend_service,omitempty"` + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Specifies the type of proxy header to append before sending data to + // the backend. Default value: "NONE" Possible values: ["NONE", "PROXY_V1"] + // +kubebuilder:validation:Optional + ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"` + + // A list of SslCertificate resources that are used to authenticate + // connections between users and the load balancer. At least one + // SSL certificate must be specified. + // +kubebuilder:validation:Required + SSLCertificates []*string `json:"sslCertificates" tf:"ssl_certificates,omitempty"` + + // A reference to the SslPolicy resource that will be associated with + // the TargetSslProxy resource. If not set, the TargetSslProxy + // resource will not have any SSL policy configured. + // +kubebuilder:validation:Optional + SSLPolicy *string `json:"sslPolicy,omitempty" tf:"ssl_policy,omitempty"` +} + +// TargetSSLProxySpec defines the desired state of TargetSSLProxy +type TargetSSLProxySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TargetSSLProxyParameters `json:"forProvider"` +} + +// TargetSSLProxyStatus defines the observed state of TargetSSLProxy. +type TargetSSLProxyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TargetSSLProxyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TargetSSLProxy is the Schema for the TargetSSLProxys 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,gcpjet} +type TargetSSLProxy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TargetSSLProxySpec `json:"spec"` + Status TargetSSLProxyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TargetSSLProxyList contains a list of TargetSSLProxys +type TargetSSLProxyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TargetSSLProxy `json:"items"` +} + +// Repository type metadata. +var ( + TargetSSLProxy_Kind = "TargetSSLProxy" + TargetSSLProxy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TargetSSLProxy_Kind}.String() + TargetSSLProxy_KindAPIVersion = TargetSSLProxy_Kind + "." + CRDGroupVersion.String() + TargetSSLProxy_GroupVersionKind = CRDGroupVersion.WithKind(TargetSSLProxy_Kind) +) + +func init() { + SchemeBuilder.Register(&TargetSSLProxy{}, &TargetSSLProxyList{}) +} diff --git a/apis/compute/v1alpha1/zz_targettcpproxy_terraformed.go b/apis/compute/v1alpha1/zz_targettcpproxy_terraformed.go new file mode 100755 index 00000000..51d30b5e --- /dev/null +++ b/apis/compute/v1alpha1/zz_targettcpproxy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TargetTCPProxy +func (mg *TargetTCPProxy) GetTerraformResourceType() string { + return "google_compute_target_tcp_proxy" +} + +// GetConnectionDetailsMapping for this TargetTCPProxy +func (tr *TargetTCPProxy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TargetTCPProxy +func (tr *TargetTCPProxy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TargetTCPProxy +func (tr *TargetTCPProxy) SetObservation(obs map[string]interface{}) 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 TargetTCPProxy +func (tr *TargetTCPProxy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TargetTCPProxy +func (tr *TargetTCPProxy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TargetTCPProxy +func (tr *TargetTCPProxy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TargetTCPProxy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TargetTCPProxy) LateInitialize(attrs []byte) (bool, error) { + params := &TargetTCPProxyParameters{} + 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 *TargetTCPProxy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_targettcpproxy_types.go b/apis/compute/v1alpha1/zz_targettcpproxy_types.go new file mode 100755 index 00000000..681827d5 --- /dev/null +++ b/apis/compute/v1alpha1/zz_targettcpproxy_types.go @@ -0,0 +1,119 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TargetTCPProxyObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + ProxyID *int64 `json:"proxyId,omitempty" tf:"proxy_id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type TargetTCPProxyParameters struct { + + // A reference to the BackendService resource. + // +kubebuilder:validation:Required + BackendService *string `json:"backendService" tf:"backend_service,omitempty"` + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and match + // the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the + // first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // This field only applies when the forwarding rule that references + // this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. + // +kubebuilder:validation:Optional + ProxyBind *bool `json:"proxyBind,omitempty" tf:"proxy_bind,omitempty"` + + // Specifies the type of proxy header to append before sending data to + // the backend. Default value: "NONE" Possible values: ["NONE", "PROXY_V1"] + // +kubebuilder:validation:Optional + ProxyHeader *string `json:"proxyHeader,omitempty" tf:"proxy_header,omitempty"` +} + +// TargetTCPProxySpec defines the desired state of TargetTCPProxy +type TargetTCPProxySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TargetTCPProxyParameters `json:"forProvider"` +} + +// TargetTCPProxyStatus defines the observed state of TargetTCPProxy. +type TargetTCPProxyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TargetTCPProxyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TargetTCPProxy is the Schema for the TargetTCPProxys 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,gcpjet} +type TargetTCPProxy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TargetTCPProxySpec `json:"spec"` + Status TargetTCPProxyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TargetTCPProxyList contains a list of TargetTCPProxys +type TargetTCPProxyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TargetTCPProxy `json:"items"` +} + +// Repository type metadata. +var ( + TargetTCPProxy_Kind = "TargetTCPProxy" + TargetTCPProxy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TargetTCPProxy_Kind}.String() + TargetTCPProxy_KindAPIVersion = TargetTCPProxy_Kind + "." + CRDGroupVersion.String() + TargetTCPProxy_GroupVersionKind = CRDGroupVersion.WithKind(TargetTCPProxy_Kind) +) + +func init() { + SchemeBuilder.Register(&TargetTCPProxy{}, &TargetTCPProxyList{}) +} diff --git a/apis/compute/v1alpha1/zz_urlmap_terraformed.go b/apis/compute/v1alpha1/zz_urlmap_terraformed.go new file mode 100755 index 00000000..c1027be0 --- /dev/null +++ b/apis/compute/v1alpha1/zz_urlmap_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this URLMap +func (mg *URLMap) GetTerraformResourceType() string { + return "google_compute_url_map" +} + +// GetConnectionDetailsMapping for this URLMap +func (tr *URLMap) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this URLMap +func (tr *URLMap) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this URLMap +func (tr *URLMap) SetObservation(obs map[string]interface{}) 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 URLMap +func (tr *URLMap) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this URLMap +func (tr *URLMap) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this URLMap +func (tr *URLMap) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this URLMap using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *URLMap) LateInitialize(attrs []byte) (bool, error) { + params := &URLMapParameters{} + 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 *URLMap) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_urlmap_types.go b/apis/compute/v1alpha1/zz_urlmap_types.go new file mode 100755 index 00000000..c84686bc --- /dev/null +++ b/apis/compute/v1alpha1/zz_urlmap_types.go @@ -0,0 +1,2370 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DefaultRouteActionCorsPolicyObservation struct { +} + +type DefaultRouteActionCorsPolicyParameters struct { + + // In response to a preflight request, setting this to true indicates that the actual request can include user credentials. + // This translates to the Access-Control-Allow-Credentials header. + // +kubebuilder:validation:Optional + AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"` + + // Specifies the content for the Access-Control-Allow-Headers header. + // +kubebuilder:validation:Optional + AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"` + + // Specifies the content for the Access-Control-Allow-Methods header. + // +kubebuilder:validation:Optional + AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"` + + // Specifies the regular expression patterns that match allowed origins. For regular expression grammar + // please see en.cppreference.com/w/cpp/regex/ecmascript + // An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes. + // +kubebuilder:validation:Optional + AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"` + + // Specifies the list of origins that will be allowed to do CORS requests. + // An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes. + // +kubebuilder:validation:Optional + AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"` + + // If true, specifies the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // Specifies the content for the Access-Control-Expose-Headers header. + // +kubebuilder:validation:Optional + ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"` + + // Specifies how long results of a preflight request can be cached in seconds. + // This translates to the Access-Control-Max-Age header. + // +kubebuilder:validation:Optional + MaxAge *int64 `json:"maxAge,omitempty" tf:"max_age,omitempty"` +} + +type DefaultRouteActionFaultInjectionPolicyAbortObservation struct { +} + +type DefaultRouteActionFaultInjectionPolicyAbortParameters struct { + + // The HTTP status code used to abort the request. + // The value must be between 200 and 599 inclusive. + // +kubebuilder:validation:Optional + HTTPStatus *int64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"` + + // The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection. + // The value must be between 0.0 and 100.0 inclusive. + // +kubebuilder:validation:Optional + Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"` +} + +type DefaultRouteActionFaultInjectionPolicyDelayFixedDelayObservation struct { +} + +type DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are + // represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. + // Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + // +kubebuilder:validation:Optional + Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"` +} + +type DefaultRouteActionFaultInjectionPolicyDelayObservation struct { +} + +type DefaultRouteActionFaultInjectionPolicyDelayParameters struct { + + // Specifies the value of the fixed delay interval. + // +kubebuilder:validation:Optional + FixedDelay []FaultInjectionPolicyDelayFixedDelayParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"` + + // The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection. + // The value must be between 0.0 and 100.0 inclusive. + // +kubebuilder:validation:Optional + Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"` +} + +type DefaultRouteActionFaultInjectionPolicyObservation struct { +} + +type DefaultRouteActionFaultInjectionPolicyParameters struct { + + // The specification for how client requests are aborted as part of fault injection. + // +kubebuilder:validation:Optional + Abort []DefaultRouteActionFaultInjectionPolicyAbortParameters `json:"abort,omitempty" tf:"abort,omitempty"` + + // The specification for how client requests are delayed as part of fault injection, before being sent to a backend service. + // +kubebuilder:validation:Optional + Delay []DefaultRouteActionFaultInjectionPolicyDelayParameters `json:"delay,omitempty" tf:"delay,omitempty"` +} + +type DefaultRouteActionObservation struct { +} + +type DefaultRouteActionParameters struct { + + // The specification for allowing client side cross-origin requests. Please see + // [W3C Recommendation for Cross Origin Resource Sharing](https://www.w3.org/TR/cors/) + // +kubebuilder:validation:Optional + CorsPolicy []DefaultRouteActionCorsPolicyParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"` + + // The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. + // As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a + // percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted + // by the Loadbalancer for a percentage of requests. + // + // timeout and retryPolicy will be ignored by clients that are configured with a faultInjectionPolicy. + // +kubebuilder:validation:Optional + FaultInjectionPolicy []DefaultRouteActionFaultInjectionPolicyParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"` + + // Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service. + // Loadbalancer does not wait for responses from the shadow service. Prior to sending traffic to the shadow service, + // the host / authority header is suffixed with -shadow. + // +kubebuilder:validation:Optional + RequestMirrorPolicy []DefaultRouteActionRequestMirrorPolicyParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"` + + // Specifies the retry policy associated with this route. + // +kubebuilder:validation:Optional + RetryPolicy []DefaultRouteActionRetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"` + + // Specifies the timeout for the selected route. Timeout is computed from the time the request has been + // fully processed (i.e. end-of-stream) up until the response has been completely processed. Timeout includes all retries. + // + // If not specified, will use the largest timeout among all backend services associated with the route. + // +kubebuilder:validation:Optional + Timeout []DefaultRouteActionTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"` + + // The spec to modify the URL of the request, prior to forwarding the request to the matched service. + // +kubebuilder:validation:Optional + URLRewrite []DefaultRouteActionURLRewriteParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"` + + // A list of weighted backend services to send traffic to when a route match occurs. + // The weights determine the fraction of traffic that flows to their corresponding backend service. + // If all traffic needs to go to a single backend service, there must be one weightedBackendService + // with weight set to a non 0 number. + // + // Once a backendService is identified and before forwarding the request to the backend service, + // advanced routing actions like Url rewrites and header transformations are applied depending on + // additional settings specified in this HttpRouteAction. + // +kubebuilder:validation:Optional + WeightedBackendServices []DefaultRouteActionWeightedBackendServicesParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"` +} + +type DefaultRouteActionRequestMirrorPolicyObservation struct { +} + +type DefaultRouteActionRequestMirrorPolicyParameters struct { + + // The full or partial URL to the BackendService resource being mirrored to. + // +kubebuilder:validation:Required + BackendService *string `json:"backendService" tf:"backend_service,omitempty"` +} + +type DefaultRouteActionRetryPolicyObservation struct { +} + +type DefaultRouteActionRetryPolicyParameters struct { + + // Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1. + // +kubebuilder:validation:Optional + NumRetries *int64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"` + + // Specifies a non-zero timeout per retry attempt. + // + // If not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction is not set, + // will use the largest timeout among all backend services associated with the route. + // +kubebuilder:validation:Optional + PerTryTimeout []DefaultRouteActionRetryPolicyPerTryTimeoutParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"` + + // Specfies one or more conditions when this retry rule applies. Valid values are: + // + // * 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, + // or if the backend service does not respond at all, example: disconnects, reset, read timeout, + // * connection failure, and refused streams. + // * gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504. + // * connect-failure: Loadbalancer will retry on failures connecting to backend services, + // for example due to connection timeouts. + // * retriable-4xx: Loadbalancer will retry for retriable 4xx response codes. + // Currently the only retriable error supported is 409. + // * refused-stream:Loadbalancer will retry if the backend service resets the stream with a REFUSED_STREAM error code. + // This reset type indicates that it is safe to retry. + // * cancelled: Loadbalancer will retry if the gRPC status code in the response header is set to cancelled + // * deadline-exceeded: Loadbalancer will retry if the gRPC status code in the response header is set to deadline-exceeded + // * resource-exhausted: Loadbalancer will retry if the gRPC status code in the response header is set to resource-exhausted + // * unavailable: Loadbalancer will retry if the gRPC status code in the response header is set to unavailable + // +kubebuilder:validation:Optional + RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"` +} + +type DefaultRouteActionRetryPolicyPerTryTimeoutObservation struct { +} + +type DefaultRouteActionRetryPolicyPerTryTimeoutParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are + // represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. + // Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + // +kubebuilder:validation:Optional + Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"` +} + +type DefaultRouteActionTimeoutObservation struct { +} + +type DefaultRouteActionTimeoutParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented + // with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. + // Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + // +kubebuilder:validation:Optional + Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"` +} + +type DefaultRouteActionURLRewriteObservation struct { +} + +type DefaultRouteActionURLRewriteParameters struct { + + // Prior to forwarding the request to the selected service, the request's host header is replaced + // with contents of hostRewrite. + // + // The value must be between 1 and 255 characters. + // +kubebuilder:validation:Optional + HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"` + + // Prior to forwarding the request to the selected backend service, the matching portion of the + // request's path is replaced by pathPrefixRewrite. + // + // The value must be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"` +} + +type DefaultRouteActionWeightedBackendServicesHeaderActionObservation struct { +} + +type DefaultRouteActionWeightedBackendServicesHeaderActionParameters struct { + + // Headers to add to a matching request prior to forwarding the request to the backendService. + // +kubebuilder:validation:Optional + RequestHeadersToAdd []DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the request prior to + // forwarding the request to the backendService. + // +kubebuilder:validation:Optional + RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"` + + // Headers to add the response prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToAdd []DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the response prior to sending the + // response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"` +} + +type DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation struct { +} + +type DefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters struct { + + // The name of the header to add. + // +kubebuilder:validation:Optional + HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Optional + HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the header. + // If true, headerValue is set for the header, discarding any values that were set for that header. + // +kubebuilder:validation:Optional + Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"` +} + +type DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation struct { +} + +type DefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters struct { + + // The name of the header to add. + // +kubebuilder:validation:Optional + HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Optional + HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the header. + // If true, headerValue is set for the header, discarding any values that were set for that header. + // +kubebuilder:validation:Optional + Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"` +} + +type DefaultRouteActionWeightedBackendServicesObservation struct { +} + +type DefaultRouteActionWeightedBackendServicesParameters struct { + + // The full or partial URL to the default BackendService resource. Before forwarding the + // request to backendService, the loadbalancer applies any relevant headerActions + // specified as part of this backendServiceWeight. + // +kubebuilder:validation:Optional + BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"` + + // Specifies changes to request and response headers that need to take effect for + // the selected backendService. + // + // headerAction specified here take effect before headerAction in the enclosing + // HttpRouteRule, PathMatcher and UrlMap. + // +kubebuilder:validation:Optional + HeaderAction []DefaultRouteActionWeightedBackendServicesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"` + + // Specifies the fraction of traffic sent to backendService, computed as + // weight / (sum of all weightedBackendService weights in routeAction) . + // + // The selection of a backend service is determined only for new traffic. Once a user's request + // has been directed to a backendService, subsequent requests will be sent to the same backendService + // as determined by the BackendService's session affinity policy. + // + // The value must be between 0 and 1000 + // +kubebuilder:validation:Optional + Weight *int64 `json:"weight,omitempty" tf:"weight,omitempty"` +} + +type FaultInjectionPolicyDelayFixedDelayObservation struct { +} + +type FaultInjectionPolicyDelayFixedDelayParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are + // represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. + // Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + // +kubebuilder:validation:Optional + Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"` +} + +type HeaderMatchesRangeMatchObservation struct { +} + +type HeaderMatchesRangeMatchParameters struct { + + // The end of the range (exclusive). + // +kubebuilder:validation:Required + RangeEnd *int64 `json:"rangeEnd" tf:"range_end,omitempty"` + + // The start of the range (inclusive). + // +kubebuilder:validation:Required + RangeStart *int64 `json:"rangeStart" tf:"range_start,omitempty"` +} + +type MatchRulesHeaderMatchesObservation struct { +} + +type MatchRulesHeaderMatchesParameters struct { + + // The value should exactly match contents of exactMatch. Only one of exactMatch, + // prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. + // +kubebuilder:validation:Optional + ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"` + + // The name of the HTTP header to match. For matching against the HTTP request's + // authority, use a headerMatch with the header name ":authority". For matching a + // request's method, use the headerName ":method". + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // If set to false, the headerMatch is considered a match if the match criteria + // above are met. If set to true, the headerMatch is considered a match if the + // match criteria above are NOT met. Defaults to false. + // +kubebuilder:validation:Optional + InvertMatch *bool `json:"invertMatch,omitempty" tf:"invert_match,omitempty"` + + // The value of the header must start with the contents of prefixMatch. Only one of + // exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch + // must be set. + // +kubebuilder:validation:Optional + PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"` + + // A header with the contents of headerName must exist. The match takes place + // whether or not the request's header has a value or not. Only one of exactMatch, + // prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. + // +kubebuilder:validation:Optional + PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"` + + // The header value must be an integer and its value must be in the range specified + // in rangeMatch. If the header does not contain an integer, number or is empty, + // the match fails. For example for a range [-5, 0] - -3 will match. - 0 will + // not match. - 0.25 will not match. - -3someString will not match. Only one of + // exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch + // must be set. + // +kubebuilder:validation:Optional + RangeMatch []HeaderMatchesRangeMatchParameters `json:"rangeMatch,omitempty" tf:"range_match,omitempty"` + + // The value of the header must match the regular expression specified in + // regexMatch. For regular expression grammar, please see: + // en.cppreference.com/w/cpp/regex/ecmascript For matching against a port + // specified in the HTTP request, use a headerMatch with headerName set to PORT and + // a regular expression that satisfies the RFC2616 Host header's port specifier. + // Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or + // rangeMatch must be set. + // +kubebuilder:validation:Optional + RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"` + + // The value of the header must end with the contents of suffixMatch. Only one of + // exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch + // must be set. + // +kubebuilder:validation:Optional + SuffixMatch *string `json:"suffixMatch,omitempty" tf:"suffix_match,omitempty"` +} + +type MatchRulesMetadataFiltersFilterLabelsObservation struct { +} + +type MatchRulesMetadataFiltersFilterLabelsParameters struct { + + // Name of metadata label. The name can have a maximum length of 1024 characters + // and must be at least 1 character long. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The value of the label must match the specified value. value can have a maximum + // length of 1024 characters. + // +kubebuilder:validation:Required + Value *string `json:"value" tf:"value,omitempty"` +} + +type MatchRulesQueryParameterMatchesObservation struct { +} + +type MatchRulesQueryParameterMatchesParameters struct { + + // The queryParameterMatch matches if the value of the parameter exactly matches + // the contents of exactMatch. Only one of presentMatch, exactMatch and regexMatch + // must be set. + // +kubebuilder:validation:Optional + ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"` + + // The name of the query parameter to match. The query parameter must exist in the + // request, in the absence of which the request match fails. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Specifies that the queryParameterMatch matches if the request contains the query + // parameter, irrespective of whether the parameter has a value or not. Only one of + // presentMatch, exactMatch and regexMatch must be set. + // +kubebuilder:validation:Optional + PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"` + + // The queryParameterMatch matches if the value of the parameter matches the + // regular expression specified by regexMatch. For the regular expression grammar, + // please see en.cppreference.com/w/cpp/regex/ecmascript Only one of presentMatch, + // exactMatch and regexMatch must be set. + // +kubebuilder:validation:Optional + RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"` +} + +type PathMatcherDefaultRouteActionCorsPolicyObservation struct { +} + +type PathMatcherDefaultRouteActionCorsPolicyParameters struct { + + // In response to a preflight request, setting this to true indicates that the actual request can include user credentials. + // This translates to the Access-Control-Allow-Credentials header. + // +kubebuilder:validation:Optional + AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"` + + // Specifies the content for the Access-Control-Allow-Headers header. + // +kubebuilder:validation:Optional + AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"` + + // Specifies the content for the Access-Control-Allow-Methods header. + // +kubebuilder:validation:Optional + AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"` + + // Specifies the regular expression patterns that match allowed origins. For regular expression grammar + // please see en.cppreference.com/w/cpp/regex/ecmascript + // An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes. + // +kubebuilder:validation:Optional + AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"` + + // Specifies the list of origins that will be allowed to do CORS requests. + // An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes. + // +kubebuilder:validation:Optional + AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"` + + // If true, specifies the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // Specifies the content for the Access-Control-Expose-Headers header. + // +kubebuilder:validation:Optional + ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"` + + // Specifies how long results of a preflight request can be cached in seconds. + // This translates to the Access-Control-Max-Age header. + // +kubebuilder:validation:Optional + MaxAge *int64 `json:"maxAge,omitempty" tf:"max_age,omitempty"` +} + +type PathMatcherDefaultRouteActionFaultInjectionPolicyAbortObservation struct { +} + +type PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters struct { + + // The HTTP status code used to abort the request. + // The value must be between 200 and 599 inclusive. + // +kubebuilder:validation:Optional + HTTPStatus *int64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"` + + // The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection. + // The value must be between 0.0 and 100.0 inclusive. + // +kubebuilder:validation:Optional + Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"` +} + +type PathMatcherDefaultRouteActionFaultInjectionPolicyDelayObservation struct { +} + +type PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters struct { + + // Specifies the value of the fixed delay interval. + // +kubebuilder:validation:Optional + FixedDelay []DefaultRouteActionFaultInjectionPolicyDelayFixedDelayParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"` + + // The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection. + // The value must be between 0.0 and 100.0 inclusive. + // +kubebuilder:validation:Optional + Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"` +} + +type PathMatcherDefaultRouteActionFaultInjectionPolicyObservation struct { +} + +type PathMatcherDefaultRouteActionFaultInjectionPolicyParameters struct { + + // The specification for how client requests are aborted as part of fault injection. + // +kubebuilder:validation:Optional + Abort []PathMatcherDefaultRouteActionFaultInjectionPolicyAbortParameters `json:"abort,omitempty" tf:"abort,omitempty"` + + // The specification for how client requests are delayed as part of fault injection, before being sent to a backend service. + // +kubebuilder:validation:Optional + Delay []PathMatcherDefaultRouteActionFaultInjectionPolicyDelayParameters `json:"delay,omitempty" tf:"delay,omitempty"` +} + +type PathMatcherDefaultRouteActionObservation struct { +} + +type PathMatcherDefaultRouteActionParameters struct { + + // The specification for allowing client side cross-origin requests. Please see + // [W3C Recommendation for Cross Origin Resource Sharing](https://www.w3.org/TR/cors/) + // +kubebuilder:validation:Optional + CorsPolicy []PathMatcherDefaultRouteActionCorsPolicyParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"` + + // The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. + // As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a + // percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted + // by the Loadbalancer for a percentage of requests. + // + // timeout and retryPolicy will be ignored by clients that are configured with a faultInjectionPolicy. + // +kubebuilder:validation:Optional + FaultInjectionPolicy []PathMatcherDefaultRouteActionFaultInjectionPolicyParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"` + + // Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service. + // Loadbalancer does not wait for responses from the shadow service. Prior to sending traffic to the shadow service, + // the host / authority header is suffixed with -shadow. + // +kubebuilder:validation:Optional + RequestMirrorPolicy []PathMatcherDefaultRouteActionRequestMirrorPolicyParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"` + + // Specifies the retry policy associated with this route. + // +kubebuilder:validation:Optional + RetryPolicy []PathMatcherDefaultRouteActionRetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"` + + // Specifies the timeout for the selected route. Timeout is computed from the time the request has been + // fully processed (i.e. end-of-stream) up until the response has been completely processed. Timeout includes all retries. + // + // If not specified, will use the largest timeout among all backend services associated with the route. + // +kubebuilder:validation:Optional + Timeout []PathMatcherDefaultRouteActionTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"` + + // The spec to modify the URL of the request, prior to forwarding the request to the matched service. + // +kubebuilder:validation:Optional + URLRewrite []PathMatcherDefaultRouteActionURLRewriteParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"` + + // A list of weighted backend services to send traffic to when a route match occurs. + // The weights determine the fraction of traffic that flows to their corresponding backend service. + // If all traffic needs to go to a single backend service, there must be one weightedBackendService + // with weight set to a non 0 number. + // + // Once a backendService is identified and before forwarding the request to the backend service, + // advanced routing actions like Url rewrites and header transformations are applied depending on + // additional settings specified in this HttpRouteAction. + // +kubebuilder:validation:Optional + WeightedBackendServices []PathMatcherDefaultRouteActionWeightedBackendServicesParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"` +} + +type PathMatcherDefaultRouteActionRequestMirrorPolicyObservation struct { +} + +type PathMatcherDefaultRouteActionRequestMirrorPolicyParameters struct { + + // The full or partial URL to the BackendService resource being mirrored to. + // +kubebuilder:validation:Required + BackendService *string `json:"backendService" tf:"backend_service,omitempty"` +} + +type PathMatcherDefaultRouteActionRetryPolicyObservation struct { +} + +type PathMatcherDefaultRouteActionRetryPolicyParameters struct { + + // Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1. + // +kubebuilder:validation:Optional + NumRetries *int64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"` + + // Specifies a non-zero timeout per retry attempt. + // + // If not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction is not set, + // will use the largest timeout among all backend services associated with the route. + // +kubebuilder:validation:Optional + PerTryTimeout []PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"` + + // Specfies one or more conditions when this retry rule applies. Valid values are: + // + // * 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, + // or if the backend service does not respond at all, example: disconnects, reset, read timeout, + // * connection failure, and refused streams. + // * gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504. + // * connect-failure: Loadbalancer will retry on failures connecting to backend services, + // for example due to connection timeouts. + // * retriable-4xx: Loadbalancer will retry for retriable 4xx response codes. + // Currently the only retriable error supported is 409. + // * refused-stream:Loadbalancer will retry if the backend service resets the stream with a REFUSED_STREAM error code. + // This reset type indicates that it is safe to retry. + // * cancelled: Loadbalancer will retry if the gRPC status code in the response header is set to cancelled + // * deadline-exceeded: Loadbalancer will retry if the gRPC status code in the response header is set to deadline-exceeded + // * resource-exhausted: Loadbalancer will retry if the gRPC status code in the response header is set to resource-exhausted + // * unavailable: Loadbalancer will retry if the gRPC status code in the response header is set to unavailable + // +kubebuilder:validation:Optional + RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"` +} + +type PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutObservation struct { +} + +type PathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are + // represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. + // Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + // +kubebuilder:validation:Optional + Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"` +} + +type PathMatcherDefaultRouteActionTimeoutObservation struct { +} + +type PathMatcherDefaultRouteActionTimeoutParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented + // with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. + // Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + // +kubebuilder:validation:Optional + Seconds *string `json:"seconds,omitempty" tf:"seconds,omitempty"` +} + +type PathMatcherDefaultRouteActionURLRewriteObservation struct { +} + +type PathMatcherDefaultRouteActionURLRewriteParameters struct { + + // Prior to forwarding the request to the selected service, the request's host header is replaced + // with contents of hostRewrite. + // + // The value must be between 1 and 255 characters. + // +kubebuilder:validation:Optional + HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"` + + // Prior to forwarding the request to the selected backend service, the matching portion of the + // request's path is replaced by pathPrefixRewrite. + // + // The value must be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"` +} + +type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionObservation struct { +} + +type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters struct { + + // Headers to add to a matching request prior to forwarding the request to the backendService. + // +kubebuilder:validation:Optional + RequestHeadersToAdd []PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the request prior to + // forwarding the request to the backendService. + // +kubebuilder:validation:Optional + RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"` + + // Headers to add the response prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToAdd []PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the response prior to sending the + // response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"` +} + +type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation struct { +} + +type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters struct { + + // The name of the header to add. + // +kubebuilder:validation:Optional + HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Optional + HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the header. + // If true, headerValue is set for the header, discarding any values that were set for that header. + // +kubebuilder:validation:Optional + Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"` +} + +type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation struct { +} + +type PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters struct { + + // The name of the header to add. + // +kubebuilder:validation:Optional + HeaderName *string `json:"headerName,omitempty" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Optional + HeaderValue *string `json:"headerValue,omitempty" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the header. + // If true, headerValue is set for the header, discarding any values that were set for that header. + // +kubebuilder:validation:Optional + Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"` +} + +type PathMatcherDefaultRouteActionWeightedBackendServicesObservation struct { +} + +type PathMatcherDefaultRouteActionWeightedBackendServicesParameters struct { + + // The full or partial URL to the default BackendService resource. Before forwarding the + // request to backendService, the loadbalancer applies any relevant headerActions + // specified as part of this backendServiceWeight. + // +kubebuilder:validation:Optional + BackendService *string `json:"backendService,omitempty" tf:"backend_service,omitempty"` + + // Specifies changes to request and response headers that need to take effect for + // the selected backendService. + // + // headerAction specified here take effect before headerAction in the enclosing + // HttpRouteRule, PathMatcher and UrlMap. + // +kubebuilder:validation:Optional + HeaderAction []PathMatcherDefaultRouteActionWeightedBackendServicesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"` + + // Specifies the fraction of traffic sent to backendService, computed as + // weight / (sum of all weightedBackendService weights in routeAction) . + // + // The selection of a backend service is determined only for new traffic. Once a user's request + // has been directed to a backendService, subsequent requests will be sent to the same backendService + // as determined by the BackendService's session affinity policy. + // + // The value must be between 0 and 1000 + // +kubebuilder:validation:Optional + Weight *int64 `json:"weight,omitempty" tf:"weight,omitempty"` +} + +type PathMatcherHeaderActionObservation struct { +} + +type PathMatcherHeaderActionParameters struct { + + // Headers to add to a matching request prior to forwarding the request to the + // backendService. + // +kubebuilder:validation:Optional + RequestHeadersToAdd []PathMatcherHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the request + // prior to forwarding the request to the backendService. + // +kubebuilder:validation:Optional + RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"` + + // Headers to add the response prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToAdd []PathMatcherHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the response + // prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"` +} + +type PathMatcherHeaderActionRequestHeadersToAddObservation struct { +} + +type PathMatcherHeaderActionRequestHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type PathMatcherHeaderActionResponseHeadersToAddObservation struct { +} + +type PathMatcherHeaderActionResponseHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type PathMatcherPathRuleObservation struct { +} + +type PathMatcherPathRuleParameters struct { + + // The list of path patterns to match. Each must start with / and the only place a + // \* is allowed is at the end following a /. The string fed to the path matcher + // does not include any text after the first ? or #, and those chars are not + // allowed here. + // +kubebuilder:validation:Required + Paths []*string `json:"paths" tf:"paths,omitempty"` + + // In response to a matching path, the load balancer performs advanced routing + // actions like URL rewrites, header transformations, etc. prior to forwarding the + // request to the selected backend. If routeAction specifies any + // weightedBackendServices, service must not be set. Conversely if service is set, + // routeAction cannot contain any weightedBackendServices. Only one of routeAction + // or urlRedirect must be set. + // +kubebuilder:validation:Optional + RouteAction []PathRuleRouteActionParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"` + + // The backend service or backend bucket to use if any of the given paths match. + // +kubebuilder:validation:Optional + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // When a path pattern is matched, the request is redirected to a URL specified + // by urlRedirect. If urlRedirect is specified, service or routeAction must not + // be set. + // +kubebuilder:validation:Optional + URLRedirect []PathRuleURLRedirectParameters `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"` +} + +type PathMatcherRouteRulesHeaderActionObservation struct { +} + +type PathMatcherRouteRulesHeaderActionParameters struct { + + // Headers to add to a matching request prior to forwarding the request to the + // backendService. + // +kubebuilder:validation:Optional + RequestHeadersToAdd []RouteRulesHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the request + // prior to forwarding the request to the backendService. + // +kubebuilder:validation:Optional + RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"` + + // Headers to add the response prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToAdd []RouteRulesHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the response + // prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"` +} + +type PathMatcherRouteRulesObservation struct { +} + +type PathMatcherRouteRulesParameters struct { + + // Specifies changes to request and response headers that need to take effect for + // the selected backendService. The headerAction specified here are applied before + // the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].r + // outeAction.weightedBackendService.backendServiceWeightAction[].headerAction + // +kubebuilder:validation:Optional + HeaderAction []PathMatcherRouteRulesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"` + + // The rules for determining a match. + // +kubebuilder:validation:Optional + MatchRules []RouteRulesMatchRulesParameters `json:"matchRules,omitempty" tf:"match_rules,omitempty"` + + // For routeRules within a given pathMatcher, priority determines the order + // in which load balancer will interpret routeRules. RouteRules are evaluated + // in order of priority, from the lowest to highest number. The priority of + // a rule decreases as its number increases (1, 2, 3, N+1). The first rule + // that matches the request is applied. + // + // You cannot configure two or more routeRules with the same priority. + // Priority for each rule must be set to a number between 0 and + // 2147483647 inclusive. + // + // Priority numbers can have gaps, which enable you to add or remove rules + // in the future without affecting the rest of the rules. For example, + // 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which + // you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the + // future without any impact on existing rules. + // +kubebuilder:validation:Required + Priority *int64 `json:"priority" tf:"priority,omitempty"` + + // In response to a matching matchRule, the load balancer performs advanced routing + // actions like URL rewrites, header transformations, etc. prior to forwarding the + // request to the selected backend. If routeAction specifies any + // weightedBackendServices, service must not be set. Conversely if service is set, + // routeAction cannot contain any weightedBackendServices. Only one of routeAction + // or urlRedirect must be set. + // +kubebuilder:validation:Optional + RouteAction []PathMatcherRouteRulesRouteActionParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"` + + // The backend service resource to which traffic is + // directed if this rule is matched. If routeAction is additionally specified, + // advanced routing actions like URL Rewrites, etc. take effect prior to sending + // the request to the backend. However, if service is specified, routeAction cannot + // contain any weightedBackendService s. Conversely, if routeAction specifies any + // weightedBackendServices, service must not be specified. Only one of urlRedirect, + // service or routeAction.weightedBackendService must be set. + // +kubebuilder:validation:Optional + Service *string `json:"service,omitempty" tf:"service,omitempty"` + + // When this rule is matched, the request is redirected to a URL specified by + // urlRedirect. If urlRedirect is specified, service or routeAction must not be + // set. + // +kubebuilder:validation:Optional + URLRedirect []PathMatcherRouteRulesURLRedirectParameters `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"` +} + +type PathMatcherRouteRulesRouteActionObservation struct { +} + +type PathMatcherRouteRulesRouteActionParameters struct { + + // The specification for allowing client side cross-origin requests. Please see W3C + // Recommendation for Cross Origin Resource Sharing + // +kubebuilder:validation:Optional + CorsPolicy []RouteRulesRouteActionCorsPolicyParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"` + + // The specification for fault injection introduced into traffic to test the + // resiliency of clients to backend service failure. As part of fault injection, + // when clients send requests to a backend service, delays can be introduced by + // Loadbalancer on a percentage of requests before sending those request to the + // backend service. Similarly requests from clients can be aborted by the + // Loadbalancer for a percentage of requests. timeout and retry_policy will be + // ignored by clients that are configured with a fault_injection_policy. + // +kubebuilder:validation:Optional + FaultInjectionPolicy []RouteRulesRouteActionFaultInjectionPolicyParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"` + + // Specifies the policy on how requests intended for the route's backends are + // shadowed to a separate mirrored backend service. Loadbalancer does not wait for + // responses from the shadow service. Prior to sending traffic to the shadow + // service, the host / authority header is suffixed with -shadow. + // +kubebuilder:validation:Optional + RequestMirrorPolicy []RouteRulesRouteActionRequestMirrorPolicyParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"` + + // Specifies the retry policy associated with this route. + // +kubebuilder:validation:Optional + RetryPolicy []RouteRulesRouteActionRetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"` + + // Specifies the timeout for the selected route. Timeout is computed from the time + // the request is has been fully processed (i.e. end-of-stream) up until the + // response has been completely processed. Timeout includes all retries. If not + // specified, the default value is 15 seconds. + // +kubebuilder:validation:Optional + Timeout []RouteRulesRouteActionTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"` + + // The spec to modify the URL of the request, prior to forwarding the request to + // the matched service + // +kubebuilder:validation:Optional + URLRewrite []RouteRulesRouteActionURLRewriteParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"` + + // A list of weighted backend services to send traffic to when a route match + // occurs. The weights determine the fraction of traffic that flows to their + // corresponding backend service. If all traffic needs to go to a single backend + // service, there must be one weightedBackendService with weight set to a non 0 + // number. Once a backendService is identified and before forwarding the request to + // the backend service, advanced routing actions like Url rewrites and header + // transformations are applied depending on additional settings specified in this + // HttpRouteAction. + // +kubebuilder:validation:Optional + WeightedBackendServices []RouteRulesRouteActionWeightedBackendServicesParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"` +} + +type PathMatcherRouteRulesURLRedirectObservation struct { +} + +type PathMatcherRouteRulesURLRedirectParameters struct { + + // If set to true, the URL scheme in the redirected request is set to https. If set + // to false, the URL scheme of the redirected request will remain the same as that + // of the request. This must only be set for UrlMaps used in TargetHttpProxys. + // Setting this true for TargetHttpsProxy is not permitted. Defaults to false. + // +kubebuilder:validation:Optional + HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"` + + // The host that will be used in the redirect response instead of the one that was + // supplied in the request. The value must be between 1 and 255 characters. + // +kubebuilder:validation:Optional + HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"` + + // The path that will be used in the redirect response instead of the one that was + // supplied in the request. Only one of pathRedirect or prefixRedirect must be + // specified. The value must be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"` + + // The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, + // retaining the remaining portion of the URL before redirecting the request. + // +kubebuilder:validation:Optional + PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"` + + // The HTTP Status code to use for this RedirectAction. Supported values are: + // + // * MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. + // + // * FOUND, which corresponds to 302. + // + // * SEE_OTHER which corresponds to 303. + // + // * TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method will be retained. + // + // * PERMANENT_REDIRECT, which corresponds to 308. In this case, the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"] + // +kubebuilder:validation:Optional + RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"` + + // If set to true, any accompanying query portion of the original URL is removed + // prior to redirecting the request. If set to false, the query portion of the + // original URL is retained. Defaults to false. + // +kubebuilder:validation:Optional + StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"` +} + +type PathRuleRouteActionCorsPolicyObservation struct { +} + +type PathRuleRouteActionCorsPolicyParameters struct { + + // In response to a preflight request, setting this to true indicates that the + // actual request can include user credentials. This translates to the Access- + // Control-Allow-Credentials header. Defaults to false. + // +kubebuilder:validation:Optional + AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"` + + // Specifies the content for the Access-Control-Allow-Headers header. + // +kubebuilder:validation:Optional + AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"` + + // Specifies the content for the Access-Control-Allow-Methods header. + // +kubebuilder:validation:Optional + AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"` + + // Specifies the regular expression patterns that match allowed origins. For + // regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript + // An origin is allowed if it matches either allow_origins or allow_origin_regex. + // +kubebuilder:validation:Optional + AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"` + + // Specifies the list of origins that will be allowed to do CORS requests. An + // origin is allowed if it matches either allow_origins or allow_origin_regex. + // +kubebuilder:validation:Optional + AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"` + + // If true, specifies the CORS policy is disabled. + // +kubebuilder:validation:Required + Disabled *bool `json:"disabled" tf:"disabled,omitempty"` + + // Specifies the content for the Access-Control-Expose-Headers header. + // +kubebuilder:validation:Optional + ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"` + + // Specifies how long the results of a preflight request can be cached. This + // translates to the content for the Access-Control-Max-Age header. + // +kubebuilder:validation:Optional + MaxAge *int64 `json:"maxAge,omitempty" tf:"max_age,omitempty"` +} + +type PathRuleRouteActionFaultInjectionPolicyObservation struct { +} + +type PathRuleRouteActionFaultInjectionPolicyParameters struct { + + // The specification for how client requests are aborted as part of fault + // injection. + // +kubebuilder:validation:Optional + Abort []RouteActionFaultInjectionPolicyAbortParameters `json:"abort,omitempty" tf:"abort,omitempty"` + + // The specification for how client requests are delayed as part of fault + // injection, before being sent to a backend service. + // +kubebuilder:validation:Optional + Delay []RouteActionFaultInjectionPolicyDelayParameters `json:"delay,omitempty" tf:"delay,omitempty"` +} + +type PathRuleRouteActionObservation struct { +} + +type PathRuleRouteActionParameters struct { + + // The specification for allowing client side cross-origin requests. Please see W3C + // Recommendation for Cross Origin Resource Sharing + // +kubebuilder:validation:Optional + CorsPolicy []PathRuleRouteActionCorsPolicyParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"` + + // The specification for fault injection introduced into traffic to test the + // resiliency of clients to backend service failure. As part of fault injection, + // when clients send requests to a backend service, delays can be introduced by + // Loadbalancer on a percentage of requests before sending those request to the + // backend service. Similarly requests from clients can be aborted by the + // Loadbalancer for a percentage of requests. timeout and retry_policy will be + // ignored by clients that are configured with a fault_injection_policy. + // +kubebuilder:validation:Optional + FaultInjectionPolicy []PathRuleRouteActionFaultInjectionPolicyParameters `json:"faultInjectionPolicy,omitempty" tf:"fault_injection_policy,omitempty"` + + // Specifies the policy on how requests intended for the route's backends are + // shadowed to a separate mirrored backend service. Loadbalancer does not wait for + // responses from the shadow service. Prior to sending traffic to the shadow + // service, the host / authority header is suffixed with -shadow. + // +kubebuilder:validation:Optional + RequestMirrorPolicy []PathRuleRouteActionRequestMirrorPolicyParameters `json:"requestMirrorPolicy,omitempty" tf:"request_mirror_policy,omitempty"` + + // Specifies the retry policy associated with this route. + // +kubebuilder:validation:Optional + RetryPolicy []PathRuleRouteActionRetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"` + + // Specifies the timeout for the selected route. Timeout is computed from the time + // the request is has been fully processed (i.e. end-of-stream) up until the + // response has been completely processed. Timeout includes all retries. If not + // specified, the default value is 15 seconds. + // +kubebuilder:validation:Optional + Timeout []PathRuleRouteActionTimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"` + + // The spec to modify the URL of the request, prior to forwarding the request to + // the matched service + // +kubebuilder:validation:Optional + URLRewrite []PathRuleRouteActionURLRewriteParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"` + + // A list of weighted backend services to send traffic to when a route match + // occurs. The weights determine the fraction of traffic that flows to their + // corresponding backend service. If all traffic needs to go to a single backend + // service, there must be one weightedBackendService with weight set to a non 0 + // number. Once a backendService is identified and before forwarding the request to + // the backend service, advanced routing actions like Url rewrites and header + // transformations are applied depending on additional settings specified in this + // HttpRouteAction. + // +kubebuilder:validation:Optional + WeightedBackendServices []PathRuleRouteActionWeightedBackendServicesParameters `json:"weightedBackendServices,omitempty" tf:"weighted_backend_services,omitempty"` +} + +type PathRuleRouteActionRequestMirrorPolicyObservation struct { +} + +type PathRuleRouteActionRequestMirrorPolicyParameters struct { + + // The BackendService resource being mirrored to. + // +kubebuilder:validation:Required + BackendService *string `json:"backendService" tf:"backend_service,omitempty"` +} + +type PathRuleRouteActionRetryPolicyObservation struct { +} + +type PathRuleRouteActionRetryPolicyParameters struct { + + // Specifies the allowed number retries. This number must be > 0. + // +kubebuilder:validation:Optional + NumRetries *int64 `json:"numRetries,omitempty" tf:"num_retries,omitempty"` + + // Specifies a non-zero timeout per retry attempt. + // +kubebuilder:validation:Optional + PerTryTimeout []RouteActionRetryPolicyPerTryTimeoutParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"` + + // Specifies one or more conditions when this retry rule applies. Valid values are: + // + // * 5xx: Loadbalancer will attempt a retry if the backend service responds with + // any 5xx response code, or if the backend service does not respond at all, + // example: disconnects, reset, read timeout, connection failure, and refused + // streams. + // * gateway-error: Similar to 5xx, but only applies to response codes + // 502, 503 or 504. + // * connect-failure: Loadbalancer will retry on failures + // connecting to backend services, for example due to connection timeouts. + // * retriable-4xx: Loadbalancer will retry for retriable 4xx response codes. + // Currently the only retriable error supported is 409. + // * refused-stream: Loadbalancer will retry if the backend service resets the stream with a + // REFUSED_STREAM error code. This reset type indicates that it is safe to retry. + // * cancelled: Loadbalancer will retry if the gRPC status code in the response + // header is set to cancelled + // * deadline-exceeded: Loadbalancer will retry if the + // gRPC status code in the response header is set to deadline-exceeded + // * resource-exhausted: Loadbalancer will retry if the gRPC status code in the response + // header is set to resource-exhausted + // * unavailable: Loadbalancer will retry if + // the gRPC status code in the response header is set to unavailable + // +kubebuilder:validation:Optional + RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"` +} + +type PathRuleRouteActionTimeoutObservation struct { +} + +type PathRuleRouteActionTimeoutParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *string `json:"seconds" tf:"seconds,omitempty"` +} + +type PathRuleRouteActionURLRewriteObservation struct { +} + +type PathRuleRouteActionURLRewriteParameters struct { + + // Prior to forwarding the request to the selected service, the request's host + // header is replaced with contents of hostRewrite. The value must be between 1 and + // 255 characters. + // +kubebuilder:validation:Optional + HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"` + + // Prior to forwarding the request to the selected backend service, the matching + // portion of the request's path is replaced by pathPrefixRewrite. The value must + // be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"` +} + +type PathRuleRouteActionWeightedBackendServicesObservation struct { +} + +type PathRuleRouteActionWeightedBackendServicesParameters struct { + + // The default BackendService resource. Before + // forwarding the request to backendService, the loadbalancer applies any relevant + // headerActions specified as part of this backendServiceWeight. + // +kubebuilder:validation:Required + BackendService *string `json:"backendService" tf:"backend_service,omitempty"` + + // Specifies changes to request and response headers that need to take effect for + // the selected backendService. headerAction specified here take effect before + // headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap. + // +kubebuilder:validation:Optional + HeaderAction []RouteActionWeightedBackendServicesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"` + + // Specifies the fraction of traffic sent to backendService, computed as weight / + // (sum of all weightedBackendService weights in routeAction) . The selection of a + // backend service is determined only for new traffic. Once a user's request has + // been directed to a backendService, subsequent requests will be sent to the same + // backendService as determined by the BackendService's session affinity policy. + // The value must be between 0 and 1000 + // +kubebuilder:validation:Required + Weight *int64 `json:"weight" tf:"weight,omitempty"` +} + +type PathRuleURLRedirectObservation struct { +} + +type PathRuleURLRedirectParameters struct { + + // If set to true, the URL scheme in the redirected request is set to https. + // If set to false, the URL scheme of the redirected request will remain the + // same as that of the request. This must only be set for UrlMaps used in + // TargetHttpProxys. Setting this true for TargetHttpsProxy is not + // permitted. The default is set to false. + // +kubebuilder:validation:Optional + HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"` + + // The host that will be used in the redirect response instead of the one + // that was supplied in the request. The value must be between 1 and 255 + // characters. + // +kubebuilder:validation:Optional + HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"` + + // The path that will be used in the redirect response instead of the one + // that was supplied in the request. pathRedirect cannot be supplied + // together with prefixRedirect. Supply one alone or neither. If neither is + // supplied, the path of the original request will be used for the redirect. + // The value must be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"` + + // The prefix that replaces the prefixMatch specified in the + // HttpRouteRuleMatch, retaining the remaining portion of the URL before + // redirecting the request. prefixRedirect cannot be supplied together with + // pathRedirect. Supply one alone or neither. If neither is supplied, the + // path of the original request will be used for the redirect. The value + // must be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"` + + // The HTTP Status code to use for this RedirectAction. Supported values are: + // + // * MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. + // + // * FOUND, which corresponds to 302. + // + // * SEE_OTHER which corresponds to 303. + // + // * TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method + // will be retained. + // + // * PERMANENT_REDIRECT, which corresponds to 308. In this case, + // the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"] + // +kubebuilder:validation:Optional + RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"` + + // If set to true, any accompanying query portion of the original URL is + // removed prior to redirecting the request. If set to false, the query + // portion of the original URL is retained. + // This field is required to ensure an empty block is not set. The normal default value is false. + // +kubebuilder:validation:Required + StripQuery *bool `json:"stripQuery" tf:"strip_query,omitempty"` +} + +type RouteActionFaultInjectionPolicyAbortObservation struct { +} + +type RouteActionFaultInjectionPolicyAbortParameters struct { + + // The HTTP status code used to abort the request. The value must be between 200 + // and 599 inclusive. + // +kubebuilder:validation:Required + HTTPStatus *int64 `json:"httpStatus" tf:"http_status,omitempty"` + + // The percentage of traffic (connections/operations/requests) which will be + // aborted as part of fault injection. The value must be between 0.0 and 100.0 + // inclusive. + // +kubebuilder:validation:Required + Percentage *float64 `json:"percentage" tf:"percentage,omitempty"` +} + +type RouteActionFaultInjectionPolicyDelayFixedDelayObservation struct { +} + +type RouteActionFaultInjectionPolicyDelayFixedDelayParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *string `json:"seconds" tf:"seconds,omitempty"` +} + +type RouteActionFaultInjectionPolicyDelayObservation struct { +} + +type RouteActionFaultInjectionPolicyDelayParameters struct { + + // Specifies the value of the fixed delay interval. + // +kubebuilder:validation:Required + FixedDelay []RouteActionFaultInjectionPolicyDelayFixedDelayParameters `json:"fixedDelay" tf:"fixed_delay,omitempty"` + + // The percentage of traffic (connections/operations/requests) on which delay will + // be introduced as part of fault injection. The value must be between 0.0 and + // 100.0 inclusive. + // +kubebuilder:validation:Required + Percentage *float64 `json:"percentage" tf:"percentage,omitempty"` +} + +type RouteActionRetryPolicyPerTryTimeoutObservation struct { +} + +type RouteActionRetryPolicyPerTryTimeoutParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *string `json:"seconds" tf:"seconds,omitempty"` +} + +type RouteActionWeightedBackendServicesHeaderActionObservation struct { +} + +type RouteActionWeightedBackendServicesHeaderActionParameters struct { + + // Headers to add to a matching request prior to forwarding the request to the + // backendService. + // +kubebuilder:validation:Optional + RequestHeadersToAdd []RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the request + // prior to forwarding the request to the backendService. + // +kubebuilder:validation:Optional + RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"` + + // Headers to add the response prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToAdd []RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the response + // prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"` +} + +type RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation struct { +} + +type RouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation struct { +} + +type RouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type RouteRulesHeaderActionRequestHeadersToAddObservation struct { +} + +type RouteRulesHeaderActionRequestHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type RouteRulesHeaderActionResponseHeadersToAddObservation struct { +} + +type RouteRulesHeaderActionResponseHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type RouteRulesMatchRulesMetadataFiltersObservation struct { +} + +type RouteRulesMatchRulesMetadataFiltersParameters struct { + + // The list of label value pairs that must match labels in the provided metadata + // based on filterMatchCriteria This list must not be empty and can have at the + // most 64 entries. + // +kubebuilder:validation:Required + FilterLabels []MatchRulesMetadataFiltersFilterLabelsParameters `json:"filterLabels" tf:"filter_labels,omitempty"` + + // Specifies how individual filterLabel matches within the list of filterLabels + // contribute towards the overall metadataFilter match. Supported values are: + // - MATCH_ANY: At least one of the filterLabels must have a matching label in the + // provided metadata. + // - MATCH_ALL: All filterLabels must have matching labels in + // the provided metadata. Possible values: ["MATCH_ALL", "MATCH_ANY"] + // +kubebuilder:validation:Required + FilterMatchCriteria *string `json:"filterMatchCriteria" tf:"filter_match_criteria,omitempty"` +} + +type RouteRulesMatchRulesObservation struct { +} + +type RouteRulesMatchRulesParameters struct { + + // For satisfying the matchRule condition, the path of the request must exactly + // match the value specified in fullPathMatch after removing any query parameters + // and anchor that may be part of the original URL. FullPathMatch must be between 1 + // and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must + // be specified. + // +kubebuilder:validation:Optional + FullPathMatch *string `json:"fullPathMatch,omitempty" tf:"full_path_match,omitempty"` + + // Specifies a list of header match criteria, all of which must match corresponding + // headers in the request. + // +kubebuilder:validation:Optional + HeaderMatches []MatchRulesHeaderMatchesParameters `json:"headerMatches,omitempty" tf:"header_matches,omitempty"` + + // Specifies that prefixMatch and fullPathMatch matches are case sensitive. + // Defaults to false. + // +kubebuilder:validation:Optional + IgnoreCase *bool `json:"ignoreCase,omitempty" tf:"ignore_case,omitempty"` + + // Opaque filter criteria used by Loadbalancer to restrict routing configuration to + // a limited set xDS compliant clients. In their xDS requests to Loadbalancer, xDS + // clients present node metadata. If a match takes place, the relevant routing + // configuration is made available to those proxies. For each metadataFilter in + // this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the + // filterLabels must match the corresponding label provided in the metadata. If its + // filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match + // with corresponding labels in the provided metadata. metadataFilters specified + // here can be overrides those specified in ForwardingRule that refers to this + // UrlMap. metadataFilters only applies to Loadbalancers that have their + // loadBalancingScheme set to INTERNAL_SELF_MANAGED. + // +kubebuilder:validation:Optional + MetadataFilters []RouteRulesMatchRulesMetadataFiltersParameters `json:"metadataFilters,omitempty" tf:"metadata_filters,omitempty"` + + // For satisfying the matchRule condition, the request's path must begin with the + // specified prefixMatch. prefixMatch must begin with a /. The value must be + // between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or + // regexMatch must be specified. + // +kubebuilder:validation:Optional + PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"` + + // Specifies a list of query parameter match criteria, all of which must match + // corresponding query parameters in the request. + // +kubebuilder:validation:Optional + QueryParameterMatches []MatchRulesQueryParameterMatchesParameters `json:"queryParameterMatches,omitempty" tf:"query_parameter_matches,omitempty"` + + // For satisfying the matchRule condition, the path of the request must satisfy the + // regular expression specified in regexMatch after removing any query parameters + // and anchor supplied with the original URL. For regular expression grammar please + // see en.cppreference.com/w/cpp/regex/ecmascript Only one of prefixMatch, + // fullPathMatch or regexMatch must be specified. + // +kubebuilder:validation:Optional + RegexMatch *string `json:"regexMatch,omitempty" tf:"regex_match,omitempty"` +} + +type RouteRulesRouteActionCorsPolicyObservation struct { +} + +type RouteRulesRouteActionCorsPolicyParameters struct { + + // In response to a preflight request, setting this to true indicates that the + // actual request can include user credentials. This translates to the Access- + // Control-Allow-Credentials header. Defaults to false. + // +kubebuilder:validation:Optional + AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"` + + // Specifies the content for the Access-Control-Allow-Headers header. + // +kubebuilder:validation:Optional + AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"` + + // Specifies the content for the Access-Control-Allow-Methods header. + // +kubebuilder:validation:Optional + AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"` + + // Specifies the regular expression patterns that match allowed origins. For + // regular expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript + // An origin is allowed if it matches either allow_origins or allow_origin_regex. + // +kubebuilder:validation:Optional + AllowOriginRegexes []*string `json:"allowOriginRegexes,omitempty" tf:"allow_origin_regexes,omitempty"` + + // Specifies the list of origins that will be allowed to do CORS requests. An + // origin is allowed if it matches either allow_origins or allow_origin_regex. + // +kubebuilder:validation:Optional + AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"` + + // If true, specifies the CORS policy is disabled. + // which indicates that the CORS policy is in effect. Defaults to false. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // Specifies the content for the Access-Control-Expose-Headers header. + // +kubebuilder:validation:Optional + ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"` + + // Specifies how long the results of a preflight request can be cached. This + // translates to the content for the Access-Control-Max-Age header. + // +kubebuilder:validation:Optional + MaxAge *int64 `json:"maxAge,omitempty" tf:"max_age,omitempty"` +} + +type RouteRulesRouteActionFaultInjectionPolicyAbortObservation struct { +} + +type RouteRulesRouteActionFaultInjectionPolicyAbortParameters struct { + + // The HTTP status code used to abort the request. The value must be between 200 + // and 599 inclusive. + // +kubebuilder:validation:Optional + HTTPStatus *int64 `json:"httpStatus,omitempty" tf:"http_status,omitempty"` + + // The percentage of traffic (connections/operations/requests) which will be + // aborted as part of fault injection. The value must be between 0.0 and 100.0 + // inclusive. + // +kubebuilder:validation:Optional + Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"` +} + +type RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayObservation struct { +} + +type RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *string `json:"seconds" tf:"seconds,omitempty"` +} + +type RouteRulesRouteActionFaultInjectionPolicyDelayObservation struct { +} + +type RouteRulesRouteActionFaultInjectionPolicyDelayParameters struct { + + // Specifies the value of the fixed delay interval. + // +kubebuilder:validation:Optional + FixedDelay []RouteRulesRouteActionFaultInjectionPolicyDelayFixedDelayParameters `json:"fixedDelay,omitempty" tf:"fixed_delay,omitempty"` + + // The percentage of traffic (connections/operations/requests) on which delay will + // be introduced as part of fault injection. The value must be between 0.0 and + // 100.0 inclusive. + // +kubebuilder:validation:Optional + Percentage *float64 `json:"percentage,omitempty" tf:"percentage,omitempty"` +} + +type RouteRulesRouteActionFaultInjectionPolicyObservation struct { +} + +type RouteRulesRouteActionFaultInjectionPolicyParameters struct { + + // The specification for how client requests are aborted as part of fault + // injection. + // +kubebuilder:validation:Optional + Abort []RouteRulesRouteActionFaultInjectionPolicyAbortParameters `json:"abort,omitempty" tf:"abort,omitempty"` + + // The specification for how client requests are delayed as part of fault + // injection, before being sent to a backend service. + // +kubebuilder:validation:Optional + Delay []RouteRulesRouteActionFaultInjectionPolicyDelayParameters `json:"delay,omitempty" tf:"delay,omitempty"` +} + +type RouteRulesRouteActionRequestMirrorPolicyObservation struct { +} + +type RouteRulesRouteActionRequestMirrorPolicyParameters struct { + + // The BackendService resource being mirrored to. + // +kubebuilder:validation:Required + BackendService *string `json:"backendService" tf:"backend_service,omitempty"` +} + +type RouteRulesRouteActionRetryPolicyObservation struct { +} + +type RouteRulesRouteActionRetryPolicyParameters struct { + + // Specifies the allowed number retries. This number must be > 0. + // +kubebuilder:validation:Required + NumRetries *int64 `json:"numRetries" tf:"num_retries,omitempty"` + + // Specifies a non-zero timeout per retry attempt. + // If not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction + // is not set, will use the largest timeout among all backend services associated with the route. + // +kubebuilder:validation:Optional + PerTryTimeout []RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters `json:"perTryTimeout,omitempty" tf:"per_try_timeout,omitempty"` + + // Specfies one or more conditions when this retry rule applies. Valid values are: + // + // * 5xx: Loadbalancer will attempt a retry if the backend service responds with + // any 5xx response code, or if the backend service does not respond at all, + // example: disconnects, reset, read timeout, connection failure, and refused + // streams. + // * gateway-error: Similar to 5xx, but only applies to response codes + // 502, 503 or 504. + // * connect-failure: Loadbalancer will retry on failures + // connecting to backend services, for example due to connection timeouts. + // * retriable-4xx: Loadbalancer will retry for retriable 4xx response codes. + // Currently the only retriable error supported is 409. + // * refused-stream: Loadbalancer will retry if the backend service resets the stream with a + // REFUSED_STREAM error code. This reset type indicates that it is safe to retry. + // * cancelled: Loadbalancer will retry if the gRPC status code in the response + // header is set to cancelled + // * deadline-exceeded: Loadbalancer will retry if the + // gRPC status code in the response header is set to deadline-exceeded + // * resource-exhausted: Loadbalancer will retry if the gRPC status code in the response + // header is set to resource-exhausted + // * unavailable: Loadbalancer will retry if the gRPC status code in + // the response header is set to unavailable + // +kubebuilder:validation:Optional + RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"` +} + +type RouteRulesRouteActionRetryPolicyPerTryTimeoutObservation struct { +} + +type RouteRulesRouteActionRetryPolicyPerTryTimeoutParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *string `json:"seconds" tf:"seconds,omitempty"` +} + +type RouteRulesRouteActionTimeoutObservation struct { +} + +type RouteRulesRouteActionTimeoutParameters struct { + + // Span of time that's a fraction of a second at nanosecond resolution. Durations + // less than one second are represented with a 0 'seconds' field and a positive + // 'nanos' field. Must be from 0 to 999,999,999 inclusive. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + // inclusive. + // +kubebuilder:validation:Required + Seconds *string `json:"seconds" tf:"seconds,omitempty"` +} + +type RouteRulesRouteActionURLRewriteObservation struct { +} + +type RouteRulesRouteActionURLRewriteParameters struct { + + // Prior to forwarding the request to the selected service, the request's host + // header is replaced with contents of hostRewrite. The value must be between 1 and + // 255 characters. + // +kubebuilder:validation:Optional + HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"` + + // Prior to forwarding the request to the selected backend service, the matching + // portion of the request's path is replaced by pathPrefixRewrite. The value must + // be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"` +} + +type RouteRulesRouteActionWeightedBackendServicesHeaderActionObservation struct { +} + +type RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters struct { + + // Headers to add to a matching request prior to forwarding the request to the + // backendService. + // +kubebuilder:validation:Optional + RequestHeadersToAdd []RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the request + // prior to forwarding the request to the backendService. + // +kubebuilder:validation:Optional + RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"` + + // Headers to add the response prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToAdd []RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the response + // prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"` +} + +type RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddObservation struct { +} + +type RouteRulesRouteActionWeightedBackendServicesHeaderActionRequestHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddObservation struct { +} + +type RouteRulesRouteActionWeightedBackendServicesHeaderActionResponseHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type RouteRulesRouteActionWeightedBackendServicesObservation struct { +} + +type RouteRulesRouteActionWeightedBackendServicesParameters struct { + + // The default BackendService resource. Before + // forwarding the request to backendService, the loadbalancer applies any relevant + // headerActions specified as part of this backendServiceWeight. + // +kubebuilder:validation:Required + BackendService *string `json:"backendService" tf:"backend_service,omitempty"` + + // Specifies changes to request and response headers that need to take effect for + // the selected backendService. headerAction specified here take effect before + // headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap. + // +kubebuilder:validation:Optional + HeaderAction []RouteRulesRouteActionWeightedBackendServicesHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"` + + // Specifies the fraction of traffic sent to backendService, computed as weight / + // (sum of all weightedBackendService weights in routeAction) . The selection of a + // backend service is determined only for new traffic. Once a user's request has + // been directed to a backendService, subsequent requests will be sent to the same + // backendService as determined by the BackendService's session affinity policy. + // The value must be between 0 and 1000 + // +kubebuilder:validation:Required + Weight *int64 `json:"weight" tf:"weight,omitempty"` +} + +type URLMapDefaultURLRedirectObservation struct { +} + +type URLMapDefaultURLRedirectParameters struct { + + // If set to true, the URL scheme in the redirected request is set to https. If set to + // false, the URL scheme of the redirected request will remain the same as that of the + // request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this + // true for TargetHttpsProxy is not permitted. The default is set to false. + // +kubebuilder:validation:Optional + HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"` + + // The host that will be used in the redirect response instead of the one that was + // supplied in the request. The value must be between 1 and 255 characters. + // +kubebuilder:validation:Optional + HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"` + + // The path that will be used in the redirect response instead of the one that was + // supplied in the request. pathRedirect cannot be supplied together with + // prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the + // original request will be used for the redirect. The value must be between 1 and 1024 + // characters. + // +kubebuilder:validation:Optional + PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"` + + // The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, + // retaining the remaining portion of the URL before redirecting the request. + // prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or + // neither. If neither is supplied, the path of the original request will be used for + // the redirect. The value must be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"` + + // The HTTP Status code to use for this RedirectAction. Supported values are: + // + // * MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. + // + // * FOUND, which corresponds to 302. + // + // * SEE_OTHER which corresponds to 303. + // + // * TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method + // will be retained. + // + // * PERMANENT_REDIRECT, which corresponds to 308. In this case, + // the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"] + // +kubebuilder:validation:Optional + RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"` + + // If set to true, any accompanying query portion of the original URL is removed prior + // to redirecting the request. If set to false, the query portion of the original URL is + // retained. The default is set to false. + // This field is required to ensure an empty block is not set. The normal default value is false. + // +kubebuilder:validation:Required + StripQuery *bool `json:"stripQuery" tf:"strip_query,omitempty"` +} + +type URLMapHeaderActionObservation struct { +} + +type URLMapHeaderActionParameters struct { + + // Headers to add to a matching request prior to forwarding the request to the + // backendService. + // +kubebuilder:validation:Optional + RequestHeadersToAdd []URLMapHeaderActionRequestHeadersToAddParameters `json:"requestHeadersToAdd,omitempty" tf:"request_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the request + // prior to forwarding the request to the backendService. + // +kubebuilder:validation:Optional + RequestHeadersToRemove []*string `json:"requestHeadersToRemove,omitempty" tf:"request_headers_to_remove,omitempty"` + + // Headers to add the response prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToAdd []URLMapHeaderActionResponseHeadersToAddParameters `json:"responseHeadersToAdd,omitempty" tf:"response_headers_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the response + // prior to sending the response back to the client. + // +kubebuilder:validation:Optional + ResponseHeadersToRemove []*string `json:"responseHeadersToRemove,omitempty" tf:"response_headers_to_remove,omitempty"` +} + +type URLMapHeaderActionRequestHeadersToAddObservation struct { +} + +type URLMapHeaderActionRequestHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type URLMapHeaderActionResponseHeadersToAddObservation struct { +} + +type URLMapHeaderActionResponseHeadersToAddParameters struct { + + // The name of the header. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // If false, headerValue is appended to any values that already exist for the + // header. If true, headerValue is set for the header, discarding any values that + // were set for that header. + // +kubebuilder:validation:Required + Replace *bool `json:"replace" tf:"replace,omitempty"` +} + +type URLMapHostRuleObservation struct { +} + +type URLMapHostRuleParameters struct { + + // An optional description of this resource. Provide this property when you create + // the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The list of host patterns to match. They must be valid hostnames, except * will + // match any string of ([a-z0-9-.]*). In that case, * must be the first character + // and must be followed in the pattern by either - or .. + // +kubebuilder:validation:Required + Hosts []*string `json:"hosts" tf:"hosts,omitempty"` + + // The name of the PathMatcher to use to match the path portion of the URL if the + // hostRule matches the URL's host portion. + // +kubebuilder:validation:Required + PathMatcher *string `json:"pathMatcher" tf:"path_matcher,omitempty"` +} + +type URLMapObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + MapID *int64 `json:"mapId,omitempty" tf:"map_id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type URLMapParameters struct { + + // defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions + // like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. + // If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService + // is set, defaultRouteAction cannot contain any weightedBackendServices. + // + // Only one of defaultRouteAction or defaultUrlRedirect must be set. + // +kubebuilder:validation:Optional + DefaultRouteAction []DefaultRouteActionParameters `json:"defaultRouteAction,omitempty" tf:"default_route_action,omitempty"` + + // The backend service or backend bucket to use when none of the given rules match. + // +kubebuilder:validation:Optional + DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"` + + // When none of the specified hostRules match, the request is redirected to a URL specified + // by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or + // defaultRouteAction must not be set. + // +kubebuilder:validation:Optional + DefaultURLRedirect []URLMapDefaultURLRedirectParameters `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"` + + // An optional description of this resource. Provide this property when you create + // the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Specifies changes to request and response headers that need to take effect for + // the selected backendService. The headerAction specified here take effect after + // headerAction specified under pathMatcher. + // +kubebuilder:validation:Optional + HeaderAction []URLMapHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"` + + // The list of HostRules to use against the URL. + // +kubebuilder:validation:Optional + HostRule []URLMapHostRuleParameters `json:"hostRule,omitempty" tf:"host_rule,omitempty"` + + // Name of the resource. Provided by the client when the resource is created. The + // name must be 1-63 characters long, and comply with RFC1035. Specifically, the + // name must be 1-63 characters long and match the regular expression + // '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character must be a lowercase + // letter, and all following characters must be a dash, lowercase letter, or digit, + // except the last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The list of named PathMatchers to use against the URL. + // +kubebuilder:validation:Optional + PathMatcher []URLMapPathMatcherParameters `json:"pathMatcher,omitempty" tf:"path_matcher,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The list of expected URL mapping tests. Request to update this UrlMap will + // succeed only if all of the test cases pass. You can specify a maximum of 100 + // tests per UrlMap. + // +kubebuilder:validation:Optional + Test []URLMapTestParameters `json:"test,omitempty" tf:"test,omitempty"` +} + +type URLMapPathMatcherDefaultURLRedirectObservation struct { +} + +type URLMapPathMatcherDefaultURLRedirectParameters struct { + + // If set to true, the URL scheme in the redirected request is set to https. If set to + // false, the URL scheme of the redirected request will remain the same as that of the + // request. This must only be set for UrlMaps used in TargetHttpProxys. Setting this + // true for TargetHttpsProxy is not permitted. The default is set to false. + // +kubebuilder:validation:Optional + HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"` + + // The host that will be used in the redirect response instead of the one that was + // supplied in the request. The value must be between 1 and 255 characters. + // +kubebuilder:validation:Optional + HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"` + + // The path that will be used in the redirect response instead of the one that was + // supplied in the request. pathRedirect cannot be supplied together with + // prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the + // original request will be used for the redirect. The value must be between 1 and 1024 + // characters. + // +kubebuilder:validation:Optional + PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"` + + // The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, + // retaining the remaining portion of the URL before redirecting the request. + // prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or + // neither. If neither is supplied, the path of the original request will be used for + // the redirect. The value must be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"` + + // The HTTP Status code to use for this RedirectAction. Supported values are: + // + // * MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. + // + // * FOUND, which corresponds to 302. + // + // * SEE_OTHER which corresponds to 303. + // + // * TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method + // will be retained. + // + // * PERMANENT_REDIRECT, which corresponds to 308. In this case, + // the request method will be retained. Possible values: ["FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"] + // +kubebuilder:validation:Optional + RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"` + + // If set to true, any accompanying query portion of the original URL is removed prior + // to redirecting the request. If set to false, the query portion of the original URL is + // retained. + // This field is required to ensure an empty block is not set. The normal default value is false. + // +kubebuilder:validation:Required + StripQuery *bool `json:"stripQuery" tf:"strip_query,omitempty"` +} + +type URLMapPathMatcherObservation struct { +} + +type URLMapPathMatcherParameters struct { + + // defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs + // advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request + // to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. + // Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. + // + // Only one of defaultRouteAction or defaultUrlRedirect must be set. + // +kubebuilder:validation:Optional + DefaultRouteAction []PathMatcherDefaultRouteActionParameters `json:"defaultRouteAction,omitempty" tf:"default_route_action,omitempty"` + + // The backend service or backend bucket to use when none of the given paths match. + // +kubebuilder:validation:Optional + DefaultService *string `json:"defaultService,omitempty" tf:"default_service,omitempty"` + + // When none of the specified hostRules match, the request is redirected to a URL specified + // by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or + // defaultRouteAction must not be set. + // +kubebuilder:validation:Optional + DefaultURLRedirect []URLMapPathMatcherDefaultURLRedirectParameters `json:"defaultUrlRedirect,omitempty" tf:"default_url_redirect,omitempty"` + + // An optional description of this resource. Provide this property when you create + // the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Specifies changes to request and response headers that need to take effect for + // the selected backendService. HeaderAction specified here are applied after the + // matching HttpRouteRule HeaderAction and before the HeaderAction in the UrlMap + // +kubebuilder:validation:Optional + HeaderAction []PathMatcherHeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"` + + // The name to which this PathMatcher is referred by the HostRule. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The list of path rules. Use this list instead of routeRules when routing based + // on simple path matching is all that's required. The order by which path rules + // are specified does not matter. Matches are always done on the longest-path-first + // basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/* + // irrespective of the order in which those paths appear in this list. Within a + // given pathMatcher, only one of pathRules or routeRules must be set. + // +kubebuilder:validation:Optional + PathRule []PathMatcherPathRuleParameters `json:"pathRule,omitempty" tf:"path_rule,omitempty"` + + // The list of ordered HTTP route rules. Use this list instead of pathRules when + // advanced route matching and routing actions are desired. The order of specifying + // routeRules matters: the first rule that matches will cause its specified routing + // action to take effect. Within a given pathMatcher, only one of pathRules or + // routeRules must be set. routeRules are not supported in UrlMaps intended for + // External load balancers. + // +kubebuilder:validation:Optional + RouteRules []PathMatcherRouteRulesParameters `json:"routeRules,omitempty" tf:"route_rules,omitempty"` +} + +type URLMapTestObservation struct { +} + +type URLMapTestParameters struct { + + // Description of this test case. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Host portion of the URL. + // +kubebuilder:validation:Required + Host *string `json:"host" tf:"host,omitempty"` + + // Path portion of the URL. + // +kubebuilder:validation:Required + Path *string `json:"path" tf:"path,omitempty"` + + // The backend service or backend bucket link that should be matched by this test. + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +// URLMapSpec defines the desired state of URLMap +type URLMapSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider URLMapParameters `json:"forProvider"` +} + +// URLMapStatus defines the observed state of URLMap. +type URLMapStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider URLMapObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// URLMap is the Schema for the URLMaps 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,gcpjet} +type URLMap struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec URLMapSpec `json:"spec"` + Status URLMapStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// URLMapList contains a list of URLMaps +type URLMapList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []URLMap `json:"items"` +} + +// Repository type metadata. +var ( + URLMap_Kind = "URLMap" + URLMap_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: URLMap_Kind}.String() + URLMap_KindAPIVersion = URLMap_Kind + "." + CRDGroupVersion.String() + URLMap_GroupVersionKind = CRDGroupVersion.WithKind(URLMap_Kind) +) + +func init() { + SchemeBuilder.Register(&URLMap{}, &URLMapList{}) +} diff --git a/apis/compute/v1alpha1/zz_vpngateway_terraformed.go b/apis/compute/v1alpha1/zz_vpngateway_terraformed.go new file mode 100755 index 00000000..b6a71ffe --- /dev/null +++ b/apis/compute/v1alpha1/zz_vpngateway_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this VPNGateway +func (mg *VPNGateway) GetTerraformResourceType() string { + return "google_compute_vpn_gateway" +} + +// GetConnectionDetailsMapping for this VPNGateway +func (tr *VPNGateway) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this VPNGateway +func (tr *VPNGateway) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this VPNGateway +func (tr *VPNGateway) SetObservation(obs map[string]interface{}) 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 VPNGateway +func (tr *VPNGateway) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this VPNGateway +func (tr *VPNGateway) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this VPNGateway +func (tr *VPNGateway) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this VPNGateway using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *VPNGateway) LateInitialize(attrs []byte) (bool, error) { + params := &VPNGatewayParameters{} + 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 *VPNGateway) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_vpngateway_types.go b/apis/compute/v1alpha1/zz_vpngateway_types.go new file mode 100755 index 00000000..45c7ffcd --- /dev/null +++ b/apis/compute/v1alpha1/zz_vpngateway_types.go @@ -0,0 +1,113 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 VPNGatewayObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + GatewayID *int64 `json:"gatewayId,omitempty" tf:"gateway_id,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type VPNGatewayParameters struct { + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the resource. Provided by the client when the resource is + // created. The name must be 1-63 characters long, and comply with + // RFC1035. Specifically, the name must be 1-63 characters long and + // match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means + // the first character must be a lowercase letter, and all following + // characters must be a dash, lowercase letter, or digit, except the last + // character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The network this VPN gateway is accepting traffic for. + // +kubebuilder:validation:Required + Network *string `json:"network" tf:"network,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The region this gateway should sit in. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +// VPNGatewaySpec defines the desired state of VPNGateway +type VPNGatewaySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider VPNGatewayParameters `json:"forProvider"` +} + +// VPNGatewayStatus defines the observed state of VPNGateway. +type VPNGatewayStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider VPNGatewayObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// VPNGateway is the Schema for the VPNGateways 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,gcpjet} +type VPNGateway struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec VPNGatewaySpec `json:"spec"` + Status VPNGatewayStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// VPNGatewayList contains a list of VPNGateways +type VPNGatewayList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []VPNGateway `json:"items"` +} + +// Repository type metadata. +var ( + VPNGateway_Kind = "VPNGateway" + VPNGateway_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: VPNGateway_Kind}.String() + VPNGateway_KindAPIVersion = VPNGateway_Kind + "." + CRDGroupVersion.String() + VPNGateway_GroupVersionKind = CRDGroupVersion.WithKind(VPNGateway_Kind) +) + +func init() { + SchemeBuilder.Register(&VPNGateway{}, &VPNGatewayList{}) +} diff --git a/apis/compute/v1alpha1/zz_vpntunnel_terraformed.go b/apis/compute/v1alpha1/zz_vpntunnel_terraformed.go new file mode 100755 index 00000000..1bedbfda --- /dev/null +++ b/apis/compute/v1alpha1/zz_vpntunnel_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this VPNTunnel +func (mg *VPNTunnel) GetTerraformResourceType() string { + return "google_compute_vpn_tunnel" +} + +// GetConnectionDetailsMapping for this VPNTunnel +func (tr *VPNTunnel) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"shared_secret": "spec.forProvider.sharedSecretSecretRef"} +} + +// GetObservation of this VPNTunnel +func (tr *VPNTunnel) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this VPNTunnel +func (tr *VPNTunnel) SetObservation(obs map[string]interface{}) 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 VPNTunnel +func (tr *VPNTunnel) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this VPNTunnel +func (tr *VPNTunnel) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this VPNTunnel +func (tr *VPNTunnel) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this VPNTunnel using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *VPNTunnel) LateInitialize(attrs []byte) (bool, error) { + params := &VPNTunnelParameters{} + 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 *VPNTunnel) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha1/zz_vpntunnel_types.go b/apis/compute/v1alpha1/zz_vpntunnel_types.go new file mode 100755 index 00000000..2905c790 --- /dev/null +++ b/apis/compute/v1alpha1/zz_vpntunnel_types.go @@ -0,0 +1,176 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 VPNTunnelObservation struct { + CreationTimestamp *string `json:"creationTimestamp,omitempty" tf:"creation_timestamp,omitempty"` + + DetailedStatus *string `json:"detailedStatus,omitempty" tf:"detailed_status,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + SharedSecretHash *string `json:"sharedSecretHash,omitempty" tf:"shared_secret_hash,omitempty"` + + TunnelID *string `json:"tunnelId,omitempty" tf:"tunnel_id,omitempty"` +} + +type VPNTunnelParameters struct { + + // An optional description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // IKE protocol version to use when establishing the VPN tunnel with + // peer VPN gateway. + // Acceptable IKE versions are 1 or 2. Default version is 2. + // +kubebuilder:validation:Optional + IkeVersion *int64 `json:"ikeVersion,omitempty" tf:"ike_version,omitempty"` + + // Local traffic selector to use when establishing the VPN tunnel with + // peer VPN gateway. The value should be a CIDR formatted string, + // for example '192.168.0.0/16'. The ranges should be disjoint. + // Only IPv4 is supported. + // +kubebuilder:validation:Optional + LocalTrafficSelector []*string `json:"localTrafficSelector,omitempty" tf:"local_traffic_selector,omitempty"` + + // Name of the resource. The name must be 1-63 characters long, and + // comply with RFC1035. Specifically, the name must be 1-63 + // characters long and match the regular expression + // '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character + // must be a lowercase letter, and all following characters must + // be a dash, lowercase letter, or digit, + // except the last character, which cannot be a dash. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // URL of the peer side external VPN gateway to which this VPN tunnel is connected. + // +kubebuilder:validation:Optional + PeerExternalGateway *string `json:"peerExternalGateway,omitempty" tf:"peer_external_gateway,omitempty"` + + // The interface ID of the external VPN gateway to which this VPN tunnel is connected. + // +kubebuilder:validation:Optional + PeerExternalGatewayInterface *int64 `json:"peerExternalGatewayInterface,omitempty" tf:"peer_external_gateway_interface,omitempty"` + + // URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected. + // If provided, the VPN tunnel will automatically use the same vpn_gateway_interface + // ID in the peer GCP VPN gateway. + // This field must reference a 'google_compute_ha_vpn_gateway' resource. + // +kubebuilder:validation:Optional + PeerGCPGateway *string `json:"peerGcpGateway,omitempty" tf:"peer_gcp_gateway,omitempty"` + + // IP address of the peer VPN gateway. Only IPv4 is supported. + // +kubebuilder:validation:Optional + PeerIP *string `json:"peerIp,omitempty" tf:"peer_ip,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The region where the tunnel is located. If unset, is set to the region of 'target_vpn_gateway'. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // Remote traffic selector to use when establishing the VPN tunnel with + // peer VPN gateway. The value should be a CIDR formatted string, + // for example '192.168.0.0/16'. The ranges should be disjoint. + // Only IPv4 is supported. + // +kubebuilder:validation:Optional + RemoteTrafficSelector []*string `json:"remoteTrafficSelector,omitempty" tf:"remote_traffic_selector,omitempty"` + + // URL of router resource to be used for dynamic routing. + // +kubebuilder:validation:Optional + Router *string `json:"router,omitempty" tf:"router,omitempty"` + + // Shared secret used to set the secure session between the Cloud VPN + // gateway and the peer VPN gateway. + // +kubebuilder:validation:Required + SharedSecretSecretRef v1.SecretKeySelector `json:"sharedSecretSecretRef" tf:"-"` + + // URL of the Target VPN gateway with which this VPN tunnel is + // associated. + // +kubebuilder:validation:Optional + TargetVPNGateway *string `json:"targetVpnGateway,omitempty" tf:"target_vpn_gateway,omitempty"` + + // URL of the VPN gateway with which this VPN tunnel is associated. + // This must be used if a High Availability VPN gateway resource is created. + // This field must reference a 'google_compute_ha_vpn_gateway' resource. + // +kubebuilder:validation:Optional + VPNGateway *string `json:"vpnGateway,omitempty" tf:"vpn_gateway,omitempty"` + + // The interface ID of the VPN gateway with which this VPN tunnel is associated. + // +kubebuilder:validation:Optional + VPNGatewayInterface *int64 `json:"vpnGatewayInterface,omitempty" tf:"vpn_gateway_interface,omitempty"` +} + +// VPNTunnelSpec defines the desired state of VPNTunnel +type VPNTunnelSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider VPNTunnelParameters `json:"forProvider"` +} + +// VPNTunnelStatus defines the observed state of VPNTunnel. +type VPNTunnelStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider VPNTunnelObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// VPNTunnel is the Schema for the VPNTunnels 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,gcpjet} +type VPNTunnel struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec VPNTunnelSpec `json:"spec"` + Status VPNTunnelStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// VPNTunnelList contains a list of VPNTunnels +type VPNTunnelList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []VPNTunnel `json:"items"` +} + +// Repository type metadata. +var ( + VPNTunnel_Kind = "VPNTunnel" + VPNTunnel_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: VPNTunnel_Kind}.String() + VPNTunnel_KindAPIVersion = VPNTunnel_Kind + "." + CRDGroupVersion.String() + VPNTunnel_GroupVersionKind = CRDGroupVersion.WithKind(VPNTunnel_Kind) +) + +func init() { + SchemeBuilder.Register(&VPNTunnel{}, &VPNTunnelList{}) +} diff --git a/apis/compute/v1alpha2/zz_generated.deepcopy.go b/apis/compute/v1alpha2/zz_generated.deepcopy.go index c817c7db..74a4eb87 100644 --- a/apis/compute/v1alpha2/zz_generated.deepcopy.go +++ b/apis/compute/v1alpha2/zz_generated.deepcopy.go @@ -573,6 +573,58 @@ func (in *BGPParameters) DeepCopy() *BGPParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BootDiskInitializeParamsObservation) DeepCopyInto(out *BootDiskInitializeParamsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDiskInitializeParamsObservation. +func (in *BootDiskInitializeParamsObservation) DeepCopy() *BootDiskInitializeParamsObservation { + if in == nil { + return nil + } + out := new(BootDiskInitializeParamsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BootDiskInitializeParamsParameters) DeepCopyInto(out *BootDiskInitializeParamsParameters) { + *out = *in + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Size != nil { + in, out := &in.Size, &out.Size + *out = new(int64) + **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 BootDiskInitializeParamsParameters. +func (in *BootDiskInitializeParamsParameters) DeepCopy() *BootDiskInitializeParamsParameters { + if in == nil { + return nil + } + out := new(BootDiskInitializeParamsParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BootDiskObservation) DeepCopyInto(out *BootDiskObservation) { *out = *in @@ -726,6 +778,159 @@ func (in *DenyParameters) DeepCopy() *DenyParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskEncryptionKeyObservation) DeepCopyInto(out *DiskEncryptionKeyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionKeyObservation. +func (in *DiskEncryptionKeyObservation) DeepCopy() *DiskEncryptionKeyObservation { + if in == nil { + return nil + } + out := new(DiskEncryptionKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskEncryptionKeyParameters) DeepCopyInto(out *DiskEncryptionKeyParameters) { + *out = *in + if in.KMSKeySelfLink != nil { + in, out := &in.KMSKeySelfLink, &out.KMSKeySelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskEncryptionKeyParameters. +func (in *DiskEncryptionKeyParameters) DeepCopy() *DiskEncryptionKeyParameters { + if in == nil { + return nil + } + out := new(DiskEncryptionKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskObservation) DeepCopyInto(out *DiskObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskObservation. +func (in *DiskObservation) DeepCopy() *DiskObservation { + if in == nil { + return nil + } + out := new(DiskObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskParameters) DeepCopyInto(out *DiskParameters) { + *out = *in + if in.AutoDelete != nil { + in, out := &in.AutoDelete, &out.AutoDelete + *out = new(bool) + **out = **in + } + if in.Boot != nil { + in, out := &in.Boot, &out.Boot + *out = new(bool) + **out = **in + } + if in.DeviceName != nil { + in, out := &in.DeviceName, &out.DeviceName + *out = new(string) + **out = **in + } + if in.DiskEncryptionKey != nil { + in, out := &in.DiskEncryptionKey, &out.DiskEncryptionKey + *out = make([]DiskEncryptionKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DiskName != nil { + in, out := &in.DiskName, &out.DiskName + *out = new(string) + **out = **in + } + if in.DiskSizeGb != nil { + in, out := &in.DiskSizeGb, &out.DiskSizeGb + *out = new(int64) + **out = **in + } + if in.DiskType != nil { + in, out := &in.DiskType, &out.DiskType + *out = new(string) + **out = **in + } + if in.Interface != nil { + in, out := &in.Interface, &out.Interface + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.ResourcePolicies != nil { + in, out := &in.ResourcePolicies, &out.ResourcePolicies + *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.Source != nil { + in, out := &in.Source, &out.Source + *out = new(string) + **out = **in + } + if in.SourceImage != nil { + in, out := &in.SourceImage, &out.SourceImage + *out = new(string) + **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 DiskParameters. +func (in *DiskParameters) DeepCopy() *DiskParameters { + if in == nil { + return nil + } + out := new(DiskParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Firewall) DeepCopyInto(out *Firewall) { *out = *in @@ -1166,31 +1371,26 @@ func (in *Instance) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InstanceList) DeepCopyInto(out *InstanceList) { +func (in *InstanceFromTemplate) DeepCopyInto(out *InstanceFromTemplate) { *out = *in out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]Instance, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } + 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 InstanceList. -func (in *InstanceList) DeepCopy() *InstanceList { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplate. +func (in *InstanceFromTemplate) DeepCopy() *InstanceFromTemplate { if in == nil { return nil } - out := new(InstanceList) + out := new(InstanceFromTemplate) in.DeepCopyInto(out) return out } // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *InstanceList) DeepCopyObject() runtime.Object { +func (in *InstanceFromTemplate) DeepCopyObject() runtime.Object { if c := in.DeepCopy(); c != nil { return c } @@ -1198,85 +1398,1676 @@ func (in *InstanceList) DeepCopyObject() runtime.Object { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InstanceObservation) DeepCopyInto(out *InstanceObservation) { +func (in *InstanceFromTemplateAdvancedMachineFeaturesObservation) DeepCopyInto(out *InstanceFromTemplateAdvancedMachineFeaturesObservation) { *out = *in - if in.CPUPlatform != nil { - in, out := &in.CPUPlatform, &out.CPUPlatform - *out = new(string) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateAdvancedMachineFeaturesObservation. +func (in *InstanceFromTemplateAdvancedMachineFeaturesObservation) DeepCopy() *InstanceFromTemplateAdvancedMachineFeaturesObservation { + if in == nil { + return nil + } + out := new(InstanceFromTemplateAdvancedMachineFeaturesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateAdvancedMachineFeaturesParameters) DeepCopyInto(out *InstanceFromTemplateAdvancedMachineFeaturesParameters) { + *out = *in + if in.EnableNestedVirtualization != nil { + in, out := &in.EnableNestedVirtualization, &out.EnableNestedVirtualization + *out = new(bool) **out = **in } - if in.CurrentStatus != nil { - in, out := &in.CurrentStatus, &out.CurrentStatus - *out = new(string) + if in.ThreadsPerCore != nil { + in, out := &in.ThreadsPerCore, &out.ThreadsPerCore + *out = new(int64) **out = **in } - if in.ID != nil { - in, out := &in.ID, &out.ID +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateAdvancedMachineFeaturesParameters. +func (in *InstanceFromTemplateAdvancedMachineFeaturesParameters) DeepCopy() *InstanceFromTemplateAdvancedMachineFeaturesParameters { + if in == nil { + return nil + } + out := new(InstanceFromTemplateAdvancedMachineFeaturesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateAttachedDiskObservation) DeepCopyInto(out *InstanceFromTemplateAttachedDiskObservation) { + *out = *in + if in.DiskEncryptionKeySha256 != nil { + in, out := &in.DiskEncryptionKeySha256, &out.DiskEncryptionKeySha256 *out = new(string) **out = **in } - if in.InstanceID != nil { - in, out := &in.InstanceID, &out.InstanceID +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateAttachedDiskObservation. +func (in *InstanceFromTemplateAttachedDiskObservation) DeepCopy() *InstanceFromTemplateAttachedDiskObservation { + if in == nil { + return nil + } + out := new(InstanceFromTemplateAttachedDiskObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateAttachedDiskParameters) DeepCopyInto(out *InstanceFromTemplateAttachedDiskParameters) { + *out = *in + if in.DeviceName != nil { + in, out := &in.DeviceName, &out.DeviceName *out = new(string) **out = **in } - if in.LabelFingerprint != nil { - in, out := &in.LabelFingerprint, &out.LabelFingerprint - *out = new(string) + if in.DiskEncryptionKeyRawSecretRef != nil { + in, out := &in.DiskEncryptionKeyRawSecretRef, &out.DiskEncryptionKeyRawSecretRef + *out = new(v1.SecretKeySelector) **out = **in } - if in.MetadataFingerprint != nil { - in, out := &in.MetadataFingerprint, &out.MetadataFingerprint + if in.KMSKeySelfLink != nil { + in, out := &in.KMSKeySelfLink, &out.KMSKeySelfLink *out = new(string) **out = **in } - if in.SelfLink != nil { - in, out := &in.SelfLink, &out.SelfLink + if in.Mode != nil { + in, out := &in.Mode, &out.Mode *out = new(string) **out = **in } - if in.TagsFingerprint != nil { - in, out := &in.TagsFingerprint, &out.TagsFingerprint + if in.Source != nil { + in, out := &in.Source, &out.Source *out = new(string) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceObservation. -func (in *InstanceObservation) DeepCopy() *InstanceObservation { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateAttachedDiskParameters. +func (in *InstanceFromTemplateAttachedDiskParameters) DeepCopy() *InstanceFromTemplateAttachedDiskParameters { if in == nil { return nil } - out := new(InstanceObservation) + out := new(InstanceFromTemplateAttachedDiskParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { +func (in *InstanceFromTemplateBootDiskObservation) DeepCopyInto(out *InstanceFromTemplateBootDiskObservation) { *out = *in - if in.AdvancedMachineFeatures != nil { - in, out := &in.AdvancedMachineFeatures, &out.AdvancedMachineFeatures - *out = make([]AdvancedMachineFeaturesParameters, len(*in)) + if in.DiskEncryptionKeySha256 != nil { + in, out := &in.DiskEncryptionKeySha256, &out.DiskEncryptionKeySha256 + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateBootDiskObservation. +func (in *InstanceFromTemplateBootDiskObservation) DeepCopy() *InstanceFromTemplateBootDiskObservation { + if in == nil { + return nil + } + out := new(InstanceFromTemplateBootDiskObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateBootDiskParameters) DeepCopyInto(out *InstanceFromTemplateBootDiskParameters) { + *out = *in + if in.AutoDelete != nil { + in, out := &in.AutoDelete, &out.AutoDelete + *out = new(bool) + **out = **in + } + if in.DeviceName != nil { + in, out := &in.DeviceName, &out.DeviceName + *out = new(string) + **out = **in + } + if in.DiskEncryptionKeyRawSecretRef != nil { + in, out := &in.DiskEncryptionKeyRawSecretRef, &out.DiskEncryptionKeyRawSecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } + if in.InitializeParams != nil { + in, out := &in.InitializeParams, &out.InitializeParams + *out = make([]BootDiskInitializeParamsParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.AllowStoppingForUpdate != nil { - in, out := &in.AllowStoppingForUpdate, &out.AllowStoppingForUpdate + if in.KMSKeySelfLink != nil { + in, out := &in.KMSKeySelfLink, &out.KMSKeySelfLink + *out = new(string) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateBootDiskParameters. +func (in *InstanceFromTemplateBootDiskParameters) DeepCopy() *InstanceFromTemplateBootDiskParameters { + if in == nil { + return nil + } + out := new(InstanceFromTemplateBootDiskParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateConfidentialInstanceConfigObservation) DeepCopyInto(out *InstanceFromTemplateConfidentialInstanceConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateConfidentialInstanceConfigObservation. +func (in *InstanceFromTemplateConfidentialInstanceConfigObservation) DeepCopy() *InstanceFromTemplateConfidentialInstanceConfigObservation { + if in == nil { + return nil + } + out := new(InstanceFromTemplateConfidentialInstanceConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateConfidentialInstanceConfigParameters) DeepCopyInto(out *InstanceFromTemplateConfidentialInstanceConfigParameters) { + *out = *in + if in.EnableConfidentialCompute != nil { + in, out := &in.EnableConfidentialCompute, &out.EnableConfidentialCompute *out = new(bool) **out = **in } - if in.AttachedDisk != nil { - in, out := &in.AttachedDisk, &out.AttachedDisk - *out = make([]AttachedDiskParameters, len(*in)) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateConfidentialInstanceConfigParameters. +func (in *InstanceFromTemplateConfidentialInstanceConfigParameters) DeepCopy() *InstanceFromTemplateConfidentialInstanceConfigParameters { + if in == nil { + return nil + } + out := new(InstanceFromTemplateConfidentialInstanceConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateGuestAcceleratorObservation) DeepCopyInto(out *InstanceFromTemplateGuestAcceleratorObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateGuestAcceleratorObservation. +func (in *InstanceFromTemplateGuestAcceleratorObservation) DeepCopy() *InstanceFromTemplateGuestAcceleratorObservation { + if in == nil { + return nil + } + out := new(InstanceFromTemplateGuestAcceleratorObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateGuestAcceleratorParameters) DeepCopyInto(out *InstanceFromTemplateGuestAcceleratorParameters) { + *out = *in + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int64) + **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 InstanceFromTemplateGuestAcceleratorParameters. +func (in *InstanceFromTemplateGuestAcceleratorParameters) DeepCopy() *InstanceFromTemplateGuestAcceleratorParameters { + if in == nil { + return nil + } + out := new(InstanceFromTemplateGuestAcceleratorParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateList) DeepCopyInto(out *InstanceFromTemplateList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceFromTemplate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateList. +func (in *InstanceFromTemplateList) DeepCopy() *InstanceFromTemplateList { + if in == nil { + return nil + } + out := new(InstanceFromTemplateList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceFromTemplateList) 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 *InstanceFromTemplateNetworkInterfaceObservation) DeepCopyInto(out *InstanceFromTemplateNetworkInterfaceObservation) { + *out = *in + if in.IPv6AccessType != nil { + in, out := &in.IPv6AccessType, &out.IPv6AccessType + *out = new(string) + **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 InstanceFromTemplateNetworkInterfaceObservation. +func (in *InstanceFromTemplateNetworkInterfaceObservation) DeepCopy() *InstanceFromTemplateNetworkInterfaceObservation { + if in == nil { + return nil + } + out := new(InstanceFromTemplateNetworkInterfaceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateNetworkInterfaceParameters) DeepCopyInto(out *InstanceFromTemplateNetworkInterfaceParameters) { + *out = *in + if in.AccessConfig != nil { + in, out := &in.AccessConfig, &out.AccessConfig + *out = make([]NetworkInterfaceAccessConfigParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.BootDisk != nil { - in, out := &in.BootDisk, &out.BootDisk - *out = make([]BootDiskParameters, len(*in)) + if in.AliasIPRange != nil { + in, out := &in.AliasIPRange, &out.AliasIPRange + *out = make([]NetworkInterfaceAliasIPRangeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IPv6AccessConfig != nil { + in, out := &in.IPv6AccessConfig, &out.IPv6AccessConfig + *out = make([]NetworkInterfaceIPv6AccessConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkIP != nil { + in, out := &in.NetworkIP, &out.NetworkIP + *out = new(string) + **out = **in + } + if in.NetworkRef != nil { + in, out := &in.NetworkRef, &out.NetworkRef + *out = new(v1.Reference) + **out = **in + } + if in.NetworkSelector != nil { + in, out := &in.NetworkSelector, &out.NetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.NicType != nil { + in, out := &in.NicType, &out.NicType + *out = new(string) + **out = **in + } + if in.StackType != nil { + in, out := &in.StackType, &out.StackType + *out = new(string) + **out = **in + } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.SubnetworkProject != nil { + in, out := &in.SubnetworkProject, &out.SubnetworkProject + *out = new(string) + **out = **in + } + if in.SubnetworkRef != nil { + in, out := &in.SubnetworkRef, &out.SubnetworkRef + *out = new(v1.Reference) + **out = **in + } + if in.SubnetworkSelector != nil { + in, out := &in.SubnetworkSelector, &out.SubnetworkSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateNetworkInterfaceParameters. +func (in *InstanceFromTemplateNetworkInterfaceParameters) DeepCopy() *InstanceFromTemplateNetworkInterfaceParameters { + if in == nil { + return nil + } + out := new(InstanceFromTemplateNetworkInterfaceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateObservation) DeepCopyInto(out *InstanceFromTemplateObservation) { + *out = *in + if in.CPUPlatform != nil { + in, out := &in.CPUPlatform, &out.CPUPlatform + *out = new(string) + **out = **in + } + if in.CurrentStatus != nil { + in, out := &in.CurrentStatus, &out.CurrentStatus + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.LabelFingerprint != nil { + in, out := &in.LabelFingerprint, &out.LabelFingerprint + *out = new(string) + **out = **in + } + if in.MetadataFingerprint != nil { + in, out := &in.MetadataFingerprint, &out.MetadataFingerprint + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.TagsFingerprint != nil { + in, out := &in.TagsFingerprint, &out.TagsFingerprint + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateObservation. +func (in *InstanceFromTemplateObservation) DeepCopy() *InstanceFromTemplateObservation { + if in == nil { + return nil + } + out := new(InstanceFromTemplateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateParameters) DeepCopyInto(out *InstanceFromTemplateParameters) { + *out = *in + if in.AdvancedMachineFeatures != nil { + in, out := &in.AdvancedMachineFeatures, &out.AdvancedMachineFeatures + *out = make([]InstanceFromTemplateAdvancedMachineFeaturesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AllowStoppingForUpdate != nil { + in, out := &in.AllowStoppingForUpdate, &out.AllowStoppingForUpdate + *out = new(bool) + **out = **in + } + if in.AttachedDisk != nil { + in, out := &in.AttachedDisk, &out.AttachedDisk + *out = make([]InstanceFromTemplateAttachedDiskParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BootDisk != nil { + in, out := &in.BootDisk, &out.BootDisk + *out = make([]InstanceFromTemplateBootDiskParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CanIPForward != nil { + in, out := &in.CanIPForward, &out.CanIPForward + *out = new(bool) + **out = **in + } + if in.ConfidentialInstanceConfig != nil { + in, out := &in.ConfidentialInstanceConfig, &out.ConfidentialInstanceConfig + *out = make([]InstanceFromTemplateConfidentialInstanceConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DeletionProtection != nil { + in, out := &in.DeletionProtection, &out.DeletionProtection + *out = new(bool) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DesiredStatus != nil { + in, out := &in.DesiredStatus, &out.DesiredStatus + *out = new(string) + **out = **in + } + if in.EnableDisplay != nil { + in, out := &in.EnableDisplay, &out.EnableDisplay + *out = new(bool) + **out = **in + } + if in.GuestAccelerator != nil { + in, out := &in.GuestAccelerator, &out.GuestAccelerator + *out = make([]InstanceFromTemplateGuestAcceleratorParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Hostname != nil { + in, out := &in.Hostname, &out.Hostname + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.MachineType != nil { + in, out := &in.MachineType, &out.MachineType + *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 { + (*out)[key] = val + } + } + if in.MetadataStartupScript != nil { + in, out := &in.MetadataStartupScript, &out.MetadataStartupScript + *out = new(string) + **out = **in + } + if in.MinCPUPlatform != nil { + in, out := &in.MinCPUPlatform, &out.MinCPUPlatform + *out = new(string) + **out = **in + } + if in.NetworkInterface != nil { + in, out := &in.NetworkInterface, &out.NetworkInterface + *out = make([]InstanceFromTemplateNetworkInterfaceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ReservationAffinity != nil { + in, out := &in.ReservationAffinity, &out.ReservationAffinity + *out = make([]InstanceFromTemplateReservationAffinityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResourcePolicies != nil { + in, out := &in.ResourcePolicies, &out.ResourcePolicies + *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.Scheduling != nil { + in, out := &in.Scheduling, &out.Scheduling + *out = make([]InstanceFromTemplateSchedulingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ScratchDisk != nil { + in, out := &in.ScratchDisk, &out.ScratchDisk + *out = make([]InstanceFromTemplateScratchDiskParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = make([]InstanceFromTemplateServiceAccountParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ShieldedInstanceConfig != nil { + in, out := &in.ShieldedInstanceConfig, &out.ShieldedInstanceConfig + *out = make([]InstanceFromTemplateShieldedInstanceConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SourceInstanceTemplate != nil { + in, out := &in.SourceInstanceTemplate, &out.SourceInstanceTemplate + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *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.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateParameters. +func (in *InstanceFromTemplateParameters) DeepCopy() *InstanceFromTemplateParameters { + if in == nil { + return nil + } + out := new(InstanceFromTemplateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateReservationAffinityObservation) DeepCopyInto(out *InstanceFromTemplateReservationAffinityObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateReservationAffinityObservation. +func (in *InstanceFromTemplateReservationAffinityObservation) DeepCopy() *InstanceFromTemplateReservationAffinityObservation { + if in == nil { + return nil + } + out := new(InstanceFromTemplateReservationAffinityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateReservationAffinityParameters) DeepCopyInto(out *InstanceFromTemplateReservationAffinityParameters) { + *out = *in + if in.SpecificReservation != nil { + in, out := &in.SpecificReservation, &out.SpecificReservation + *out = make([]ReservationAffinitySpecificReservationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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 InstanceFromTemplateReservationAffinityParameters. +func (in *InstanceFromTemplateReservationAffinityParameters) DeepCopy() *InstanceFromTemplateReservationAffinityParameters { + if in == nil { + return nil + } + out := new(InstanceFromTemplateReservationAffinityParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateSchedulingObservation) DeepCopyInto(out *InstanceFromTemplateSchedulingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateSchedulingObservation. +func (in *InstanceFromTemplateSchedulingObservation) DeepCopy() *InstanceFromTemplateSchedulingObservation { + if in == nil { + return nil + } + out := new(InstanceFromTemplateSchedulingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateSchedulingParameters) DeepCopyInto(out *InstanceFromTemplateSchedulingParameters) { + *out = *in + if in.AutomaticRestart != nil { + in, out := &in.AutomaticRestart, &out.AutomaticRestart + *out = new(bool) + **out = **in + } + if in.MinNodeCpus != nil { + in, out := &in.MinNodeCpus, &out.MinNodeCpus + *out = new(int64) + **out = **in + } + if in.NodeAffinities != nil { + in, out := &in.NodeAffinities, &out.NodeAffinities + *out = make([]SchedulingNodeAffinitiesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OnHostMaintenance != nil { + in, out := &in.OnHostMaintenance, &out.OnHostMaintenance + *out = new(string) + **out = **in + } + if in.Preemptible != nil { + in, out := &in.Preemptible, &out.Preemptible + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateSchedulingParameters. +func (in *InstanceFromTemplateSchedulingParameters) DeepCopy() *InstanceFromTemplateSchedulingParameters { + if in == nil { + return nil + } + out := new(InstanceFromTemplateSchedulingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateScratchDiskObservation) DeepCopyInto(out *InstanceFromTemplateScratchDiskObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateScratchDiskObservation. +func (in *InstanceFromTemplateScratchDiskObservation) DeepCopy() *InstanceFromTemplateScratchDiskObservation { + if in == nil { + return nil + } + out := new(InstanceFromTemplateScratchDiskObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateScratchDiskParameters) DeepCopyInto(out *InstanceFromTemplateScratchDiskParameters) { + *out = *in + if in.Interface != nil { + in, out := &in.Interface, &out.Interface + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateScratchDiskParameters. +func (in *InstanceFromTemplateScratchDiskParameters) DeepCopy() *InstanceFromTemplateScratchDiskParameters { + if in == nil { + return nil + } + out := new(InstanceFromTemplateScratchDiskParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateServiceAccountObservation) DeepCopyInto(out *InstanceFromTemplateServiceAccountObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateServiceAccountObservation. +func (in *InstanceFromTemplateServiceAccountObservation) DeepCopy() *InstanceFromTemplateServiceAccountObservation { + if in == nil { + return nil + } + out := new(InstanceFromTemplateServiceAccountObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateServiceAccountParameters) DeepCopyInto(out *InstanceFromTemplateServiceAccountParameters) { + *out = *in + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = new(string) + **out = **in + } + if in.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *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 InstanceFromTemplateServiceAccountParameters. +func (in *InstanceFromTemplateServiceAccountParameters) DeepCopy() *InstanceFromTemplateServiceAccountParameters { + if in == nil { + return nil + } + out := new(InstanceFromTemplateServiceAccountParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateShieldedInstanceConfigObservation) DeepCopyInto(out *InstanceFromTemplateShieldedInstanceConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateShieldedInstanceConfigObservation. +func (in *InstanceFromTemplateShieldedInstanceConfigObservation) DeepCopy() *InstanceFromTemplateShieldedInstanceConfigObservation { + if in == nil { + return nil + } + out := new(InstanceFromTemplateShieldedInstanceConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateShieldedInstanceConfigParameters) DeepCopyInto(out *InstanceFromTemplateShieldedInstanceConfigParameters) { + *out = *in + if in.EnableIntegrityMonitoring != nil { + in, out := &in.EnableIntegrityMonitoring, &out.EnableIntegrityMonitoring + *out = new(bool) + **out = **in + } + if in.EnableSecureBoot != nil { + in, out := &in.EnableSecureBoot, &out.EnableSecureBoot + *out = new(bool) + **out = **in + } + if in.EnableVtpm != nil { + in, out := &in.EnableVtpm, &out.EnableVtpm + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateShieldedInstanceConfigParameters. +func (in *InstanceFromTemplateShieldedInstanceConfigParameters) DeepCopy() *InstanceFromTemplateShieldedInstanceConfigParameters { + if in == nil { + return nil + } + out := new(InstanceFromTemplateShieldedInstanceConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateSpec) DeepCopyInto(out *InstanceFromTemplateSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateSpec. +func (in *InstanceFromTemplateSpec) DeepCopy() *InstanceFromTemplateSpec { + if in == nil { + return nil + } + out := new(InstanceFromTemplateSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFromTemplateStatus) DeepCopyInto(out *InstanceFromTemplateStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFromTemplateStatus. +func (in *InstanceFromTemplateStatus) DeepCopy() *InstanceFromTemplateStatus { + if in == nil { + return nil + } + out := new(InstanceFromTemplateStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceList) DeepCopyInto(out *InstanceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Instance, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList. +func (in *InstanceList) DeepCopy() *InstanceList { + if in == nil { + return nil + } + out := new(InstanceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceList) 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 *InstanceObservation) DeepCopyInto(out *InstanceObservation) { + *out = *in + if in.CPUPlatform != nil { + in, out := &in.CPUPlatform, &out.CPUPlatform + *out = new(string) + **out = **in + } + if in.CurrentStatus != nil { + in, out := &in.CurrentStatus, &out.CurrentStatus + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.LabelFingerprint != nil { + in, out := &in.LabelFingerprint, &out.LabelFingerprint + *out = new(string) + **out = **in + } + if in.MetadataFingerprint != nil { + in, out := &in.MetadataFingerprint, &out.MetadataFingerprint + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.TagsFingerprint != nil { + in, out := &in.TagsFingerprint, &out.TagsFingerprint + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceObservation. +func (in *InstanceObservation) DeepCopy() *InstanceObservation { + if in == nil { + return nil + } + out := new(InstanceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { + *out = *in + if in.AdvancedMachineFeatures != nil { + in, out := &in.AdvancedMachineFeatures, &out.AdvancedMachineFeatures + *out = make([]AdvancedMachineFeaturesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AllowStoppingForUpdate != nil { + in, out := &in.AllowStoppingForUpdate, &out.AllowStoppingForUpdate + *out = new(bool) + **out = **in + } + if in.AttachedDisk != nil { + in, out := &in.AttachedDisk, &out.AttachedDisk + *out = make([]AttachedDiskParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BootDisk != nil { + in, out := &in.BootDisk, &out.BootDisk + *out = make([]BootDiskParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CanIPForward != nil { + in, out := &in.CanIPForward, &out.CanIPForward + *out = new(bool) + **out = **in + } + if in.ConfidentialInstanceConfig != nil { + in, out := &in.ConfidentialInstanceConfig, &out.ConfidentialInstanceConfig + *out = make([]ConfidentialInstanceConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DeletionProtection != nil { + in, out := &in.DeletionProtection, &out.DeletionProtection + *out = new(bool) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DesiredStatus != nil { + in, out := &in.DesiredStatus, &out.DesiredStatus + *out = new(string) + **out = **in + } + if in.EnableDisplay != nil { + in, out := &in.EnableDisplay, &out.EnableDisplay + *out = new(bool) + **out = **in + } + if in.GuestAccelerator != nil { + in, out := &in.GuestAccelerator, &out.GuestAccelerator + *out = make([]GuestAcceleratorParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Hostname != nil { + in, out := &in.Hostname, &out.Hostname + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.MachineType != nil { + in, out := &in.MachineType, &out.MachineType + *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.MetadataStartupScript != nil { + in, out := &in.MetadataStartupScript, &out.MetadataStartupScript + *out = new(string) + **out = **in + } + if in.MinCPUPlatform != nil { + in, out := &in.MinCPUPlatform, &out.MinCPUPlatform + *out = new(string) + **out = **in + } + if in.NetworkInterface != nil { + in, out := &in.NetworkInterface, &out.NetworkInterface + *out = make([]NetworkInterfaceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ReservationAffinity != nil { + in, out := &in.ReservationAffinity, &out.ReservationAffinity + *out = make([]ReservationAffinityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResourcePolicies != nil { + in, out := &in.ResourcePolicies, &out.ResourcePolicies + *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.Scheduling != nil { + in, out := &in.Scheduling, &out.Scheduling + *out = make([]SchedulingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ScratchDisk != nil { + in, out := &in.ScratchDisk, &out.ScratchDisk + *out = make([]ScratchDiskParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = make([]ServiceAccountParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ShieldedInstanceConfig != nil { + in, out := &in.ShieldedInstanceConfig, &out.ShieldedInstanceConfig + *out = make([]ShieldedInstanceConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *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.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceParameters. +func (in *InstanceParameters) DeepCopy() *InstanceParameters { + if in == nil { + return nil + } + out := new(InstanceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec. +func (in *InstanceSpec) DeepCopy() *InstanceSpec { + if in == nil { + return nil + } + out := new(InstanceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus. +func (in *InstanceStatus) DeepCopy() *InstanceStatus { + if in == nil { + return nil + } + out := new(InstanceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplate) DeepCopyInto(out *InstanceTemplate) { + *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 InstanceTemplate. +func (in *InstanceTemplate) DeepCopy() *InstanceTemplate { + if in == nil { + return nil + } + out := new(InstanceTemplate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceTemplate) 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 *InstanceTemplateAdvancedMachineFeaturesObservation) DeepCopyInto(out *InstanceTemplateAdvancedMachineFeaturesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateAdvancedMachineFeaturesObservation. +func (in *InstanceTemplateAdvancedMachineFeaturesObservation) DeepCopy() *InstanceTemplateAdvancedMachineFeaturesObservation { + if in == nil { + return nil + } + out := new(InstanceTemplateAdvancedMachineFeaturesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateAdvancedMachineFeaturesParameters) DeepCopyInto(out *InstanceTemplateAdvancedMachineFeaturesParameters) { + *out = *in + if in.EnableNestedVirtualization != nil { + in, out := &in.EnableNestedVirtualization, &out.EnableNestedVirtualization + *out = new(bool) + **out = **in + } + if in.ThreadsPerCore != nil { + in, out := &in.ThreadsPerCore, &out.ThreadsPerCore + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateAdvancedMachineFeaturesParameters. +func (in *InstanceTemplateAdvancedMachineFeaturesParameters) DeepCopy() *InstanceTemplateAdvancedMachineFeaturesParameters { + if in == nil { + return nil + } + out := new(InstanceTemplateAdvancedMachineFeaturesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateConfidentialInstanceConfigObservation) DeepCopyInto(out *InstanceTemplateConfidentialInstanceConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateConfidentialInstanceConfigObservation. +func (in *InstanceTemplateConfidentialInstanceConfigObservation) DeepCopy() *InstanceTemplateConfidentialInstanceConfigObservation { + if in == nil { + return nil + } + out := new(InstanceTemplateConfidentialInstanceConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateConfidentialInstanceConfigParameters) DeepCopyInto(out *InstanceTemplateConfidentialInstanceConfigParameters) { + *out = *in + if in.EnableConfidentialCompute != nil { + in, out := &in.EnableConfidentialCompute, &out.EnableConfidentialCompute + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateConfidentialInstanceConfigParameters. +func (in *InstanceTemplateConfidentialInstanceConfigParameters) DeepCopy() *InstanceTemplateConfidentialInstanceConfigParameters { + if in == nil { + return nil + } + out := new(InstanceTemplateConfidentialInstanceConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateGuestAcceleratorObservation) DeepCopyInto(out *InstanceTemplateGuestAcceleratorObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateGuestAcceleratorObservation. +func (in *InstanceTemplateGuestAcceleratorObservation) DeepCopy() *InstanceTemplateGuestAcceleratorObservation { + if in == nil { + return nil + } + out := new(InstanceTemplateGuestAcceleratorObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateGuestAcceleratorParameters) DeepCopyInto(out *InstanceTemplateGuestAcceleratorParameters) { + *out = *in + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int64) + **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 InstanceTemplateGuestAcceleratorParameters. +func (in *InstanceTemplateGuestAcceleratorParameters) DeepCopy() *InstanceTemplateGuestAcceleratorParameters { + if in == nil { + return nil + } + out := new(InstanceTemplateGuestAcceleratorParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateList) DeepCopyInto(out *InstanceTemplateList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceTemplate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateList. +func (in *InstanceTemplateList) DeepCopy() *InstanceTemplateList { + if in == nil { + return nil + } + out := new(InstanceTemplateList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceTemplateList) 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 *InstanceTemplateNetworkInterfaceAccessConfigObservation) DeepCopyInto(out *InstanceTemplateNetworkInterfaceAccessConfigObservation) { + *out = *in + if in.PublicPtrDomainName != nil { + in, out := &in.PublicPtrDomainName, &out.PublicPtrDomainName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceAccessConfigObservation. +func (in *InstanceTemplateNetworkInterfaceAccessConfigObservation) DeepCopy() *InstanceTemplateNetworkInterfaceAccessConfigObservation { + if in == nil { + return nil + } + out := new(InstanceTemplateNetworkInterfaceAccessConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateNetworkInterfaceAccessConfigParameters) DeepCopyInto(out *InstanceTemplateNetworkInterfaceAccessConfigParameters) { + *out = *in + if in.NATIP != nil { + in, out := &in.NATIP, &out.NATIP + *out = new(string) + **out = **in + } + if in.NetworkTier != nil { + in, out := &in.NetworkTier, &out.NetworkTier + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceAccessConfigParameters. +func (in *InstanceTemplateNetworkInterfaceAccessConfigParameters) DeepCopy() *InstanceTemplateNetworkInterfaceAccessConfigParameters { + if in == nil { + return nil + } + out := new(InstanceTemplateNetworkInterfaceAccessConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateNetworkInterfaceAliasIPRangeObservation) DeepCopyInto(out *InstanceTemplateNetworkInterfaceAliasIPRangeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceAliasIPRangeObservation. +func (in *InstanceTemplateNetworkInterfaceAliasIPRangeObservation) DeepCopy() *InstanceTemplateNetworkInterfaceAliasIPRangeObservation { + if in == nil { + return nil + } + out := new(InstanceTemplateNetworkInterfaceAliasIPRangeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateNetworkInterfaceAliasIPRangeParameters) DeepCopyInto(out *InstanceTemplateNetworkInterfaceAliasIPRangeParameters) { + *out = *in + if in.IPCidrRange != nil { + in, out := &in.IPCidrRange, &out.IPCidrRange + *out = new(string) + **out = **in + } + if in.SubnetworkRangeName != nil { + in, out := &in.SubnetworkRangeName, &out.SubnetworkRangeName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceAliasIPRangeParameters. +func (in *InstanceTemplateNetworkInterfaceAliasIPRangeParameters) DeepCopy() *InstanceTemplateNetworkInterfaceAliasIPRangeParameters { + if in == nil { + return nil + } + out := new(InstanceTemplateNetworkInterfaceAliasIPRangeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateNetworkInterfaceIPv6AccessConfigObservation) DeepCopyInto(out *InstanceTemplateNetworkInterfaceIPv6AccessConfigObservation) { + *out = *in + if in.ExternalIPv6 != nil { + in, out := &in.ExternalIPv6, &out.ExternalIPv6 + *out = new(string) + **out = **in + } + if in.ExternalIPv6PrefixLength != nil { + in, out := &in.ExternalIPv6PrefixLength, &out.ExternalIPv6PrefixLength + *out = new(string) + **out = **in + } + if in.PublicPtrDomainName != nil { + in, out := &in.PublicPtrDomainName, &out.PublicPtrDomainName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceIPv6AccessConfigObservation. +func (in *InstanceTemplateNetworkInterfaceIPv6AccessConfigObservation) DeepCopy() *InstanceTemplateNetworkInterfaceIPv6AccessConfigObservation { + if in == nil { + return nil + } + out := new(InstanceTemplateNetworkInterfaceIPv6AccessConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters) DeepCopyInto(out *InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters) { + *out = *in + if in.NetworkTier != nil { + in, out := &in.NetworkTier, &out.NetworkTier + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters. +func (in *InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters) DeepCopy() *InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters { + if in == nil { + return nil + } + out := new(InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateNetworkInterfaceObservation) DeepCopyInto(out *InstanceTemplateNetworkInterfaceObservation) { + *out = *in + if in.IPv6AccessType != nil { + in, out := &in.IPv6AccessType, &out.IPv6AccessType + *out = new(string) + **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 InstanceTemplateNetworkInterfaceObservation. +func (in *InstanceTemplateNetworkInterfaceObservation) DeepCopy() *InstanceTemplateNetworkInterfaceObservation { + if in == nil { + return nil + } + out := new(InstanceTemplateNetworkInterfaceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateNetworkInterfaceParameters) DeepCopyInto(out *InstanceTemplateNetworkInterfaceParameters) { + *out = *in + if in.AccessConfig != nil { + in, out := &in.AccessConfig, &out.AccessConfig + *out = make([]InstanceTemplateNetworkInterfaceAccessConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AliasIPRange != nil { + in, out := &in.AliasIPRange, &out.AliasIPRange + *out = make([]InstanceTemplateNetworkInterfaceAliasIPRangeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IPv6AccessConfig != nil { + in, out := &in.IPv6AccessConfig, &out.IPv6AccessConfig + *out = make([]InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkIP != nil { + in, out := &in.NetworkIP, &out.NetworkIP + *out = new(string) + **out = **in + } + if in.NicType != nil { + in, out := &in.NicType, &out.NicType + *out = new(string) + **out = **in + } + if in.StackType != nil { + in, out := &in.StackType, &out.StackType + *out = new(string) + **out = **in + } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.SubnetworkProject != nil { + in, out := &in.SubnetworkProject, &out.SubnetworkProject + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateNetworkInterfaceParameters. +func (in *InstanceTemplateNetworkInterfaceParameters) DeepCopy() *InstanceTemplateNetworkInterfaceParameters { + if in == nil { + return nil + } + out := new(InstanceTemplateNetworkInterfaceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateObservation) DeepCopyInto(out *InstanceTemplateObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.MetadataFingerprint != nil { + in, out := &in.MetadataFingerprint, &out.MetadataFingerprint + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.TagsFingerprint != nil { + in, out := &in.TagsFingerprint, &out.TagsFingerprint + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateObservation. +func (in *InstanceTemplateObservation) DeepCopy() *InstanceTemplateObservation { + if in == nil { + return nil + } + out := new(InstanceTemplateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateParameters) DeepCopyInto(out *InstanceTemplateParameters) { + *out = *in + if in.AdvancedMachineFeatures != nil { + in, out := &in.AdvancedMachineFeatures, &out.AdvancedMachineFeatures + *out = make([]InstanceTemplateAdvancedMachineFeaturesParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -1288,40 +3079,32 @@ func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { } if in.ConfidentialInstanceConfig != nil { in, out := &in.ConfidentialInstanceConfig, &out.ConfidentialInstanceConfig - *out = make([]ConfidentialInstanceConfigParameters, len(*in)) + *out = make([]InstanceTemplateConfidentialInstanceConfigParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.DeletionProtection != nil { - in, out := &in.DeletionProtection, &out.DeletionProtection - *out = new(bool) - **out = **in - } if in.Description != nil { in, out := &in.Description, &out.Description *out = new(string) **out = **in } - if in.DesiredStatus != nil { - in, out := &in.DesiredStatus, &out.DesiredStatus - *out = new(string) - **out = **in - } - if in.EnableDisplay != nil { - in, out := &in.EnableDisplay, &out.EnableDisplay - *out = new(bool) - **out = **in + if in.Disk != nil { + in, out := &in.Disk, &out.Disk + *out = make([]DiskParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.GuestAccelerator != nil { in, out := &in.GuestAccelerator, &out.GuestAccelerator - *out = make([]GuestAcceleratorParameters, len(*in)) + *out = make([]InstanceTemplateGuestAcceleratorParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.Hostname != nil { - in, out := &in.Hostname, &out.Hostname + if in.InstanceDescription != nil { + in, out := &in.InstanceDescription, &out.InstanceDescription *out = new(string) **out = **in } @@ -1347,17 +3130,9 @@ func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { } if in.Metadata != nil { in, out := &in.Metadata, &out.Metadata - *out = make(map[string]*string, len(*in)) + *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 + (*out)[key] = val } } if in.MetadataStartupScript != nil { @@ -1372,7 +3147,7 @@ func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { } if in.NetworkInterface != nil { in, out := &in.NetworkInterface, &out.NetworkInterface - *out = make([]NetworkInterfaceParameters, len(*in)) + *out = make([]InstanceTemplateNetworkInterfaceParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -1382,15 +3157,41 @@ func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { *out = new(string) **out = **in } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } if in.ReservationAffinity != nil { in, out := &in.ReservationAffinity, &out.ReservationAffinity - *out = make([]ReservationAffinityParameters, len(*in)) + *out = make([]InstanceTemplateReservationAffinityParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.ResourcePolicies != nil { - in, out := &in.ResourcePolicies, &out.ResourcePolicies + if in.Scheduling != nil { + in, out := &in.Scheduling, &out.Scheduling + *out = make([]InstanceTemplateSchedulingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = make([]InstanceTemplateServiceAccountParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ShieldedInstanceConfig != nil { + in, out := &in.ShieldedInstanceConfig, &out.ShieldedInstanceConfig + *out = make([]InstanceTemplateShieldedInstanceConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -1400,36 +3201,239 @@ func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { } } } - if in.Scheduling != nil { - in, out := &in.Scheduling, &out.Scheduling - *out = make([]SchedulingParameters, len(*in)) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateParameters. +func (in *InstanceTemplateParameters) DeepCopy() *InstanceTemplateParameters { + if in == nil { + return nil + } + out := new(InstanceTemplateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateReservationAffinityObservation) DeepCopyInto(out *InstanceTemplateReservationAffinityObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateReservationAffinityObservation. +func (in *InstanceTemplateReservationAffinityObservation) DeepCopy() *InstanceTemplateReservationAffinityObservation { + if in == nil { + return nil + } + out := new(InstanceTemplateReservationAffinityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateReservationAffinityParameters) DeepCopyInto(out *InstanceTemplateReservationAffinityParameters) { + *out = *in + if in.SpecificReservation != nil { + in, out := &in.SpecificReservation, &out.SpecificReservation + *out = make([]InstanceTemplateReservationAffinitySpecificReservationParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.ScratchDisk != nil { - in, out := &in.ScratchDisk, &out.ScratchDisk - *out = make([]ScratchDiskParameters, len(*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 InstanceTemplateReservationAffinityParameters. +func (in *InstanceTemplateReservationAffinityParameters) DeepCopy() *InstanceTemplateReservationAffinityParameters { + if in == nil { + return nil + } + out := new(InstanceTemplateReservationAffinityParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateReservationAffinitySpecificReservationObservation) DeepCopyInto(out *InstanceTemplateReservationAffinitySpecificReservationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateReservationAffinitySpecificReservationObservation. +func (in *InstanceTemplateReservationAffinitySpecificReservationObservation) DeepCopy() *InstanceTemplateReservationAffinitySpecificReservationObservation { + if in == nil { + return nil + } + out := new(InstanceTemplateReservationAffinitySpecificReservationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateReservationAffinitySpecificReservationParameters) DeepCopyInto(out *InstanceTemplateReservationAffinitySpecificReservationParameters) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Values != nil { + in, out := &in.Values, &out.Values + *out = make([]*string, len(*in)) for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } } } - if in.ServiceAccount != nil { - in, out := &in.ServiceAccount, &out.ServiceAccount - *out = make([]ServiceAccountParameters, len(*in)) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateReservationAffinitySpecificReservationParameters. +func (in *InstanceTemplateReservationAffinitySpecificReservationParameters) DeepCopy() *InstanceTemplateReservationAffinitySpecificReservationParameters { + if in == nil { + return nil + } + out := new(InstanceTemplateReservationAffinitySpecificReservationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateSchedulingNodeAffinitiesObservation) DeepCopyInto(out *InstanceTemplateSchedulingNodeAffinitiesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSchedulingNodeAffinitiesObservation. +func (in *InstanceTemplateSchedulingNodeAffinitiesObservation) DeepCopy() *InstanceTemplateSchedulingNodeAffinitiesObservation { + if in == nil { + return nil + } + out := new(InstanceTemplateSchedulingNodeAffinitiesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateSchedulingNodeAffinitiesParameters) DeepCopyInto(out *InstanceTemplateSchedulingNodeAffinitiesParameters) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Operator != nil { + in, out := &in.Operator, &out.Operator + *out = new(string) + **out = **in + } + if in.Values != nil { + in, out := &in.Values, &out.Values + *out = make([]*string, len(*in)) for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } } } - if in.ShieldedInstanceConfig != nil { - in, out := &in.ShieldedInstanceConfig, &out.ShieldedInstanceConfig - *out = make([]ShieldedInstanceConfigParameters, len(*in)) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSchedulingNodeAffinitiesParameters. +func (in *InstanceTemplateSchedulingNodeAffinitiesParameters) DeepCopy() *InstanceTemplateSchedulingNodeAffinitiesParameters { + if in == nil { + return nil + } + out := new(InstanceTemplateSchedulingNodeAffinitiesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateSchedulingObservation) DeepCopyInto(out *InstanceTemplateSchedulingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSchedulingObservation. +func (in *InstanceTemplateSchedulingObservation) DeepCopy() *InstanceTemplateSchedulingObservation { + if in == nil { + return nil + } + out := new(InstanceTemplateSchedulingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateSchedulingParameters) DeepCopyInto(out *InstanceTemplateSchedulingParameters) { + *out = *in + if in.AutomaticRestart != nil { + in, out := &in.AutomaticRestart, &out.AutomaticRestart + *out = new(bool) + **out = **in + } + if in.MinNodeCpus != nil { + in, out := &in.MinNodeCpus, &out.MinNodeCpus + *out = new(int64) + **out = **in + } + if in.NodeAffinities != nil { + in, out := &in.NodeAffinities, &out.NodeAffinities + *out = make([]InstanceTemplateSchedulingNodeAffinitiesParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.Tags != nil { - in, out := &in.Tags, &out.Tags + if in.OnHostMaintenance != nil { + in, out := &in.OnHostMaintenance, &out.OnHostMaintenance + *out = new(string) + **out = **in + } + if in.Preemptible != nil { + in, out := &in.Preemptible, &out.Preemptible + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSchedulingParameters. +func (in *InstanceTemplateSchedulingParameters) DeepCopy() *InstanceTemplateSchedulingParameters { + if in == nil { + return nil + } + out := new(InstanceTemplateSchedulingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateServiceAccountObservation) DeepCopyInto(out *InstanceTemplateServiceAccountObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateServiceAccountObservation. +func (in *InstanceTemplateServiceAccountObservation) DeepCopy() *InstanceTemplateServiceAccountObservation { + if in == nil { + return nil + } + out := new(InstanceTemplateServiceAccountObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateServiceAccountParameters) DeepCopyInto(out *InstanceTemplateServiceAccountParameters) { + *out = *in + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = new(string) + **out = **in + } + if in.Scopes != nil { + in, out := &in.Scopes, &out.Scopes *out = make([]*string, len(*in)) for i := range *in { if (*in)[i] != nil { @@ -1439,53 +3443,93 @@ func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { } } } - if in.Zone != nil { - in, out := &in.Zone, &out.Zone - *out = new(string) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateServiceAccountParameters. +func (in *InstanceTemplateServiceAccountParameters) DeepCopy() *InstanceTemplateServiceAccountParameters { + if in == nil { + return nil + } + out := new(InstanceTemplateServiceAccountParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateShieldedInstanceConfigObservation) DeepCopyInto(out *InstanceTemplateShieldedInstanceConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateShieldedInstanceConfigObservation. +func (in *InstanceTemplateShieldedInstanceConfigObservation) DeepCopy() *InstanceTemplateShieldedInstanceConfigObservation { + if in == nil { + return nil + } + out := new(InstanceTemplateShieldedInstanceConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceTemplateShieldedInstanceConfigParameters) DeepCopyInto(out *InstanceTemplateShieldedInstanceConfigParameters) { + *out = *in + if in.EnableIntegrityMonitoring != nil { + in, out := &in.EnableIntegrityMonitoring, &out.EnableIntegrityMonitoring + *out = new(bool) + **out = **in + } + if in.EnableSecureBoot != nil { + in, out := &in.EnableSecureBoot, &out.EnableSecureBoot + *out = new(bool) + **out = **in + } + if in.EnableVtpm != nil { + in, out := &in.EnableVtpm, &out.EnableVtpm + *out = new(bool) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceParameters. -func (in *InstanceParameters) DeepCopy() *InstanceParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateShieldedInstanceConfigParameters. +func (in *InstanceTemplateShieldedInstanceConfigParameters) DeepCopy() *InstanceTemplateShieldedInstanceConfigParameters { if in == nil { return nil } - out := new(InstanceParameters) + out := new(InstanceTemplateShieldedInstanceConfigParameters) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec) { +func (in *InstanceTemplateSpec) DeepCopyInto(out *InstanceTemplateSpec) { *out = *in in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) in.ForProvider.DeepCopyInto(&out.ForProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec. -func (in *InstanceSpec) DeepCopy() *InstanceSpec { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateSpec. +func (in *InstanceTemplateSpec) DeepCopy() *InstanceTemplateSpec { if in == nil { return nil } - out := new(InstanceSpec) + out := new(InstanceTemplateSpec) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus) { +func (in *InstanceTemplateStatus) DeepCopyInto(out *InstanceTemplateStatus) { *out = *in in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) in.AtProvider.DeepCopyInto(&out.AtProvider) } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus. -func (in *InstanceStatus) DeepCopy() *InstanceStatus { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTemplateStatus. +func (in *InstanceTemplateStatus) DeepCopy() *InstanceTemplateStatus { if in == nil { return nil } - out := new(InstanceStatus) + out := new(InstanceTemplateStatus) in.DeepCopyInto(out) return out } @@ -1774,6 +3818,141 @@ func (in *Network) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkInterfaceAccessConfigObservation) DeepCopyInto(out *NetworkInterfaceAccessConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceAccessConfigObservation. +func (in *NetworkInterfaceAccessConfigObservation) DeepCopy() *NetworkInterfaceAccessConfigObservation { + if in == nil { + return nil + } + out := new(NetworkInterfaceAccessConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkInterfaceAccessConfigParameters) DeepCopyInto(out *NetworkInterfaceAccessConfigParameters) { + *out = *in + if in.NATIP != nil { + in, out := &in.NATIP, &out.NATIP + *out = new(string) + **out = **in + } + if in.NetworkTier != nil { + in, out := &in.NetworkTier, &out.NetworkTier + *out = new(string) + **out = **in + } + if in.PublicPtrDomainName != nil { + in, out := &in.PublicPtrDomainName, &out.PublicPtrDomainName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceAccessConfigParameters. +func (in *NetworkInterfaceAccessConfigParameters) DeepCopy() *NetworkInterfaceAccessConfigParameters { + if in == nil { + return nil + } + out := new(NetworkInterfaceAccessConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkInterfaceAliasIPRangeObservation) DeepCopyInto(out *NetworkInterfaceAliasIPRangeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceAliasIPRangeObservation. +func (in *NetworkInterfaceAliasIPRangeObservation) DeepCopy() *NetworkInterfaceAliasIPRangeObservation { + if in == nil { + return nil + } + out := new(NetworkInterfaceAliasIPRangeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkInterfaceAliasIPRangeParameters) DeepCopyInto(out *NetworkInterfaceAliasIPRangeParameters) { + *out = *in + if in.IPCidrRange != nil { + in, out := &in.IPCidrRange, &out.IPCidrRange + *out = new(string) + **out = **in + } + if in.SubnetworkRangeName != nil { + in, out := &in.SubnetworkRangeName, &out.SubnetworkRangeName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceAliasIPRangeParameters. +func (in *NetworkInterfaceAliasIPRangeParameters) DeepCopy() *NetworkInterfaceAliasIPRangeParameters { + if in == nil { + return nil + } + out := new(NetworkInterfaceAliasIPRangeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkInterfaceIPv6AccessConfigObservation) DeepCopyInto(out *NetworkInterfaceIPv6AccessConfigObservation) { + *out = *in + if in.ExternalIPv6 != nil { + in, out := &in.ExternalIPv6, &out.ExternalIPv6 + *out = new(string) + **out = **in + } + if in.ExternalIPv6PrefixLength != nil { + in, out := &in.ExternalIPv6PrefixLength, &out.ExternalIPv6PrefixLength + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceIPv6AccessConfigObservation. +func (in *NetworkInterfaceIPv6AccessConfigObservation) DeepCopy() *NetworkInterfaceIPv6AccessConfigObservation { + if in == nil { + return nil + } + out := new(NetworkInterfaceIPv6AccessConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkInterfaceIPv6AccessConfigParameters) DeepCopyInto(out *NetworkInterfaceIPv6AccessConfigParameters) { + *out = *in + if in.NetworkTier != nil { + in, out := &in.NetworkTier, &out.NetworkTier + *out = new(string) + **out = **in + } + if in.PublicPtrDomainName != nil { + in, out := &in.PublicPtrDomainName, &out.PublicPtrDomainName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceIPv6AccessConfigParameters. +func (in *NetworkInterfaceIPv6AccessConfigParameters) DeepCopy() *NetworkInterfaceIPv6AccessConfigParameters { + if in == nil { + return nil + } + out := new(NetworkInterfaceIPv6AccessConfigParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NetworkInterfaceObservation) DeepCopyInto(out *NetworkInterfaceObservation) { *out = *in @@ -2119,6 +4298,52 @@ func (in *ReservationAffinityParameters) DeepCopy() *ReservationAffinityParamete return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReservationAffinitySpecificReservationObservation) DeepCopyInto(out *ReservationAffinitySpecificReservationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationAffinitySpecificReservationObservation. +func (in *ReservationAffinitySpecificReservationObservation) DeepCopy() *ReservationAffinitySpecificReservationObservation { + if in == nil { + return nil + } + out := new(ReservationAffinitySpecificReservationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReservationAffinitySpecificReservationParameters) DeepCopyInto(out *ReservationAffinitySpecificReservationParameters) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Values != nil { + in, out := &in.Values, &out.Values + *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 ReservationAffinitySpecificReservationParameters. +func (in *ReservationAffinitySpecificReservationParameters) DeepCopy() *ReservationAffinitySpecificReservationParameters { + if in == nil { + return nil + } + out := new(ReservationAffinitySpecificReservationParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Router) DeepCopyInto(out *Router) { *out = *in @@ -2568,6 +4793,57 @@ func (in *RouterStatus) DeepCopy() *RouterStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchedulingNodeAffinitiesObservation) DeepCopyInto(out *SchedulingNodeAffinitiesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingNodeAffinitiesObservation. +func (in *SchedulingNodeAffinitiesObservation) DeepCopy() *SchedulingNodeAffinitiesObservation { + if in == nil { + return nil + } + out := new(SchedulingNodeAffinitiesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchedulingNodeAffinitiesParameters) DeepCopyInto(out *SchedulingNodeAffinitiesParameters) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Operator != nil { + in, out := &in.Operator, &out.Operator + *out = new(string) + **out = **in + } + if in.Values != nil { + in, out := &in.Values, &out.Values + *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 SchedulingNodeAffinitiesParameters. +func (in *SchedulingNodeAffinitiesParameters) DeepCopy() *SchedulingNodeAffinitiesParameters { + if in == nil { + return nil + } + out := new(SchedulingNodeAffinitiesParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SchedulingObservation) DeepCopyInto(out *SchedulingObservation) { *out = *in diff --git a/apis/compute/v1alpha2/zz_generated.managed.go b/apis/compute/v1alpha2/zz_generated.managed.go index 0fd59bdc..79df1bfa 100644 --- a/apis/compute/v1alpha2/zz_generated.managed.go +++ b/apis/compute/v1alpha2/zz_generated.managed.go @@ -187,6 +187,118 @@ func (mg *Instance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) mg.Spec.WriteConnectionSecretToReference = r } +// GetCondition of this InstanceFromTemplate. +func (mg *InstanceFromTemplate) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceFromTemplate. +func (mg *InstanceFromTemplate) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceFromTemplate. +func (mg *InstanceFromTemplate) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceFromTemplate. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceFromTemplate) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceFromTemplate. +func (mg *InstanceFromTemplate) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceFromTemplate. +func (mg *InstanceFromTemplate) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceFromTemplate. +func (mg *InstanceFromTemplate) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceFromTemplate. +func (mg *InstanceFromTemplate) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceFromTemplate. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceFromTemplate) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceFromTemplate. +func (mg *InstanceFromTemplate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceTemplate. +func (mg *InstanceTemplate) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceTemplate. +func (mg *InstanceTemplate) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceTemplate. +func (mg *InstanceTemplate) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceTemplate. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceTemplate) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceTemplate. +func (mg *InstanceTemplate) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceTemplate. +func (mg *InstanceTemplate) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceTemplate. +func (mg *InstanceTemplate) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceTemplate. +func (mg *InstanceTemplate) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceTemplate. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceTemplate) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceTemplate. +func (mg *InstanceTemplate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + // GetCondition of this ManagedSSLCertificate. func (mg *ManagedSSLCertificate) GetCondition(ct xpv1.ConditionType) xpv1.Condition { return mg.Status.GetCondition(ct) diff --git a/apis/compute/v1alpha2/zz_generated.managedlist.go b/apis/compute/v1alpha2/zz_generated.managedlist.go index b0448e6a..2b33395e 100644 --- a/apis/compute/v1alpha2/zz_generated.managedlist.go +++ b/apis/compute/v1alpha2/zz_generated.managedlist.go @@ -37,6 +37,15 @@ func (l *FirewallList) GetItems() []resource.Managed { return items } +// GetItems of this InstanceFromTemplateList. +func (l *InstanceFromTemplateList) 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 InstanceList. func (l *InstanceList) GetItems() []resource.Managed { items := make([]resource.Managed, len(l.Items)) @@ -46,6 +55,15 @@ func (l *InstanceList) GetItems() []resource.Managed { return items } +// GetItems of this InstanceTemplateList. +func (l *InstanceTemplateList) 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 ManagedSSLCertificateList. func (l *ManagedSSLCertificateList) GetItems() []resource.Managed { items := make([]resource.Managed, len(l.Items)) diff --git a/apis/compute/v1alpha2/zz_generated.resolvers.go b/apis/compute/v1alpha2/zz_generated.resolvers.go index 23a2ad1b..22e4d667 100644 --- a/apis/compute/v1alpha2/zz_generated.resolvers.go +++ b/apis/compute/v1alpha2/zz_generated.resolvers.go @@ -140,6 +140,53 @@ func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) erro return nil } +// ResolveReferences of this InstanceFromTemplate. +func (mg *InstanceFromTemplate) ResolveReferences(ctx context.Context, c client.Reader) error { + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + + for i3 := 0; i3 < len(mg.Spec.ForProvider.NetworkInterface); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.NetworkInterface[i3].Network), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.NetworkInterface[i3].NetworkRef, + Selector: mg.Spec.ForProvider.NetworkInterface[i3].NetworkSelector, + To: reference.To{ + List: &NetworkList{}, + Managed: &Network{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.NetworkInterface[i3].Network") + } + mg.Spec.ForProvider.NetworkInterface[i3].Network = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.NetworkInterface[i3].NetworkRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.NetworkInterface); i3++ { + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.NetworkInterface[i3].Subnetwork), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.NetworkInterface[i3].SubnetworkRef, + Selector: mg.Spec.ForProvider.NetworkInterface[i3].SubnetworkSelector, + To: reference.To{ + List: &SubnetworkList{}, + Managed: &Subnetwork{}, + }, + }) + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.NetworkInterface[i3].Subnetwork") + } + mg.Spec.ForProvider.NetworkInterface[i3].Subnetwork = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.NetworkInterface[i3].SubnetworkRef = rsp.ResolvedReference + + } + + return nil +} + // ResolveReferences of this Router. func (mg *Router) ResolveReferences(ctx context.Context, c client.Reader) error { r := reference.NewAPIResolver(c, mg) diff --git a/apis/compute/v1alpha2/zz_instancefromtemplate_terraformed.go b/apis/compute/v1alpha2/zz_instancefromtemplate_terraformed.go new file mode 100755 index 00000000..6e27f9fa --- /dev/null +++ b/apis/compute/v1alpha2/zz_instancefromtemplate_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha2 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceFromTemplate +func (mg *InstanceFromTemplate) GetTerraformResourceType() string { + return "google_compute_instance_from_template" +} + +// GetConnectionDetailsMapping for this InstanceFromTemplate +func (tr *InstanceFromTemplate) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"attached_disk[*].disk_encryption_key_raw": "spec.forProvider.attachedDisk[*].diskEncryptionKeyRawSecretRef", "boot_disk[*].disk_encryption_key_raw": "spec.forProvider.bootDisk[*].diskEncryptionKeyRawSecretRef"} +} + +// GetObservation of this InstanceFromTemplate +func (tr *InstanceFromTemplate) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceFromTemplate +func (tr *InstanceFromTemplate) SetObservation(obs map[string]interface{}) 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 InstanceFromTemplate +func (tr *InstanceFromTemplate) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceFromTemplate +func (tr *InstanceFromTemplate) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceFromTemplate +func (tr *InstanceFromTemplate) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceFromTemplate using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceFromTemplate) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceFromTemplateParameters{} + 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 *InstanceFromTemplate) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/compute/v1alpha2/zz_instancefromtemplate_types.go b/apis/compute/v1alpha2/zz_instancefromtemplate_types.go new file mode 100755 index 00000000..31831ce8 --- /dev/null +++ b/apis/compute/v1alpha2/zz_instancefromtemplate_types.go @@ -0,0 +1,548 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha2 + +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 BootDiskInitializeParamsObservation struct { +} + +type BootDiskInitializeParamsParameters struct { + + // The image from which this disk was initialised. + // +kubebuilder:validation:Optional + Image *string `json:"image,omitempty" tf:"image,omitempty"` + + // A set of key/value label pairs assigned to the disk. + // +kubebuilder:validation:Optional + Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The size of the image in gigabytes. + // +kubebuilder:validation:Optional + Size *int64 `json:"size,omitempty" tf:"size,omitempty"` + + // The Google Compute Engine disk type. One of pd-standard, pd-ssd or pd-balanced. + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type InstanceFromTemplateAdvancedMachineFeaturesObservation struct { +} + +type InstanceFromTemplateAdvancedMachineFeaturesParameters struct { + + // Whether to enable nested virtualization or not. + // +kubebuilder:validation:Optional + EnableNestedVirtualization *bool `json:"enableNestedVirtualization,omitempty" tf:"enable_nested_virtualization,omitempty"` + + // The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed. + // +kubebuilder:validation:Optional + ThreadsPerCore *int64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"` +} + +type InstanceFromTemplateAttachedDiskObservation struct { + DiskEncryptionKeySha256 *string `json:"diskEncryptionKeySha256,omitempty" tf:"disk_encryption_key_sha256,omitempty"` +} + +type InstanceFromTemplateAttachedDiskParameters struct { + + // Name with which the attached disk is accessible under /dev/disk/by-id/ + // +kubebuilder:validation:Optional + DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"` + + // A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set. + // +kubebuilder:validation:Optional + DiskEncryptionKeyRawSecretRef *v1.SecretKeySelector `json:"diskEncryptionKeyRawSecretRef,omitempty" tf:"-"` + + // The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set. + // +kubebuilder:validation:Optional + KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"` + + // Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE". + // +kubebuilder:validation:Optional + Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` + + // The name or self_link of the disk attached to this instance. + // +kubebuilder:validation:Required + Source *string `json:"source" tf:"source,omitempty"` +} + +type InstanceFromTemplateBootDiskObservation struct { + DiskEncryptionKeySha256 *string `json:"diskEncryptionKeySha256,omitempty" tf:"disk_encryption_key_sha256,omitempty"` +} + +type InstanceFromTemplateBootDiskParameters struct { + + // Whether the disk will be auto-deleted when the instance is deleted. + // +kubebuilder:validation:Optional + AutoDelete *bool `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"` + + // Name with which attached disk will be accessible under /dev/disk/by-id/ + // +kubebuilder:validation:Optional + DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"` + + // A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set. + // +kubebuilder:validation:Optional + DiskEncryptionKeyRawSecretRef *v1.SecretKeySelector `json:"diskEncryptionKeyRawSecretRef,omitempty" tf:"-"` + + // Parameters with which a disk was created alongside the instance. + // +kubebuilder:validation:Optional + InitializeParams []BootDiskInitializeParamsParameters `json:"initializeParams,omitempty" tf:"initialize_params,omitempty"` + + // The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set. + // +kubebuilder:validation:Optional + KMSKeySelfLink *string `json:"kmsKeySelfLink,omitempty" tf:"kms_key_self_link,omitempty"` + + // Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE". + // +kubebuilder:validation:Optional + Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` + + // The name or self_link of the disk attached to this instance. + // +kubebuilder:validation:Optional + Source *string `json:"source,omitempty" tf:"source,omitempty"` +} + +type InstanceFromTemplateConfidentialInstanceConfigObservation struct { +} + +type InstanceFromTemplateConfidentialInstanceConfigParameters struct { + + // Defines whether the instance should have confidential compute enabled. + // +kubebuilder:validation:Required + EnableConfidentialCompute *bool `json:"enableConfidentialCompute" tf:"enable_confidential_compute,omitempty"` +} + +type InstanceFromTemplateGuestAcceleratorObservation struct { +} + +type InstanceFromTemplateGuestAcceleratorParameters struct { + + // The number of the guest accelerator cards exposed to this instance. + // +kubebuilder:validation:Required + Count *int64 `json:"count" tf:"count,omitempty"` + + // The accelerator type resource exposed to this instance. E.g. nvidia-tesla-k80. + // +kubebuilder:validation:Required + Type *string `json:"type" tf:"type,omitempty"` +} + +type InstanceFromTemplateNetworkInterfaceObservation struct { + IPv6AccessType *string `json:"ipv6AccessType,omitempty" tf:"ipv6_access_type,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type InstanceFromTemplateNetworkInterfaceParameters struct { + + // Access configurations, i.e. IPs via which this instance can be accessed via the Internet. + // +kubebuilder:validation:Optional + AccessConfig []NetworkInterfaceAccessConfigParameters `json:"accessConfig,omitempty" tf:"access_config,omitempty"` + + // An array of alias IP ranges for this network interface. + // +kubebuilder:validation:Optional + AliasIPRange []NetworkInterfaceAliasIPRangeParameters `json:"aliasIpRange,omitempty" tf:"alias_ip_range,omitempty"` + + // An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. + // +kubebuilder:validation:Optional + IPv6AccessConfig []NetworkInterfaceIPv6AccessConfigParameters `json:"ipv6AccessConfig,omitempty" tf:"ipv6_access_config,omitempty"` + + // The name or self_link of the network attached to this interface. + // +crossplane:generate:reference:type=Network + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // The private IP address assigned to the instance. + // +kubebuilder:validation:Optional + NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"` + + // +kubebuilder:validation:Optional + NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"` + + // +kubebuilder:validation:Optional + NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"` + + // The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET + // +kubebuilder:validation:Optional + NicType *string `json:"nicType,omitempty" tf:"nic_type,omitempty"` + + // The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. + // +kubebuilder:validation:Optional + StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"` + + // The name or self_link of the subnetwork attached to this interface. + // +crossplane:generate:reference:type=Subnetwork + // +kubebuilder:validation:Optional + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // The project in which the subnetwork belongs. + // +kubebuilder:validation:Optional + SubnetworkProject *string `json:"subnetworkProject,omitempty" tf:"subnetwork_project,omitempty"` + + // +kubebuilder:validation:Optional + SubnetworkRef *v1.Reference `json:"subnetworkRef,omitempty" tf:"-"` + + // +kubebuilder:validation:Optional + SubnetworkSelector *v1.Selector `json:"subnetworkSelector,omitempty" tf:"-"` +} + +type InstanceFromTemplateObservation struct { + CPUPlatform *string `json:"cpuPlatform,omitempty" tf:"cpu_platform,omitempty"` + + CurrentStatus *string `json:"currentStatus,omitempty" tf:"current_status,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + + LabelFingerprint *string `json:"labelFingerprint,omitempty" tf:"label_fingerprint,omitempty"` + + MetadataFingerprint *string `json:"metadataFingerprint,omitempty" tf:"metadata_fingerprint,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + TagsFingerprint *string `json:"tagsFingerprint,omitempty" tf:"tags_fingerprint,omitempty"` +} + +type InstanceFromTemplateParameters struct { + + // Controls for advanced machine-related behavior features. + // +kubebuilder:validation:Optional + AdvancedMachineFeatures []InstanceFromTemplateAdvancedMachineFeaturesParameters `json:"advancedMachineFeatures,omitempty" tf:"advanced_machine_features,omitempty"` + + // If true, allows Terraform to stop the instance to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail. + // +kubebuilder:validation:Optional + AllowStoppingForUpdate *bool `json:"allowStoppingForUpdate,omitempty" tf:"allow_stopping_for_update,omitempty"` + + // List of disks attached to the instance + // +kubebuilder:validation:Optional + AttachedDisk []InstanceFromTemplateAttachedDiskParameters `json:"attachedDisk,omitempty" tf:"attached_disk,omitempty"` + + // The boot disk for the instance. + // +kubebuilder:validation:Optional + BootDisk []InstanceFromTemplateBootDiskParameters `json:"bootDisk,omitempty" tf:"boot_disk,omitempty"` + + // Whether sending and receiving of packets with non-matching source or destination IPs is allowed. + // +kubebuilder:validation:Optional + CanIPForward *bool `json:"canIpForward,omitempty" tf:"can_ip_forward,omitempty"` + + // The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create. + // +kubebuilder:validation:Optional + ConfidentialInstanceConfig []InstanceFromTemplateConfidentialInstanceConfigParameters `json:"confidentialInstanceConfig,omitempty" tf:"confidential_instance_config,omitempty"` + + // Whether deletion protection is enabled on this instance. + // +kubebuilder:validation:Optional + DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"` + + // A brief description of the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Desired status of the instance. Either "RUNNING" or "TERMINATED". + // +kubebuilder:validation:Optional + DesiredStatus *string `json:"desiredStatus,omitempty" tf:"desired_status,omitempty"` + + // Whether the instance has virtual displays enabled. + // +kubebuilder:validation:Optional + EnableDisplay *bool `json:"enableDisplay,omitempty" tf:"enable_display,omitempty"` + + // List of the type and count of accelerator cards attached to the instance. + // +kubebuilder:validation:Optional + GuestAccelerator []InstanceFromTemplateGuestAcceleratorParameters `json:"guestAccelerator,omitempty" tf:"guest_accelerator,omitempty"` + + // A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression [a-z]([-a-z0-9]*[a-z0-9]), concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created. + // +kubebuilder:validation:Optional + Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"` + + // A set of key/value label pairs assigned to the instance. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The machine type to create. + // +kubebuilder:validation:Optional + MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"` + + // Metadata key/value pairs made available within the instance. + // +kubebuilder:validation:Optional + Metadata map[string]string `json:"metadata,omitempty" tf:"metadata,omitempty"` + + // Metadata startup scripts made available within the instance. + // +kubebuilder:validation:Optional + MetadataStartupScript *string `json:"metadataStartupScript,omitempty" tf:"metadata_startup_script,omitempty"` + + // The minimum CPU platform specified for the VM instance. + // +kubebuilder:validation:Optional + MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"` + + // The networks attached to the instance. + // +kubebuilder:validation:Optional + NetworkInterface []InstanceFromTemplateNetworkInterfaceParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"` + + // The ID of the project in which the resource belongs. If self_link is provided, this value is ignored. If neither self_link nor project are provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Specifies the reservations that this instance can consume from. + // +kubebuilder:validation:Optional + ReservationAffinity []InstanceFromTemplateReservationAffinityParameters `json:"reservationAffinity,omitempty" tf:"reservation_affinity,omitempty"` + + // A list of short names or self_links of resource policies to attach to the instance. Currently a max of 1 resource policy is supported. + // +kubebuilder:validation:Optional + ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"` + + // The scheduling strategy being used by the instance. + // +kubebuilder:validation:Optional + Scheduling []InstanceFromTemplateSchedulingParameters `json:"scheduling,omitempty" tf:"scheduling,omitempty"` + + // The scratch disks attached to the instance. + // +kubebuilder:validation:Optional + ScratchDisk []InstanceFromTemplateScratchDiskParameters `json:"scratchDisk,omitempty" tf:"scratch_disk,omitempty"` + + // The service account to attach to the instance. + // +kubebuilder:validation:Optional + ServiceAccount []InstanceFromTemplateServiceAccountParameters `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // The shielded vm config being used by the instance. + // +kubebuilder:validation:Optional + ShieldedInstanceConfig []InstanceFromTemplateShieldedInstanceConfigParameters `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"` + + // Name or self link of an instance template to create the instance based on. + // +kubebuilder:validation:Required + SourceInstanceTemplate *string `json:"sourceInstanceTemplate" tf:"source_instance_template,omitempty"` + + // The list of tags attached to the instance. + // +kubebuilder:validation:Optional + Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // The zone of the instance. If self_link is provided, this value is ignored. If neither self_link nor zone are provided, the provider zone is used. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type InstanceFromTemplateReservationAffinityObservation struct { +} + +type InstanceFromTemplateReservationAffinityParameters struct { + + // Specifies the label selector for the reservation to use. + // +kubebuilder:validation:Optional + SpecificReservation []ReservationAffinitySpecificReservationParameters `json:"specificReservation,omitempty" tf:"specific_reservation,omitempty"` + + // The type of reservation from which this instance can consume resources. + // +kubebuilder:validation:Required + Type *string `json:"type" tf:"type,omitempty"` +} + +type InstanceFromTemplateSchedulingObservation struct { +} + +type InstanceFromTemplateSchedulingParameters struct { + + // Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). + // +kubebuilder:validation:Optional + AutomaticRestart *bool `json:"automaticRestart,omitempty" tf:"automatic_restart,omitempty"` + + // +kubebuilder:validation:Optional + MinNodeCpus *int64 `json:"minNodeCpus,omitempty" tf:"min_node_cpus,omitempty"` + + // Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems. + // +kubebuilder:validation:Optional + NodeAffinities []SchedulingNodeAffinitiesParameters `json:"nodeAffinities,omitempty" tf:"node_affinities,omitempty"` + + // Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE, + // +kubebuilder:validation:Optional + OnHostMaintenance *string `json:"onHostMaintenance,omitempty" tf:"on_host_maintenance,omitempty"` + + // Whether the instance is preemptible. + // +kubebuilder:validation:Optional + Preemptible *bool `json:"preemptible,omitempty" tf:"preemptible,omitempty"` +} + +type InstanceFromTemplateScratchDiskObservation struct { +} + +type InstanceFromTemplateScratchDiskParameters struct { + + // The disk interface used for attaching this disk. One of SCSI or NVME. + // +kubebuilder:validation:Required + Interface *string `json:"interface" tf:"interface,omitempty"` +} + +type InstanceFromTemplateServiceAccountObservation struct { +} + +type InstanceFromTemplateServiceAccountParameters struct { + + // The service account e-mail address. + // +kubebuilder:validation:Optional + Email *string `json:"email,omitempty" tf:"email,omitempty"` + + // A list of service scopes. + // +kubebuilder:validation:Required + Scopes []*string `json:"scopes" tf:"scopes,omitempty"` +} + +type InstanceFromTemplateShieldedInstanceConfigObservation struct { +} + +type InstanceFromTemplateShieldedInstanceConfigParameters struct { + + // Whether integrity monitoring is enabled for the instance. + // +kubebuilder:validation:Optional + EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring,omitempty" tf:"enable_integrity_monitoring,omitempty"` + + // Whether secure boot is enabled for the instance. + // +kubebuilder:validation:Optional + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty" tf:"enable_secure_boot,omitempty"` + + // Whether the instance uses vTPM. + // +kubebuilder:validation:Optional + EnableVtpm *bool `json:"enableVtpm,omitempty" tf:"enable_vtpm,omitempty"` +} + +type NetworkInterfaceAccessConfigObservation struct { +} + +type NetworkInterfaceAccessConfigParameters struct { + + // The IP address that is be 1:1 mapped to the instance's network ip. + // +kubebuilder:validation:Optional + NATIP *string `json:"natIp,omitempty" tf:"nat_ip,omitempty"` + + // The networking tier used for configuring this instance. One of PREMIUM or STANDARD. + // +kubebuilder:validation:Optional + NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"` + + // The DNS domain name for the public PTR record. + // +kubebuilder:validation:Optional + PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"` +} + +type NetworkInterfaceAliasIPRangeObservation struct { +} + +type NetworkInterfaceAliasIPRangeParameters struct { + + // The IP CIDR range represented by this alias IP range. + // +kubebuilder:validation:Required + IPCidrRange *string `json:"ipCidrRange" tf:"ip_cidr_range,omitempty"` + + // The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range. + // +kubebuilder:validation:Optional + SubnetworkRangeName *string `json:"subnetworkRangeName,omitempty" tf:"subnetwork_range_name,omitempty"` +} + +type NetworkInterfaceIPv6AccessConfigObservation struct { + ExternalIPv6 *string `json:"externalIpv6,omitempty" tf:"external_ipv6,omitempty"` + + ExternalIPv6PrefixLength *string `json:"externalIpv6PrefixLength,omitempty" tf:"external_ipv6_prefix_length,omitempty"` +} + +type NetworkInterfaceIPv6AccessConfigParameters struct { + + // The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6 + // +kubebuilder:validation:Required + NetworkTier *string `json:"networkTier" tf:"network_tier,omitempty"` + + // The domain name to be used when creating DNSv6 records for the external IPv6 ranges. + // +kubebuilder:validation:Optional + PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"` +} + +type ReservationAffinitySpecificReservationObservation struct { +} + +type ReservationAffinitySpecificReservationParameters struct { + + // Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value. + // +kubebuilder:validation:Required + Key *string `json:"key" tf:"key,omitempty"` + + // Corresponds to the label values of a reservation resource. + // +kubebuilder:validation:Required + Values []*string `json:"values" tf:"values,omitempty"` +} + +type SchedulingNodeAffinitiesObservation struct { +} + +type SchedulingNodeAffinitiesParameters struct { + + // +kubebuilder:validation:Required + Key *string `json:"key" tf:"key,omitempty"` + + // +kubebuilder:validation:Required + Operator *string `json:"operator" tf:"operator,omitempty"` + + // +kubebuilder:validation:Required + Values []*string `json:"values" tf:"values,omitempty"` +} + +// InstanceFromTemplateSpec defines the desired state of InstanceFromTemplate +type InstanceFromTemplateSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceFromTemplateParameters `json:"forProvider"` +} + +// InstanceFromTemplateStatus defines the observed state of InstanceFromTemplate. +type InstanceFromTemplateStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceFromTemplateObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceFromTemplate is the Schema for the InstanceFromTemplates 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,gcpjet} +type InstanceFromTemplate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceFromTemplateSpec `json:"spec"` + Status InstanceFromTemplateStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceFromTemplateList contains a list of InstanceFromTemplates +type InstanceFromTemplateList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceFromTemplate `json:"items"` +} + +// Repository type metadata. +var ( + InstanceFromTemplate_Kind = "InstanceFromTemplate" + InstanceFromTemplate_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceFromTemplate_Kind}.String() + InstanceFromTemplate_KindAPIVersion = InstanceFromTemplate_Kind + "." + CRDGroupVersion.String() + InstanceFromTemplate_GroupVersionKind = CRDGroupVersion.WithKind(InstanceFromTemplate_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceFromTemplate{}, &InstanceFromTemplateList{}) +} diff --git a/apis/compute/v1alpha2/zz_instancetemplate_terraformed.go b/apis/compute/v1alpha2/zz_instancetemplate_terraformed.go new file mode 100755 index 00000000..200d6392 --- /dev/null +++ b/apis/compute/v1alpha2/zz_instancetemplate_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha2 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceTemplate +func (mg *InstanceTemplate) GetTerraformResourceType() string { + return "google_compute_instance_template" +} + +// GetConnectionDetailsMapping for this InstanceTemplate +func (tr *InstanceTemplate) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceTemplate +func (tr *InstanceTemplate) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceTemplate +func (tr *InstanceTemplate) SetObservation(obs map[string]interface{}) 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 InstanceTemplate +func (tr *InstanceTemplate) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceTemplate +func (tr *InstanceTemplate) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceTemplate +func (tr *InstanceTemplate) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceTemplate using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceTemplate) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceTemplateParameters{} + 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 *InstanceTemplate) GetTerraformSchemaVersion() int { + return 1 +} diff --git a/apis/compute/v1alpha2/zz_instancetemplate_types.go b/apis/compute/v1alpha2/zz_instancetemplate_types.go new file mode 100755 index 00000000..340723a5 --- /dev/null +++ b/apis/compute/v1alpha2/zz_instancetemplate_types.go @@ -0,0 +1,468 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha2 + +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 DiskEncryptionKeyObservation struct { +} + +type DiskEncryptionKeyParameters struct { + + // The self link of the encryption key that is stored in Google Cloud KMS. + // +kubebuilder:validation:Required + KMSKeySelfLink *string `json:"kmsKeySelfLink" tf:"kms_key_self_link,omitempty"` +} + +type DiskObservation struct { +} + +type DiskParameters struct { + + // Whether or not the disk should be auto-deleted. This defaults to true. + // +kubebuilder:validation:Optional + AutoDelete *bool `json:"autoDelete,omitempty" tf:"auto_delete,omitempty"` + + // Indicates that this is a boot disk. + // +kubebuilder:validation:Optional + Boot *bool `json:"boot,omitempty" tf:"boot,omitempty"` + + // A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk. + // +kubebuilder:validation:Optional + DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"` + + // Encrypts or decrypts a disk using a customer-supplied encryption key. + // +kubebuilder:validation:Optional + DiskEncryptionKey []DiskEncryptionKeyParameters `json:"diskEncryptionKey,omitempty" tf:"disk_encryption_key,omitempty"` + + // Name of the disk. When not provided, this defaults to the name of the instance. + // +kubebuilder:validation:Optional + DiskName *string `json:"diskName,omitempty" tf:"disk_name,omitempty"` + + // The size of the image in gigabytes. If not specified, it will inherit the size of its base image. For SCRATCH disks, the size must be exactly 375GB. + // +kubebuilder:validation:Optional + DiskSizeGb *int64 `json:"diskSizeGb,omitempty" tf:"disk_size_gb,omitempty"` + + // The Google Compute Engine disk type. Can be either "pd-ssd", "local-ssd", "pd-balanced" or "pd-standard". + // +kubebuilder:validation:Optional + DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"` + + // Specifies the disk interface to use for attaching this disk. + // +kubebuilder:validation:Optional + Interface *string `json:"interface,omitempty" tf:"interface,omitempty"` + + // A set of key/value label pairs to assign to disks, + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If you are attaching or creating a boot disk, this must read-write mode. + // +kubebuilder:validation:Optional + Mode *string `json:"mode,omitempty" tf:"mode,omitempty"` + + // A list (short name or id) of resource policies to attach to this disk. Currently a max of 1 resource policy is supported. + // +kubebuilder:validation:Optional + ResourcePolicies []*string `json:"resourcePolicies,omitempty" tf:"resource_policies,omitempty"` + + // The name (not self_link) of the disk (such as those managed by google_compute_disk) to attach. ~> Note: Either source or source_image is required when creating a new instance except for when creating a local SSD. + // +kubebuilder:validation:Optional + Source *string `json:"source,omitempty" tf:"source,omitempty"` + + // The image from which to initialize this disk. This can be one of: the image's self_link, projects/{project}/global/images/{image}, projects/{project}/global/images/family/{family}, global/images/{image}, global/images/family/{family}, family/{family}, {project}/{family}, {project}/{image}, {family}, or {image}. ~> Note: Either source or source_image is required when creating a new instance except for when creating a local SSD. + // +kubebuilder:validation:Optional + SourceImage *string `json:"sourceImage,omitempty" tf:"source_image,omitempty"` + + // The type of Google Compute Engine disk, can be either "SCRATCH" or "PERSISTENT". + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type InstanceTemplateAdvancedMachineFeaturesObservation struct { +} + +type InstanceTemplateAdvancedMachineFeaturesParameters struct { + + // Whether to enable nested virtualization or not. + // +kubebuilder:validation:Optional + EnableNestedVirtualization *bool `json:"enableNestedVirtualization,omitempty" tf:"enable_nested_virtualization,omitempty"` + + // The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed. + // +kubebuilder:validation:Optional + ThreadsPerCore *int64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"` +} + +type InstanceTemplateConfidentialInstanceConfigObservation struct { +} + +type InstanceTemplateConfidentialInstanceConfigParameters struct { + + // Defines whether the instance should have confidential compute enabled. + // +kubebuilder:validation:Required + EnableConfidentialCompute *bool `json:"enableConfidentialCompute" tf:"enable_confidential_compute,omitempty"` +} + +type InstanceTemplateGuestAcceleratorObservation struct { +} + +type InstanceTemplateGuestAcceleratorParameters struct { + + // The number of the guest accelerator cards exposed to this instance. + // +kubebuilder:validation:Required + Count *int64 `json:"count" tf:"count,omitempty"` + + // The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80. + // +kubebuilder:validation:Required + Type *string `json:"type" tf:"type,omitempty"` +} + +type InstanceTemplateNetworkInterfaceAccessConfigObservation struct { + PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"` +} + +type InstanceTemplateNetworkInterfaceAccessConfigParameters struct { + + // The IP address that will be 1:1 mapped to the instance's network ip. If not given, one will be generated. + // +kubebuilder:validation:Optional + NATIP *string `json:"natIp,omitempty" tf:"nat_ip,omitempty"` + + // The networking tier used for configuring this instance template. This field can take the following values: PREMIUM or STANDARD. If this field is not specified, it is assumed to be PREMIUM. + // +kubebuilder:validation:Optional + NetworkTier *string `json:"networkTier,omitempty" tf:"network_tier,omitempty"` +} + +type InstanceTemplateNetworkInterfaceAliasIPRangeObservation struct { +} + +type InstanceTemplateNetworkInterfaceAliasIPRangeParameters struct { + + // The IP CIDR range represented by this alias IP range. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. At the time of writing only a netmask (e.g. /24) may be supplied, with a CIDR format resulting in an API error. + // +kubebuilder:validation:Required + IPCidrRange *string `json:"ipCidrRange" tf:"ip_cidr_range,omitempty"` + + // The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range. If left unspecified, the primary range of the subnetwork will be used. + // +kubebuilder:validation:Optional + SubnetworkRangeName *string `json:"subnetworkRangeName,omitempty" tf:"subnetwork_range_name,omitempty"` +} + +type InstanceTemplateNetworkInterfaceIPv6AccessConfigObservation struct { + ExternalIPv6 *string `json:"externalIpv6,omitempty" tf:"external_ipv6,omitempty"` + + ExternalIPv6PrefixLength *string `json:"externalIpv6PrefixLength,omitempty" tf:"external_ipv6_prefix_length,omitempty"` + + PublicPtrDomainName *string `json:"publicPtrDomainName,omitempty" tf:"public_ptr_domain_name,omitempty"` +} + +type InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters struct { + + // The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6 + // +kubebuilder:validation:Required + NetworkTier *string `json:"networkTier" tf:"network_tier,omitempty"` +} + +type InstanceTemplateNetworkInterfaceObservation struct { + IPv6AccessType *string `json:"ipv6AccessType,omitempty" tf:"ipv6_access_type,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type InstanceTemplateNetworkInterfaceParameters struct { + + // Access configurations, i.e. IPs via which this instance can be accessed via the Internet. Omit to ensure that the instance is not accessible from the Internet (this means that ssh provisioners will not work unless you are running Terraform can send traffic to the instance's network (e.g. via tunnel or because it is running on another cloud instance on that network). This block can be repeated multiple times. + // +kubebuilder:validation:Optional + AccessConfig []InstanceTemplateNetworkInterfaceAccessConfigParameters `json:"accessConfig,omitempty" tf:"access_config,omitempty"` + + // An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. + // +kubebuilder:validation:Optional + AliasIPRange []InstanceTemplateNetworkInterfaceAliasIPRangeParameters `json:"aliasIpRange,omitempty" tf:"alias_ip_range,omitempty"` + + // An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. + // +kubebuilder:validation:Optional + IPv6AccessConfig []InstanceTemplateNetworkInterfaceIPv6AccessConfigParameters `json:"ipv6AccessConfig,omitempty" tf:"ipv6_access_config,omitempty"` + + // The name or self_link of the network to attach this interface to. Use network attribute for Legacy or Auto subnetted networks and subnetwork for custom subnetted networks. + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // The private IP address to assign to the instance. If empty, the address will be automatically assigned. + // +kubebuilder:validation:Optional + NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"` + + // The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET + // +kubebuilder:validation:Optional + NicType *string `json:"nicType,omitempty" tf:"nic_type,omitempty"` + + // The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. + // +kubebuilder:validation:Optional + StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"` + + // The name of the subnetwork to attach this interface to. The subnetwork must exist in the same region this instance will be created in. Either network or subnetwork must be provided. + // +kubebuilder:validation:Optional + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // The ID of the project in which the subnetwork belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + SubnetworkProject *string `json:"subnetworkProject,omitempty" tf:"subnetwork_project,omitempty"` +} + +type InstanceTemplateObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + MetadataFingerprint *string `json:"metadataFingerprint,omitempty" tf:"metadata_fingerprint,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + TagsFingerprint *string `json:"tagsFingerprint,omitempty" tf:"tags_fingerprint,omitempty"` +} + +type InstanceTemplateParameters struct { + + // Controls for advanced machine-related behavior features. + // +kubebuilder:validation:Optional + AdvancedMachineFeatures []InstanceTemplateAdvancedMachineFeaturesParameters `json:"advancedMachineFeatures,omitempty" tf:"advanced_machine_features,omitempty"` + + // Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false. + // +kubebuilder:validation:Optional + CanIPForward *bool `json:"canIpForward,omitempty" tf:"can_ip_forward,omitempty"` + + // The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create. + // +kubebuilder:validation:Optional + ConfidentialInstanceConfig []InstanceTemplateConfidentialInstanceConfigParameters `json:"confidentialInstanceConfig,omitempty" tf:"confidential_instance_config,omitempty"` + + // A brief description of this resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. + // +kubebuilder:validation:Required + Disk []DiskParameters `json:"disk" tf:"disk,omitempty"` + + // List of the type and count of accelerator cards attached to the instance. + // +kubebuilder:validation:Optional + GuestAccelerator []InstanceTemplateGuestAcceleratorParameters `json:"guestAccelerator,omitempty" tf:"guest_accelerator,omitempty"` + + // A description of the instance. + // +kubebuilder:validation:Optional + InstanceDescription *string `json:"instanceDescription,omitempty" tf:"instance_description,omitempty"` + + // A set of key/value label pairs to assign to instances created from this template, + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The machine type to create. To create a machine with a custom type (such as extended memory), format the value like custom-VCPUS-MEM_IN_MB like custom-6-20480 for 6 vCPU and 20GB of RAM. + // +kubebuilder:validation:Required + MachineType *string `json:"machineType" tf:"machine_type,omitempty"` + + // Metadata key/value pairs to make available from within instances created from this template. + // +kubebuilder:validation:Optional + Metadata map[string]string `json:"metadata,omitempty" tf:"metadata,omitempty"` + + // An alternative to using the startup-script metadata key, mostly to match the compute_instance resource. This replaces the startup-script metadata key on the created instance and thus the two mechanisms are not allowed to be used simultaneously. + // +kubebuilder:validation:Optional + MetadataStartupScript *string `json:"metadataStartupScript,omitempty" tf:"metadata_startup_script,omitempty"` + + // Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. + // +kubebuilder:validation:Optional + MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"` + + // Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. + // +kubebuilder:validation:Optional + NetworkInterface []InstanceTemplateNetworkInterfaceParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // An instance template is a global resource that is not bound to a zone or a region. However, you can still specify some regional resources in an instance template, which restricts the template to the region where that resource resides. For example, a custom subnetwork resource is tied to a specific region. Defaults to the region of the Provider if no value is given. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // Specifies the reservations that this instance can consume from. + // +kubebuilder:validation:Optional + ReservationAffinity []InstanceTemplateReservationAffinityParameters `json:"reservationAffinity,omitempty" tf:"reservation_affinity,omitempty"` + + // The scheduling strategy to use. + // +kubebuilder:validation:Optional + Scheduling []InstanceTemplateSchedulingParameters `json:"scheduling,omitempty" tf:"scheduling,omitempty"` + + // Service account to attach to the instance. + // +kubebuilder:validation:Optional + ServiceAccount []InstanceTemplateServiceAccountParameters `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Note: shielded_instance_config can only be used with boot images with shielded vm support. + // +kubebuilder:validation:Optional + ShieldedInstanceConfig []InstanceTemplateShieldedInstanceConfigParameters `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"` + + // Tags to attach to the instance. + // +kubebuilder:validation:Optional + Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` +} + +type InstanceTemplateReservationAffinityObservation struct { +} + +type InstanceTemplateReservationAffinityParameters struct { + + // Specifies the label selector for the reservation to use. + // +kubebuilder:validation:Optional + SpecificReservation []InstanceTemplateReservationAffinitySpecificReservationParameters `json:"specificReservation,omitempty" tf:"specific_reservation,omitempty"` + + // The type of reservation from which this instance can consume resources. + // +kubebuilder:validation:Required + Type *string `json:"type" tf:"type,omitempty"` +} + +type InstanceTemplateReservationAffinitySpecificReservationObservation struct { +} + +type InstanceTemplateReservationAffinitySpecificReservationParameters struct { + + // Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value. + // +kubebuilder:validation:Required + Key *string `json:"key" tf:"key,omitempty"` + + // Corresponds to the label values of a reservation resource. + // +kubebuilder:validation:Required + Values []*string `json:"values" tf:"values,omitempty"` +} + +type InstanceTemplateSchedulingNodeAffinitiesObservation struct { +} + +type InstanceTemplateSchedulingNodeAffinitiesParameters struct { + + // +kubebuilder:validation:Required + Key *string `json:"key" tf:"key,omitempty"` + + // +kubebuilder:validation:Required + Operator *string `json:"operator" tf:"operator,omitempty"` + + // +kubebuilder:validation:Required + Values []*string `json:"values" tf:"values,omitempty"` +} + +type InstanceTemplateSchedulingObservation struct { +} + +type InstanceTemplateSchedulingParameters struct { + + // Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). This defaults to true. + // +kubebuilder:validation:Optional + AutomaticRestart *bool `json:"automaticRestart,omitempty" tf:"automatic_restart,omitempty"` + + // Minimum number of cpus for the instance. + // +kubebuilder:validation:Optional + MinNodeCpus *int64 `json:"minNodeCpus,omitempty" tf:"min_node_cpus,omitempty"` + + // Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems. + // +kubebuilder:validation:Optional + NodeAffinities []InstanceTemplateSchedulingNodeAffinitiesParameters `json:"nodeAffinities,omitempty" tf:"node_affinities,omitempty"` + + // Defines the maintenance behavior for this instance. + // +kubebuilder:validation:Optional + OnHostMaintenance *string `json:"onHostMaintenance,omitempty" tf:"on_host_maintenance,omitempty"` + + // Allows instance to be preempted. This defaults to false. + // +kubebuilder:validation:Optional + Preemptible *bool `json:"preemptible,omitempty" tf:"preemptible,omitempty"` +} + +type InstanceTemplateServiceAccountObservation struct { +} + +type InstanceTemplateServiceAccountParameters struct { + + // The service account e-mail address. If not given, the default Google Compute Engine service account is used. + // +kubebuilder:validation:Optional + Email *string `json:"email,omitempty" tf:"email,omitempty"` + + // A list of service scopes. Both OAuth2 URLs and gcloud short names are supported. To allow full access to all Cloud APIs, use the cloud-platform scope. + // +kubebuilder:validation:Required + Scopes []*string `json:"scopes" tf:"scopes,omitempty"` +} + +type InstanceTemplateShieldedInstanceConfigObservation struct { +} + +type InstanceTemplateShieldedInstanceConfigParameters struct { + + // Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true. + // +kubebuilder:validation:Optional + EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring,omitempty" tf:"enable_integrity_monitoring,omitempty"` + + // Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false. + // +kubebuilder:validation:Optional + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty" tf:"enable_secure_boot,omitempty"` + + // Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true. + // +kubebuilder:validation:Optional + EnableVtpm *bool `json:"enableVtpm,omitempty" tf:"enable_vtpm,omitempty"` +} + +// InstanceTemplateSpec defines the desired state of InstanceTemplate +type InstanceTemplateSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceTemplateParameters `json:"forProvider"` +} + +// InstanceTemplateStatus defines the observed state of InstanceTemplate. +type InstanceTemplateStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceTemplateObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceTemplate is the Schema for the InstanceTemplates 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,gcpjet} +type InstanceTemplate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceTemplateSpec `json:"spec"` + Status InstanceTemplateStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceTemplateList contains a list of InstanceTemplates +type InstanceTemplateList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceTemplate `json:"items"` +} + +// Repository type metadata. +var ( + InstanceTemplate_Kind = "InstanceTemplate" + InstanceTemplate_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceTemplate_Kind}.String() + InstanceTemplate_KindAPIVersion = InstanceTemplate_Kind + "." + CRDGroupVersion.String() + InstanceTemplate_GroupVersionKind = CRDGroupVersion.WithKind(InstanceTemplate_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceTemplate{}, &InstanceTemplateList{}) +} diff --git a/apis/container/v1alpha1/zz_generated.deepcopy.go b/apis/container/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..6a1e6fbc --- /dev/null +++ b/apis/container/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,168 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Registry) DeepCopyInto(out *Registry) { + *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 Registry. +func (in *Registry) DeepCopy() *Registry { + if in == nil { + return nil + } + out := new(Registry) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Registry) 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 *RegistryList) DeepCopyInto(out *RegistryList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Registry, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryList. +func (in *RegistryList) DeepCopy() *RegistryList { + if in == nil { + return nil + } + out := new(RegistryList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RegistryList) 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 *RegistryObservation) DeepCopyInto(out *RegistryObservation) { + *out = *in + if in.BucketSelfLink != nil { + in, out := &in.BucketSelfLink, &out.BucketSelfLink + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryObservation. +func (in *RegistryObservation) DeepCopy() *RegistryObservation { + if in == nil { + return nil + } + out := new(RegistryObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistryParameters) DeepCopyInto(out *RegistryParameters) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryParameters. +func (in *RegistryParameters) DeepCopy() *RegistryParameters { + if in == nil { + return nil + } + out := new(RegistryParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistrySpec) DeepCopyInto(out *RegistrySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistrySpec. +func (in *RegistrySpec) DeepCopy() *RegistrySpec { + if in == nil { + return nil + } + out := new(RegistrySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistryStatus) DeepCopyInto(out *RegistryStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryStatus. +func (in *RegistryStatus) DeepCopy() *RegistryStatus { + if in == nil { + return nil + } + out := new(RegistryStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/container/v1alpha1/zz_generated.managed.go b/apis/container/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..f041b51d --- /dev/null +++ b/apis/container/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Registry. +func (mg *Registry) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Registry. +func (mg *Registry) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Registry. +func (mg *Registry) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Registry. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Registry) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Registry. +func (mg *Registry) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Registry. +func (mg *Registry) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Registry. +func (mg *Registry) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Registry. +func (mg *Registry) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Registry. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Registry) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Registry. +func (mg *Registry) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/container/v1alpha1/zz_generated.managedlist.go b/apis/container/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..7406dd29 --- /dev/null +++ b/apis/container/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this RegistryList. +func (l *RegistryList) 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/container/v1alpha1/zz_groupversion_info.go b/apis/container/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..049bc9b7 --- /dev/null +++ b/apis/container/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=container.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "container.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/container/v1alpha1/zz_registry_terraformed.go b/apis/container/v1alpha1/zz_registry_terraformed.go new file mode 100755 index 00000000..3800768f --- /dev/null +++ b/apis/container/v1alpha1/zz_registry_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Registry +func (mg *Registry) GetTerraformResourceType() string { + return "google_container_registry" +} + +// GetConnectionDetailsMapping for this Registry +func (tr *Registry) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Registry +func (tr *Registry) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Registry +func (tr *Registry) SetObservation(obs map[string]interface{}) 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 Registry +func (tr *Registry) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Registry +func (tr *Registry) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Registry +func (tr *Registry) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Registry using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Registry) LateInitialize(attrs []byte) (bool, error) { + params := &RegistryParameters{} + 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 *Registry) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/container/v1alpha1/zz_registry_types.go b/apis/container/v1alpha1/zz_registry_types.go new file mode 100755 index 00000000..cc3425f7 --- /dev/null +++ b/apis/container/v1alpha1/zz_registry_types.go @@ -0,0 +1,92 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RegistryObservation struct { + BucketSelfLink *string `json:"bucketSelfLink,omitempty" tf:"bucket_self_link,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type RegistryParameters struct { + + // The location of the registry. One of ASIA, EU, US or not specified. See the official documentation for more information on registry locations. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// RegistrySpec defines the desired state of Registry +type RegistrySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RegistryParameters `json:"forProvider"` +} + +// RegistryStatus defines the observed state of Registry. +type RegistryStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RegistryObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Registry is the Schema for the Registrys 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,gcpjet} +type Registry struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RegistrySpec `json:"spec"` + Status RegistryStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RegistryList contains a list of Registrys +type RegistryList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Registry `json:"items"` +} + +// Repository type metadata. +var ( + Registry_Kind = "Registry" + Registry_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Registry_Kind}.String() + Registry_KindAPIVersion = Registry_Kind + "." + CRDGroupVersion.String() + Registry_GroupVersionKind = CRDGroupVersion.WithKind(Registry_Kind) +) + +func init() { + SchemeBuilder.Register(&Registry{}, &RegistryList{}) +} diff --git a/apis/containeranalysis/v1alpha1/zz_generated.deepcopy.go b/apis/containeranalysis/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..eb92a499 --- /dev/null +++ b/apis/containeranalysis/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,587 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestationAuthorityObservation) DeepCopyInto(out *AttestationAuthorityObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestationAuthorityObservation. +func (in *AttestationAuthorityObservation) DeepCopy() *AttestationAuthorityObservation { + if in == nil { + return nil + } + out := new(AttestationAuthorityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestationAuthorityParameters) DeepCopyInto(out *AttestationAuthorityParameters) { + *out = *in + if in.Hint != nil { + in, out := &in.Hint, &out.Hint + *out = make([]HintParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestationAuthorityParameters. +func (in *AttestationAuthorityParameters) DeepCopy() *AttestationAuthorityParameters { + if in == nil { + return nil + } + out := new(AttestationAuthorityParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestationObservation) DeepCopyInto(out *AttestationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestationObservation. +func (in *AttestationObservation) DeepCopy() *AttestationObservation { + if in == nil { + return nil + } + out := new(AttestationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestationParameters) DeepCopyInto(out *AttestationParameters) { + *out = *in + if in.SerializedPayload != nil { + in, out := &in.SerializedPayload, &out.SerializedPayload + *out = new(string) + **out = **in + } + if in.Signatures != nil { + in, out := &in.Signatures, &out.Signatures + *out = make([]SignaturesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestationParameters. +func (in *AttestationParameters) DeepCopy() *AttestationParameters { + if in == nil { + return nil + } + out := new(AttestationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HintObservation) DeepCopyInto(out *HintObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HintObservation. +func (in *HintObservation) DeepCopy() *HintObservation { + if in == nil { + return nil + } + out := new(HintObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HintParameters) DeepCopyInto(out *HintParameters) { + *out = *in + if in.HumanReadableName != nil { + in, out := &in.HumanReadableName, &out.HumanReadableName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HintParameters. +func (in *HintParameters) DeepCopy() *HintParameters { + if in == nil { + return nil + } + out := new(HintParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Note) DeepCopyInto(out *Note) { + *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 Note. +func (in *Note) DeepCopy() *Note { + if in == nil { + return nil + } + out := new(Note) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Note) 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 *NoteList) DeepCopyInto(out *NoteList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Note, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NoteList. +func (in *NoteList) DeepCopy() *NoteList { + if in == nil { + return nil + } + out := new(NoteList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NoteList) 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 *NoteObservation) DeepCopyInto(out *NoteObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NoteObservation. +func (in *NoteObservation) DeepCopy() *NoteObservation { + if in == nil { + return nil + } + out := new(NoteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NoteParameters) DeepCopyInto(out *NoteParameters) { + *out = *in + if in.AttestationAuthority != nil { + in, out := &in.AttestationAuthority, &out.AttestationAuthority + *out = make([]AttestationAuthorityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExpirationTime != nil { + in, out := &in.ExpirationTime, &out.ExpirationTime + *out = new(string) + **out = **in + } + if in.LongDescription != nil { + in, out := &in.LongDescription, &out.LongDescription + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RelatedNoteNames != nil { + in, out := &in.RelatedNoteNames, &out.RelatedNoteNames + *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.RelatedURL != nil { + in, out := &in.RelatedURL, &out.RelatedURL + *out = make([]RelatedURLParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ShortDescription != nil { + in, out := &in.ShortDescription, &out.ShortDescription + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NoteParameters. +func (in *NoteParameters) DeepCopy() *NoteParameters { + if in == nil { + return nil + } + out := new(NoteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NoteSpec) DeepCopyInto(out *NoteSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NoteSpec. +func (in *NoteSpec) DeepCopy() *NoteSpec { + if in == nil { + return nil + } + out := new(NoteSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NoteStatus) DeepCopyInto(out *NoteStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NoteStatus. +func (in *NoteStatus) DeepCopy() *NoteStatus { + if in == nil { + return nil + } + out := new(NoteStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Occurrence) DeepCopyInto(out *Occurrence) { + *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 Occurrence. +func (in *Occurrence) DeepCopy() *Occurrence { + if in == nil { + return nil + } + out := new(Occurrence) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Occurrence) 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 *OccurrenceList) DeepCopyInto(out *OccurrenceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Occurrence, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OccurrenceList. +func (in *OccurrenceList) DeepCopy() *OccurrenceList { + if in == nil { + return nil + } + out := new(OccurrenceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OccurrenceList) 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 *OccurrenceObservation) DeepCopyInto(out *OccurrenceObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OccurrenceObservation. +func (in *OccurrenceObservation) DeepCopy() *OccurrenceObservation { + if in == nil { + return nil + } + out := new(OccurrenceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OccurrenceParameters) DeepCopyInto(out *OccurrenceParameters) { + *out = *in + if in.Attestation != nil { + in, out := &in.Attestation, &out.Attestation + *out = make([]AttestationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NoteName != nil { + in, out := &in.NoteName, &out.NoteName + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Remediation != nil { + in, out := &in.Remediation, &out.Remediation + *out = new(string) + **out = **in + } + if in.ResourceURI != nil { + in, out := &in.ResourceURI, &out.ResourceURI + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OccurrenceParameters. +func (in *OccurrenceParameters) DeepCopy() *OccurrenceParameters { + if in == nil { + return nil + } + out := new(OccurrenceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OccurrenceSpec) DeepCopyInto(out *OccurrenceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OccurrenceSpec. +func (in *OccurrenceSpec) DeepCopy() *OccurrenceSpec { + if in == nil { + return nil + } + out := new(OccurrenceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OccurrenceStatus) DeepCopyInto(out *OccurrenceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OccurrenceStatus. +func (in *OccurrenceStatus) DeepCopy() *OccurrenceStatus { + if in == nil { + return nil + } + out := new(OccurrenceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RelatedURLObservation) DeepCopyInto(out *RelatedURLObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelatedURLObservation. +func (in *RelatedURLObservation) DeepCopy() *RelatedURLObservation { + if in == nil { + return nil + } + out := new(RelatedURLObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RelatedURLParameters) DeepCopyInto(out *RelatedURLParameters) { + *out = *in + if in.Label != nil { + in, out := &in.Label, &out.Label + *out = new(string) + **out = **in + } + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelatedURLParameters. +func (in *RelatedURLParameters) DeepCopy() *RelatedURLParameters { + if in == nil { + return nil + } + out := new(RelatedURLParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SignaturesObservation) DeepCopyInto(out *SignaturesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SignaturesObservation. +func (in *SignaturesObservation) DeepCopy() *SignaturesObservation { + if in == nil { + return nil + } + out := new(SignaturesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SignaturesParameters) DeepCopyInto(out *SignaturesParameters) { + *out = *in + if in.PublicKeyID != nil { + in, out := &in.PublicKeyID, &out.PublicKeyID + *out = new(string) + **out = **in + } + if in.Signature != nil { + in, out := &in.Signature, &out.Signature + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SignaturesParameters. +func (in *SignaturesParameters) DeepCopy() *SignaturesParameters { + if in == nil { + return nil + } + out := new(SignaturesParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/containeranalysis/v1alpha1/zz_generated.managed.go b/apis/containeranalysis/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..af04c1c5 --- /dev/null +++ b/apis/containeranalysis/v1alpha1/zz_generated.managed.go @@ -0,0 +1,132 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Note. +func (mg *Note) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Note. +func (mg *Note) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Note. +func (mg *Note) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Note. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Note) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Note. +func (mg *Note) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Note. +func (mg *Note) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Note. +func (mg *Note) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Note. +func (mg *Note) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Note. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Note) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Note. +func (mg *Note) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Occurrence. +func (mg *Occurrence) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Occurrence. +func (mg *Occurrence) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Occurrence. +func (mg *Occurrence) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Occurrence. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Occurrence) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Occurrence. +func (mg *Occurrence) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Occurrence. +func (mg *Occurrence) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Occurrence. +func (mg *Occurrence) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Occurrence. +func (mg *Occurrence) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Occurrence. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Occurrence) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Occurrence. +func (mg *Occurrence) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/containeranalysis/v1alpha1/zz_generated.managedlist.go b/apis/containeranalysis/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..16146615 --- /dev/null +++ b/apis/containeranalysis/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,38 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this NoteList. +func (l *NoteList) 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 OccurrenceList. +func (l *OccurrenceList) 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/containeranalysis/v1alpha1/zz_groupversion_info.go b/apis/containeranalysis/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..88178d28 --- /dev/null +++ b/apis/containeranalysis/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=containeranalysis.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "containeranalysis.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/containeranalysis/v1alpha1/zz_note_terraformed.go b/apis/containeranalysis/v1alpha1/zz_note_terraformed.go new file mode 100755 index 00000000..8fcb142b --- /dev/null +++ b/apis/containeranalysis/v1alpha1/zz_note_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Note +func (mg *Note) GetTerraformResourceType() string { + return "google_container_analysis_note" +} + +// GetConnectionDetailsMapping for this Note +func (tr *Note) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Note +func (tr *Note) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Note +func (tr *Note) SetObservation(obs map[string]interface{}) 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 Note +func (tr *Note) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Note +func (tr *Note) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Note +func (tr *Note) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Note using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Note) LateInitialize(attrs []byte) (bool, error) { + params := &NoteParameters{} + 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 *Note) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/containeranalysis/v1alpha1/zz_note_types.go b/apis/containeranalysis/v1alpha1/zz_note_types.go new file mode 100755 index 00000000..8abcb47f --- /dev/null +++ b/apis/containeranalysis/v1alpha1/zz_note_types.go @@ -0,0 +1,169 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AttestationAuthorityObservation struct { +} + +type AttestationAuthorityParameters struct { + + // This submessage provides human-readable hints about the purpose of + // the AttestationAuthority. Because the name of a Note acts as its + // resource reference, it is important to disambiguate the canonical + // name of the Note (which might be a UUID for security purposes) + // from "readable" names more suitable for debug output. Note that + // these hints should NOT be used to look up AttestationAuthorities + // in security sensitive contexts, such as when looking up + // Attestations to verify. + // +kubebuilder:validation:Required + Hint []HintParameters `json:"hint" tf:"hint,omitempty"` +} + +type HintObservation struct { +} + +type HintParameters struct { + + // The human readable name of this Attestation Authority, for + // example "qa". + // +kubebuilder:validation:Required + HumanReadableName *string `json:"humanReadableName" tf:"human_readable_name,omitempty"` +} + +type NoteObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Kind *string `json:"kind,omitempty" tf:"kind,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type NoteParameters struct { + + // Note kind that represents a logical attestation "role" or "authority". + // For example, an organization might have one AttestationAuthority for + // "QA" and one for "build". This Note is intended to act strictly as a + // grouping mechanism for the attached Occurrences (Attestations). This + // grouping mechanism also provides a security boundary, since IAM ACLs + // gate the ability for a principle to attach an Occurrence to a given + // Note. It also provides a single point of lookup to find all attached + // Attestation Occurrences, even if they don't all live in the same + // project. + // +kubebuilder:validation:Required + AttestationAuthority []AttestationAuthorityParameters `json:"attestationAuthority" tf:"attestation_authority,omitempty"` + + // Time of expiration for this note. Leave empty if note does not expire. + // +kubebuilder:validation:Optional + ExpirationTime *string `json:"expirationTime,omitempty" tf:"expiration_time,omitempty"` + + // A detailed description of the note + // +kubebuilder:validation:Optional + LongDescription *string `json:"longDescription,omitempty" tf:"long_description,omitempty"` + + // The name of the note. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Names of other notes related to this note. + // +kubebuilder:validation:Optional + RelatedNoteNames []*string `json:"relatedNoteNames,omitempty" tf:"related_note_names,omitempty"` + + // URLs associated with this note and related metadata. + // +kubebuilder:validation:Optional + RelatedURL []RelatedURLParameters `json:"relatedUrl,omitempty" tf:"related_url,omitempty"` + + // A one sentence description of the note. + // +kubebuilder:validation:Optional + ShortDescription *string `json:"shortDescription,omitempty" tf:"short_description,omitempty"` +} + +type RelatedURLObservation struct { +} + +type RelatedURLParameters struct { + + // Label to describe usage of the URL + // +kubebuilder:validation:Optional + Label *string `json:"label,omitempty" tf:"label,omitempty"` + + // Specific URL associated with the resource. + // +kubebuilder:validation:Required + URL *string `json:"url" tf:"url,omitempty"` +} + +// NoteSpec defines the desired state of Note +type NoteSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider NoteParameters `json:"forProvider"` +} + +// NoteStatus defines the observed state of Note. +type NoteStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider NoteObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Note is the Schema for the Notes 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,gcpjet} +type Note struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec NoteSpec `json:"spec"` + Status NoteStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// NoteList contains a list of Notes +type NoteList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Note `json:"items"` +} + +// Repository type metadata. +var ( + Note_Kind = "Note" + Note_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Note_Kind}.String() + Note_KindAPIVersion = Note_Kind + "." + CRDGroupVersion.String() + Note_GroupVersionKind = CRDGroupVersion.WithKind(Note_Kind) +) + +func init() { + SchemeBuilder.Register(&Note{}, &NoteList{}) +} diff --git a/apis/containeranalysis/v1alpha1/zz_occurrence_terraformed.go b/apis/containeranalysis/v1alpha1/zz_occurrence_terraformed.go new file mode 100755 index 00000000..db5cd160 --- /dev/null +++ b/apis/containeranalysis/v1alpha1/zz_occurrence_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Occurrence +func (mg *Occurrence) GetTerraformResourceType() string { + return "google_container_analysis_occurrence" +} + +// GetConnectionDetailsMapping for this Occurrence +func (tr *Occurrence) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Occurrence +func (tr *Occurrence) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Occurrence +func (tr *Occurrence) SetObservation(obs map[string]interface{}) 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 Occurrence +func (tr *Occurrence) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Occurrence +func (tr *Occurrence) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Occurrence +func (tr *Occurrence) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Occurrence using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Occurrence) LateInitialize(attrs []byte) (bool, error) { + params := &OccurrenceParameters{} + 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 *Occurrence) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/containeranalysis/v1alpha1/zz_occurrence_types.go b/apis/containeranalysis/v1alpha1/zz_occurrence_types.go new file mode 100755 index 00000000..90b94673 --- /dev/null +++ b/apis/containeranalysis/v1alpha1/zz_occurrence_types.go @@ -0,0 +1,169 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AttestationObservation struct { +} + +type AttestationParameters struct { + + // The serialized payload that is verified by one or + // more signatures. A base64-encoded string. + // +kubebuilder:validation:Required + SerializedPayload *string `json:"serializedPayload" tf:"serialized_payload,omitempty"` + + // One or more signatures over serializedPayload. + // Verifier implementations should consider this attestation + // message verified if at least one signature verifies + // serializedPayload. See Signature in common.proto for more + // details on signature structure and verification. + // +kubebuilder:validation:Required + Signatures []SignaturesParameters `json:"signatures" tf:"signatures,omitempty"` +} + +type OccurrenceObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Kind *string `json:"kind,omitempty" tf:"kind,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type OccurrenceParameters struct { + + // Occurrence that represents a single "attestation". The authenticity + // of an attestation can be verified using the attached signature. + // If the verifier trusts the public key of the signer, then verifying + // the signature is sufficient to establish trust. In this circumstance, + // the authority to which this attestation is attached is primarily + // useful for lookup (how to find this attestation if you already + // know the authority and artifact to be verified) and intent (for + // which authority this attestation was intended to sign. + // +kubebuilder:validation:Required + Attestation []AttestationParameters `json:"attestation" tf:"attestation,omitempty"` + + // The analysis note associated with this occurrence, in the form of + // projects/[PROJECT]/notes/[NOTE_ID]. This field can be used as a + // filter in list requests. + // +kubebuilder:validation:Required + NoteName *string `json:"noteName" tf:"note_name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // A description of actions that can be taken to remedy the note. + // +kubebuilder:validation:Optional + Remediation *string `json:"remediation,omitempty" tf:"remediation,omitempty"` + + // Required. Immutable. A URI that represents the resource for which + // the occurrence applies. For example, + // https://gcr.io/project/image@sha256:123abc for a Docker image. + // +kubebuilder:validation:Required + ResourceURI *string `json:"resourceUri" tf:"resource_uri,omitempty"` +} + +type SignaturesObservation struct { +} + +type SignaturesParameters struct { + + // The identifier for the public key that verifies this + // signature. MUST be an RFC3986 conformant + // URI. * When possible, the key id should be an + // immutable reference, such as a cryptographic digest. + // Examples of valid values: + // + // * OpenPGP V4 public key fingerprint. See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr + // for more details on this scheme. + // * 'openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA' + // * RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER serialization): + // * "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU" + // +kubebuilder:validation:Required + PublicKeyID *string `json:"publicKeyId" tf:"public_key_id,omitempty"` + + // The content of the signature, an opaque bytestring. + // The payload that this signature verifies MUST be + // unambiguously provided with the Signature during + // verification. A wrapper message might provide the + // payload explicitly. Alternatively, a message might + // have a canonical serialization that can always be + // unambiguously computed to derive the payload. + // +kubebuilder:validation:Optional + Signature *string `json:"signature,omitempty" tf:"signature,omitempty"` +} + +// OccurrenceSpec defines the desired state of Occurrence +type OccurrenceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider OccurrenceParameters `json:"forProvider"` +} + +// OccurrenceStatus defines the observed state of Occurrence. +type OccurrenceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider OccurrenceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Occurrence is the Schema for the Occurrences 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,gcpjet} +type Occurrence struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec OccurrenceSpec `json:"spec"` + Status OccurrenceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// OccurrenceList contains a list of Occurrences +type OccurrenceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Occurrence `json:"items"` +} + +// Repository type metadata. +var ( + Occurrence_Kind = "Occurrence" + Occurrence_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Occurrence_Kind}.String() + Occurrence_KindAPIVersion = Occurrence_Kind + "." + CRDGroupVersion.String() + Occurrence_GroupVersionKind = CRDGroupVersion.WithKind(Occurrence_Kind) +) + +func init() { + SchemeBuilder.Register(&Occurrence{}, &OccurrenceList{}) +} diff --git a/apis/datacatalog/v1alpha1/zz_entry_terraformed.go b/apis/datacatalog/v1alpha1/zz_entry_terraformed.go new file mode 100755 index 00000000..27486227 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_entry_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Entry +func (mg *Entry) GetTerraformResourceType() string { + return "google_data_catalog_entry" +} + +// GetConnectionDetailsMapping for this Entry +func (tr *Entry) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Entry +func (tr *Entry) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Entry +func (tr *Entry) SetObservation(obs map[string]interface{}) 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 Entry +func (tr *Entry) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Entry +func (tr *Entry) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Entry +func (tr *Entry) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Entry using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Entry) LateInitialize(attrs []byte) (bool, error) { + params := &EntryParameters{} + 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 *Entry) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datacatalog/v1alpha1/zz_entry_types.go b/apis/datacatalog/v1alpha1/zz_entry_types.go new file mode 100755 index 00000000..f5e1ef3c --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_entry_types.go @@ -0,0 +1,213 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BigqueryDateShardedSpecObservation struct { + Dataset *string `json:"dataset,omitempty" tf:"dataset,omitempty"` + + ShardCount *int64 `json:"shardCount,omitempty" tf:"shard_count,omitempty"` + + TablePrefix *string `json:"tablePrefix,omitempty" tf:"table_prefix,omitempty"` +} + +type BigqueryDateShardedSpecParameters struct { +} + +type BigqueryTableSpecObservation struct { + TableSourceType *string `json:"tableSourceType,omitempty" tf:"table_source_type,omitempty"` + + TableSpec []TableSpecObservation `json:"tableSpec,omitempty" tf:"table_spec,omitempty"` + + ViewSpec []ViewSpecObservation `json:"viewSpec,omitempty" tf:"view_spec,omitempty"` +} + +type BigqueryTableSpecParameters struct { +} + +type EntryObservation struct { + BigqueryDateShardedSpec []BigqueryDateShardedSpecObservation `json:"bigqueryDateShardedSpec,omitempty" tf:"bigquery_date_sharded_spec,omitempty"` + + BigqueryTableSpec []BigqueryTableSpecObservation `json:"bigqueryTableSpec,omitempty" tf:"bigquery_table_spec,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + IntegratedSystem *string `json:"integratedSystem,omitempty" tf:"integrated_system,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type EntryParameters struct { + + // Entry description, which can consist of several sentences or paragraphs that describe entry contents. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Display information such as title and description. A short name to identify the entry, + // for example, "Analytics Data - Jan 2011". + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // The name of the entry group this entry is in. + // +kubebuilder:validation:Required + EntryGroup *string `json:"entryGroup" tf:"entry_group,omitempty"` + + // The id of the entry to create. + // +kubebuilder:validation:Required + EntryID *string `json:"entryId" tf:"entry_id,omitempty"` + + // Specification that applies to a Cloud Storage fileset. This is only valid on entries of type FILESET. + // +kubebuilder:validation:Optional + GcsFilesetSpec []GcsFilesetSpecParameters `json:"gcsFilesetSpec,omitempty" tf:"gcs_fileset_spec,omitempty"` + + // The resource this metadata entry refers to. + // For Google Cloud Platform resources, linkedResource is the full name of the resource. + // For example, the linkedResource for a table resource from BigQuery is: + // //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId + // Output only when Entry is of type in the EntryType enum. For entries with userSpecifiedType, + // this field is optional and defaults to an empty string. + // +kubebuilder:validation:Optional + LinkedResource *string `json:"linkedResource,omitempty" tf:"linked_resource,omitempty"` + + // Schema of the entry (e.g. BigQuery, GoogleSQL, Avro schema), as a json string. An entry might not have any schema + // attached to it. See + // https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries#schema + // for what fields this schema can contain. + // +kubebuilder:validation:Optional + Schema *string `json:"schema,omitempty" tf:"schema,omitempty"` + + // The type of the entry. Only used for Entries with types in the EntryType enum. + // Currently, only FILESET enum value is allowed. All other entries created through Data Catalog must use userSpecifiedType. Possible values: ["FILESET"] + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` + + // This field indicates the entry's source system that Data Catalog does not integrate with. + // userSpecifiedSystem strings must begin with a letter or underscore and can only contain letters, numbers, + // and underscores; are case insensitive; must be at least 1 character and at most 64 characters long. + // +kubebuilder:validation:Optional + UserSpecifiedSystem *string `json:"userSpecifiedSystem,omitempty" tf:"user_specified_system,omitempty"` + + // Entry type if it does not fit any of the input-allowed values listed in EntryType enum above. + // When creating an entry, users should check the enum values first, if nothing matches the entry + // to be created, then provide a custom value, for example "my_special_type". + // userSpecifiedType strings must begin with a letter or underscore and can only contain letters, + // numbers, and underscores; are case insensitive; must be at least 1 character and at most 64 characters long. + // +kubebuilder:validation:Optional + UserSpecifiedType *string `json:"userSpecifiedType,omitempty" tf:"user_specified_type,omitempty"` +} + +type GcsFilesetSpecObservation struct { + SampleGcsFileSpecs []SampleGcsFileSpecsObservation `json:"sampleGcsFileSpecs,omitempty" tf:"sample_gcs_file_specs,omitempty"` +} + +type GcsFilesetSpecParameters struct { + + // Patterns to identify a set of files in Google Cloud Storage. + // See [Cloud Storage documentation](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames) + // for more information. Note that bucket wildcards are currently not supported. Examples of valid filePatterns: + // + // * gs://bucket_name/dir/*: matches all files within bucket_name/dir directory. + // * gs://bucket_name/dir/**: matches all files in bucket_name/dir spanning all subdirectories. + // * gs://bucket_name/file*: matches files prefixed by file in bucket_name + // * gs://bucket_name/??.txt: matches files with two characters followed by .txt in bucket_name + // * gs://bucket_name/[aeiou].txt: matches files that contain a single vowel character followed by .txt in bucket_name + // * gs://bucket_name/[a-m].txt: matches files that contain a, b, ... or m followed by .txt in bucket_name + // * gs://bucket_name/a/*/b: matches all files in bucket_name that match a/*/b pattern, such as a/c/b, a/d/b + // * gs://another_bucket/a.txt: matches gs://another_bucket/a.txt + // +kubebuilder:validation:Required + FilePatterns []*string `json:"filePatterns" tf:"file_patterns,omitempty"` +} + +type SampleGcsFileSpecsObservation struct { + FilePath *string `json:"filePath,omitempty" tf:"file_path,omitempty"` + + SizeBytes *int64 `json:"sizeBytes,omitempty" tf:"size_bytes,omitempty"` +} + +type SampleGcsFileSpecsParameters struct { +} + +type TableSpecObservation struct { + GroupedEntry *string `json:"groupedEntry,omitempty" tf:"grouped_entry,omitempty"` +} + +type TableSpecParameters struct { +} + +type ViewSpecObservation struct { + ViewQuery *string `json:"viewQuery,omitempty" tf:"view_query,omitempty"` +} + +type ViewSpecParameters struct { +} + +// EntrySpec defines the desired state of Entry +type EntrySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EntryParameters `json:"forProvider"` +} + +// EntryStatus defines the observed state of Entry. +type EntryStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EntryObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Entry is the Schema for the Entrys 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,gcpjet} +type Entry struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EntrySpec `json:"spec"` + Status EntryStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryList contains a list of Entrys +type EntryList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Entry `json:"items"` +} + +// Repository type metadata. +var ( + Entry_Kind = "Entry" + Entry_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Entry_Kind}.String() + Entry_KindAPIVersion = Entry_Kind + "." + CRDGroupVersion.String() + Entry_GroupVersionKind = CRDGroupVersion.WithKind(Entry_Kind) +) + +func init() { + SchemeBuilder.Register(&Entry{}, &EntryList{}) +} diff --git a/apis/datacatalog/v1alpha1/zz_entrygroup_terraformed.go b/apis/datacatalog/v1alpha1/zz_entrygroup_terraformed.go new file mode 100755 index 00000000..2ff2fb2e --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_entrygroup_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this EntryGroup +func (mg *EntryGroup) GetTerraformResourceType() string { + return "google_data_catalog_entry_group" +} + +// GetConnectionDetailsMapping for this EntryGroup +func (tr *EntryGroup) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this EntryGroup +func (tr *EntryGroup) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this EntryGroup +func (tr *EntryGroup) SetObservation(obs map[string]interface{}) 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 EntryGroup +func (tr *EntryGroup) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this EntryGroup +func (tr *EntryGroup) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this EntryGroup +func (tr *EntryGroup) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this EntryGroup using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *EntryGroup) LateInitialize(attrs []byte) (bool, error) { + params := &EntryGroupParameters{} + 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 *EntryGroup) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datacatalog/v1alpha1/zz_entrygroup_types.go b/apis/datacatalog/v1alpha1/zz_entrygroup_types.go new file mode 100755 index 00000000..2e5c8377 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_entrygroup_types.go @@ -0,0 +1,104 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EntryGroupObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type EntryGroupParameters struct { + + // Entry group description, which can consist of several sentences or paragraphs that describe entry group contents. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // A short name to identify the entry group, for example, "analytics data - jan 2011". + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // The id of the entry group to create. The id must begin with a letter or underscore, + // contain only English letters, numbers and underscores, and be at most 64 characters. + // +kubebuilder:validation:Required + EntryGroupID *string `json:"entryGroupId" tf:"entry_group_id,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // EntryGroup location region. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +// EntryGroupSpec defines the desired state of EntryGroup +type EntryGroupSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EntryGroupParameters `json:"forProvider"` +} + +// EntryGroupStatus defines the observed state of EntryGroup. +type EntryGroupStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EntryGroupObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryGroup is the Schema for the EntryGroups 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,gcpjet} +type EntryGroup struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EntryGroupSpec `json:"spec"` + Status EntryGroupStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryGroupList contains a list of EntryGroups +type EntryGroupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []EntryGroup `json:"items"` +} + +// Repository type metadata. +var ( + EntryGroup_Kind = "EntryGroup" + EntryGroup_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: EntryGroup_Kind}.String() + EntryGroup_KindAPIVersion = EntryGroup_Kind + "." + CRDGroupVersion.String() + EntryGroup_GroupVersionKind = CRDGroupVersion.WithKind(EntryGroup_Kind) +) + +func init() { + SchemeBuilder.Register(&EntryGroup{}, &EntryGroupList{}) +} diff --git a/apis/datacatalog/v1alpha1/zz_entrygroupiambinding_terraformed.go b/apis/datacatalog/v1alpha1/zz_entrygroupiambinding_terraformed.go new file mode 100755 index 00000000..a1203f41 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_entrygroupiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this EntryGroupIAMBinding +func (mg *EntryGroupIAMBinding) GetTerraformResourceType() string { + return "google_data_catalog_entry_group_iam_binding" +} + +// GetConnectionDetailsMapping for this EntryGroupIAMBinding +func (tr *EntryGroupIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this EntryGroupIAMBinding +func (tr *EntryGroupIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this EntryGroupIAMBinding +func (tr *EntryGroupIAMBinding) SetObservation(obs map[string]interface{}) 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 EntryGroupIAMBinding +func (tr *EntryGroupIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this EntryGroupIAMBinding +func (tr *EntryGroupIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this EntryGroupIAMBinding +func (tr *EntryGroupIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this EntryGroupIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *EntryGroupIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &EntryGroupIAMBindingParameters{} + 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 *EntryGroupIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datacatalog/v1alpha1/zz_entrygroupiambinding_types.go b/apis/datacatalog/v1alpha1/zz_entrygroupiambinding_types.go new file mode 100755 index 00000000..03f61d1b --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_entrygroupiambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type EntryGroupIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type EntryGroupIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + EntryGroup *string `json:"entryGroup" tf:"entry_group,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// EntryGroupIAMBindingSpec defines the desired state of EntryGroupIAMBinding +type EntryGroupIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EntryGroupIAMBindingParameters `json:"forProvider"` +} + +// EntryGroupIAMBindingStatus defines the observed state of EntryGroupIAMBinding. +type EntryGroupIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EntryGroupIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryGroupIAMBinding is the Schema for the EntryGroupIAMBindings 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,gcpjet} +type EntryGroupIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EntryGroupIAMBindingSpec `json:"spec"` + Status EntryGroupIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryGroupIAMBindingList contains a list of EntryGroupIAMBindings +type EntryGroupIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []EntryGroupIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + EntryGroupIAMBinding_Kind = "EntryGroupIAMBinding" + EntryGroupIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: EntryGroupIAMBinding_Kind}.String() + EntryGroupIAMBinding_KindAPIVersion = EntryGroupIAMBinding_Kind + "." + CRDGroupVersion.String() + EntryGroupIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(EntryGroupIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&EntryGroupIAMBinding{}, &EntryGroupIAMBindingList{}) +} diff --git a/apis/datacatalog/v1alpha1/zz_entrygroupiammember_terraformed.go b/apis/datacatalog/v1alpha1/zz_entrygroupiammember_terraformed.go new file mode 100755 index 00000000..9bbb6b8d --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_entrygroupiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this EntryGroupIAMMember +func (mg *EntryGroupIAMMember) GetTerraformResourceType() string { + return "google_data_catalog_entry_group_iam_member" +} + +// GetConnectionDetailsMapping for this EntryGroupIAMMember +func (tr *EntryGroupIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this EntryGroupIAMMember +func (tr *EntryGroupIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this EntryGroupIAMMember +func (tr *EntryGroupIAMMember) SetObservation(obs map[string]interface{}) 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 EntryGroupIAMMember +func (tr *EntryGroupIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this EntryGroupIAMMember +func (tr *EntryGroupIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this EntryGroupIAMMember +func (tr *EntryGroupIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this EntryGroupIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *EntryGroupIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &EntryGroupIAMMemberParameters{} + 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 *EntryGroupIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datacatalog/v1alpha1/zz_entrygroupiammember_types.go b/apis/datacatalog/v1alpha1/zz_entrygroupiammember_types.go new file mode 100755 index 00000000..f5ca0972 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_entrygroupiammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EntryGroupIAMMemberConditionObservation struct { +} + +type EntryGroupIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type EntryGroupIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type EntryGroupIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []EntryGroupIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + EntryGroup *string `json:"entryGroup" tf:"entry_group,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// EntryGroupIAMMemberSpec defines the desired state of EntryGroupIAMMember +type EntryGroupIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EntryGroupIAMMemberParameters `json:"forProvider"` +} + +// EntryGroupIAMMemberStatus defines the observed state of EntryGroupIAMMember. +type EntryGroupIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EntryGroupIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryGroupIAMMember is the Schema for the EntryGroupIAMMembers 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,gcpjet} +type EntryGroupIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EntryGroupIAMMemberSpec `json:"spec"` + Status EntryGroupIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryGroupIAMMemberList contains a list of EntryGroupIAMMembers +type EntryGroupIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []EntryGroupIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + EntryGroupIAMMember_Kind = "EntryGroupIAMMember" + EntryGroupIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: EntryGroupIAMMember_Kind}.String() + EntryGroupIAMMember_KindAPIVersion = EntryGroupIAMMember_Kind + "." + CRDGroupVersion.String() + EntryGroupIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(EntryGroupIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&EntryGroupIAMMember{}, &EntryGroupIAMMemberList{}) +} diff --git a/apis/datacatalog/v1alpha1/zz_entrygroupiampolicy_terraformed.go b/apis/datacatalog/v1alpha1/zz_entrygroupiampolicy_terraformed.go new file mode 100755 index 00000000..e358e6f7 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_entrygroupiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this EntryGroupIAMPolicy +func (mg *EntryGroupIAMPolicy) GetTerraformResourceType() string { + return "google_data_catalog_entry_group_iam_policy" +} + +// GetConnectionDetailsMapping for this EntryGroupIAMPolicy +func (tr *EntryGroupIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this EntryGroupIAMPolicy +func (tr *EntryGroupIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this EntryGroupIAMPolicy +func (tr *EntryGroupIAMPolicy) SetObservation(obs map[string]interface{}) 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 EntryGroupIAMPolicy +func (tr *EntryGroupIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this EntryGroupIAMPolicy +func (tr *EntryGroupIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this EntryGroupIAMPolicy +func (tr *EntryGroupIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this EntryGroupIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *EntryGroupIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &EntryGroupIAMPolicyParameters{} + 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 *EntryGroupIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datacatalog/v1alpha1/zz_entrygroupiampolicy_types.go b/apis/datacatalog/v1alpha1/zz_entrygroupiampolicy_types.go new file mode 100755 index 00000000..a7f77a1d --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_entrygroupiampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EntryGroupIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type EntryGroupIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + EntryGroup *string `json:"entryGroup" tf:"entry_group,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +// EntryGroupIAMPolicySpec defines the desired state of EntryGroupIAMPolicy +type EntryGroupIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EntryGroupIAMPolicyParameters `json:"forProvider"` +} + +// EntryGroupIAMPolicyStatus defines the observed state of EntryGroupIAMPolicy. +type EntryGroupIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EntryGroupIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryGroupIAMPolicy is the Schema for the EntryGroupIAMPolicys 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,gcpjet} +type EntryGroupIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EntryGroupIAMPolicySpec `json:"spec"` + Status EntryGroupIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntryGroupIAMPolicyList contains a list of EntryGroupIAMPolicys +type EntryGroupIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []EntryGroupIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + EntryGroupIAMPolicy_Kind = "EntryGroupIAMPolicy" + EntryGroupIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: EntryGroupIAMPolicy_Kind}.String() + EntryGroupIAMPolicy_KindAPIVersion = EntryGroupIAMPolicy_Kind + "." + CRDGroupVersion.String() + EntryGroupIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(EntryGroupIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&EntryGroupIAMPolicy{}, &EntryGroupIAMPolicyList{}) +} diff --git a/apis/datacatalog/v1alpha1/zz_generated.deepcopy.go b/apis/datacatalog/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..2ebf228f --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,2373 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowedValuesObservation) DeepCopyInto(out *AllowedValuesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedValuesObservation. +func (in *AllowedValuesObservation) DeepCopy() *AllowedValuesObservation { + if in == nil { + return nil + } + out := new(AllowedValuesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowedValuesParameters) DeepCopyInto(out *AllowedValuesParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedValuesParameters. +func (in *AllowedValuesParameters) DeepCopy() *AllowedValuesParameters { + if in == nil { + return nil + } + out := new(AllowedValuesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BigqueryDateShardedSpecObservation) DeepCopyInto(out *BigqueryDateShardedSpecObservation) { + *out = *in + if in.Dataset != nil { + in, out := &in.Dataset, &out.Dataset + *out = new(string) + **out = **in + } + if in.ShardCount != nil { + in, out := &in.ShardCount, &out.ShardCount + *out = new(int64) + **out = **in + } + if in.TablePrefix != nil { + in, out := &in.TablePrefix, &out.TablePrefix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigqueryDateShardedSpecObservation. +func (in *BigqueryDateShardedSpecObservation) DeepCopy() *BigqueryDateShardedSpecObservation { + if in == nil { + return nil + } + out := new(BigqueryDateShardedSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BigqueryDateShardedSpecParameters) DeepCopyInto(out *BigqueryDateShardedSpecParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigqueryDateShardedSpecParameters. +func (in *BigqueryDateShardedSpecParameters) DeepCopy() *BigqueryDateShardedSpecParameters { + if in == nil { + return nil + } + out := new(BigqueryDateShardedSpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BigqueryTableSpecObservation) DeepCopyInto(out *BigqueryTableSpecObservation) { + *out = *in + if in.TableSourceType != nil { + in, out := &in.TableSourceType, &out.TableSourceType + *out = new(string) + **out = **in + } + if in.TableSpec != nil { + in, out := &in.TableSpec, &out.TableSpec + *out = make([]TableSpecObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ViewSpec != nil { + in, out := &in.ViewSpec, &out.ViewSpec + *out = make([]ViewSpecObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigqueryTableSpecObservation. +func (in *BigqueryTableSpecObservation) DeepCopy() *BigqueryTableSpecObservation { + if in == nil { + return nil + } + out := new(BigqueryTableSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BigqueryTableSpecParameters) DeepCopyInto(out *BigqueryTableSpecParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigqueryTableSpecParameters. +func (in *BigqueryTableSpecParameters) DeepCopy() *BigqueryTableSpecParameters { + if in == nil { + return nil + } + out := new(BigqueryTableSpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Entry) DeepCopyInto(out *Entry) { + *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 Entry. +func (in *Entry) DeepCopy() *Entry { + if in == nil { + return nil + } + out := new(Entry) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Entry) 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 *EntryGroup) DeepCopyInto(out *EntryGroup) { + *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 EntryGroup. +func (in *EntryGroup) DeepCopy() *EntryGroup { + if in == nil { + return nil + } + out := new(EntryGroup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryGroup) 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 *EntryGroupIAMBinding) DeepCopyInto(out *EntryGroupIAMBinding) { + *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 EntryGroupIAMBinding. +func (in *EntryGroupIAMBinding) DeepCopy() *EntryGroupIAMBinding { + if in == nil { + return nil + } + out := new(EntryGroupIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryGroupIAMBinding) 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 *EntryGroupIAMBindingList) DeepCopyInto(out *EntryGroupIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]EntryGroupIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMBindingList. +func (in *EntryGroupIAMBindingList) DeepCopy() *EntryGroupIAMBindingList { + if in == nil { + return nil + } + out := new(EntryGroupIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryGroupIAMBindingList) 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 *EntryGroupIAMBindingObservation) DeepCopyInto(out *EntryGroupIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMBindingObservation. +func (in *EntryGroupIAMBindingObservation) DeepCopy() *EntryGroupIAMBindingObservation { + if in == nil { + return nil + } + out := new(EntryGroupIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMBindingParameters) DeepCopyInto(out *EntryGroupIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EntryGroup != nil { + in, out := &in.EntryGroup, &out.EntryGroup + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMBindingParameters. +func (in *EntryGroupIAMBindingParameters) DeepCopy() *EntryGroupIAMBindingParameters { + if in == nil { + return nil + } + out := new(EntryGroupIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMBindingSpec) DeepCopyInto(out *EntryGroupIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMBindingSpec. +func (in *EntryGroupIAMBindingSpec) DeepCopy() *EntryGroupIAMBindingSpec { + if in == nil { + return nil + } + out := new(EntryGroupIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMBindingStatus) DeepCopyInto(out *EntryGroupIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMBindingStatus. +func (in *EntryGroupIAMBindingStatus) DeepCopy() *EntryGroupIAMBindingStatus { + if in == nil { + return nil + } + out := new(EntryGroupIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMMember) DeepCopyInto(out *EntryGroupIAMMember) { + *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 EntryGroupIAMMember. +func (in *EntryGroupIAMMember) DeepCopy() *EntryGroupIAMMember { + if in == nil { + return nil + } + out := new(EntryGroupIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryGroupIAMMember) 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 *EntryGroupIAMMemberConditionObservation) DeepCopyInto(out *EntryGroupIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMemberConditionObservation. +func (in *EntryGroupIAMMemberConditionObservation) DeepCopy() *EntryGroupIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(EntryGroupIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMMemberConditionParameters) DeepCopyInto(out *EntryGroupIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMemberConditionParameters. +func (in *EntryGroupIAMMemberConditionParameters) DeepCopy() *EntryGroupIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(EntryGroupIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMMemberList) DeepCopyInto(out *EntryGroupIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]EntryGroupIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMemberList. +func (in *EntryGroupIAMMemberList) DeepCopy() *EntryGroupIAMMemberList { + if in == nil { + return nil + } + out := new(EntryGroupIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryGroupIAMMemberList) 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 *EntryGroupIAMMemberObservation) DeepCopyInto(out *EntryGroupIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMemberObservation. +func (in *EntryGroupIAMMemberObservation) DeepCopy() *EntryGroupIAMMemberObservation { + if in == nil { + return nil + } + out := new(EntryGroupIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMMemberParameters) DeepCopyInto(out *EntryGroupIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]EntryGroupIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EntryGroup != nil { + in, out := &in.EntryGroup, &out.EntryGroup + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMemberParameters. +func (in *EntryGroupIAMMemberParameters) DeepCopy() *EntryGroupIAMMemberParameters { + if in == nil { + return nil + } + out := new(EntryGroupIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMMemberSpec) DeepCopyInto(out *EntryGroupIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMemberSpec. +func (in *EntryGroupIAMMemberSpec) DeepCopy() *EntryGroupIAMMemberSpec { + if in == nil { + return nil + } + out := new(EntryGroupIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMMemberStatus) DeepCopyInto(out *EntryGroupIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMMemberStatus. +func (in *EntryGroupIAMMemberStatus) DeepCopy() *EntryGroupIAMMemberStatus { + if in == nil { + return nil + } + out := new(EntryGroupIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMPolicy) DeepCopyInto(out *EntryGroupIAMPolicy) { + *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 EntryGroupIAMPolicy. +func (in *EntryGroupIAMPolicy) DeepCopy() *EntryGroupIAMPolicy { + if in == nil { + return nil + } + out := new(EntryGroupIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryGroupIAMPolicy) 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 *EntryGroupIAMPolicyList) DeepCopyInto(out *EntryGroupIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]EntryGroupIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMPolicyList. +func (in *EntryGroupIAMPolicyList) DeepCopy() *EntryGroupIAMPolicyList { + if in == nil { + return nil + } + out := new(EntryGroupIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryGroupIAMPolicyList) 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 *EntryGroupIAMPolicyObservation) DeepCopyInto(out *EntryGroupIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMPolicyObservation. +func (in *EntryGroupIAMPolicyObservation) DeepCopy() *EntryGroupIAMPolicyObservation { + if in == nil { + return nil + } + out := new(EntryGroupIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMPolicyParameters) DeepCopyInto(out *EntryGroupIAMPolicyParameters) { + *out = *in + if in.EntryGroup != nil { + in, out := &in.EntryGroup, &out.EntryGroup + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMPolicyParameters. +func (in *EntryGroupIAMPolicyParameters) DeepCopy() *EntryGroupIAMPolicyParameters { + if in == nil { + return nil + } + out := new(EntryGroupIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMPolicySpec) DeepCopyInto(out *EntryGroupIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMPolicySpec. +func (in *EntryGroupIAMPolicySpec) DeepCopy() *EntryGroupIAMPolicySpec { + if in == nil { + return nil + } + out := new(EntryGroupIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupIAMPolicyStatus) DeepCopyInto(out *EntryGroupIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupIAMPolicyStatus. +func (in *EntryGroupIAMPolicyStatus) DeepCopy() *EntryGroupIAMPolicyStatus { + if in == nil { + return nil + } + out := new(EntryGroupIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupList) DeepCopyInto(out *EntryGroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]EntryGroup, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupList. +func (in *EntryGroupList) DeepCopy() *EntryGroupList { + if in == nil { + return nil + } + out := new(EntryGroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryGroupList) 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 *EntryGroupObservation) DeepCopyInto(out *EntryGroupObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupObservation. +func (in *EntryGroupObservation) DeepCopy() *EntryGroupObservation { + if in == nil { + return nil + } + out := new(EntryGroupObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupParameters) DeepCopyInto(out *EntryGroupParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.EntryGroupID != nil { + in, out := &in.EntryGroupID, &out.EntryGroupID + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupParameters. +func (in *EntryGroupParameters) DeepCopy() *EntryGroupParameters { + if in == nil { + return nil + } + out := new(EntryGroupParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupSpec) DeepCopyInto(out *EntryGroupSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupSpec. +func (in *EntryGroupSpec) DeepCopy() *EntryGroupSpec { + if in == nil { + return nil + } + out := new(EntryGroupSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryGroupStatus) DeepCopyInto(out *EntryGroupStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryGroupStatus. +func (in *EntryGroupStatus) DeepCopy() *EntryGroupStatus { + if in == nil { + return nil + } + out := new(EntryGroupStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryList) DeepCopyInto(out *EntryList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Entry, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryList. +func (in *EntryList) DeepCopy() *EntryList { + if in == nil { + return nil + } + out := new(EntryList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntryList) 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 *EntryObservation) DeepCopyInto(out *EntryObservation) { + *out = *in + if in.BigqueryDateShardedSpec != nil { + in, out := &in.BigqueryDateShardedSpec, &out.BigqueryDateShardedSpec + *out = make([]BigqueryDateShardedSpecObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BigqueryTableSpec != nil { + in, out := &in.BigqueryTableSpec, &out.BigqueryTableSpec + *out = make([]BigqueryTableSpecObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IntegratedSystem != nil { + in, out := &in.IntegratedSystem, &out.IntegratedSystem + *out = new(string) + **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 EntryObservation. +func (in *EntryObservation) DeepCopy() *EntryObservation { + if in == nil { + return nil + } + out := new(EntryObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryParameters) DeepCopyInto(out *EntryParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.EntryGroup != nil { + in, out := &in.EntryGroup, &out.EntryGroup + *out = new(string) + **out = **in + } + if in.EntryID != nil { + in, out := &in.EntryID, &out.EntryID + *out = new(string) + **out = **in + } + if in.GcsFilesetSpec != nil { + in, out := &in.GcsFilesetSpec, &out.GcsFilesetSpec + *out = make([]GcsFilesetSpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LinkedResource != nil { + in, out := &in.LinkedResource, &out.LinkedResource + *out = new(string) + **out = **in + } + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UserSpecifiedSystem != nil { + in, out := &in.UserSpecifiedSystem, &out.UserSpecifiedSystem + *out = new(string) + **out = **in + } + if in.UserSpecifiedType != nil { + in, out := &in.UserSpecifiedType, &out.UserSpecifiedType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryParameters. +func (in *EntryParameters) DeepCopy() *EntryParameters { + if in == nil { + return nil + } + out := new(EntryParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntrySpec) DeepCopyInto(out *EntrySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntrySpec. +func (in *EntrySpec) DeepCopy() *EntrySpec { + if in == nil { + return nil + } + out := new(EntrySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryStatus) DeepCopyInto(out *EntryStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryStatus. +func (in *EntryStatus) DeepCopy() *EntryStatus { + if in == nil { + return nil + } + out := new(EntryStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnumTypeObservation) DeepCopyInto(out *EnumTypeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnumTypeObservation. +func (in *EnumTypeObservation) DeepCopy() *EnumTypeObservation { + if in == nil { + return nil + } + out := new(EnumTypeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnumTypeParameters) DeepCopyInto(out *EnumTypeParameters) { + *out = *in + if in.AllowedValues != nil { + in, out := &in.AllowedValues, &out.AllowedValues + *out = make([]AllowedValuesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnumTypeParameters. +func (in *EnumTypeParameters) DeepCopy() *EnumTypeParameters { + if in == nil { + return nil + } + out := new(EnumTypeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FieldsObservation) DeepCopyInto(out *FieldsObservation) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FieldsObservation. +func (in *FieldsObservation) DeepCopy() *FieldsObservation { + if in == nil { + return nil + } + out := new(FieldsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FieldsParameters) DeepCopyInto(out *FieldsParameters) { + *out = *in + if in.BoolValue != nil { + in, out := &in.BoolValue, &out.BoolValue + *out = new(bool) + **out = **in + } + if in.DoubleValue != nil { + in, out := &in.DoubleValue, &out.DoubleValue + *out = new(float64) + **out = **in + } + if in.EnumValue != nil { + in, out := &in.EnumValue, &out.EnumValue + *out = new(string) + **out = **in + } + if in.FieldName != nil { + in, out := &in.FieldName, &out.FieldName + *out = new(string) + **out = **in + } + if in.StringValue != nil { + in, out := &in.StringValue, &out.StringValue + *out = new(string) + **out = **in + } + if in.TimestampValue != nil { + in, out := &in.TimestampValue, &out.TimestampValue + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FieldsParameters. +func (in *FieldsParameters) DeepCopy() *FieldsParameters { + if in == nil { + return nil + } + out := new(FieldsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GcsFilesetSpecObservation) DeepCopyInto(out *GcsFilesetSpecObservation) { + *out = *in + if in.SampleGcsFileSpecs != nil { + in, out := &in.SampleGcsFileSpecs, &out.SampleGcsFileSpecs + *out = make([]SampleGcsFileSpecsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcsFilesetSpecObservation. +func (in *GcsFilesetSpecObservation) DeepCopy() *GcsFilesetSpecObservation { + if in == nil { + return nil + } + out := new(GcsFilesetSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GcsFilesetSpecParameters) DeepCopyInto(out *GcsFilesetSpecParameters) { + *out = *in + if in.FilePatterns != nil { + in, out := &in.FilePatterns, &out.FilePatterns + *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 GcsFilesetSpecParameters. +func (in *GcsFilesetSpecParameters) DeepCopy() *GcsFilesetSpecParameters { + if in == nil { + return nil + } + out := new(GcsFilesetSpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SampleGcsFileSpecsObservation) DeepCopyInto(out *SampleGcsFileSpecsObservation) { + *out = *in + if in.FilePath != nil { + in, out := &in.FilePath, &out.FilePath + *out = new(string) + **out = **in + } + if in.SizeBytes != nil { + in, out := &in.SizeBytes, &out.SizeBytes + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SampleGcsFileSpecsObservation. +func (in *SampleGcsFileSpecsObservation) DeepCopy() *SampleGcsFileSpecsObservation { + if in == nil { + return nil + } + out := new(SampleGcsFileSpecsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SampleGcsFileSpecsParameters) DeepCopyInto(out *SampleGcsFileSpecsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SampleGcsFileSpecsParameters. +func (in *SampleGcsFileSpecsParameters) DeepCopy() *SampleGcsFileSpecsParameters { + if in == nil { + return nil + } + out := new(SampleGcsFileSpecsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableSpecObservation) DeepCopyInto(out *TableSpecObservation) { + *out = *in + if in.GroupedEntry != nil { + in, out := &in.GroupedEntry, &out.GroupedEntry + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableSpecObservation. +func (in *TableSpecObservation) DeepCopy() *TableSpecObservation { + if in == nil { + return nil + } + out := new(TableSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableSpecParameters) DeepCopyInto(out *TableSpecParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableSpecParameters. +func (in *TableSpecParameters) DeepCopy() *TableSpecParameters { + if in == nil { + return nil + } + out := new(TableSpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Tag) DeepCopyInto(out *Tag) { + *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 Tag. +func (in *Tag) DeepCopy() *Tag { + if in == nil { + return nil + } + out := new(Tag) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Tag) 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 *TagList) DeepCopyInto(out *TagList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Tag, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagList. +func (in *TagList) DeepCopy() *TagList { + if in == nil { + return nil + } + out := new(TagList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagList) 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 *TagObservation) DeepCopyInto(out *TagObservation) { + *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.TemplateDisplayname != nil { + in, out := &in.TemplateDisplayname, &out.TemplateDisplayname + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagObservation. +func (in *TagObservation) DeepCopy() *TagObservation { + if in == nil { + return nil + } + out := new(TagObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagParameters) DeepCopyInto(out *TagParameters) { + *out = *in + if in.Column != nil { + in, out := &in.Column, &out.Column + *out = new(string) + **out = **in + } + if in.Fields != nil { + in, out := &in.Fields, &out.Fields + *out = make([]FieldsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.Template != nil { + in, out := &in.Template, &out.Template + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagParameters. +func (in *TagParameters) DeepCopy() *TagParameters { + if in == nil { + return nil + } + out := new(TagParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagSpec) DeepCopyInto(out *TagSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagSpec. +func (in *TagSpec) DeepCopy() *TagSpec { + if in == nil { + return nil + } + out := new(TagSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagStatus) DeepCopyInto(out *TagStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagStatus. +func (in *TagStatus) DeepCopy() *TagStatus { + if in == nil { + return nil + } + out := new(TagStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplate) DeepCopyInto(out *TagTemplate) { + *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 TagTemplate. +func (in *TagTemplate) DeepCopy() *TagTemplate { + if in == nil { + return nil + } + out := new(TagTemplate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplate) 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 *TagTemplateFieldsObservation) DeepCopyInto(out *TagTemplateFieldsObservation) { + *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 TagTemplateFieldsObservation. +func (in *TagTemplateFieldsObservation) DeepCopy() *TagTemplateFieldsObservation { + if in == nil { + return nil + } + out := new(TagTemplateFieldsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateFieldsParameters) DeepCopyInto(out *TagTemplateFieldsParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.FieldID != nil { + in, out := &in.FieldID, &out.FieldID + *out = new(string) + **out = **in + } + if in.IsRequired != nil { + in, out := &in.IsRequired, &out.IsRequired + *out = new(bool) + **out = **in + } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = new(int64) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = make([]TypeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateFieldsParameters. +func (in *TagTemplateFieldsParameters) DeepCopy() *TagTemplateFieldsParameters { + if in == nil { + return nil + } + out := new(TagTemplateFieldsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMBinding) DeepCopyInto(out *TagTemplateIAMBinding) { + *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 TagTemplateIAMBinding. +func (in *TagTemplateIAMBinding) DeepCopy() *TagTemplateIAMBinding { + if in == nil { + return nil + } + out := new(TagTemplateIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplateIAMBinding) 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 *TagTemplateIAMBindingConditionObservation) DeepCopyInto(out *TagTemplateIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMBindingConditionObservation. +func (in *TagTemplateIAMBindingConditionObservation) DeepCopy() *TagTemplateIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(TagTemplateIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMBindingConditionParameters) DeepCopyInto(out *TagTemplateIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMBindingConditionParameters. +func (in *TagTemplateIAMBindingConditionParameters) DeepCopy() *TagTemplateIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(TagTemplateIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMBindingList) DeepCopyInto(out *TagTemplateIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagTemplateIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMBindingList. +func (in *TagTemplateIAMBindingList) DeepCopy() *TagTemplateIAMBindingList { + if in == nil { + return nil + } + out := new(TagTemplateIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplateIAMBindingList) 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 *TagTemplateIAMBindingObservation) DeepCopyInto(out *TagTemplateIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMBindingObservation. +func (in *TagTemplateIAMBindingObservation) DeepCopy() *TagTemplateIAMBindingObservation { + if in == nil { + return nil + } + out := new(TagTemplateIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMBindingParameters) DeepCopyInto(out *TagTemplateIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TagTemplateIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.TagTemplate != nil { + in, out := &in.TagTemplate, &out.TagTemplate + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMBindingParameters. +func (in *TagTemplateIAMBindingParameters) DeepCopy() *TagTemplateIAMBindingParameters { + if in == nil { + return nil + } + out := new(TagTemplateIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMBindingSpec) DeepCopyInto(out *TagTemplateIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMBindingSpec. +func (in *TagTemplateIAMBindingSpec) DeepCopy() *TagTemplateIAMBindingSpec { + if in == nil { + return nil + } + out := new(TagTemplateIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMBindingStatus) DeepCopyInto(out *TagTemplateIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMBindingStatus. +func (in *TagTemplateIAMBindingStatus) DeepCopy() *TagTemplateIAMBindingStatus { + if in == nil { + return nil + } + out := new(TagTemplateIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMMember) DeepCopyInto(out *TagTemplateIAMMember) { + *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 TagTemplateIAMMember. +func (in *TagTemplateIAMMember) DeepCopy() *TagTemplateIAMMember { + if in == nil { + return nil + } + out := new(TagTemplateIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplateIAMMember) 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 *TagTemplateIAMMemberConditionObservation) DeepCopyInto(out *TagTemplateIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMMemberConditionObservation. +func (in *TagTemplateIAMMemberConditionObservation) DeepCopy() *TagTemplateIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(TagTemplateIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMMemberConditionParameters) DeepCopyInto(out *TagTemplateIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMMemberConditionParameters. +func (in *TagTemplateIAMMemberConditionParameters) DeepCopy() *TagTemplateIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(TagTemplateIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMMemberList) DeepCopyInto(out *TagTemplateIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagTemplateIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMMemberList. +func (in *TagTemplateIAMMemberList) DeepCopy() *TagTemplateIAMMemberList { + if in == nil { + return nil + } + out := new(TagTemplateIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplateIAMMemberList) 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 *TagTemplateIAMMemberObservation) DeepCopyInto(out *TagTemplateIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMMemberObservation. +func (in *TagTemplateIAMMemberObservation) DeepCopy() *TagTemplateIAMMemberObservation { + if in == nil { + return nil + } + out := new(TagTemplateIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMMemberParameters) DeepCopyInto(out *TagTemplateIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TagTemplateIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.TagTemplate != nil { + in, out := &in.TagTemplate, &out.TagTemplate + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMMemberParameters. +func (in *TagTemplateIAMMemberParameters) DeepCopy() *TagTemplateIAMMemberParameters { + if in == nil { + return nil + } + out := new(TagTemplateIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMMemberSpec) DeepCopyInto(out *TagTemplateIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMMemberSpec. +func (in *TagTemplateIAMMemberSpec) DeepCopy() *TagTemplateIAMMemberSpec { + if in == nil { + return nil + } + out := new(TagTemplateIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMMemberStatus) DeepCopyInto(out *TagTemplateIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMMemberStatus. +func (in *TagTemplateIAMMemberStatus) DeepCopy() *TagTemplateIAMMemberStatus { + if in == nil { + return nil + } + out := new(TagTemplateIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMPolicy) DeepCopyInto(out *TagTemplateIAMPolicy) { + *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 TagTemplateIAMPolicy. +func (in *TagTemplateIAMPolicy) DeepCopy() *TagTemplateIAMPolicy { + if in == nil { + return nil + } + out := new(TagTemplateIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplateIAMPolicy) 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 *TagTemplateIAMPolicyList) DeepCopyInto(out *TagTemplateIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagTemplateIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMPolicyList. +func (in *TagTemplateIAMPolicyList) DeepCopy() *TagTemplateIAMPolicyList { + if in == nil { + return nil + } + out := new(TagTemplateIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplateIAMPolicyList) 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 *TagTemplateIAMPolicyObservation) DeepCopyInto(out *TagTemplateIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMPolicyObservation. +func (in *TagTemplateIAMPolicyObservation) DeepCopy() *TagTemplateIAMPolicyObservation { + if in == nil { + return nil + } + out := new(TagTemplateIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMPolicyParameters) DeepCopyInto(out *TagTemplateIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.TagTemplate != nil { + in, out := &in.TagTemplate, &out.TagTemplate + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMPolicyParameters. +func (in *TagTemplateIAMPolicyParameters) DeepCopy() *TagTemplateIAMPolicyParameters { + if in == nil { + return nil + } + out := new(TagTemplateIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMPolicySpec) DeepCopyInto(out *TagTemplateIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMPolicySpec. +func (in *TagTemplateIAMPolicySpec) DeepCopy() *TagTemplateIAMPolicySpec { + if in == nil { + return nil + } + out := new(TagTemplateIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateIAMPolicyStatus) DeepCopyInto(out *TagTemplateIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateIAMPolicyStatus. +func (in *TagTemplateIAMPolicyStatus) DeepCopy() *TagTemplateIAMPolicyStatus { + if in == nil { + return nil + } + out := new(TagTemplateIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateList) DeepCopyInto(out *TagTemplateList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagTemplate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateList. +func (in *TagTemplateList) DeepCopy() *TagTemplateList { + if in == nil { + return nil + } + out := new(TagTemplateList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagTemplateList) 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 *TagTemplateObservation) DeepCopyInto(out *TagTemplateObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateObservation. +func (in *TagTemplateObservation) DeepCopy() *TagTemplateObservation { + if in == nil { + return nil + } + out := new(TagTemplateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateParameters) DeepCopyInto(out *TagTemplateParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Fields != nil { + in, out := &in.Fields, &out.Fields + *out = make([]TagTemplateFieldsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ForceDelete != nil { + in, out := &in.ForceDelete, &out.ForceDelete + *out = new(bool) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.TagTemplateID != nil { + in, out := &in.TagTemplateID, &out.TagTemplateID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateParameters. +func (in *TagTemplateParameters) DeepCopy() *TagTemplateParameters { + if in == nil { + return nil + } + out := new(TagTemplateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateSpec) DeepCopyInto(out *TagTemplateSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateSpec. +func (in *TagTemplateSpec) DeepCopy() *TagTemplateSpec { + if in == nil { + return nil + } + out := new(TagTemplateSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagTemplateStatus) DeepCopyInto(out *TagTemplateStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagTemplateStatus. +func (in *TagTemplateStatus) DeepCopy() *TagTemplateStatus { + if in == nil { + return nil + } + out := new(TagTemplateStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TypeObservation) DeepCopyInto(out *TypeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TypeObservation. +func (in *TypeObservation) DeepCopy() *TypeObservation { + if in == nil { + return nil + } + out := new(TypeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TypeParameters) DeepCopyInto(out *TypeParameters) { + *out = *in + if in.EnumType != nil { + in, out := &in.EnumType, &out.EnumType + *out = make([]EnumTypeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PrimitiveType != nil { + in, out := &in.PrimitiveType, &out.PrimitiveType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TypeParameters. +func (in *TypeParameters) DeepCopy() *TypeParameters { + if in == nil { + return nil + } + out := new(TypeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ViewSpecObservation) DeepCopyInto(out *ViewSpecObservation) { + *out = *in + if in.ViewQuery != nil { + in, out := &in.ViewQuery, &out.ViewQuery + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ViewSpecObservation. +func (in *ViewSpecObservation) DeepCopy() *ViewSpecObservation { + if in == nil { + return nil + } + out := new(ViewSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ViewSpecParameters) DeepCopyInto(out *ViewSpecParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ViewSpecParameters. +func (in *ViewSpecParameters) DeepCopy() *ViewSpecParameters { + if in == nil { + return nil + } + out := new(ViewSpecParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/datacatalog/v1alpha1/zz_generated.managed.go b/apis/datacatalog/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..9d871a9e --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_generated.managed.go @@ -0,0 +1,580 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Entry. +func (mg *Entry) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Entry. +func (mg *Entry) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Entry. +func (mg *Entry) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Entry. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Entry) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Entry. +func (mg *Entry) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Entry. +func (mg *Entry) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Entry. +func (mg *Entry) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Entry. +func (mg *Entry) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Entry. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Entry) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Entry. +func (mg *Entry) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this EntryGroup. +func (mg *EntryGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this EntryGroup. +func (mg *EntryGroup) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this EntryGroup. +func (mg *EntryGroup) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this EntryGroup. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *EntryGroup) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this EntryGroup. +func (mg *EntryGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this EntryGroup. +func (mg *EntryGroup) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this EntryGroup. +func (mg *EntryGroup) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this EntryGroup. +func (mg *EntryGroup) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this EntryGroup. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *EntryGroup) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this EntryGroup. +func (mg *EntryGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this EntryGroupIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *EntryGroupIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this EntryGroupIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *EntryGroupIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this EntryGroupIAMBinding. +func (mg *EntryGroupIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this EntryGroupIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *EntryGroupIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this EntryGroupIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *EntryGroupIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this EntryGroupIAMMember. +func (mg *EntryGroupIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this EntryGroupIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *EntryGroupIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this EntryGroupIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *EntryGroupIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this EntryGroupIAMPolicy. +func (mg *EntryGroupIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Tag. +func (mg *Tag) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Tag. +func (mg *Tag) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Tag. +func (mg *Tag) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Tag. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Tag) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Tag. +func (mg *Tag) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Tag. +func (mg *Tag) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Tag. +func (mg *Tag) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Tag. +func (mg *Tag) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Tag. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Tag) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Tag. +func (mg *Tag) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagTemplate. +func (mg *TagTemplate) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagTemplate. +func (mg *TagTemplate) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagTemplate. +func (mg *TagTemplate) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagTemplate. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagTemplate) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TagTemplate. +func (mg *TagTemplate) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagTemplate. +func (mg *TagTemplate) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagTemplate. +func (mg *TagTemplate) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagTemplate. +func (mg *TagTemplate) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagTemplate. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagTemplate) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TagTemplate. +func (mg *TagTemplate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagTemplateIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagTemplateIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagTemplateIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagTemplateIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TagTemplateIAMBinding. +func (mg *TagTemplateIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagTemplateIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagTemplateIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagTemplateIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagTemplateIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TagTemplateIAMMember. +func (mg *TagTemplateIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagTemplateIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagTemplateIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagTemplateIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagTemplateIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TagTemplateIAMPolicy. +func (mg *TagTemplateIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/datacatalog/v1alpha1/zz_generated.managedlist.go b/apis/datacatalog/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..661cb215 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,110 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this EntryGroupIAMBindingList. +func (l *EntryGroupIAMBindingList) 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 EntryGroupIAMMemberList. +func (l *EntryGroupIAMMemberList) 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 EntryGroupIAMPolicyList. +func (l *EntryGroupIAMPolicyList) 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 EntryGroupList. +func (l *EntryGroupList) 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 EntryList. +func (l *EntryList) 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 TagList. +func (l *TagList) 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 TagTemplateIAMBindingList. +func (l *TagTemplateIAMBindingList) 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 TagTemplateIAMMemberList. +func (l *TagTemplateIAMMemberList) 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 TagTemplateIAMPolicyList. +func (l *TagTemplateIAMPolicyList) 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 TagTemplateList. +func (l *TagTemplateList) 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/datacatalog/v1alpha1/zz_groupversion_info.go b/apis/datacatalog/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..b58ba409 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=datacatalog.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "datacatalog.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/datacatalog/v1alpha1/zz_tag_terraformed.go b/apis/datacatalog/v1alpha1/zz_tag_terraformed.go new file mode 100755 index 00000000..b43ce1e9 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_tag_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Tag +func (mg *Tag) GetTerraformResourceType() string { + return "google_data_catalog_tag" +} + +// GetConnectionDetailsMapping for this Tag +func (tr *Tag) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Tag +func (tr *Tag) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Tag +func (tr *Tag) SetObservation(obs map[string]interface{}) 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 Tag +func (tr *Tag) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Tag +func (tr *Tag) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Tag +func (tr *Tag) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Tag using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Tag) LateInitialize(attrs []byte) (bool, error) { + params := &TagParameters{} + 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 *Tag) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datacatalog/v1alpha1/zz_tag_types.go b/apis/datacatalog/v1alpha1/zz_tag_types.go new file mode 100755 index 00000000..93cfddda --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_tag_types.go @@ -0,0 +1,142 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FieldsObservation struct { + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + Order *int64 `json:"order,omitempty" tf:"order,omitempty"` +} + +type FieldsParameters struct { + + // Holds the value for a tag field with boolean type. + // +kubebuilder:validation:Optional + BoolValue *bool `json:"boolValue,omitempty" tf:"bool_value,omitempty"` + + // Holds the value for a tag field with double type. + // +kubebuilder:validation:Optional + DoubleValue *float64 `json:"doubleValue,omitempty" tf:"double_value,omitempty"` + + // The display name of the enum value. + // +kubebuilder:validation:Optional + EnumValue *string `json:"enumValue,omitempty" tf:"enum_value,omitempty"` + + // +kubebuilder:validation:Required + FieldName *string `json:"fieldName" tf:"field_name,omitempty"` + + // Holds the value for a tag field with string type. + // +kubebuilder:validation:Optional + StringValue *string `json:"stringValue,omitempty" tf:"string_value,omitempty"` + + // Holds the value for a tag field with timestamp type. + // +kubebuilder:validation:Optional + TimestampValue *string `json:"timestampValue,omitempty" tf:"timestamp_value,omitempty"` +} + +type TagObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + TemplateDisplayname *string `json:"templateDisplayname,omitempty" tf:"template_displayname,omitempty"` +} + +type TagParameters struct { + + // Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an + // individual column based on that schema. + // + // For attaching a tag to a nested column, use '.' to separate the column names. Example: + // 'outer_column.inner_column' + // +kubebuilder:validation:Optional + Column *string `json:"column,omitempty" tf:"column,omitempty"` + + // This maps the ID of a tag field to the value of and additional information about that field. + // Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields. + // +kubebuilder:validation:Required + Fields []FieldsParameters `json:"fields" tf:"fields,omitempty"` + + // The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to + // all entries in that group. + // +kubebuilder:validation:Optional + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // The resource name of the tag template that this tag uses. Example: + // projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} + // This field cannot be modified after creation. + // +kubebuilder:validation:Required + Template *string `json:"template" tf:"template,omitempty"` +} + +// TagSpec defines the desired state of Tag +type TagSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagParameters `json:"forProvider"` +} + +// TagStatus defines the observed state of Tag. +type TagStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Tag is the Schema for the Tags 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,gcpjet} +type Tag struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagSpec `json:"spec"` + Status TagStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagList contains a list of Tags +type TagList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Tag `json:"items"` +} + +// Repository type metadata. +var ( + Tag_Kind = "Tag" + Tag_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Tag_Kind}.String() + Tag_KindAPIVersion = Tag_Kind + "." + CRDGroupVersion.String() + Tag_GroupVersionKind = CRDGroupVersion.WithKind(Tag_Kind) +) + +func init() { + SchemeBuilder.Register(&Tag{}, &TagList{}) +} diff --git a/apis/datacatalog/v1alpha1/zz_tagtemplate_terraformed.go b/apis/datacatalog/v1alpha1/zz_tagtemplate_terraformed.go new file mode 100755 index 00000000..82e8c6b6 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_tagtemplate_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TagTemplate +func (mg *TagTemplate) GetTerraformResourceType() string { + return "google_data_catalog_tag_template" +} + +// GetConnectionDetailsMapping for this TagTemplate +func (tr *TagTemplate) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagTemplate +func (tr *TagTemplate) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagTemplate +func (tr *TagTemplate) SetObservation(obs map[string]interface{}) 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 TagTemplate +func (tr *TagTemplate) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagTemplate +func (tr *TagTemplate) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagTemplate +func (tr *TagTemplate) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagTemplate using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagTemplate) LateInitialize(attrs []byte) (bool, error) { + params := &TagTemplateParameters{} + 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 *TagTemplate) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datacatalog/v1alpha1/zz_tagtemplate_types.go b/apis/datacatalog/v1alpha1/zz_tagtemplate_types.go new file mode 100755 index 00000000..e0c0b984 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_tagtemplate_types.go @@ -0,0 +1,179 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AllowedValuesObservation struct { +} + +type AllowedValuesParameters struct { + + // The display name of the enum value. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` +} + +type EnumTypeObservation struct { +} + +type EnumTypeParameters struct { + + // The set of allowed values for this enum. The display names of the + // values must be case-insensitively unique within this set. Currently, + // enum values can only be added to the list of allowed values. Deletion + // and renaming of enum values are not supported. + // Can have up to 500 allowed values. + // +kubebuilder:validation:Required + AllowedValues []AllowedValuesParameters `json:"allowedValues" tf:"allowed_values,omitempty"` +} + +type TagTemplateFieldsObservation struct { + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type TagTemplateFieldsParameters struct { + + // A description for this field. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The display name for this field. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // +kubebuilder:validation:Required + FieldID *string `json:"fieldId" tf:"field_id,omitempty"` + + // Whether this is a required field. Defaults to false. + // +kubebuilder:validation:Optional + IsRequired *bool `json:"isRequired,omitempty" tf:"is_required,omitempty"` + + // The order of this field with respect to other fields in this tag template. + // A higher value indicates a more important field. The value can be negative. + // Multiple fields can have the same order, and field orders within a tag do not have to be sequential. + // +kubebuilder:validation:Optional + Order *int64 `json:"order,omitempty" tf:"order,omitempty"` + + // The type of value this tag field can contain. + // +kubebuilder:validation:Required + Type []TypeParameters `json:"type" tf:"type,omitempty"` +} + +type TagTemplateObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type TagTemplateParameters struct { + + // The display name for this template. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // Set of tag template field IDs and the settings for the field. This set is an exhaustive list of the allowed fields. This set must contain at least one field and at most 500 fields. + // +kubebuilder:validation:Required + Fields []TagTemplateFieldsParameters `json:"fields" tf:"fields,omitempty"` + + // This confirms the deletion of any possible tags using this template. Must be set to true in order to delete the tag template. + // +kubebuilder:validation:Optional + ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Template location region. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // The id of the tag template to create. + // +kubebuilder:validation:Required + TagTemplateID *string `json:"tagTemplateId" tf:"tag_template_id,omitempty"` +} + +type TypeObservation struct { +} + +type TypeParameters struct { + + // Represents an enum type. + // Exactly one of 'primitive_type' or 'enum_type' must be set + // +kubebuilder:validation:Optional + EnumType []EnumTypeParameters `json:"enumType,omitempty" tf:"enum_type,omitempty"` + + // Represents primitive types - string, bool etc. + // Exactly one of 'primitive_type' or 'enum_type' must be set Possible values: ["DOUBLE", "STRING", "BOOL", "TIMESTAMP"] + // +kubebuilder:validation:Optional + PrimitiveType *string `json:"primitiveType,omitempty" tf:"primitive_type,omitempty"` +} + +// TagTemplateSpec defines the desired state of TagTemplate +type TagTemplateSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagTemplateParameters `json:"forProvider"` +} + +// TagTemplateStatus defines the observed state of TagTemplate. +type TagTemplateStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagTemplateObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplate is the Schema for the TagTemplates 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,gcpjet} +type TagTemplate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagTemplateSpec `json:"spec"` + Status TagTemplateStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplateList contains a list of TagTemplates +type TagTemplateList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagTemplate `json:"items"` +} + +// Repository type metadata. +var ( + TagTemplate_Kind = "TagTemplate" + TagTemplate_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagTemplate_Kind}.String() + TagTemplate_KindAPIVersion = TagTemplate_Kind + "." + CRDGroupVersion.String() + TagTemplate_GroupVersionKind = CRDGroupVersion.WithKind(TagTemplate_Kind) +) + +func init() { + SchemeBuilder.Register(&TagTemplate{}, &TagTemplateList{}) +} diff --git a/apis/datacatalog/v1alpha1/zz_tagtemplateiambinding_terraformed.go b/apis/datacatalog/v1alpha1/zz_tagtemplateiambinding_terraformed.go new file mode 100755 index 00000000..ef397a99 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_tagtemplateiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TagTemplateIAMBinding +func (mg *TagTemplateIAMBinding) GetTerraformResourceType() string { + return "google_data_catalog_tag_template_iam_binding" +} + +// GetConnectionDetailsMapping for this TagTemplateIAMBinding +func (tr *TagTemplateIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagTemplateIAMBinding +func (tr *TagTemplateIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagTemplateIAMBinding +func (tr *TagTemplateIAMBinding) SetObservation(obs map[string]interface{}) 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 TagTemplateIAMBinding +func (tr *TagTemplateIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagTemplateIAMBinding +func (tr *TagTemplateIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagTemplateIAMBinding +func (tr *TagTemplateIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagTemplateIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagTemplateIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &TagTemplateIAMBindingParameters{} + 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 *TagTemplateIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datacatalog/v1alpha1/zz_tagtemplateiambinding_types.go b/apis/datacatalog/v1alpha1/zz_tagtemplateiambinding_types.go new file mode 100755 index 00000000..dc5d34cf --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_tagtemplateiambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TagTemplateIAMBindingConditionObservation struct { +} + +type TagTemplateIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TagTemplateIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TagTemplateIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []TagTemplateIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + TagTemplate *string `json:"tagTemplate" tf:"tag_template,omitempty"` +} + +// TagTemplateIAMBindingSpec defines the desired state of TagTemplateIAMBinding +type TagTemplateIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagTemplateIAMBindingParameters `json:"forProvider"` +} + +// TagTemplateIAMBindingStatus defines the observed state of TagTemplateIAMBinding. +type TagTemplateIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagTemplateIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplateIAMBinding is the Schema for the TagTemplateIAMBindings 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,gcpjet} +type TagTemplateIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagTemplateIAMBindingSpec `json:"spec"` + Status TagTemplateIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplateIAMBindingList contains a list of TagTemplateIAMBindings +type TagTemplateIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagTemplateIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + TagTemplateIAMBinding_Kind = "TagTemplateIAMBinding" + TagTemplateIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagTemplateIAMBinding_Kind}.String() + TagTemplateIAMBinding_KindAPIVersion = TagTemplateIAMBinding_Kind + "." + CRDGroupVersion.String() + TagTemplateIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(TagTemplateIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&TagTemplateIAMBinding{}, &TagTemplateIAMBindingList{}) +} diff --git a/apis/datacatalog/v1alpha1/zz_tagtemplateiammember_terraformed.go b/apis/datacatalog/v1alpha1/zz_tagtemplateiammember_terraformed.go new file mode 100755 index 00000000..ca867541 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_tagtemplateiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TagTemplateIAMMember +func (mg *TagTemplateIAMMember) GetTerraformResourceType() string { + return "google_data_catalog_tag_template_iam_member" +} + +// GetConnectionDetailsMapping for this TagTemplateIAMMember +func (tr *TagTemplateIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagTemplateIAMMember +func (tr *TagTemplateIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagTemplateIAMMember +func (tr *TagTemplateIAMMember) SetObservation(obs map[string]interface{}) 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 TagTemplateIAMMember +func (tr *TagTemplateIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagTemplateIAMMember +func (tr *TagTemplateIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagTemplateIAMMember +func (tr *TagTemplateIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagTemplateIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagTemplateIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &TagTemplateIAMMemberParameters{} + 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 *TagTemplateIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datacatalog/v1alpha1/zz_tagtemplateiammember_types.go b/apis/datacatalog/v1alpha1/zz_tagtemplateiammember_types.go new file mode 100755 index 00000000..54995662 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_tagtemplateiammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TagTemplateIAMMemberConditionObservation struct { +} + +type TagTemplateIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TagTemplateIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TagTemplateIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []TagTemplateIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + TagTemplate *string `json:"tagTemplate" tf:"tag_template,omitempty"` +} + +// TagTemplateIAMMemberSpec defines the desired state of TagTemplateIAMMember +type TagTemplateIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagTemplateIAMMemberParameters `json:"forProvider"` +} + +// TagTemplateIAMMemberStatus defines the observed state of TagTemplateIAMMember. +type TagTemplateIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagTemplateIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplateIAMMember is the Schema for the TagTemplateIAMMembers 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,gcpjet} +type TagTemplateIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagTemplateIAMMemberSpec `json:"spec"` + Status TagTemplateIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplateIAMMemberList contains a list of TagTemplateIAMMembers +type TagTemplateIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagTemplateIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + TagTemplateIAMMember_Kind = "TagTemplateIAMMember" + TagTemplateIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagTemplateIAMMember_Kind}.String() + TagTemplateIAMMember_KindAPIVersion = TagTemplateIAMMember_Kind + "." + CRDGroupVersion.String() + TagTemplateIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(TagTemplateIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&TagTemplateIAMMember{}, &TagTemplateIAMMemberList{}) +} diff --git a/apis/datacatalog/v1alpha1/zz_tagtemplateiampolicy_terraformed.go b/apis/datacatalog/v1alpha1/zz_tagtemplateiampolicy_terraformed.go new file mode 100755 index 00000000..48116fb1 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_tagtemplateiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TagTemplateIAMPolicy +func (mg *TagTemplateIAMPolicy) GetTerraformResourceType() string { + return "google_data_catalog_tag_template_iam_policy" +} + +// GetConnectionDetailsMapping for this TagTemplateIAMPolicy +func (tr *TagTemplateIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagTemplateIAMPolicy +func (tr *TagTemplateIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagTemplateIAMPolicy +func (tr *TagTemplateIAMPolicy) SetObservation(obs map[string]interface{}) 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 TagTemplateIAMPolicy +func (tr *TagTemplateIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagTemplateIAMPolicy +func (tr *TagTemplateIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagTemplateIAMPolicy +func (tr *TagTemplateIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagTemplateIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagTemplateIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &TagTemplateIAMPolicyParameters{} + 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 *TagTemplateIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datacatalog/v1alpha1/zz_tagtemplateiampolicy_types.go b/apis/datacatalog/v1alpha1/zz_tagtemplateiampolicy_types.go new file mode 100755 index 00000000..54b9ffc3 --- /dev/null +++ b/apis/datacatalog/v1alpha1/zz_tagtemplateiampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TagTemplateIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TagTemplateIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + TagTemplate *string `json:"tagTemplate" tf:"tag_template,omitempty"` +} + +// TagTemplateIAMPolicySpec defines the desired state of TagTemplateIAMPolicy +type TagTemplateIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagTemplateIAMPolicyParameters `json:"forProvider"` +} + +// TagTemplateIAMPolicyStatus defines the observed state of TagTemplateIAMPolicy. +type TagTemplateIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagTemplateIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplateIAMPolicy is the Schema for the TagTemplateIAMPolicys 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,gcpjet} +type TagTemplateIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagTemplateIAMPolicySpec `json:"spec"` + Status TagTemplateIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagTemplateIAMPolicyList contains a list of TagTemplateIAMPolicys +type TagTemplateIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagTemplateIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + TagTemplateIAMPolicy_Kind = "TagTemplateIAMPolicy" + TagTemplateIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagTemplateIAMPolicy_Kind}.String() + TagTemplateIAMPolicy_KindAPIVersion = TagTemplateIAMPolicy_Kind + "." + CRDGroupVersion.String() + TagTemplateIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(TagTemplateIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&TagTemplateIAMPolicy{}, &TagTemplateIAMPolicyList{}) +} diff --git a/apis/dataflow/v1alpha1/zz_generated.deepcopy.go b/apis/dataflow/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..0e242f1b --- /dev/null +++ b/apis/dataflow/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,275 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Job) DeepCopyInto(out *Job) { + *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 Job. +func (in *Job) DeepCopy() *Job { + if in == nil { + return nil + } + out := new(Job) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Job) 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 *JobList) DeepCopyInto(out *JobList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Job, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobList. +func (in *JobList) DeepCopy() *JobList { + if in == nil { + return nil + } + out := new(JobList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobList) 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 *JobObservation) DeepCopyInto(out *JobObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.JobID != nil { + in, out := &in.JobID, &out.JobID + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **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 JobObservation. +func (in *JobObservation) DeepCopy() *JobObservation { + if in == nil { + return nil + } + out := new(JobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobParameters) DeepCopyInto(out *JobParameters) { + *out = *in + if in.AdditionalExperiments != nil { + in, out := &in.AdditionalExperiments, &out.AdditionalExperiments + *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.EnableStreamingEngine != nil { + in, out := &in.EnableStreamingEngine, &out.EnableStreamingEngine + *out = new(bool) + **out = **in + } + if in.IPConfiguration != nil { + in, out := &in.IPConfiguration, &out.IPConfiguration + *out = new(string) + **out = **in + } + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.MachineType != nil { + in, out := &in.MachineType, &out.MachineType + *out = new(string) + **out = **in + } + if in.MaxWorkers != nil { + in, out := &in.MaxWorkers, &out.MaxWorkers + *out = new(int64) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.OnDelete != nil { + in, out := &in.OnDelete, &out.OnDelete + *out = new(string) + **out = **in + } + if in.Parameters != nil { + in, out := &in.Parameters, &out.Parameters + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.ServiceAccountEmail != nil { + in, out := &in.ServiceAccountEmail, &out.ServiceAccountEmail + *out = new(string) + **out = **in + } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.TempGcsLocation != nil { + in, out := &in.TempGcsLocation, &out.TempGcsLocation + *out = new(string) + **out = **in + } + if in.TemplateGcsPath != nil { + in, out := &in.TemplateGcsPath, &out.TemplateGcsPath + *out = new(string) + **out = **in + } + if in.TransformNameMapping != nil { + in, out := &in.TransformNameMapping, &out.TransformNameMapping + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobParameters. +func (in *JobParameters) DeepCopy() *JobParameters { + if in == nil { + return nil + } + out := new(JobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobSpec) DeepCopyInto(out *JobSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobSpec. +func (in *JobSpec) DeepCopy() *JobSpec { + if in == nil { + return nil + } + out := new(JobSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobStatus) DeepCopyInto(out *JobStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobStatus. +func (in *JobStatus) DeepCopy() *JobStatus { + if in == nil { + return nil + } + out := new(JobStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/dataflow/v1alpha1/zz_generated.managed.go b/apis/dataflow/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..ce51e9a0 --- /dev/null +++ b/apis/dataflow/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Job. +func (mg *Job) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Job. +func (mg *Job) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Job. +func (mg *Job) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Job. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Job) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Job. +func (mg *Job) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Job. +func (mg *Job) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Job. +func (mg *Job) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Job. +func (mg *Job) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Job. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Job) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Job. +func (mg *Job) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/dataflow/v1alpha1/zz_generated.managedlist.go b/apis/dataflow/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..067d9014 --- /dev/null +++ b/apis/dataflow/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this JobList. +func (l *JobList) 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/dataflow/v1alpha1/zz_groupversion_info.go b/apis/dataflow/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..76bee6bd --- /dev/null +++ b/apis/dataflow/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=dataflow.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "dataflow.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/dataflow/v1alpha1/zz_job_terraformed.go b/apis/dataflow/v1alpha1/zz_job_terraformed.go new file mode 100755 index 00000000..127ea449 --- /dev/null +++ b/apis/dataflow/v1alpha1/zz_job_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Job +func (mg *Job) GetTerraformResourceType() string { + return "google_dataflow_job" +} + +// GetConnectionDetailsMapping for this Job +func (tr *Job) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Job +func (tr *Job) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Job +func (tr *Job) SetObservation(obs map[string]interface{}) 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 Job +func (tr *Job) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Job +func (tr *Job) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Job +func (tr *Job) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Job using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Job) LateInitialize(attrs []byte) (bool, error) { + params := &JobParameters{} + 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 *Job) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dataflow/v1alpha1/zz_job_types.go b/apis/dataflow/v1alpha1/zz_job_types.go new file mode 100755 index 00000000..22803105 --- /dev/null +++ b/apis/dataflow/v1alpha1/zz_job_types.go @@ -0,0 +1,164 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 JobObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + JobID *string `json:"jobId,omitempty" tf:"job_id,omitempty"` + + State *string `json:"state,omitempty" tf:"state,omitempty"` + + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type JobParameters struct { + + // List of experiments that should be used by the job. An example value is ["enable_stackdriver_agent_metrics"]. + // +kubebuilder:validation:Optional + AdditionalExperiments []*string `json:"additionalExperiments,omitempty" tf:"additional_experiments,omitempty"` + + // Indicates if the job should use the streaming engine feature. + // +kubebuilder:validation:Optional + EnableStreamingEngine *bool `json:"enableStreamingEngine,omitempty" tf:"enable_streaming_engine,omitempty"` + + // The configuration for VM IPs. Options are "WORKER_IP_PUBLIC" or "WORKER_IP_PRIVATE". + // +kubebuilder:validation:Optional + IPConfiguration *string `json:"ipConfiguration,omitempty" tf:"ip_configuration,omitempty"` + + // The name for the Cloud KMS key for the job. Key format is: projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY + // +kubebuilder:validation:Optional + KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"` + + // User labels to be specified for the job. Keys and values should follow the restrictions specified in the labeling restrictions page. NOTE: Google-provided Dataflow templates often provide default labels that begin with goog-dataflow-provided. Unless explicitly set in config, these labels will be ignored to prevent diffs on re-apply. + // +kubebuilder:validation:Optional + Labels map[string]string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The machine type to use for the job. + // +kubebuilder:validation:Optional + MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"` + + // The number of workers permitted to work on the job. More workers may improve processing speed at additional cost. + // +kubebuilder:validation:Optional + MaxWorkers *int64 `json:"maxWorkers,omitempty" tf:"max_workers,omitempty"` + + // A unique name for the resource, required by Dataflow. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The network to which VMs will be assigned. If it is not provided, "default" will be used. + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // One of "drain" or "cancel". Specifies behavior of deletion during terraform destroy. + // +kubebuilder:validation:Optional + OnDelete *string `json:"onDelete,omitempty" tf:"on_delete,omitempty"` + + // Key/Value pairs to be passed to the Dataflow job (as used in the template). + // +kubebuilder:validation:Optional + Parameters map[string]string `json:"parameters,omitempty" tf:"parameters,omitempty"` + + // The project in which the resource belongs. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The region in which the created job should run. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // The Service Account email used to create the job. + // +kubebuilder:validation:Optional + ServiceAccountEmail *string `json:"serviceAccountEmail,omitempty" tf:"service_account_email,omitempty"` + + // The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK". + // +kubebuilder:validation:Optional + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // A writeable location on Google Cloud Storage for the Dataflow job to dump its temporary data. + // +kubebuilder:validation:Required + TempGcsLocation *string `json:"tempGcsLocation" tf:"temp_gcs_location,omitempty"` + + // The Google Cloud Storage path to the Dataflow job template. + // +kubebuilder:validation:Required + TemplateGcsPath *string `json:"templateGcsPath" tf:"template_gcs_path,omitempty"` + + // Only applicable when updating a pipeline. Map of transform name prefixes of the job to be replaced with the corresponding name prefixes of the new job. + // +kubebuilder:validation:Optional + TransformNameMapping map[string]string `json:"transformNameMapping,omitempty" tf:"transform_name_mapping,omitempty"` + + // The zone in which the created job should run. If it is not provided, the provider zone is used. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// JobSpec defines the desired state of Job +type JobSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider JobParameters `json:"forProvider"` +} + +// JobStatus defines the observed state of Job. +type JobStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider JobObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Job is the Schema for the Jobs 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,gcpjet} +type Job struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec JobSpec `json:"spec"` + Status JobStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// JobList contains a list of Jobs +type JobList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Job `json:"items"` +} + +// Repository type metadata. +var ( + Job_Kind = "Job" + Job_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Job_Kind}.String() + Job_KindAPIVersion = Job_Kind + "." + CRDGroupVersion.String() + Job_GroupVersionKind = CRDGroupVersion.WithKind(Job_Kind) +) + +func init() { + SchemeBuilder.Register(&Job{}, &JobList{}) +} diff --git a/apis/datalossprevention/v1alpha1/zz_deidentifytemplate_terraformed.go b/apis/datalossprevention/v1alpha1/zz_deidentifytemplate_terraformed.go new file mode 100755 index 00000000..e32594f1 --- /dev/null +++ b/apis/datalossprevention/v1alpha1/zz_deidentifytemplate_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DeidentifyTemplate +func (mg *DeidentifyTemplate) GetTerraformResourceType() string { + return "google_data_loss_prevention_deidentify_template" +} + +// GetConnectionDetailsMapping for this DeidentifyTemplate +func (tr *DeidentifyTemplate) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DeidentifyTemplate +func (tr *DeidentifyTemplate) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DeidentifyTemplate +func (tr *DeidentifyTemplate) SetObservation(obs map[string]interface{}) 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 DeidentifyTemplate +func (tr *DeidentifyTemplate) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DeidentifyTemplate +func (tr *DeidentifyTemplate) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DeidentifyTemplate +func (tr *DeidentifyTemplate) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DeidentifyTemplate using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DeidentifyTemplate) LateInitialize(attrs []byte) (bool, error) { + params := &DeidentifyTemplateParameters{} + 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 *DeidentifyTemplate) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datalossprevention/v1alpha1/zz_deidentifytemplate_types.go b/apis/datalossprevention/v1alpha1/zz_deidentifytemplate_types.go new file mode 100755 index 00000000..d630d43e --- /dev/null +++ b/apis/datalossprevention/v1alpha1/zz_deidentifytemplate_types.go @@ -0,0 +1,552 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CharacterMaskConfigObservation struct { +} + +type CharacterMaskConfigParameters struct { + + // Characters to skip when doing de-identification of a value. These will be left alone and skipped. + // +kubebuilder:validation:Optional + CharactersToIgnore []CharactersToIgnoreParameters `json:"charactersToIgnore,omitempty" tf:"characters_to_ignore,omitempty"` + + // Character to use to mask the sensitive values—for example, * for an alphabetic string such as a name, or 0 for a numeric string + // such as ZIP code or credit card number. This string must have a length of 1. If not supplied, this value defaults to * for + // strings, and 0 for digits. + // +kubebuilder:validation:Optional + MaskingCharacter *string `json:"maskingCharacter,omitempty" tf:"masking_character,omitempty"` + + // Number of characters to mask. If not set, all matching chars will be masked. Skipped characters do not count towards this tally. + // +kubebuilder:validation:Optional + NumberToMask *int64 `json:"numberToMask,omitempty" tf:"number_to_mask,omitempty"` + + // Mask characters in reverse order. For example, if masking_character is 0, number_to_mask is 14, and reverse_order is 'false', then the + // input string '1234-5678-9012-3456' is masked as '00000000000000-3456'. + // +kubebuilder:validation:Optional + ReverseOrder *bool `json:"reverseOrder,omitempty" tf:"reverse_order,omitempty"` +} + +type CharactersToIgnoreObservation struct { +} + +type CharactersToIgnoreParameters struct { + + // Characters to not transform when masking. + // +kubebuilder:validation:Optional + CharacterToSkip *string `json:"characterToSkip,omitempty" tf:"character_to_skip,omitempty"` + + // Common characters to not transform when masking. Useful to avoid removing punctuation. Possible values: ["NUMERIC", "ALPHA_UPPER_CASE", "ALPHA_LOWER_CASE", "PUNCTUATION", "WHITESPACE"] + // +kubebuilder:validation:Optional + CommonCharactersToIgnore *string `json:"commonCharactersToIgnore,omitempty" tf:"common_characters_to_ignore,omitempty"` +} + +type ContextObservation struct { +} + +type ContextParameters struct { + + // Name describing the field. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type CryptoDeterministicConfigObservation struct { +} + +type CryptoDeterministicConfigParameters struct { + + // A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. + // + // If the context is not set, plaintext would be used as is for encryption. If the context is set but: + // + // 1. there is no record present when transforming a given value or + // 2. the field is not present when transforming a given value, + // + // plaintext would be used as is for encryption. + // + // Note that case (1) is expected when an 'InfoTypeTransformation' is applied to both structured and non-structured 'ContentItem's. + // +kubebuilder:validation:Optional + Context []ContextParameters `json:"context,omitempty" tf:"context,omitempty"` + + // The key used by the encryption function. + // +kubebuilder:validation:Optional + CryptoKey []CryptoKeyParameters `json:"cryptoKey,omitempty" tf:"crypto_key,omitempty"` + + // The custom info type to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom info type followed by the number of characters comprising the surrogate. The following scheme defines the format: {info type name}({surrogate character count}):{surrogate} + // + // For example, if the name of custom info type is 'MY\_TOKEN\_INFO\_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY\_TOKEN\_INFO\_TYPE(3):abc' + // + // This annotation identifies the surrogate when inspecting content using the custom info type 'Surrogate'. This facilitates reversal of the surrogate when it occurs in free text. + // + // Note: For record transformations where the entire cell in a table is being transformed, surrogates are not mandatory. Surrogates are used to denote the location of the token and are necessary for re-identification in free form text. + // + // In order for inspection to work properly, the name of this info type must not occur naturally anywhere in your data; otherwise, inspection may either + // + // * reverse a surrogate that does not correspond to an actual identifier + // * be unable to parse the surrogate and result in an error + // + // Therefore, choose your custom info type name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY\_TOKEN\_TYPE. + // +kubebuilder:validation:Optional + SurrogateInfoType []SurrogateInfoTypeParameters `json:"surrogateInfoType,omitempty" tf:"surrogate_info_type,omitempty"` +} + +type CryptoKeyKMSWrappedObservation struct { +} + +type CryptoKeyKMSWrappedParameters struct { + + // The resource name of the KMS CryptoKey to use for unwrapping. + // +kubebuilder:validation:Required + CryptoKeyName *string `json:"cryptoKeyName" tf:"crypto_key_name,omitempty"` + + // The wrapped data crypto key. + // + // A base64-encoded string. + // +kubebuilder:validation:Required + WrappedKey *string `json:"wrappedKey" tf:"wrapped_key,omitempty"` +} + +type CryptoKeyObservation struct { +} + +type CryptoKeyParameters struct { + + // Kms wrapped key + // +kubebuilder:validation:Optional + KMSWrapped []KMSWrappedParameters `json:"kmsWrapped,omitempty" tf:"kms_wrapped,omitempty"` + + // Transient crypto key + // +kubebuilder:validation:Optional + Transient []TransientParameters `json:"transient,omitempty" tf:"transient,omitempty"` + + // Unwrapped crypto key + // +kubebuilder:validation:Optional + Unwrapped []UnwrappedParameters `json:"unwrapped,omitempty" tf:"unwrapped,omitempty"` +} + +type CryptoKeyTransientObservation struct { +} + +type CryptoKeyTransientParameters struct { + + // Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate 'TransientCryptoKey' protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated). + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type CryptoKeyUnwrappedObservation struct { +} + +type CryptoKeyUnwrappedParameters struct { + + // A 128/192/256 bit key. + // + // A base64-encoded string. + // +kubebuilder:validation:Required + Key *string `json:"key" tf:"key,omitempty"` +} + +type CryptoReplaceFfxFpeConfigContextObservation struct { +} + +type CryptoReplaceFfxFpeConfigContextParameters struct { + + // Name describing the field. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type CryptoReplaceFfxFpeConfigCryptoKeyObservation struct { +} + +type CryptoReplaceFfxFpeConfigCryptoKeyParameters struct { + + // Kms wrapped key + // +kubebuilder:validation:Optional + KMSWrapped []CryptoKeyKMSWrappedParameters `json:"kmsWrapped,omitempty" tf:"kms_wrapped,omitempty"` + + // Transient crypto key + // +kubebuilder:validation:Optional + Transient []CryptoKeyTransientParameters `json:"transient,omitempty" tf:"transient,omitempty"` + + // Unwrapped crypto key + // +kubebuilder:validation:Optional + Unwrapped []CryptoKeyUnwrappedParameters `json:"unwrapped,omitempty" tf:"unwrapped,omitempty"` +} + +type CryptoReplaceFfxFpeConfigObservation struct { +} + +type CryptoReplaceFfxFpeConfigParameters struct { + + // Common alphabets. Possible values: ["FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED", "NUMERIC", "HEXADECIMAL", "UPPER_CASE_ALPHA_NUMERIC", "ALPHA_NUMERIC"] + // +kubebuilder:validation:Optional + CommonAlphabet *string `json:"commonAlphabet,omitempty" tf:"common_alphabet,omitempty"` + + // The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. + // + // If the context is set but: + // + // 1. there is no record present when transforming a given value or + // 2. the field is not present when transforming a given value, + // + // a default tweak will be used. + // + // Note that case (1) is expected when an 'InfoTypeTransformation' is applied to both structured and non-structured 'ContentItem's. Currently, the referenced field may be of value type integer or string. + // + // The tweak is constructed as a sequence of bytes in big endian byte order such that: + // + // * a 64 bit integer is encoded followed by a single byte of value 1 + // * a string is encoded in UTF-8 format followed by a single byte of value 2 + // +kubebuilder:validation:Optional + Context []CryptoReplaceFfxFpeConfigContextParameters `json:"context,omitempty" tf:"context,omitempty"` + + // The key used by the encryption algorithm. + // +kubebuilder:validation:Optional + CryptoKey []CryptoReplaceFfxFpeConfigCryptoKeyParameters `json:"cryptoKey,omitempty" tf:"crypto_key,omitempty"` + + // This is supported by mapping these to the alphanumeric characters that the FFX mode natively supports. This happens before/after encryption/decryption. Each character listed must appear only once. Number of characters must be in the range \[2, 95\]. This must be encoded as ASCII. The order of characters does not matter. The full list of allowed characters is: + // + // ''0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ~'!@#$%^&*()_-+={[}]|:;"'<,>.?/'' + // +kubebuilder:validation:Optional + CustomAlphabet *string `json:"customAlphabet,omitempty" tf:"custom_alphabet,omitempty"` + + // The native way to select the alphabet. Must be in the range \[2, 95\]. + // +kubebuilder:validation:Optional + Radix *int64 `json:"radix,omitempty" tf:"radix,omitempty"` + + // The custom infoType to annotate the surrogate with. This annotation will be applied to the surrogate by prefixing it with the name of the custom infoType followed by the number of characters comprising the surrogate. The following scheme defines the format: info\_type\_name(surrogate\_character\_count):surrogate + // + // For example, if the name of custom infoType is 'MY\_TOKEN\_INFO\_TYPE' and the surrogate is 'abc', the full replacement value will be: 'MY\_TOKEN\_INFO\_TYPE(3):abc' + // + // This annotation identifies the surrogate when inspecting content using the custom infoType ['SurrogateType'](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype). This facilitates reversal of the surrogate when it occurs in free text. + // + // In order for inspection to work properly, the name of this infoType must not occur naturally anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to an actual identifier. Therefore, choose your custom infoType name carefully after considering what your data looks like. One way to select a name that has a high chance of yielding reliable detection is to include one or more unicode characters that are highly improbable to exist in your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol with the hex code point 29DD might be used like so: ⧝MY\_TOKEN\_TYPE + // +kubebuilder:validation:Optional + SurrogateInfoType []CryptoReplaceFfxFpeConfigSurrogateInfoTypeParameters `json:"surrogateInfoType,omitempty" tf:"surrogate_info_type,omitempty"` +} + +type CryptoReplaceFfxFpeConfigSurrogateInfoTypeObservation struct { +} + +type CryptoReplaceFfxFpeConfigSurrogateInfoTypeParameters struct { + + // Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at [https://cloud.google.com/dlp/docs/infotypes-reference](https://cloud.google.com/dlp/docs/infotypes-reference) when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern '[A-Za-z0-9$-_]{1,64}'. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type DateValueObservation struct { +} + +type DateValueParameters struct { + + // Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a + // year by itself or a year and month where the day is not significant. + // +kubebuilder:validation:Optional + Day *int64 `json:"day,omitempty" tf:"day,omitempty"` + + // Month of year. Must be from 1 to 12, or 0 if specifying a year without a month and day. + // +kubebuilder:validation:Optional + Month *int64 `json:"month,omitempty" tf:"month,omitempty"` + + // Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year. + // +kubebuilder:validation:Optional + Year *int64 `json:"year,omitempty" tf:"year,omitempty"` +} + +type DeidentifyConfigObservation struct { +} + +type DeidentifyConfigParameters struct { + + // Specifies free-text based transformations to be applied to the dataset. + // +kubebuilder:validation:Required + InfoTypeTransformations []InfoTypeTransformationsParameters `json:"infoTypeTransformations" tf:"info_type_transformations,omitempty"` +} + +type DeidentifyTemplateObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type DeidentifyTemplateParameters struct { + + // Configuration of the deidentify template + // +kubebuilder:validation:Required + DeidentifyConfig []DeidentifyConfigParameters `json:"deidentifyConfig" tf:"deidentify_config,omitempty"` + + // A description of the template. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // User set display name of the template. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // The parent of the template in any of the following formats: + // + // * 'projects/{{project}}' + // * 'projects/{{project}}/locations/{{location}}' + // * 'organizations/{{organization_id}}' + // * 'organizations/{{organization_id}}/locations/{{location}}' + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` +} + +type InfoTypeTransformationsObservation struct { +} + +type InfoTypeTransformationsParameters struct { + + // Transformation for each infoType. Cannot specify more than one for a given infoType. + // +kubebuilder:validation:Required + Transformations []TransformationsParameters `json:"transformations" tf:"transformations,omitempty"` +} + +type InfoTypesObservation struct { +} + +type InfoTypesParameters struct { + + // Name of the information type. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type KMSWrappedObservation struct { +} + +type KMSWrappedParameters struct { + + // The resource name of the KMS CryptoKey to use for unwrapping. + // +kubebuilder:validation:Required + CryptoKeyName *string `json:"cryptoKeyName" tf:"crypto_key_name,omitempty"` + + // The wrapped data crypto key. + // + // A base64-encoded string. + // +kubebuilder:validation:Required + WrappedKey *string `json:"wrappedKey" tf:"wrapped_key,omitempty"` +} + +type NewValueObservation struct { +} + +type NewValueParameters struct { + + // A boolean value. + // +kubebuilder:validation:Optional + BooleanValue *bool `json:"booleanValue,omitempty" tf:"boolean_value,omitempty"` + + // Represents a whole or partial calendar date. + // +kubebuilder:validation:Optional + DateValue []DateValueParameters `json:"dateValue,omitempty" tf:"date_value,omitempty"` + + // Represents a day of the week. Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"] + // +kubebuilder:validation:Optional + DayOfWeekValue *string `json:"dayOfWeekValue,omitempty" tf:"day_of_week_value,omitempty"` + + // A float value. + // +kubebuilder:validation:Optional + FloatValue *float64 `json:"floatValue,omitempty" tf:"float_value,omitempty"` + + // An integer value. + // +kubebuilder:validation:Optional + IntegerValue *int64 `json:"integerValue,omitempty" tf:"integer_value,omitempty"` + + // A string value. + // +kubebuilder:validation:Optional + StringValue *string `json:"stringValue,omitempty" tf:"string_value,omitempty"` + + // Represents a time of day. + // +kubebuilder:validation:Optional + TimeValue []TimeValueParameters `json:"timeValue,omitempty" tf:"time_value,omitempty"` + + // A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. + // Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". + // +kubebuilder:validation:Optional + TimestampValue *string `json:"timestampValue,omitempty" tf:"timestamp_value,omitempty"` +} + +type PrimitiveTransformationObservation struct { +} + +type PrimitiveTransformationParameters struct { + + // Partially mask a string by replacing a given number of characters with a fixed character. + // Masking can start from the beginning or end of the string. + // +kubebuilder:validation:Optional + CharacterMaskConfig []CharacterMaskConfigParameters `json:"characterMaskConfig,omitempty" tf:"character_mask_config,omitempty"` + + // Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC [https://tools.ietf.org/html/rfc5297](https://tools.ietf.org/html/rfc5297). + // +kubebuilder:validation:Optional + CryptoDeterministicConfig []CryptoDeterministicConfigParameters `json:"cryptoDeterministicConfig,omitempty" tf:"crypto_deterministic_config,omitempty"` + + // Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the 'content.reidentify' API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See [https://cloud.google.com/dlp/docs/pseudonymization](https://cloud.google.com/dlp/docs/pseudonymization) to learn more. + // + // Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. + // +kubebuilder:validation:Optional + CryptoReplaceFfxFpeConfig []CryptoReplaceFfxFpeConfigParameters `json:"cryptoReplaceFfxFpeConfig,omitempty" tf:"crypto_replace_ffx_fpe_config,omitempty"` + + // Replace each input value with a given value. + // +kubebuilder:validation:Optional + ReplaceConfig []ReplaceConfigParameters `json:"replaceConfig,omitempty" tf:"replace_config,omitempty"` + + // Replace each matching finding with the name of the info type. + // +kubebuilder:validation:Optional + ReplaceWithInfoTypeConfig *bool `json:"replaceWithInfoTypeConfig,omitempty" tf:"replace_with_info_type_config,omitempty"` +} + +type ReplaceConfigObservation struct { +} + +type ReplaceConfigParameters struct { + + // Replace each input value with a given value. + // +kubebuilder:validation:Required + NewValue []NewValueParameters `json:"newValue" tf:"new_value,omitempty"` +} + +type SurrogateInfoTypeObservation struct { +} + +type SurrogateInfoTypeParameters struct { + + // Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at [https://cloud.google.com/dlp/docs/infotypes-reference](https://cloud.google.com/dlp/docs/infotypes-reference) when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern '[A-Za-z0-9$-_]{1,64}'. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type TimeValueObservation struct { +} + +type TimeValueParameters struct { + + // Hours of day in 24 hour format. Should be from 0 to 23. + // +kubebuilder:validation:Optional + Hours *int64 `json:"hours,omitempty" tf:"hours,omitempty"` + + // Minutes of hour of day. Must be from 0 to 59. + // +kubebuilder:validation:Optional + Minutes *int64 `json:"minutes,omitempty" tf:"minutes,omitempty"` + + // Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Seconds of minutes of the time. Must normally be from 0 to 59. + // +kubebuilder:validation:Optional + Seconds *int64 `json:"seconds,omitempty" tf:"seconds,omitempty"` +} + +type TransformationsObservation struct { +} + +type TransformationsParameters struct { + + // InfoTypes to apply the transformation to. Leaving this empty will apply the transformation to apply to + // all findings that correspond to infoTypes that were requested in InspectConfig. + // +kubebuilder:validation:Optional + InfoTypes []InfoTypesParameters `json:"infoTypes,omitempty" tf:"info_types,omitempty"` + + // Primitive transformation to apply to the infoType. + // +kubebuilder:validation:Required + PrimitiveTransformation []PrimitiveTransformationParameters `json:"primitiveTransformation" tf:"primitive_transformation,omitempty"` +} + +type TransientObservation struct { +} + +type TransientParameters struct { + + // Name of the key. This is an arbitrary string used to differentiate different keys. A unique key is generated per name: two separate 'TransientCryptoKey' protos share the same generated key if their names are the same. When the data crypto key is generated, this name is not used in any way (repeating the api call will result in a different key being generated). + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type UnwrappedObservation struct { +} + +type UnwrappedParameters struct { + + // A 128/192/256 bit key. + // + // A base64-encoded string. + // +kubebuilder:validation:Required + Key *string `json:"key" tf:"key,omitempty"` +} + +// DeidentifyTemplateSpec defines the desired state of DeidentifyTemplate +type DeidentifyTemplateSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DeidentifyTemplateParameters `json:"forProvider"` +} + +// DeidentifyTemplateStatus defines the observed state of DeidentifyTemplate. +type DeidentifyTemplateStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DeidentifyTemplateObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DeidentifyTemplate is the Schema for the DeidentifyTemplates 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,gcpjet} +type DeidentifyTemplate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DeidentifyTemplateSpec `json:"spec"` + Status DeidentifyTemplateStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DeidentifyTemplateList contains a list of DeidentifyTemplates +type DeidentifyTemplateList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DeidentifyTemplate `json:"items"` +} + +// Repository type metadata. +var ( + DeidentifyTemplate_Kind = "DeidentifyTemplate" + DeidentifyTemplate_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DeidentifyTemplate_Kind}.String() + DeidentifyTemplate_KindAPIVersion = DeidentifyTemplate_Kind + "." + CRDGroupVersion.String() + DeidentifyTemplate_GroupVersionKind = CRDGroupVersion.WithKind(DeidentifyTemplate_Kind) +) + +func init() { + SchemeBuilder.Register(&DeidentifyTemplate{}, &DeidentifyTemplateList{}) +} diff --git a/apis/datalossprevention/v1alpha1/zz_generated.deepcopy.go b/apis/datalossprevention/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..1c98b0bd --- /dev/null +++ b/apis/datalossprevention/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,4116 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ActionsObservation) DeepCopyInto(out *ActionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionsObservation. +func (in *ActionsObservation) DeepCopy() *ActionsObservation { + if in == nil { + return nil + } + out := new(ActionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ActionsParameters) DeepCopyInto(out *ActionsParameters) { + *out = *in + if in.SaveFindings != nil { + in, out := &in.SaveFindings, &out.SaveFindings + *out = make([]SaveFindingsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionsParameters. +func (in *ActionsParameters) DeepCopy() *ActionsParameters { + if in == nil { + return nil + } + out := new(ActionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BigQueryFieldObservation) DeepCopyInto(out *BigQueryFieldObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigQueryFieldObservation. +func (in *BigQueryFieldObservation) DeepCopy() *BigQueryFieldObservation { + if in == nil { + return nil + } + out := new(BigQueryFieldObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BigQueryFieldParameters) DeepCopyInto(out *BigQueryFieldParameters) { + *out = *in + if in.Field != nil { + in, out := &in.Field, &out.Field + *out = make([]FieldParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Table != nil { + in, out := &in.Table, &out.Table + *out = make([]BigQueryFieldTableParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigQueryFieldParameters. +func (in *BigQueryFieldParameters) DeepCopy() *BigQueryFieldParameters { + if in == nil { + return nil + } + out := new(BigQueryFieldParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BigQueryFieldTableObservation) DeepCopyInto(out *BigQueryFieldTableObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigQueryFieldTableObservation. +func (in *BigQueryFieldTableObservation) DeepCopy() *BigQueryFieldTableObservation { + if in == nil { + return nil + } + out := new(BigQueryFieldTableObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BigQueryFieldTableParameters) DeepCopyInto(out *BigQueryFieldTableParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigQueryFieldTableParameters. +func (in *BigQueryFieldTableParameters) DeepCopy() *BigQueryFieldTableParameters { + if in == nil { + return nil + } + out := new(BigQueryFieldTableParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BigQueryOptionsObservation) DeepCopyInto(out *BigQueryOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigQueryOptionsObservation. +func (in *BigQueryOptionsObservation) DeepCopy() *BigQueryOptionsObservation { + if in == nil { + return nil + } + out := new(BigQueryOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BigQueryOptionsParameters) DeepCopyInto(out *BigQueryOptionsParameters) { + *out = *in + if in.TableReference != nil { + in, out := &in.TableReference, &out.TableReference + *out = make([]TableReferenceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigQueryOptionsParameters. +func (in *BigQueryOptionsParameters) DeepCopy() *BigQueryOptionsParameters { + if in == nil { + return nil + } + out := new(BigQueryOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CharacterMaskConfigObservation) DeepCopyInto(out *CharacterMaskConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CharacterMaskConfigObservation. +func (in *CharacterMaskConfigObservation) DeepCopy() *CharacterMaskConfigObservation { + if in == nil { + return nil + } + out := new(CharacterMaskConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CharacterMaskConfigParameters) DeepCopyInto(out *CharacterMaskConfigParameters) { + *out = *in + if in.CharactersToIgnore != nil { + in, out := &in.CharactersToIgnore, &out.CharactersToIgnore + *out = make([]CharactersToIgnoreParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaskingCharacter != nil { + in, out := &in.MaskingCharacter, &out.MaskingCharacter + *out = new(string) + **out = **in + } + if in.NumberToMask != nil { + in, out := &in.NumberToMask, &out.NumberToMask + *out = new(int64) + **out = **in + } + if in.ReverseOrder != nil { + in, out := &in.ReverseOrder, &out.ReverseOrder + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CharacterMaskConfigParameters. +func (in *CharacterMaskConfigParameters) DeepCopy() *CharacterMaskConfigParameters { + if in == nil { + return nil + } + out := new(CharacterMaskConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CharactersToIgnoreObservation) DeepCopyInto(out *CharactersToIgnoreObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CharactersToIgnoreObservation. +func (in *CharactersToIgnoreObservation) DeepCopy() *CharactersToIgnoreObservation { + if in == nil { + return nil + } + out := new(CharactersToIgnoreObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CharactersToIgnoreParameters) DeepCopyInto(out *CharactersToIgnoreParameters) { + *out = *in + if in.CharacterToSkip != nil { + in, out := &in.CharacterToSkip, &out.CharacterToSkip + *out = new(string) + **out = **in + } + if in.CommonCharactersToIgnore != nil { + in, out := &in.CommonCharactersToIgnore, &out.CommonCharactersToIgnore + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CharactersToIgnoreParameters. +func (in *CharactersToIgnoreParameters) DeepCopy() *CharactersToIgnoreParameters { + if in == nil { + return nil + } + out := new(CharactersToIgnoreParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudStorageFileSetObservation) DeepCopyInto(out *CloudStorageFileSetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStorageFileSetObservation. +func (in *CloudStorageFileSetObservation) DeepCopy() *CloudStorageFileSetObservation { + if in == nil { + return nil + } + out := new(CloudStorageFileSetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudStorageFileSetParameters) DeepCopyInto(out *CloudStorageFileSetParameters) { + *out = *in + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStorageFileSetParameters. +func (in *CloudStorageFileSetParameters) DeepCopy() *CloudStorageFileSetParameters { + if in == nil { + return nil + } + out := new(CloudStorageFileSetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudStorageOptionsObservation) DeepCopyInto(out *CloudStorageOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStorageOptionsObservation. +func (in *CloudStorageOptionsObservation) DeepCopy() *CloudStorageOptionsObservation { + if in == nil { + return nil + } + out := new(CloudStorageOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudStorageOptionsParameters) DeepCopyInto(out *CloudStorageOptionsParameters) { + *out = *in + if in.BytesLimitPerFile != nil { + in, out := &in.BytesLimitPerFile, &out.BytesLimitPerFile + *out = new(int64) + **out = **in + } + if in.BytesLimitPerFilePercent != nil { + in, out := &in.BytesLimitPerFilePercent, &out.BytesLimitPerFilePercent + *out = new(int64) + **out = **in + } + if in.FileSet != nil { + in, out := &in.FileSet, &out.FileSet + *out = make([]FileSetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FileTypes != nil { + in, out := &in.FileTypes, &out.FileTypes + *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.FilesLimitPercent != nil { + in, out := &in.FilesLimitPercent, &out.FilesLimitPercent + *out = new(int64) + **out = **in + } + if in.SampleMethod != nil { + in, out := &in.SampleMethod, &out.SampleMethod + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStorageOptionsParameters. +func (in *CloudStorageOptionsParameters) DeepCopy() *CloudStorageOptionsParameters { + if in == nil { + return nil + } + out := new(CloudStorageOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudStoragePathObservation) DeepCopyInto(out *CloudStoragePathObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStoragePathObservation. +func (in *CloudStoragePathObservation) DeepCopy() *CloudStoragePathObservation { + if in == nil { + return nil + } + out := new(CloudStoragePathObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudStoragePathParameters) DeepCopyInto(out *CloudStoragePathParameters) { + *out = *in + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudStoragePathParameters. +func (in *CloudStoragePathParameters) DeepCopy() *CloudStoragePathParameters { + if in == nil { + return nil + } + out := new(CloudStoragePathParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContextObservation) DeepCopyInto(out *ContextObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContextObservation. +func (in *ContextObservation) DeepCopy() *ContextObservation { + if in == nil { + return nil + } + out := new(ContextObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContextParameters) DeepCopyInto(out *ContextParameters) { + *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 ContextParameters. +func (in *ContextParameters) DeepCopy() *ContextParameters { + if in == nil { + return nil + } + out := new(ContextParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoDeterministicConfigObservation) DeepCopyInto(out *CryptoDeterministicConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoDeterministicConfigObservation. +func (in *CryptoDeterministicConfigObservation) DeepCopy() *CryptoDeterministicConfigObservation { + if in == nil { + return nil + } + out := new(CryptoDeterministicConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoDeterministicConfigParameters) DeepCopyInto(out *CryptoDeterministicConfigParameters) { + *out = *in + if in.Context != nil { + in, out := &in.Context, &out.Context + *out = make([]ContextParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CryptoKey != nil { + in, out := &in.CryptoKey, &out.CryptoKey + *out = make([]CryptoKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SurrogateInfoType != nil { + in, out := &in.SurrogateInfoType, &out.SurrogateInfoType + *out = make([]SurrogateInfoTypeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoDeterministicConfigParameters. +func (in *CryptoDeterministicConfigParameters) DeepCopy() *CryptoDeterministicConfigParameters { + if in == nil { + return nil + } + out := new(CryptoDeterministicConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyKMSWrappedObservation) DeepCopyInto(out *CryptoKeyKMSWrappedObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyKMSWrappedObservation. +func (in *CryptoKeyKMSWrappedObservation) DeepCopy() *CryptoKeyKMSWrappedObservation { + if in == nil { + return nil + } + out := new(CryptoKeyKMSWrappedObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyKMSWrappedParameters) DeepCopyInto(out *CryptoKeyKMSWrappedParameters) { + *out = *in + if in.CryptoKeyName != nil { + in, out := &in.CryptoKeyName, &out.CryptoKeyName + *out = new(string) + **out = **in + } + if in.WrappedKey != nil { + in, out := &in.WrappedKey, &out.WrappedKey + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyKMSWrappedParameters. +func (in *CryptoKeyKMSWrappedParameters) DeepCopy() *CryptoKeyKMSWrappedParameters { + if in == nil { + return nil + } + out := new(CryptoKeyKMSWrappedParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyObservation) DeepCopyInto(out *CryptoKeyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyObservation. +func (in *CryptoKeyObservation) DeepCopy() *CryptoKeyObservation { + if in == nil { + return nil + } + out := new(CryptoKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyParameters) DeepCopyInto(out *CryptoKeyParameters) { + *out = *in + if in.KMSWrapped != nil { + in, out := &in.KMSWrapped, &out.KMSWrapped + *out = make([]KMSWrappedParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Transient != nil { + in, out := &in.Transient, &out.Transient + *out = make([]TransientParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Unwrapped != nil { + in, out := &in.Unwrapped, &out.Unwrapped + *out = make([]UnwrappedParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyParameters. +func (in *CryptoKeyParameters) DeepCopy() *CryptoKeyParameters { + if in == nil { + return nil + } + out := new(CryptoKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyTransientObservation) DeepCopyInto(out *CryptoKeyTransientObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyTransientObservation. +func (in *CryptoKeyTransientObservation) DeepCopy() *CryptoKeyTransientObservation { + if in == nil { + return nil + } + out := new(CryptoKeyTransientObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyTransientParameters) DeepCopyInto(out *CryptoKeyTransientParameters) { + *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 CryptoKeyTransientParameters. +func (in *CryptoKeyTransientParameters) DeepCopy() *CryptoKeyTransientParameters { + if in == nil { + return nil + } + out := new(CryptoKeyTransientParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyUnwrappedObservation) DeepCopyInto(out *CryptoKeyUnwrappedObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyUnwrappedObservation. +func (in *CryptoKeyUnwrappedObservation) DeepCopy() *CryptoKeyUnwrappedObservation { + if in == nil { + return nil + } + out := new(CryptoKeyUnwrappedObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyUnwrappedParameters) DeepCopyInto(out *CryptoKeyUnwrappedParameters) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyUnwrappedParameters. +func (in *CryptoKeyUnwrappedParameters) DeepCopy() *CryptoKeyUnwrappedParameters { + if in == nil { + return nil + } + out := new(CryptoKeyUnwrappedParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoReplaceFfxFpeConfigContextObservation) DeepCopyInto(out *CryptoReplaceFfxFpeConfigContextObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoReplaceFfxFpeConfigContextObservation. +func (in *CryptoReplaceFfxFpeConfigContextObservation) DeepCopy() *CryptoReplaceFfxFpeConfigContextObservation { + if in == nil { + return nil + } + out := new(CryptoReplaceFfxFpeConfigContextObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoReplaceFfxFpeConfigContextParameters) DeepCopyInto(out *CryptoReplaceFfxFpeConfigContextParameters) { + *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 CryptoReplaceFfxFpeConfigContextParameters. +func (in *CryptoReplaceFfxFpeConfigContextParameters) DeepCopy() *CryptoReplaceFfxFpeConfigContextParameters { + if in == nil { + return nil + } + out := new(CryptoReplaceFfxFpeConfigContextParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoReplaceFfxFpeConfigCryptoKeyObservation) DeepCopyInto(out *CryptoReplaceFfxFpeConfigCryptoKeyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoReplaceFfxFpeConfigCryptoKeyObservation. +func (in *CryptoReplaceFfxFpeConfigCryptoKeyObservation) DeepCopy() *CryptoReplaceFfxFpeConfigCryptoKeyObservation { + if in == nil { + return nil + } + out := new(CryptoReplaceFfxFpeConfigCryptoKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoReplaceFfxFpeConfigCryptoKeyParameters) DeepCopyInto(out *CryptoReplaceFfxFpeConfigCryptoKeyParameters) { + *out = *in + if in.KMSWrapped != nil { + in, out := &in.KMSWrapped, &out.KMSWrapped + *out = make([]CryptoKeyKMSWrappedParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Transient != nil { + in, out := &in.Transient, &out.Transient + *out = make([]CryptoKeyTransientParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Unwrapped != nil { + in, out := &in.Unwrapped, &out.Unwrapped + *out = make([]CryptoKeyUnwrappedParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoReplaceFfxFpeConfigCryptoKeyParameters. +func (in *CryptoReplaceFfxFpeConfigCryptoKeyParameters) DeepCopy() *CryptoReplaceFfxFpeConfigCryptoKeyParameters { + if in == nil { + return nil + } + out := new(CryptoReplaceFfxFpeConfigCryptoKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoReplaceFfxFpeConfigObservation) DeepCopyInto(out *CryptoReplaceFfxFpeConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoReplaceFfxFpeConfigObservation. +func (in *CryptoReplaceFfxFpeConfigObservation) DeepCopy() *CryptoReplaceFfxFpeConfigObservation { + if in == nil { + return nil + } + out := new(CryptoReplaceFfxFpeConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoReplaceFfxFpeConfigParameters) DeepCopyInto(out *CryptoReplaceFfxFpeConfigParameters) { + *out = *in + if in.CommonAlphabet != nil { + in, out := &in.CommonAlphabet, &out.CommonAlphabet + *out = new(string) + **out = **in + } + if in.Context != nil { + in, out := &in.Context, &out.Context + *out = make([]CryptoReplaceFfxFpeConfigContextParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CryptoKey != nil { + in, out := &in.CryptoKey, &out.CryptoKey + *out = make([]CryptoReplaceFfxFpeConfigCryptoKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CustomAlphabet != nil { + in, out := &in.CustomAlphabet, &out.CustomAlphabet + *out = new(string) + **out = **in + } + if in.Radix != nil { + in, out := &in.Radix, &out.Radix + *out = new(int64) + **out = **in + } + if in.SurrogateInfoType != nil { + in, out := &in.SurrogateInfoType, &out.SurrogateInfoType + *out = make([]CryptoReplaceFfxFpeConfigSurrogateInfoTypeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoReplaceFfxFpeConfigParameters. +func (in *CryptoReplaceFfxFpeConfigParameters) DeepCopy() *CryptoReplaceFfxFpeConfigParameters { + if in == nil { + return nil + } + out := new(CryptoReplaceFfxFpeConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoReplaceFfxFpeConfigSurrogateInfoTypeObservation) DeepCopyInto(out *CryptoReplaceFfxFpeConfigSurrogateInfoTypeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoReplaceFfxFpeConfigSurrogateInfoTypeObservation. +func (in *CryptoReplaceFfxFpeConfigSurrogateInfoTypeObservation) DeepCopy() *CryptoReplaceFfxFpeConfigSurrogateInfoTypeObservation { + if in == nil { + return nil + } + out := new(CryptoReplaceFfxFpeConfigSurrogateInfoTypeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoReplaceFfxFpeConfigSurrogateInfoTypeParameters) DeepCopyInto(out *CryptoReplaceFfxFpeConfigSurrogateInfoTypeParameters) { + *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 CryptoReplaceFfxFpeConfigSurrogateInfoTypeParameters. +func (in *CryptoReplaceFfxFpeConfigSurrogateInfoTypeParameters) DeepCopy() *CryptoReplaceFfxFpeConfigSurrogateInfoTypeParameters { + if in == nil { + return nil + } + out := new(CryptoReplaceFfxFpeConfigSurrogateInfoTypeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomInfoTypesObservation) DeepCopyInto(out *CustomInfoTypesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomInfoTypesObservation. +func (in *CustomInfoTypesObservation) DeepCopy() *CustomInfoTypesObservation { + if in == nil { + return nil + } + out := new(CustomInfoTypesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomInfoTypesParameters) DeepCopyInto(out *CustomInfoTypesParameters) { + *out = *in + if in.Dictionary != nil { + in, out := &in.Dictionary, &out.Dictionary + *out = make([]DictionaryParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExclusionType != nil { + in, out := &in.ExclusionType, &out.ExclusionType + *out = new(string) + **out = **in + } + if in.InfoType != nil { + in, out := &in.InfoType, &out.InfoType + *out = make([]InfoTypeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Likelihood != nil { + in, out := &in.Likelihood, &out.Likelihood + *out = new(string) + **out = **in + } + if in.Regex != nil { + in, out := &in.Regex, &out.Regex + *out = make([]RegexParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StoredType != nil { + in, out := &in.StoredType, &out.StoredType + *out = make([]StoredTypeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomInfoTypesParameters. +func (in *CustomInfoTypesParameters) DeepCopy() *CustomInfoTypesParameters { + if in == nil { + return nil + } + out := new(CustomInfoTypesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatastoreOptionsObservation) DeepCopyInto(out *DatastoreOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatastoreOptionsObservation. +func (in *DatastoreOptionsObservation) DeepCopy() *DatastoreOptionsObservation { + if in == nil { + return nil + } + out := new(DatastoreOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatastoreOptionsParameters) DeepCopyInto(out *DatastoreOptionsParameters) { + *out = *in + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = make([]KindParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PartitionID != nil { + in, out := &in.PartitionID, &out.PartitionID + *out = make([]PartitionIDParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatastoreOptionsParameters. +func (in *DatastoreOptionsParameters) DeepCopy() *DatastoreOptionsParameters { + if in == nil { + return nil + } + out := new(DatastoreOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DateValueObservation) DeepCopyInto(out *DateValueObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DateValueObservation. +func (in *DateValueObservation) DeepCopy() *DateValueObservation { + if in == nil { + return nil + } + out := new(DateValueObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DateValueParameters) DeepCopyInto(out *DateValueParameters) { + *out = *in + if in.Day != nil { + in, out := &in.Day, &out.Day + *out = new(int64) + **out = **in + } + if in.Month != nil { + in, out := &in.Month, &out.Month + *out = new(int64) + **out = **in + } + if in.Year != nil { + in, out := &in.Year, &out.Year + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DateValueParameters. +func (in *DateValueParameters) DeepCopy() *DateValueParameters { + if in == nil { + return nil + } + out := new(DateValueParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeidentifyConfigObservation) DeepCopyInto(out *DeidentifyConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeidentifyConfigObservation. +func (in *DeidentifyConfigObservation) DeepCopy() *DeidentifyConfigObservation { + if in == nil { + return nil + } + out := new(DeidentifyConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeidentifyConfigParameters) DeepCopyInto(out *DeidentifyConfigParameters) { + *out = *in + if in.InfoTypeTransformations != nil { + in, out := &in.InfoTypeTransformations, &out.InfoTypeTransformations + *out = make([]InfoTypeTransformationsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeidentifyConfigParameters. +func (in *DeidentifyConfigParameters) DeepCopy() *DeidentifyConfigParameters { + if in == nil { + return nil + } + out := new(DeidentifyConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeidentifyTemplate) DeepCopyInto(out *DeidentifyTemplate) { + *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 DeidentifyTemplate. +func (in *DeidentifyTemplate) DeepCopy() *DeidentifyTemplate { + if in == nil { + return nil + } + out := new(DeidentifyTemplate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DeidentifyTemplate) 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 *DeidentifyTemplateList) DeepCopyInto(out *DeidentifyTemplateList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DeidentifyTemplate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeidentifyTemplateList. +func (in *DeidentifyTemplateList) DeepCopy() *DeidentifyTemplateList { + if in == nil { + return nil + } + out := new(DeidentifyTemplateList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DeidentifyTemplateList) 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 *DeidentifyTemplateObservation) DeepCopyInto(out *DeidentifyTemplateObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeidentifyTemplateObservation. +func (in *DeidentifyTemplateObservation) DeepCopy() *DeidentifyTemplateObservation { + if in == nil { + return nil + } + out := new(DeidentifyTemplateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeidentifyTemplateParameters) DeepCopyInto(out *DeidentifyTemplateParameters) { + *out = *in + if in.DeidentifyConfig != nil { + in, out := &in.DeidentifyConfig, &out.DeidentifyConfig + *out = make([]DeidentifyConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeidentifyTemplateParameters. +func (in *DeidentifyTemplateParameters) DeepCopy() *DeidentifyTemplateParameters { + if in == nil { + return nil + } + out := new(DeidentifyTemplateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeidentifyTemplateSpec) DeepCopyInto(out *DeidentifyTemplateSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeidentifyTemplateSpec. +func (in *DeidentifyTemplateSpec) DeepCopy() *DeidentifyTemplateSpec { + if in == nil { + return nil + } + out := new(DeidentifyTemplateSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeidentifyTemplateStatus) DeepCopyInto(out *DeidentifyTemplateStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeidentifyTemplateStatus. +func (in *DeidentifyTemplateStatus) DeepCopy() *DeidentifyTemplateStatus { + if in == nil { + return nil + } + out := new(DeidentifyTemplateStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DictionaryCloudStoragePathObservation) DeepCopyInto(out *DictionaryCloudStoragePathObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DictionaryCloudStoragePathObservation. +func (in *DictionaryCloudStoragePathObservation) DeepCopy() *DictionaryCloudStoragePathObservation { + if in == nil { + return nil + } + out := new(DictionaryCloudStoragePathObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DictionaryCloudStoragePathParameters) DeepCopyInto(out *DictionaryCloudStoragePathParameters) { + *out = *in + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DictionaryCloudStoragePathParameters. +func (in *DictionaryCloudStoragePathParameters) DeepCopy() *DictionaryCloudStoragePathParameters { + if in == nil { + return nil + } + out := new(DictionaryCloudStoragePathParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DictionaryObservation) DeepCopyInto(out *DictionaryObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DictionaryObservation. +func (in *DictionaryObservation) DeepCopy() *DictionaryObservation { + if in == nil { + return nil + } + out := new(DictionaryObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DictionaryParameters) DeepCopyInto(out *DictionaryParameters) { + *out = *in + if in.CloudStoragePath != nil { + in, out := &in.CloudStoragePath, &out.CloudStoragePath + *out = make([]CloudStoragePathParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WordList != nil { + in, out := &in.WordList, &out.WordList + *out = make([]WordListParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DictionaryParameters. +func (in *DictionaryParameters) DeepCopy() *DictionaryParameters { + if in == nil { + return nil + } + out := new(DictionaryParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DictionaryWordListObservation) DeepCopyInto(out *DictionaryWordListObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DictionaryWordListObservation. +func (in *DictionaryWordListObservation) DeepCopy() *DictionaryWordListObservation { + if in == nil { + return nil + } + out := new(DictionaryWordListObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DictionaryWordListParameters) DeepCopyInto(out *DictionaryWordListParameters) { + *out = *in + if in.Words != nil { + in, out := &in.Words, &out.Words + *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 DictionaryWordListParameters. +func (in *DictionaryWordListParameters) DeepCopy() *DictionaryWordListParameters { + if in == nil { + return nil + } + out := new(DictionaryWordListParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExcludeInfoTypesInfoTypesObservation) DeepCopyInto(out *ExcludeInfoTypesInfoTypesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExcludeInfoTypesInfoTypesObservation. +func (in *ExcludeInfoTypesInfoTypesObservation) DeepCopy() *ExcludeInfoTypesInfoTypesObservation { + if in == nil { + return nil + } + out := new(ExcludeInfoTypesInfoTypesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExcludeInfoTypesInfoTypesParameters) DeepCopyInto(out *ExcludeInfoTypesInfoTypesParameters) { + *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 ExcludeInfoTypesInfoTypesParameters. +func (in *ExcludeInfoTypesInfoTypesParameters) DeepCopy() *ExcludeInfoTypesInfoTypesParameters { + if in == nil { + return nil + } + out := new(ExcludeInfoTypesInfoTypesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExcludeInfoTypesObservation) DeepCopyInto(out *ExcludeInfoTypesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExcludeInfoTypesObservation. +func (in *ExcludeInfoTypesObservation) DeepCopy() *ExcludeInfoTypesObservation { + if in == nil { + return nil + } + out := new(ExcludeInfoTypesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExcludeInfoTypesParameters) DeepCopyInto(out *ExcludeInfoTypesParameters) { + *out = *in + if in.InfoTypes != nil { + in, out := &in.InfoTypes, &out.InfoTypes + *out = make([]ExcludeInfoTypesInfoTypesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExcludeInfoTypesParameters. +func (in *ExcludeInfoTypesParameters) DeepCopy() *ExcludeInfoTypesParameters { + if in == nil { + return nil + } + out := new(ExcludeInfoTypesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExclusionRuleDictionaryObservation) DeepCopyInto(out *ExclusionRuleDictionaryObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExclusionRuleDictionaryObservation. +func (in *ExclusionRuleDictionaryObservation) DeepCopy() *ExclusionRuleDictionaryObservation { + if in == nil { + return nil + } + out := new(ExclusionRuleDictionaryObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExclusionRuleDictionaryParameters) DeepCopyInto(out *ExclusionRuleDictionaryParameters) { + *out = *in + if in.CloudStoragePath != nil { + in, out := &in.CloudStoragePath, &out.CloudStoragePath + *out = make([]DictionaryCloudStoragePathParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WordList != nil { + in, out := &in.WordList, &out.WordList + *out = make([]DictionaryWordListParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExclusionRuleDictionaryParameters. +func (in *ExclusionRuleDictionaryParameters) DeepCopy() *ExclusionRuleDictionaryParameters { + if in == nil { + return nil + } + out := new(ExclusionRuleDictionaryParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExclusionRuleObservation) DeepCopyInto(out *ExclusionRuleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExclusionRuleObservation. +func (in *ExclusionRuleObservation) DeepCopy() *ExclusionRuleObservation { + if in == nil { + return nil + } + out := new(ExclusionRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExclusionRuleParameters) DeepCopyInto(out *ExclusionRuleParameters) { + *out = *in + if in.Dictionary != nil { + in, out := &in.Dictionary, &out.Dictionary + *out = make([]ExclusionRuleDictionaryParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExcludeInfoTypes != nil { + in, out := &in.ExcludeInfoTypes, &out.ExcludeInfoTypes + *out = make([]ExcludeInfoTypesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MatchingType != nil { + in, out := &in.MatchingType, &out.MatchingType + *out = new(string) + **out = **in + } + if in.Regex != nil { + in, out := &in.Regex, &out.Regex + *out = make([]ExclusionRuleRegexParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExclusionRuleParameters. +func (in *ExclusionRuleParameters) DeepCopy() *ExclusionRuleParameters { + if in == nil { + return nil + } + out := new(ExclusionRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExclusionRuleRegexObservation) DeepCopyInto(out *ExclusionRuleRegexObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExclusionRuleRegexObservation. +func (in *ExclusionRuleRegexObservation) DeepCopy() *ExclusionRuleRegexObservation { + if in == nil { + return nil + } + out := new(ExclusionRuleRegexObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExclusionRuleRegexParameters) DeepCopyInto(out *ExclusionRuleRegexParameters) { + *out = *in + if in.GroupIndexes != nil { + in, out := &in.GroupIndexes, &out.GroupIndexes + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } + if in.Pattern != nil { + in, out := &in.Pattern, &out.Pattern + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExclusionRuleRegexParameters. +func (in *ExclusionRuleRegexParameters) DeepCopy() *ExclusionRuleRegexParameters { + if in == nil { + return nil + } + out := new(ExclusionRuleRegexParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FieldObservation) DeepCopyInto(out *FieldObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FieldObservation. +func (in *FieldObservation) DeepCopy() *FieldObservation { + if in == nil { + return nil + } + out := new(FieldObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FieldParameters) DeepCopyInto(out *FieldParameters) { + *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 FieldParameters. +func (in *FieldParameters) DeepCopy() *FieldParameters { + if in == nil { + return nil + } + out := new(FieldParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FileSetObservation) DeepCopyInto(out *FileSetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileSetObservation. +func (in *FileSetObservation) DeepCopy() *FileSetObservation { + if in == nil { + return nil + } + out := new(FileSetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FileSetParameters) DeepCopyInto(out *FileSetParameters) { + *out = *in + if in.RegexFileSet != nil { + in, out := &in.RegexFileSet, &out.RegexFileSet + *out = make([]RegexFileSetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileSetParameters. +func (in *FileSetParameters) DeepCopy() *FileSetParameters { + if in == nil { + return nil + } + out := new(FileSetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HotwordRegexObservation) DeepCopyInto(out *HotwordRegexObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HotwordRegexObservation. +func (in *HotwordRegexObservation) DeepCopy() *HotwordRegexObservation { + if in == nil { + return nil + } + out := new(HotwordRegexObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HotwordRegexParameters) DeepCopyInto(out *HotwordRegexParameters) { + *out = *in + if in.GroupIndexes != nil { + in, out := &in.GroupIndexes, &out.GroupIndexes + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } + if in.Pattern != nil { + in, out := &in.Pattern, &out.Pattern + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HotwordRegexParameters. +func (in *HotwordRegexParameters) DeepCopy() *HotwordRegexParameters { + if in == nil { + return nil + } + out := new(HotwordRegexParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HotwordRuleObservation) DeepCopyInto(out *HotwordRuleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HotwordRuleObservation. +func (in *HotwordRuleObservation) DeepCopy() *HotwordRuleObservation { + if in == nil { + return nil + } + out := new(HotwordRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HotwordRuleParameters) DeepCopyInto(out *HotwordRuleParameters) { + *out = *in + if in.HotwordRegex != nil { + in, out := &in.HotwordRegex, &out.HotwordRegex + *out = make([]HotwordRegexParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LikelihoodAdjustment != nil { + in, out := &in.LikelihoodAdjustment, &out.LikelihoodAdjustment + *out = make([]LikelihoodAdjustmentParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Proximity != nil { + in, out := &in.Proximity, &out.Proximity + *out = make([]ProximityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HotwordRuleParameters. +func (in *HotwordRuleParameters) DeepCopy() *HotwordRuleParameters { + if in == nil { + return nil + } + out := new(HotwordRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InfoTypeObservation) DeepCopyInto(out *InfoTypeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfoTypeObservation. +func (in *InfoTypeObservation) DeepCopy() *InfoTypeObservation { + if in == nil { + return nil + } + out := new(InfoTypeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InfoTypeParameters) DeepCopyInto(out *InfoTypeParameters) { + *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 InfoTypeParameters. +func (in *InfoTypeParameters) DeepCopy() *InfoTypeParameters { + if in == nil { + return nil + } + out := new(InfoTypeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InfoTypeTransformationsObservation) DeepCopyInto(out *InfoTypeTransformationsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfoTypeTransformationsObservation. +func (in *InfoTypeTransformationsObservation) DeepCopy() *InfoTypeTransformationsObservation { + if in == nil { + return nil + } + out := new(InfoTypeTransformationsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InfoTypeTransformationsParameters) DeepCopyInto(out *InfoTypeTransformationsParameters) { + *out = *in + if in.Transformations != nil { + in, out := &in.Transformations, &out.Transformations + *out = make([]TransformationsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfoTypeTransformationsParameters. +func (in *InfoTypeTransformationsParameters) DeepCopy() *InfoTypeTransformationsParameters { + if in == nil { + return nil + } + out := new(InfoTypeTransformationsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InfoTypesObservation) DeepCopyInto(out *InfoTypesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfoTypesObservation. +func (in *InfoTypesObservation) DeepCopy() *InfoTypesObservation { + if in == nil { + return nil + } + out := new(InfoTypesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InfoTypesParameters) DeepCopyInto(out *InfoTypesParameters) { + *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 InfoTypesParameters. +func (in *InfoTypesParameters) DeepCopy() *InfoTypesParameters { + if in == nil { + return nil + } + out := new(InfoTypesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InspectConfigInfoTypesObservation) DeepCopyInto(out *InspectConfigInfoTypesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InspectConfigInfoTypesObservation. +func (in *InspectConfigInfoTypesObservation) DeepCopy() *InspectConfigInfoTypesObservation { + if in == nil { + return nil + } + out := new(InspectConfigInfoTypesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InspectConfigInfoTypesParameters) DeepCopyInto(out *InspectConfigInfoTypesParameters) { + *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 InspectConfigInfoTypesParameters. +func (in *InspectConfigInfoTypesParameters) DeepCopy() *InspectConfigInfoTypesParameters { + if in == nil { + return nil + } + out := new(InspectConfigInfoTypesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InspectConfigObservation) DeepCopyInto(out *InspectConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InspectConfigObservation. +func (in *InspectConfigObservation) DeepCopy() *InspectConfigObservation { + if in == nil { + return nil + } + out := new(InspectConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InspectConfigParameters) DeepCopyInto(out *InspectConfigParameters) { + *out = *in + if in.ContentOptions != nil { + in, out := &in.ContentOptions, &out.ContentOptions + *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.CustomInfoTypes != nil { + in, out := &in.CustomInfoTypes, &out.CustomInfoTypes + *out = make([]CustomInfoTypesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExcludeInfoTypes != nil { + in, out := &in.ExcludeInfoTypes, &out.ExcludeInfoTypes + *out = new(bool) + **out = **in + } + if in.IncludeQuote != nil { + in, out := &in.IncludeQuote, &out.IncludeQuote + *out = new(bool) + **out = **in + } + if in.InfoTypes != nil { + in, out := &in.InfoTypes, &out.InfoTypes + *out = make([]InspectConfigInfoTypesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Limits != nil { + in, out := &in.Limits, &out.Limits + *out = make([]LimitsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MinLikelihood != nil { + in, out := &in.MinLikelihood, &out.MinLikelihood + *out = new(string) + **out = **in + } + if in.RuleSet != nil { + in, out := &in.RuleSet, &out.RuleSet + *out = make([]RuleSetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InspectConfigParameters. +func (in *InspectConfigParameters) DeepCopy() *InspectConfigParameters { + if in == nil { + return nil + } + out := new(InspectConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InspectJobObservation) DeepCopyInto(out *InspectJobObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InspectJobObservation. +func (in *InspectJobObservation) DeepCopy() *InspectJobObservation { + if in == nil { + return nil + } + out := new(InspectJobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InspectJobParameters) DeepCopyInto(out *InspectJobParameters) { + *out = *in + if in.Actions != nil { + in, out := &in.Actions, &out.Actions + *out = make([]ActionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InspectTemplateName != nil { + in, out := &in.InspectTemplateName, &out.InspectTemplateName + *out = new(string) + **out = **in + } + if in.StorageConfig != nil { + in, out := &in.StorageConfig, &out.StorageConfig + *out = make([]StorageConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InspectJobParameters. +func (in *InspectJobParameters) DeepCopy() *InspectJobParameters { + if in == nil { + return nil + } + out := new(InspectJobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InspectTemplate) DeepCopyInto(out *InspectTemplate) { + *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 InspectTemplate. +func (in *InspectTemplate) DeepCopy() *InspectTemplate { + if in == nil { + return nil + } + out := new(InspectTemplate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InspectTemplate) 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 *InspectTemplateList) DeepCopyInto(out *InspectTemplateList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InspectTemplate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InspectTemplateList. +func (in *InspectTemplateList) DeepCopy() *InspectTemplateList { + if in == nil { + return nil + } + out := new(InspectTemplateList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InspectTemplateList) 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 *InspectTemplateObservation) DeepCopyInto(out *InspectTemplateObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InspectTemplateObservation. +func (in *InspectTemplateObservation) DeepCopy() *InspectTemplateObservation { + if in == nil { + return nil + } + out := new(InspectTemplateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InspectTemplateParameters) DeepCopyInto(out *InspectTemplateParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.InspectConfig != nil { + in, out := &in.InspectConfig, &out.InspectConfig + *out = make([]InspectConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InspectTemplateParameters. +func (in *InspectTemplateParameters) DeepCopy() *InspectTemplateParameters { + if in == nil { + return nil + } + out := new(InspectTemplateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InspectTemplateSpec) DeepCopyInto(out *InspectTemplateSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InspectTemplateSpec. +func (in *InspectTemplateSpec) DeepCopy() *InspectTemplateSpec { + if in == nil { + return nil + } + out := new(InspectTemplateSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InspectTemplateStatus) DeepCopyInto(out *InspectTemplateStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InspectTemplateStatus. +func (in *InspectTemplateStatus) DeepCopy() *InspectTemplateStatus { + if in == nil { + return nil + } + out := new(InspectTemplateStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobTrigger) DeepCopyInto(out *JobTrigger) { + *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 JobTrigger. +func (in *JobTrigger) DeepCopy() *JobTrigger { + if in == nil { + return nil + } + out := new(JobTrigger) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobTrigger) 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 *JobTriggerList) DeepCopyInto(out *JobTriggerList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]JobTrigger, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobTriggerList. +func (in *JobTriggerList) DeepCopy() *JobTriggerList { + if in == nil { + return nil + } + out := new(JobTriggerList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobTriggerList) 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 *JobTriggerObservation) DeepCopyInto(out *JobTriggerObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LastRunTime != nil { + in, out := &in.LastRunTime, &out.LastRunTime + *out = new(string) + **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 JobTriggerObservation. +func (in *JobTriggerObservation) DeepCopy() *JobTriggerObservation { + if in == nil { + return nil + } + out := new(JobTriggerObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobTriggerParameters) DeepCopyInto(out *JobTriggerParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.InspectJob != nil { + in, out := &in.InspectJob, &out.InspectJob + *out = make([]InspectJobParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(string) + **out = **in + } + if in.Triggers != nil { + in, out := &in.Triggers, &out.Triggers + *out = make([]TriggersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobTriggerParameters. +func (in *JobTriggerParameters) DeepCopy() *JobTriggerParameters { + if in == nil { + return nil + } + out := new(JobTriggerParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobTriggerSpec) DeepCopyInto(out *JobTriggerSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobTriggerSpec. +func (in *JobTriggerSpec) DeepCopy() *JobTriggerSpec { + if in == nil { + return nil + } + out := new(JobTriggerSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobTriggerStatus) DeepCopyInto(out *JobTriggerStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobTriggerStatus. +func (in *JobTriggerStatus) DeepCopy() *JobTriggerStatus { + if in == nil { + return nil + } + out := new(JobTriggerStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KMSWrappedObservation) DeepCopyInto(out *KMSWrappedObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KMSWrappedObservation. +func (in *KMSWrappedObservation) DeepCopy() *KMSWrappedObservation { + if in == nil { + return nil + } + out := new(KMSWrappedObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KMSWrappedParameters) DeepCopyInto(out *KMSWrappedParameters) { + *out = *in + if in.CryptoKeyName != nil { + in, out := &in.CryptoKeyName, &out.CryptoKeyName + *out = new(string) + **out = **in + } + if in.WrappedKey != nil { + in, out := &in.WrappedKey, &out.WrappedKey + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KMSWrappedParameters. +func (in *KMSWrappedParameters) DeepCopy() *KMSWrappedParameters { + if in == nil { + return nil + } + out := new(KMSWrappedParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KindObservation) DeepCopyInto(out *KindObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KindObservation. +func (in *KindObservation) DeepCopy() *KindObservation { + if in == nil { + return nil + } + out := new(KindObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KindParameters) DeepCopyInto(out *KindParameters) { + *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 KindParameters. +func (in *KindParameters) DeepCopy() *KindParameters { + if in == nil { + return nil + } + out := new(KindParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LargeCustomDictionaryObservation) DeepCopyInto(out *LargeCustomDictionaryObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LargeCustomDictionaryObservation. +func (in *LargeCustomDictionaryObservation) DeepCopy() *LargeCustomDictionaryObservation { + if in == nil { + return nil + } + out := new(LargeCustomDictionaryObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LargeCustomDictionaryParameters) DeepCopyInto(out *LargeCustomDictionaryParameters) { + *out = *in + if in.BigQueryField != nil { + in, out := &in.BigQueryField, &out.BigQueryField + *out = make([]BigQueryFieldParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CloudStorageFileSet != nil { + in, out := &in.CloudStorageFileSet, &out.CloudStorageFileSet + *out = make([]CloudStorageFileSetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OutputPath != nil { + in, out := &in.OutputPath, &out.OutputPath + *out = make([]OutputPathParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LargeCustomDictionaryParameters. +func (in *LargeCustomDictionaryParameters) DeepCopy() *LargeCustomDictionaryParameters { + if in == nil { + return nil + } + out := new(LargeCustomDictionaryParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LikelihoodAdjustmentObservation) DeepCopyInto(out *LikelihoodAdjustmentObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LikelihoodAdjustmentObservation. +func (in *LikelihoodAdjustmentObservation) DeepCopy() *LikelihoodAdjustmentObservation { + if in == nil { + return nil + } + out := new(LikelihoodAdjustmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LikelihoodAdjustmentParameters) DeepCopyInto(out *LikelihoodAdjustmentParameters) { + *out = *in + if in.FixedLikelihood != nil { + in, out := &in.FixedLikelihood, &out.FixedLikelihood + *out = new(string) + **out = **in + } + if in.RelativeLikelihood != nil { + in, out := &in.RelativeLikelihood, &out.RelativeLikelihood + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LikelihoodAdjustmentParameters. +func (in *LikelihoodAdjustmentParameters) DeepCopy() *LikelihoodAdjustmentParameters { + if in == nil { + return nil + } + out := new(LikelihoodAdjustmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LimitsObservation) DeepCopyInto(out *LimitsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LimitsObservation. +func (in *LimitsObservation) DeepCopy() *LimitsObservation { + if in == nil { + return nil + } + out := new(LimitsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LimitsParameters) DeepCopyInto(out *LimitsParameters) { + *out = *in + if in.MaxFindingsPerInfoType != nil { + in, out := &in.MaxFindingsPerInfoType, &out.MaxFindingsPerInfoType + *out = make([]MaxFindingsPerInfoTypeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaxFindingsPerItem != nil { + in, out := &in.MaxFindingsPerItem, &out.MaxFindingsPerItem + *out = new(int64) + **out = **in + } + if in.MaxFindingsPerRequest != nil { + in, out := &in.MaxFindingsPerRequest, &out.MaxFindingsPerRequest + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LimitsParameters. +func (in *LimitsParameters) DeepCopy() *LimitsParameters { + if in == nil { + return nil + } + out := new(LimitsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaxFindingsPerInfoTypeInfoTypeObservation) DeepCopyInto(out *MaxFindingsPerInfoTypeInfoTypeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaxFindingsPerInfoTypeInfoTypeObservation. +func (in *MaxFindingsPerInfoTypeInfoTypeObservation) DeepCopy() *MaxFindingsPerInfoTypeInfoTypeObservation { + if in == nil { + return nil + } + out := new(MaxFindingsPerInfoTypeInfoTypeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaxFindingsPerInfoTypeInfoTypeParameters) DeepCopyInto(out *MaxFindingsPerInfoTypeInfoTypeParameters) { + *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 MaxFindingsPerInfoTypeInfoTypeParameters. +func (in *MaxFindingsPerInfoTypeInfoTypeParameters) DeepCopy() *MaxFindingsPerInfoTypeInfoTypeParameters { + if in == nil { + return nil + } + out := new(MaxFindingsPerInfoTypeInfoTypeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaxFindingsPerInfoTypeObservation) DeepCopyInto(out *MaxFindingsPerInfoTypeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaxFindingsPerInfoTypeObservation. +func (in *MaxFindingsPerInfoTypeObservation) DeepCopy() *MaxFindingsPerInfoTypeObservation { + if in == nil { + return nil + } + out := new(MaxFindingsPerInfoTypeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaxFindingsPerInfoTypeParameters) DeepCopyInto(out *MaxFindingsPerInfoTypeParameters) { + *out = *in + if in.InfoType != nil { + in, out := &in.InfoType, &out.InfoType + *out = make([]MaxFindingsPerInfoTypeInfoTypeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaxFindings != nil { + in, out := &in.MaxFindings, &out.MaxFindings + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaxFindingsPerInfoTypeParameters. +func (in *MaxFindingsPerInfoTypeParameters) DeepCopy() *MaxFindingsPerInfoTypeParameters { + if in == nil { + return nil + } + out := new(MaxFindingsPerInfoTypeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NewValueObservation) DeepCopyInto(out *NewValueObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NewValueObservation. +func (in *NewValueObservation) DeepCopy() *NewValueObservation { + if in == nil { + return nil + } + out := new(NewValueObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NewValueParameters) DeepCopyInto(out *NewValueParameters) { + *out = *in + if in.BooleanValue != nil { + in, out := &in.BooleanValue, &out.BooleanValue + *out = new(bool) + **out = **in + } + if in.DateValue != nil { + in, out := &in.DateValue, &out.DateValue + *out = make([]DateValueParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DayOfWeekValue != nil { + in, out := &in.DayOfWeekValue, &out.DayOfWeekValue + *out = new(string) + **out = **in + } + if in.FloatValue != nil { + in, out := &in.FloatValue, &out.FloatValue + *out = new(float64) + **out = **in + } + if in.IntegerValue != nil { + in, out := &in.IntegerValue, &out.IntegerValue + *out = new(int64) + **out = **in + } + if in.StringValue != nil { + in, out := &in.StringValue, &out.StringValue + *out = new(string) + **out = **in + } + if in.TimeValue != nil { + in, out := &in.TimeValue, &out.TimeValue + *out = make([]TimeValueParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TimestampValue != nil { + in, out := &in.TimestampValue, &out.TimestampValue + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NewValueParameters. +func (in *NewValueParameters) DeepCopy() *NewValueParameters { + if in == nil { + return nil + } + out := new(NewValueParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutputConfigObservation) DeepCopyInto(out *OutputConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutputConfigObservation. +func (in *OutputConfigObservation) DeepCopy() *OutputConfigObservation { + if in == nil { + return nil + } + out := new(OutputConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutputConfigParameters) DeepCopyInto(out *OutputConfigParameters) { + *out = *in + if in.OutputSchema != nil { + in, out := &in.OutputSchema, &out.OutputSchema + *out = new(string) + **out = **in + } + if in.Table != nil { + in, out := &in.Table, &out.Table + *out = make([]TableParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutputConfigParameters. +func (in *OutputConfigParameters) DeepCopy() *OutputConfigParameters { + if in == nil { + return nil + } + out := new(OutputConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutputPathObservation) DeepCopyInto(out *OutputPathObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutputPathObservation. +func (in *OutputPathObservation) DeepCopy() *OutputPathObservation { + if in == nil { + return nil + } + out := new(OutputPathObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutputPathParameters) DeepCopyInto(out *OutputPathParameters) { + *out = *in + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutputPathParameters. +func (in *OutputPathParameters) DeepCopy() *OutputPathParameters { + if in == nil { + return nil + } + out := new(OutputPathParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PartitionIDObservation) DeepCopyInto(out *PartitionIDObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PartitionIDObservation. +func (in *PartitionIDObservation) DeepCopy() *PartitionIDObservation { + if in == nil { + return nil + } + out := new(PartitionIDObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PartitionIDParameters) DeepCopyInto(out *PartitionIDParameters) { + *out = *in + if in.NamespaceID != nil { + in, out := &in.NamespaceID, &out.NamespaceID + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PartitionIDParameters. +func (in *PartitionIDParameters) DeepCopy() *PartitionIDParameters { + if in == nil { + return nil + } + out := new(PartitionIDParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrimitiveTransformationObservation) DeepCopyInto(out *PrimitiveTransformationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrimitiveTransformationObservation. +func (in *PrimitiveTransformationObservation) DeepCopy() *PrimitiveTransformationObservation { + if in == nil { + return nil + } + out := new(PrimitiveTransformationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrimitiveTransformationParameters) DeepCopyInto(out *PrimitiveTransformationParameters) { + *out = *in + if in.CharacterMaskConfig != nil { + in, out := &in.CharacterMaskConfig, &out.CharacterMaskConfig + *out = make([]CharacterMaskConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CryptoDeterministicConfig != nil { + in, out := &in.CryptoDeterministicConfig, &out.CryptoDeterministicConfig + *out = make([]CryptoDeterministicConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CryptoReplaceFfxFpeConfig != nil { + in, out := &in.CryptoReplaceFfxFpeConfig, &out.CryptoReplaceFfxFpeConfig + *out = make([]CryptoReplaceFfxFpeConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReplaceConfig != nil { + in, out := &in.ReplaceConfig, &out.ReplaceConfig + *out = make([]ReplaceConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReplaceWithInfoTypeConfig != nil { + in, out := &in.ReplaceWithInfoTypeConfig, &out.ReplaceWithInfoTypeConfig + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrimitiveTransformationParameters. +func (in *PrimitiveTransformationParameters) DeepCopy() *PrimitiveTransformationParameters { + if in == nil { + return nil + } + out := new(PrimitiveTransformationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProximityObservation) DeepCopyInto(out *ProximityObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProximityObservation. +func (in *ProximityObservation) DeepCopy() *ProximityObservation { + if in == nil { + return nil + } + out := new(ProximityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProximityParameters) DeepCopyInto(out *ProximityParameters) { + *out = *in + if in.WindowAfter != nil { + in, out := &in.WindowAfter, &out.WindowAfter + *out = new(int64) + **out = **in + } + if in.WindowBefore != nil { + in, out := &in.WindowBefore, &out.WindowBefore + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProximityParameters. +func (in *ProximityParameters) DeepCopy() *ProximityParameters { + if in == nil { + return nil + } + out := new(ProximityParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegexFileSetObservation) DeepCopyInto(out *RegexFileSetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegexFileSetObservation. +func (in *RegexFileSetObservation) DeepCopy() *RegexFileSetObservation { + if in == nil { + return nil + } + out := new(RegexFileSetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegexFileSetParameters) DeepCopyInto(out *RegexFileSetParameters) { + *out = *in + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } + if in.ExcludeRegex != nil { + in, out := &in.ExcludeRegex, &out.ExcludeRegex + *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.IncludeRegex != nil { + in, out := &in.IncludeRegex, &out.IncludeRegex + *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 RegexFileSetParameters. +func (in *RegexFileSetParameters) DeepCopy() *RegexFileSetParameters { + if in == nil { + return nil + } + out := new(RegexFileSetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegexObservation) DeepCopyInto(out *RegexObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegexObservation. +func (in *RegexObservation) DeepCopy() *RegexObservation { + if in == nil { + return nil + } + out := new(RegexObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegexParameters) DeepCopyInto(out *RegexParameters) { + *out = *in + if in.GroupIndexes != nil { + in, out := &in.GroupIndexes, &out.GroupIndexes + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } + if in.Pattern != nil { + in, out := &in.Pattern, &out.Pattern + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegexParameters. +func (in *RegexParameters) DeepCopy() *RegexParameters { + if in == nil { + return nil + } + out := new(RegexParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReplaceConfigObservation) DeepCopyInto(out *ReplaceConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplaceConfigObservation. +func (in *ReplaceConfigObservation) DeepCopy() *ReplaceConfigObservation { + if in == nil { + return nil + } + out := new(ReplaceConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReplaceConfigParameters) DeepCopyInto(out *ReplaceConfigParameters) { + *out = *in + if in.NewValue != nil { + in, out := &in.NewValue, &out.NewValue + *out = make([]NewValueParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplaceConfigParameters. +func (in *ReplaceConfigParameters) DeepCopy() *ReplaceConfigParameters { + if in == nil { + return nil + } + out := new(ReplaceConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RuleSetInfoTypesObservation) DeepCopyInto(out *RuleSetInfoTypesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleSetInfoTypesObservation. +func (in *RuleSetInfoTypesObservation) DeepCopy() *RuleSetInfoTypesObservation { + if in == nil { + return nil + } + out := new(RuleSetInfoTypesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RuleSetInfoTypesParameters) DeepCopyInto(out *RuleSetInfoTypesParameters) { + *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 RuleSetInfoTypesParameters. +func (in *RuleSetInfoTypesParameters) DeepCopy() *RuleSetInfoTypesParameters { + if in == nil { + return nil + } + out := new(RuleSetInfoTypesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RuleSetObservation) DeepCopyInto(out *RuleSetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleSetObservation. +func (in *RuleSetObservation) DeepCopy() *RuleSetObservation { + if in == nil { + return nil + } + out := new(RuleSetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RuleSetParameters) DeepCopyInto(out *RuleSetParameters) { + *out = *in + if in.InfoTypes != nil { + in, out := &in.InfoTypes, &out.InfoTypes + *out = make([]RuleSetInfoTypesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]RulesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleSetParameters. +func (in *RuleSetParameters) DeepCopy() *RuleSetParameters { + if in == nil { + return nil + } + out := new(RuleSetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RulesObservation) DeepCopyInto(out *RulesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RulesObservation. +func (in *RulesObservation) DeepCopy() *RulesObservation { + if in == nil { + return nil + } + out := new(RulesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RulesParameters) DeepCopyInto(out *RulesParameters) { + *out = *in + if in.ExclusionRule != nil { + in, out := &in.ExclusionRule, &out.ExclusionRule + *out = make([]ExclusionRuleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HotwordRule != nil { + in, out := &in.HotwordRule, &out.HotwordRule + *out = make([]HotwordRuleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RulesParameters. +func (in *RulesParameters) DeepCopy() *RulesParameters { + if in == nil { + return nil + } + out := new(RulesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SaveFindingsObservation) DeepCopyInto(out *SaveFindingsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SaveFindingsObservation. +func (in *SaveFindingsObservation) DeepCopy() *SaveFindingsObservation { + if in == nil { + return nil + } + out := new(SaveFindingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SaveFindingsParameters) DeepCopyInto(out *SaveFindingsParameters) { + *out = *in + if in.OutputConfig != nil { + in, out := &in.OutputConfig, &out.OutputConfig + *out = make([]OutputConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SaveFindingsParameters. +func (in *SaveFindingsParameters) DeepCopy() *SaveFindingsParameters { + if in == nil { + return nil + } + out := new(SaveFindingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScheduleObservation) DeepCopyInto(out *ScheduleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleObservation. +func (in *ScheduleObservation) DeepCopy() *ScheduleObservation { + if in == nil { + return nil + } + out := new(ScheduleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScheduleParameters) DeepCopyInto(out *ScheduleParameters) { + *out = *in + if in.RecurrencePeriodDuration != nil { + in, out := &in.RecurrencePeriodDuration, &out.RecurrencePeriodDuration + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleParameters. +func (in *ScheduleParameters) DeepCopy() *ScheduleParameters { + if in == nil { + return nil + } + out := new(ScheduleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StorageConfigObservation) DeepCopyInto(out *StorageConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageConfigObservation. +func (in *StorageConfigObservation) DeepCopy() *StorageConfigObservation { + if in == nil { + return nil + } + out := new(StorageConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StorageConfigParameters) DeepCopyInto(out *StorageConfigParameters) { + *out = *in + if in.BigQueryOptions != nil { + in, out := &in.BigQueryOptions, &out.BigQueryOptions + *out = make([]BigQueryOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CloudStorageOptions != nil { + in, out := &in.CloudStorageOptions, &out.CloudStorageOptions + *out = make([]CloudStorageOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DatastoreOptions != nil { + in, out := &in.DatastoreOptions, &out.DatastoreOptions + *out = make([]DatastoreOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TimespanConfig != nil { + in, out := &in.TimespanConfig, &out.TimespanConfig + *out = make([]TimespanConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageConfigParameters. +func (in *StorageConfigParameters) DeepCopy() *StorageConfigParameters { + if in == nil { + return nil + } + out := new(StorageConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoredInfoType) DeepCopyInto(out *StoredInfoType) { + *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 StoredInfoType. +func (in *StoredInfoType) DeepCopy() *StoredInfoType { + if in == nil { + return nil + } + out := new(StoredInfoType) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *StoredInfoType) 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 *StoredInfoTypeDictionaryCloudStoragePathObservation) DeepCopyInto(out *StoredInfoTypeDictionaryCloudStoragePathObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoredInfoTypeDictionaryCloudStoragePathObservation. +func (in *StoredInfoTypeDictionaryCloudStoragePathObservation) DeepCopy() *StoredInfoTypeDictionaryCloudStoragePathObservation { + if in == nil { + return nil + } + out := new(StoredInfoTypeDictionaryCloudStoragePathObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoredInfoTypeDictionaryCloudStoragePathParameters) DeepCopyInto(out *StoredInfoTypeDictionaryCloudStoragePathParameters) { + *out = *in + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoredInfoTypeDictionaryCloudStoragePathParameters. +func (in *StoredInfoTypeDictionaryCloudStoragePathParameters) DeepCopy() *StoredInfoTypeDictionaryCloudStoragePathParameters { + if in == nil { + return nil + } + out := new(StoredInfoTypeDictionaryCloudStoragePathParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoredInfoTypeDictionaryObservation) DeepCopyInto(out *StoredInfoTypeDictionaryObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoredInfoTypeDictionaryObservation. +func (in *StoredInfoTypeDictionaryObservation) DeepCopy() *StoredInfoTypeDictionaryObservation { + if in == nil { + return nil + } + out := new(StoredInfoTypeDictionaryObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoredInfoTypeDictionaryParameters) DeepCopyInto(out *StoredInfoTypeDictionaryParameters) { + *out = *in + if in.CloudStoragePath != nil { + in, out := &in.CloudStoragePath, &out.CloudStoragePath + *out = make([]StoredInfoTypeDictionaryCloudStoragePathParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WordList != nil { + in, out := &in.WordList, &out.WordList + *out = make([]StoredInfoTypeDictionaryWordListParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoredInfoTypeDictionaryParameters. +func (in *StoredInfoTypeDictionaryParameters) DeepCopy() *StoredInfoTypeDictionaryParameters { + if in == nil { + return nil + } + out := new(StoredInfoTypeDictionaryParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoredInfoTypeDictionaryWordListObservation) DeepCopyInto(out *StoredInfoTypeDictionaryWordListObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoredInfoTypeDictionaryWordListObservation. +func (in *StoredInfoTypeDictionaryWordListObservation) DeepCopy() *StoredInfoTypeDictionaryWordListObservation { + if in == nil { + return nil + } + out := new(StoredInfoTypeDictionaryWordListObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoredInfoTypeDictionaryWordListParameters) DeepCopyInto(out *StoredInfoTypeDictionaryWordListParameters) { + *out = *in + if in.Words != nil { + in, out := &in.Words, &out.Words + *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 StoredInfoTypeDictionaryWordListParameters. +func (in *StoredInfoTypeDictionaryWordListParameters) DeepCopy() *StoredInfoTypeDictionaryWordListParameters { + if in == nil { + return nil + } + out := new(StoredInfoTypeDictionaryWordListParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoredInfoTypeList) DeepCopyInto(out *StoredInfoTypeList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]StoredInfoType, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoredInfoTypeList. +func (in *StoredInfoTypeList) DeepCopy() *StoredInfoTypeList { + if in == nil { + return nil + } + out := new(StoredInfoTypeList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *StoredInfoTypeList) 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 *StoredInfoTypeObservation) DeepCopyInto(out *StoredInfoTypeObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoredInfoTypeObservation. +func (in *StoredInfoTypeObservation) DeepCopy() *StoredInfoTypeObservation { + if in == nil { + return nil + } + out := new(StoredInfoTypeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoredInfoTypeParameters) DeepCopyInto(out *StoredInfoTypeParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Dictionary != nil { + in, out := &in.Dictionary, &out.Dictionary + *out = make([]StoredInfoTypeDictionaryParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.LargeCustomDictionary != nil { + in, out := &in.LargeCustomDictionary, &out.LargeCustomDictionary + *out = make([]LargeCustomDictionaryParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.Regex != nil { + in, out := &in.Regex, &out.Regex + *out = make([]StoredInfoTypeRegexParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoredInfoTypeParameters. +func (in *StoredInfoTypeParameters) DeepCopy() *StoredInfoTypeParameters { + if in == nil { + return nil + } + out := new(StoredInfoTypeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoredInfoTypeRegexObservation) DeepCopyInto(out *StoredInfoTypeRegexObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoredInfoTypeRegexObservation. +func (in *StoredInfoTypeRegexObservation) DeepCopy() *StoredInfoTypeRegexObservation { + if in == nil { + return nil + } + out := new(StoredInfoTypeRegexObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoredInfoTypeRegexParameters) DeepCopyInto(out *StoredInfoTypeRegexParameters) { + *out = *in + if in.GroupIndexes != nil { + in, out := &in.GroupIndexes, &out.GroupIndexes + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } + if in.Pattern != nil { + in, out := &in.Pattern, &out.Pattern + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoredInfoTypeRegexParameters. +func (in *StoredInfoTypeRegexParameters) DeepCopy() *StoredInfoTypeRegexParameters { + if in == nil { + return nil + } + out := new(StoredInfoTypeRegexParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoredInfoTypeSpec) DeepCopyInto(out *StoredInfoTypeSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoredInfoTypeSpec. +func (in *StoredInfoTypeSpec) DeepCopy() *StoredInfoTypeSpec { + if in == nil { + return nil + } + out := new(StoredInfoTypeSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoredInfoTypeStatus) DeepCopyInto(out *StoredInfoTypeStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoredInfoTypeStatus. +func (in *StoredInfoTypeStatus) DeepCopy() *StoredInfoTypeStatus { + if in == nil { + return nil + } + out := new(StoredInfoTypeStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoredTypeObservation) DeepCopyInto(out *StoredTypeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoredTypeObservation. +func (in *StoredTypeObservation) DeepCopy() *StoredTypeObservation { + if in == nil { + return nil + } + out := new(StoredTypeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StoredTypeParameters) DeepCopyInto(out *StoredTypeParameters) { + *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 StoredTypeParameters. +func (in *StoredTypeParameters) DeepCopy() *StoredTypeParameters { + if in == nil { + return nil + } + out := new(StoredTypeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SurrogateInfoTypeObservation) DeepCopyInto(out *SurrogateInfoTypeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SurrogateInfoTypeObservation. +func (in *SurrogateInfoTypeObservation) DeepCopy() *SurrogateInfoTypeObservation { + if in == nil { + return nil + } + out := new(SurrogateInfoTypeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SurrogateInfoTypeParameters) DeepCopyInto(out *SurrogateInfoTypeParameters) { + *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 SurrogateInfoTypeParameters. +func (in *SurrogateInfoTypeParameters) DeepCopy() *SurrogateInfoTypeParameters { + if in == nil { + return nil + } + out := new(SurrogateInfoTypeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableObservation) DeepCopyInto(out *TableObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableObservation. +func (in *TableObservation) DeepCopy() *TableObservation { + if in == nil { + return nil + } + out := new(TableObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableParameters) DeepCopyInto(out *TableParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableParameters. +func (in *TableParameters) DeepCopy() *TableParameters { + if in == nil { + return nil + } + out := new(TableParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableReferenceObservation) DeepCopyInto(out *TableReferenceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableReferenceObservation. +func (in *TableReferenceObservation) DeepCopy() *TableReferenceObservation { + if in == nil { + return nil + } + out := new(TableReferenceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TableReferenceParameters) DeepCopyInto(out *TableReferenceParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } + if in.TableID != nil { + in, out := &in.TableID, &out.TableID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TableReferenceParameters. +func (in *TableReferenceParameters) DeepCopy() *TableReferenceParameters { + if in == nil { + return nil + } + out := new(TableReferenceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeValueObservation) DeepCopyInto(out *TimeValueObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeValueObservation. +func (in *TimeValueObservation) DeepCopy() *TimeValueObservation { + if in == nil { + return nil + } + out := new(TimeValueObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeValueParameters) DeepCopyInto(out *TimeValueParameters) { + *out = *in + if in.Hours != nil { + in, out := &in.Hours, &out.Hours + *out = new(int64) + **out = **in + } + if in.Minutes != nil { + in, out := &in.Minutes, &out.Minutes + *out = new(int64) + **out = **in + } + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeValueParameters. +func (in *TimeValueParameters) DeepCopy() *TimeValueParameters { + if in == nil { + return nil + } + out := new(TimeValueParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimespanConfigObservation) DeepCopyInto(out *TimespanConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimespanConfigObservation. +func (in *TimespanConfigObservation) DeepCopy() *TimespanConfigObservation { + if in == nil { + return nil + } + out := new(TimespanConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimespanConfigParameters) DeepCopyInto(out *TimespanConfigParameters) { + *out = *in + if in.EnableAutoPopulationOfTimespanConfig != nil { + in, out := &in.EnableAutoPopulationOfTimespanConfig, &out.EnableAutoPopulationOfTimespanConfig + *out = new(bool) + **out = **in + } + if in.EndTime != nil { + in, out := &in.EndTime, &out.EndTime + *out = new(string) + **out = **in + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } + if in.TimestampField != nil { + in, out := &in.TimestampField, &out.TimestampField + *out = make([]TimestampFieldParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimespanConfigParameters. +func (in *TimespanConfigParameters) DeepCopy() *TimespanConfigParameters { + if in == nil { + return nil + } + out := new(TimespanConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimestampFieldObservation) DeepCopyInto(out *TimestampFieldObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimestampFieldObservation. +func (in *TimestampFieldObservation) DeepCopy() *TimestampFieldObservation { + if in == nil { + return nil + } + out := new(TimestampFieldObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimestampFieldParameters) DeepCopyInto(out *TimestampFieldParameters) { + *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 TimestampFieldParameters. +func (in *TimestampFieldParameters) DeepCopy() *TimestampFieldParameters { + if in == nil { + return nil + } + out := new(TimestampFieldParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransformationsObservation) DeepCopyInto(out *TransformationsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransformationsObservation. +func (in *TransformationsObservation) DeepCopy() *TransformationsObservation { + if in == nil { + return nil + } + out := new(TransformationsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransformationsParameters) DeepCopyInto(out *TransformationsParameters) { + *out = *in + if in.InfoTypes != nil { + in, out := &in.InfoTypes, &out.InfoTypes + *out = make([]InfoTypesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PrimitiveTransformation != nil { + in, out := &in.PrimitiveTransformation, &out.PrimitiveTransformation + *out = make([]PrimitiveTransformationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransformationsParameters. +func (in *TransformationsParameters) DeepCopy() *TransformationsParameters { + if in == nil { + return nil + } + out := new(TransformationsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransientObservation) DeepCopyInto(out *TransientObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransientObservation. +func (in *TransientObservation) DeepCopy() *TransientObservation { + if in == nil { + return nil + } + out := new(TransientObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransientParameters) DeepCopyInto(out *TransientParameters) { + *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 TransientParameters. +func (in *TransientParameters) DeepCopy() *TransientParameters { + if in == nil { + return nil + } + out := new(TransientParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggersObservation) DeepCopyInto(out *TriggersObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggersObservation. +func (in *TriggersObservation) DeepCopy() *TriggersObservation { + if in == nil { + return nil + } + out := new(TriggersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggersParameters) DeepCopyInto(out *TriggersParameters) { + *out = *in + if in.Schedule != nil { + in, out := &in.Schedule, &out.Schedule + *out = make([]ScheduleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggersParameters. +func (in *TriggersParameters) DeepCopy() *TriggersParameters { + if in == nil { + return nil + } + out := new(TriggersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UnwrappedObservation) DeepCopyInto(out *UnwrappedObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnwrappedObservation. +func (in *UnwrappedObservation) DeepCopy() *UnwrappedObservation { + if in == nil { + return nil + } + out := new(UnwrappedObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UnwrappedParameters) DeepCopyInto(out *UnwrappedParameters) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnwrappedParameters. +func (in *UnwrappedParameters) DeepCopy() *UnwrappedParameters { + if in == nil { + return nil + } + out := new(UnwrappedParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WordListObservation) DeepCopyInto(out *WordListObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WordListObservation. +func (in *WordListObservation) DeepCopy() *WordListObservation { + if in == nil { + return nil + } + out := new(WordListObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WordListParameters) DeepCopyInto(out *WordListParameters) { + *out = *in + if in.Words != nil { + in, out := &in.Words, &out.Words + *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 WordListParameters. +func (in *WordListParameters) DeepCopy() *WordListParameters { + if in == nil { + return nil + } + out := new(WordListParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/datalossprevention/v1alpha1/zz_generated.managed.go b/apis/datalossprevention/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..f509fbcd --- /dev/null +++ b/apis/datalossprevention/v1alpha1/zz_generated.managed.go @@ -0,0 +1,244 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this DeidentifyTemplate. +func (mg *DeidentifyTemplate) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DeidentifyTemplate. +func (mg *DeidentifyTemplate) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DeidentifyTemplate. +func (mg *DeidentifyTemplate) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DeidentifyTemplate. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DeidentifyTemplate) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DeidentifyTemplate. +func (mg *DeidentifyTemplate) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DeidentifyTemplate. +func (mg *DeidentifyTemplate) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DeidentifyTemplate. +func (mg *DeidentifyTemplate) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DeidentifyTemplate. +func (mg *DeidentifyTemplate) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DeidentifyTemplate. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DeidentifyTemplate) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DeidentifyTemplate. +func (mg *DeidentifyTemplate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InspectTemplate. +func (mg *InspectTemplate) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InspectTemplate. +func (mg *InspectTemplate) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InspectTemplate. +func (mg *InspectTemplate) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InspectTemplate. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InspectTemplate) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InspectTemplate. +func (mg *InspectTemplate) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InspectTemplate. +func (mg *InspectTemplate) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InspectTemplate. +func (mg *InspectTemplate) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InspectTemplate. +func (mg *InspectTemplate) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InspectTemplate. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InspectTemplate) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InspectTemplate. +func (mg *InspectTemplate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this JobTrigger. +func (mg *JobTrigger) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this JobTrigger. +func (mg *JobTrigger) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this JobTrigger. +func (mg *JobTrigger) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this JobTrigger. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *JobTrigger) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this JobTrigger. +func (mg *JobTrigger) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this JobTrigger. +func (mg *JobTrigger) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this JobTrigger. +func (mg *JobTrigger) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this JobTrigger. +func (mg *JobTrigger) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this JobTrigger. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *JobTrigger) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this JobTrigger. +func (mg *JobTrigger) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this StoredInfoType. +func (mg *StoredInfoType) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this StoredInfoType. +func (mg *StoredInfoType) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this StoredInfoType. +func (mg *StoredInfoType) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this StoredInfoType. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *StoredInfoType) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this StoredInfoType. +func (mg *StoredInfoType) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this StoredInfoType. +func (mg *StoredInfoType) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this StoredInfoType. +func (mg *StoredInfoType) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this StoredInfoType. +func (mg *StoredInfoType) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this StoredInfoType. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *StoredInfoType) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this StoredInfoType. +func (mg *StoredInfoType) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/datalossprevention/v1alpha1/zz_generated.managedlist.go b/apis/datalossprevention/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..90496268 --- /dev/null +++ b/apis/datalossprevention/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,56 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this DeidentifyTemplateList. +func (l *DeidentifyTemplateList) 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 InspectTemplateList. +func (l *InspectTemplateList) 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 JobTriggerList. +func (l *JobTriggerList) 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 StoredInfoTypeList. +func (l *StoredInfoTypeList) 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/datalossprevention/v1alpha1/zz_groupversion_info.go b/apis/datalossprevention/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..82651e5a --- /dev/null +++ b/apis/datalossprevention/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=datalossprevention.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "datalossprevention.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/datalossprevention/v1alpha1/zz_inspecttemplate_terraformed.go b/apis/datalossprevention/v1alpha1/zz_inspecttemplate_terraformed.go new file mode 100755 index 00000000..71618953 --- /dev/null +++ b/apis/datalossprevention/v1alpha1/zz_inspecttemplate_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InspectTemplate +func (mg *InspectTemplate) GetTerraformResourceType() string { + return "google_data_loss_prevention_inspect_template" +} + +// GetConnectionDetailsMapping for this InspectTemplate +func (tr *InspectTemplate) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InspectTemplate +func (tr *InspectTemplate) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InspectTemplate +func (tr *InspectTemplate) SetObservation(obs map[string]interface{}) 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 InspectTemplate +func (tr *InspectTemplate) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InspectTemplate +func (tr *InspectTemplate) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InspectTemplate +func (tr *InspectTemplate) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InspectTemplate using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InspectTemplate) LateInitialize(attrs []byte) (bool, error) { + params := &InspectTemplateParameters{} + 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 *InspectTemplate) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datalossprevention/v1alpha1/zz_inspecttemplate_types.go b/apis/datalossprevention/v1alpha1/zz_inspecttemplate_types.go new file mode 100755 index 00000000..3a481270 --- /dev/null +++ b/apis/datalossprevention/v1alpha1/zz_inspecttemplate_types.go @@ -0,0 +1,513 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CloudStoragePathObservation struct { +} + +type CloudStoragePathParameters struct { + + // A url representing a file or path (no wildcards) in Cloud Storage. Example: 'gs://[BUCKET_NAME]/dictionary.txt' + // +kubebuilder:validation:Required + Path *string `json:"path" tf:"path,omitempty"` +} + +type CustomInfoTypesObservation struct { +} + +type CustomInfoTypesParameters struct { + + // Dictionary which defines the rule. + // +kubebuilder:validation:Optional + Dictionary []DictionaryParameters `json:"dictionary,omitempty" tf:"dictionary,omitempty"` + + // If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Possible values: ["EXCLUSION_TYPE_EXCLUDE"] + // +kubebuilder:validation:Optional + ExclusionType *string `json:"exclusionType,omitempty" tf:"exclusion_type,omitempty"` + + // CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing + // infoTypes and that infoType is specified in 'info_types' field. Specifying the latter adds findings to the + // one detected by the system. If built-in info type is not specified in 'info_types' list then the name is + // treated as a custom info type. + // +kubebuilder:validation:Required + InfoType []InfoTypeParameters `json:"infoType" tf:"info_type,omitempty"` + + // Likelihood to return for this CustomInfoType. This base value can be altered by a detection rule if the finding meets the criteria + // specified by the rule. Default value: "VERY_LIKELY" Possible values: ["VERY_UNLIKELY", "UNLIKELY", "POSSIBLE", "LIKELY", "VERY_LIKELY"] + // +kubebuilder:validation:Optional + Likelihood *string `json:"likelihood,omitempty" tf:"likelihood,omitempty"` + + // Regular expression which defines the rule. + // +kubebuilder:validation:Optional + Regex []RegexParameters `json:"regex,omitempty" tf:"regex,omitempty"` + + // A reference to a StoredInfoType to use with scanning. + // +kubebuilder:validation:Optional + StoredType []StoredTypeParameters `json:"storedType,omitempty" tf:"stored_type,omitempty"` +} + +type DictionaryCloudStoragePathObservation struct { +} + +type DictionaryCloudStoragePathParameters struct { + + // A url representing a file or path (no wildcards) in Cloud Storage. Example: 'gs://[BUCKET_NAME]/dictionary.txt' + // +kubebuilder:validation:Required + Path *string `json:"path" tf:"path,omitempty"` +} + +type DictionaryObservation struct { +} + +type DictionaryParameters struct { + + // Newline-delimited file of words in Cloud Storage. Only a single file is accepted. + // +kubebuilder:validation:Optional + CloudStoragePath []CloudStoragePathParameters `json:"cloudStoragePath,omitempty" tf:"cloud_storage_path,omitempty"` + + // List of words or phrases to search for. + // +kubebuilder:validation:Optional + WordList []WordListParameters `json:"wordList,omitempty" tf:"word_list,omitempty"` +} + +type DictionaryWordListObservation struct { +} + +type DictionaryWordListParameters struct { + + // Words or phrases defining the dictionary. The dictionary must contain at least one + // phrase and every phrase must contain at least 2 characters that are letters or digits. + // +kubebuilder:validation:Required + Words []*string `json:"words" tf:"words,omitempty"` +} + +type ExcludeInfoTypesInfoTypesObservation struct { +} + +type ExcludeInfoTypesInfoTypesParameters struct { + + // Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed + // at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type ExcludeInfoTypesObservation struct { +} + +type ExcludeInfoTypesParameters struct { + + // If a finding is matched by any of the infoType detectors listed here, the finding will be excluded from the scan results. + // +kubebuilder:validation:Required + InfoTypes []ExcludeInfoTypesInfoTypesParameters `json:"infoTypes" tf:"info_types,omitempty"` +} + +type ExclusionRuleDictionaryObservation struct { +} + +type ExclusionRuleDictionaryParameters struct { + + // Newline-delimited file of words in Cloud Storage. Only a single file is accepted. + // +kubebuilder:validation:Optional + CloudStoragePath []DictionaryCloudStoragePathParameters `json:"cloudStoragePath,omitempty" tf:"cloud_storage_path,omitempty"` + + // List of words or phrases to search for. + // +kubebuilder:validation:Optional + WordList []DictionaryWordListParameters `json:"wordList,omitempty" tf:"word_list,omitempty"` +} + +type ExclusionRuleObservation struct { +} + +type ExclusionRuleParameters struct { + + // Dictionary which defines the rule. + // +kubebuilder:validation:Optional + Dictionary []ExclusionRuleDictionaryParameters `json:"dictionary,omitempty" tf:"dictionary,omitempty"` + + // Set of infoTypes for which findings would affect this rule. + // +kubebuilder:validation:Optional + ExcludeInfoTypes []ExcludeInfoTypesParameters `json:"excludeInfoTypes,omitempty" tf:"exclude_info_types,omitempty"` + + // How the rule is applied. See the documentation for more information: https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#MatchingType Possible values: ["MATCHING_TYPE_FULL_MATCH", "MATCHING_TYPE_PARTIAL_MATCH", "MATCHING_TYPE_INVERSE_MATCH"] + // +kubebuilder:validation:Required + MatchingType *string `json:"matchingType" tf:"matching_type,omitempty"` + + // Regular expression which defines the rule. + // +kubebuilder:validation:Optional + Regex []ExclusionRuleRegexParameters `json:"regex,omitempty" tf:"regex,omitempty"` +} + +type ExclusionRuleRegexObservation struct { +} + +type ExclusionRuleRegexParameters struct { + + // The index of the submatch to extract as findings. When not specified, the entire match is returned. No more than 3 may be included. + // +kubebuilder:validation:Optional + GroupIndexes []*int64 `json:"groupIndexes,omitempty" tf:"group_indexes,omitempty"` + + // Pattern defining the regular expression. + // Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub. + // +kubebuilder:validation:Required + Pattern *string `json:"pattern" tf:"pattern,omitempty"` +} + +type HotwordRegexObservation struct { +} + +type HotwordRegexParameters struct { + + // The index of the submatch to extract as findings. When not specified, + // the entire match is returned. No more than 3 may be included. + // +kubebuilder:validation:Optional + GroupIndexes []*int64 `json:"groupIndexes,omitempty" tf:"group_indexes,omitempty"` + + // Pattern defining the regular expression. Its syntax + // (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub. + // +kubebuilder:validation:Required + Pattern *string `json:"pattern" tf:"pattern,omitempty"` +} + +type HotwordRuleObservation struct { +} + +type HotwordRuleParameters struct { + + // Regular expression pattern defining what qualifies as a hotword. + // +kubebuilder:validation:Required + HotwordRegex []HotwordRegexParameters `json:"hotwordRegex" tf:"hotword_regex,omitempty"` + + // Likelihood adjustment to apply to all matching findings. + // +kubebuilder:validation:Required + LikelihoodAdjustment []LikelihoodAdjustmentParameters `json:"likelihoodAdjustment" tf:"likelihood_adjustment,omitempty"` + + // Proximity of the finding within which the entire hotword must reside. The total length of the window cannot + // exceed 1000 characters. Note that the finding itself will be included in the window, so that hotwords may be + // used to match substrings of the finding itself. For example, the certainty of a phone number regex + // '(\d{3}) \d{3}-\d{4}' could be adjusted upwards if the area code is known to be the local area code of a company + // office using the hotword regex '(xxx)', where 'xxx' is the area code in question. + // +kubebuilder:validation:Required + Proximity []ProximityParameters `json:"proximity" tf:"proximity,omitempty"` +} + +type InfoTypeObservation struct { +} + +type InfoTypeParameters struct { + + // Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names + // listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type InspectConfigInfoTypesObservation struct { +} + +type InspectConfigInfoTypesParameters struct { + + // Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed + // at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type InspectConfigObservation struct { +} + +type InspectConfigParameters struct { + + // List of options defining data content to scan. If empty, text, images, and other content will be included. Possible values: ["CONTENT_TEXT", "CONTENT_IMAGE"] + // +kubebuilder:validation:Optional + ContentOptions []*string `json:"contentOptions,omitempty" tf:"content_options,omitempty"` + + // Custom info types to be used. See https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more. + // +kubebuilder:validation:Optional + CustomInfoTypes []CustomInfoTypesParameters `json:"customInfoTypes,omitempty" tf:"custom_info_types,omitempty"` + + // When true, excludes type information of the findings. + // +kubebuilder:validation:Optional + ExcludeInfoTypes *bool `json:"excludeInfoTypes,omitempty" tf:"exclude_info_types,omitempty"` + + // When true, a contextual quote from the data that triggered a finding is included in the response. + // +kubebuilder:validation:Optional + IncludeQuote *bool `json:"includeQuote,omitempty" tf:"include_quote,omitempty"` + + // Restricts what infoTypes to look for. The values must correspond to InfoType values returned by infoTypes.list + // or listed at https://cloud.google.com/dlp/docs/infotypes-reference. + // + // When no InfoTypes or CustomInfoTypes are specified in a request, the system may automatically choose what detectors to run. + // By default this may be all types, but may change over time as detectors are updated. + // +kubebuilder:validation:Optional + InfoTypes []InspectConfigInfoTypesParameters `json:"infoTypes,omitempty" tf:"info_types,omitempty"` + + // Configuration to control the number of findings returned. + // +kubebuilder:validation:Optional + Limits []LimitsParameters `json:"limits,omitempty" tf:"limits,omitempty"` + + // Only returns findings equal or above this threshold. See https://cloud.google.com/dlp/docs/likelihood for more info Default value: "POSSIBLE" Possible values: ["VERY_UNLIKELY", "UNLIKELY", "POSSIBLE", "LIKELY", "VERY_LIKELY"] + // +kubebuilder:validation:Optional + MinLikelihood *string `json:"minLikelihood,omitempty" tf:"min_likelihood,omitempty"` + + // Set of rules to apply to the findings for this InspectConfig. Exclusion rules, contained in the set are executed in the end, + // other rules are executed in the order they are specified for each info type. + // +kubebuilder:validation:Optional + RuleSet []RuleSetParameters `json:"ruleSet,omitempty" tf:"rule_set,omitempty"` +} + +type InspectTemplateObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type InspectTemplateParameters struct { + + // A description of the inspect template. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // User set display name of the inspect template. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // The core content of the template. + // +kubebuilder:validation:Optional + InspectConfig []InspectConfigParameters `json:"inspectConfig,omitempty" tf:"inspect_config,omitempty"` + + // The parent of the inspect template in any of the following formats: + // + // * 'projects/{{project}}' + // * 'projects/{{project}}/locations/{{location}}' + // * 'organizations/{{organization_id}}' + // * 'organizations/{{organization_id}}/locations/{{location}}' + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` +} + +type LikelihoodAdjustmentObservation struct { +} + +type LikelihoodAdjustmentParameters struct { + + // Set the likelihood of a finding to a fixed value. Either this or relative_likelihood can be set. Possible values: ["VERY_UNLIKELY", "UNLIKELY", "POSSIBLE", "LIKELY", "VERY_LIKELY"] + // +kubebuilder:validation:Optional + FixedLikelihood *string `json:"fixedLikelihood,omitempty" tf:"fixed_likelihood,omitempty"` + + // Increase or decrease the likelihood by the specified number of levels. For example, + // if a finding would be POSSIBLE without the detection rule and relativeLikelihood is 1, + // then it is upgraded to LIKELY, while a value of -1 would downgrade it to UNLIKELY. + // Likelihood may never drop below VERY_UNLIKELY or exceed VERY_LIKELY, so applying an + // adjustment of 1 followed by an adjustment of -1 when base likelihood is VERY_LIKELY + // will result in a final likelihood of LIKELY. Either this or fixed_likelihood can be set. + // +kubebuilder:validation:Optional + RelativeLikelihood *int64 `json:"relativeLikelihood,omitempty" tf:"relative_likelihood,omitempty"` +} + +type LimitsObservation struct { +} + +type LimitsParameters struct { + + // Configuration of findings limit given for specified infoTypes. + // +kubebuilder:validation:Optional + MaxFindingsPerInfoType []MaxFindingsPerInfoTypeParameters `json:"maxFindingsPerInfoType,omitempty" tf:"max_findings_per_info_type,omitempty"` + + // Max number of findings that will be returned for each item scanned. The maximum returned is 2000. + // +kubebuilder:validation:Required + MaxFindingsPerItem *int64 `json:"maxFindingsPerItem" tf:"max_findings_per_item,omitempty"` + + // Max number of findings that will be returned per request/job. The maximum returned is 2000. + // +kubebuilder:validation:Required + MaxFindingsPerRequest *int64 `json:"maxFindingsPerRequest" tf:"max_findings_per_request,omitempty"` +} + +type MaxFindingsPerInfoTypeInfoTypeObservation struct { +} + +type MaxFindingsPerInfoTypeInfoTypeParameters struct { + + // Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed + // at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type MaxFindingsPerInfoTypeObservation struct { +} + +type MaxFindingsPerInfoTypeParameters struct { + + // Type of information the findings limit applies to. Only one limit per infoType should be provided. If InfoTypeLimit does + // not have an infoType, the DLP API applies the limit against all infoTypes that are found but not + // specified in another InfoTypeLimit. + // +kubebuilder:validation:Required + InfoType []MaxFindingsPerInfoTypeInfoTypeParameters `json:"infoType" tf:"info_type,omitempty"` + + // Max findings limit for the given infoType. + // +kubebuilder:validation:Required + MaxFindings *int64 `json:"maxFindings" tf:"max_findings,omitempty"` +} + +type ProximityObservation struct { +} + +type ProximityParameters struct { + + // Number of characters after the finding to consider. Either this or window_before must be specified + // +kubebuilder:validation:Optional + WindowAfter *int64 `json:"windowAfter,omitempty" tf:"window_after,omitempty"` + + // Number of characters before the finding to consider. Either this or window_after must be specified + // +kubebuilder:validation:Optional + WindowBefore *int64 `json:"windowBefore,omitempty" tf:"window_before,omitempty"` +} + +type RegexObservation struct { +} + +type RegexParameters struct { + + // The index of the submatch to extract as findings. When not specified, the entire match is returned. No more than 3 may be included. + // +kubebuilder:validation:Optional + GroupIndexes []*int64 `json:"groupIndexes,omitempty" tf:"group_indexes,omitempty"` + + // Pattern defining the regular expression. + // Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub. + // +kubebuilder:validation:Required + Pattern *string `json:"pattern" tf:"pattern,omitempty"` +} + +type RuleSetInfoTypesObservation struct { +} + +type RuleSetInfoTypesParameters struct { + + // Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed + // at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type RuleSetObservation struct { +} + +type RuleSetParameters struct { + + // List of infoTypes this rule set is applied to. + // +kubebuilder:validation:Required + InfoTypes []RuleSetInfoTypesParameters `json:"infoTypes" tf:"info_types,omitempty"` + + // Set of rules to be applied to infoTypes. The rules are applied in order. + // +kubebuilder:validation:Required + Rules []RulesParameters `json:"rules" tf:"rules,omitempty"` +} + +type RulesObservation struct { +} + +type RulesParameters struct { + + // The rule that specifies conditions when findings of infoTypes specified in InspectionRuleSet are removed from results. + // +kubebuilder:validation:Optional + ExclusionRule []ExclusionRuleParameters `json:"exclusionRule,omitempty" tf:"exclusion_rule,omitempty"` + + // Hotword-based detection rule. + // +kubebuilder:validation:Optional + HotwordRule []HotwordRuleParameters `json:"hotwordRule,omitempty" tf:"hotword_rule,omitempty"` +} + +type StoredTypeObservation struct { +} + +type StoredTypeParameters struct { + + // Resource name of the requested StoredInfoType, for example 'organizations/433245324/storedInfoTypes/432452342' + // or 'projects/project-id/storedInfoTypes/432452342'. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type WordListObservation struct { +} + +type WordListParameters struct { + + // Words or phrases defining the dictionary. The dictionary must contain at least one + // phrase and every phrase must contain at least 2 characters that are letters or digits. + // +kubebuilder:validation:Required + Words []*string `json:"words" tf:"words,omitempty"` +} + +// InspectTemplateSpec defines the desired state of InspectTemplate +type InspectTemplateSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InspectTemplateParameters `json:"forProvider"` +} + +// InspectTemplateStatus defines the observed state of InspectTemplate. +type InspectTemplateStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InspectTemplateObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InspectTemplate is the Schema for the InspectTemplates 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,gcpjet} +type InspectTemplate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InspectTemplateSpec `json:"spec"` + Status InspectTemplateStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InspectTemplateList contains a list of InspectTemplates +type InspectTemplateList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InspectTemplate `json:"items"` +} + +// Repository type metadata. +var ( + InspectTemplate_Kind = "InspectTemplate" + InspectTemplate_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InspectTemplate_Kind}.String() + InspectTemplate_KindAPIVersion = InspectTemplate_Kind + "." + CRDGroupVersion.String() + InspectTemplate_GroupVersionKind = CRDGroupVersion.WithKind(InspectTemplate_Kind) +) + +func init() { + SchemeBuilder.Register(&InspectTemplate{}, &InspectTemplateList{}) +} diff --git a/apis/datalossprevention/v1alpha1/zz_jobtrigger_terraformed.go b/apis/datalossprevention/v1alpha1/zz_jobtrigger_terraformed.go new file mode 100755 index 00000000..48bb3fec --- /dev/null +++ b/apis/datalossprevention/v1alpha1/zz_jobtrigger_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this JobTrigger +func (mg *JobTrigger) GetTerraformResourceType() string { + return "google_data_loss_prevention_job_trigger" +} + +// GetConnectionDetailsMapping for this JobTrigger +func (tr *JobTrigger) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this JobTrigger +func (tr *JobTrigger) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this JobTrigger +func (tr *JobTrigger) SetObservation(obs map[string]interface{}) 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 JobTrigger +func (tr *JobTrigger) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this JobTrigger +func (tr *JobTrigger) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this JobTrigger +func (tr *JobTrigger) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this JobTrigger using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *JobTrigger) LateInitialize(attrs []byte) (bool, error) { + params := &JobTriggerParameters{} + 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 *JobTrigger) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datalossprevention/v1alpha1/zz_jobtrigger_types.go b/apis/datalossprevention/v1alpha1/zz_jobtrigger_types.go new file mode 100755 index 00000000..2c87b50f --- /dev/null +++ b/apis/datalossprevention/v1alpha1/zz_jobtrigger_types.go @@ -0,0 +1,422 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ActionsObservation struct { +} + +type ActionsParameters struct { + + // Schedule for triggered jobs + // +kubebuilder:validation:Required + SaveFindings []SaveFindingsParameters `json:"saveFindings" tf:"save_findings,omitempty"` +} + +type BigQueryOptionsObservation struct { +} + +type BigQueryOptionsParameters struct { + + // Set of files to scan. + // +kubebuilder:validation:Required + TableReference []TableReferenceParameters `json:"tableReference" tf:"table_reference,omitempty"` +} + +type CloudStorageOptionsObservation struct { +} + +type CloudStorageOptionsParameters struct { + + // Max number of bytes to scan from a file. If a scanned file's size is bigger than this value + // then the rest of the bytes are omitted. + // +kubebuilder:validation:Optional + BytesLimitPerFile *int64 `json:"bytesLimitPerFile,omitempty" tf:"bytes_limit_per_file,omitempty"` + + // Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. + // Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. + // +kubebuilder:validation:Optional + BytesLimitPerFilePercent *int64 `json:"bytesLimitPerFilePercent,omitempty" tf:"bytes_limit_per_file_percent,omitempty"` + + // Set of files to scan. + // +kubebuilder:validation:Required + FileSet []FileSetParameters `json:"fileSet" tf:"file_set,omitempty"` + + // List of file type groups to include in the scan. If empty, all files are scanned and available data + // format processors are applied. In addition, the binary content of the selected files is always scanned as well. + // Images are scanned only as binary if the specified region does not support image inspection and no fileTypes were specified. Possible values: ["BINARY_FILE", "TEXT_FILE", "IMAGE", "WORD", "PDF", "AVRO", "CSV", "TSV"] + // +kubebuilder:validation:Optional + FileTypes []*string `json:"fileTypes,omitempty" tf:"file_types,omitempty"` + + // Limits the number of files to scan to this percentage of the input FileSet. Number of files scanned is rounded down. + // Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. + // +kubebuilder:validation:Optional + FilesLimitPercent *int64 `json:"filesLimitPercent,omitempty" tf:"files_limit_percent,omitempty"` + + // How to sample bytes if not all bytes are scanned. Meaningful only when used in conjunction with bytesLimitPerFile. + // If not specified, scanning would start from the top. Possible values: ["TOP", "RANDOM_START"] + // +kubebuilder:validation:Optional + SampleMethod *string `json:"sampleMethod,omitempty" tf:"sample_method,omitempty"` +} + +type DatastoreOptionsObservation struct { +} + +type DatastoreOptionsParameters struct { + + // A representation of a Datastore kind. + // +kubebuilder:validation:Required + Kind []KindParameters `json:"kind" tf:"kind,omitempty"` + + // Datastore partition ID. A partition ID identifies a grouping of entities. The grouping + // is always by project and namespace, however the namespace ID may be empty. + // +kubebuilder:validation:Required + PartitionID []PartitionIDParameters `json:"partitionId" tf:"partition_id,omitempty"` +} + +type FileSetObservation struct { +} + +type FileSetParameters struct { + + // The regex-filtered set of files to scan. + // +kubebuilder:validation:Optional + RegexFileSet []RegexFileSetParameters `json:"regexFileSet,omitempty" tf:"regex_file_set,omitempty"` + + // The Cloud Storage url of the file(s) to scan, in the format 'gs:///'. Trailing wildcard + // in the path is allowed. + // + // If the url ends in a trailing slash, the bucket or directory represented by the url will be scanned + // non-recursively (content in sub-directories will not be scanned). This means that 'gs://mybucket/' is + // equivalent to 'gs://mybucket/*', and 'gs://mybucket/directory/' is equivalent to 'gs://mybucket/directory/*'. + // +kubebuilder:validation:Optional + URL *string `json:"url,omitempty" tf:"url,omitempty"` +} + +type InspectJobObservation struct { +} + +type InspectJobParameters struct { + + // A task to execute on the completion of a job. + // +kubebuilder:validation:Required + Actions []ActionsParameters `json:"actions" tf:"actions,omitempty"` + + // The name of the template to run when this job is triggered. + // +kubebuilder:validation:Required + InspectTemplateName *string `json:"inspectTemplateName" tf:"inspect_template_name,omitempty"` + + // Information on where to inspect + // +kubebuilder:validation:Required + StorageConfig []StorageConfigParameters `json:"storageConfig" tf:"storage_config,omitempty"` +} + +type JobTriggerObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LastRunTime *string `json:"lastRunTime,omitempty" tf:"last_run_time,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type JobTriggerParameters struct { + + // A description of the job trigger. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // User set display name of the job trigger. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // Controls what and how to inspect for findings. + // +kubebuilder:validation:Optional + InspectJob []InspectJobParameters `json:"inspectJob,omitempty" tf:"inspect_job,omitempty"` + + // The parent of the trigger, either in the format 'projects/{{project}}' + // or 'projects/{{project}}/locations/{{location}}' + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` + + // Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"] + // +kubebuilder:validation:Optional + Status *string `json:"status,omitempty" tf:"status,omitempty"` + + // What event needs to occur for a new job to be started. + // +kubebuilder:validation:Required + Triggers []TriggersParameters `json:"triggers" tf:"triggers,omitempty"` +} + +type KindObservation struct { +} + +type KindParameters struct { + + // The name of the Datastore kind. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type OutputConfigObservation struct { +} + +type OutputConfigParameters struct { + + // Schema used for writing the findings for Inspect jobs. This field is only used for + // Inspect and must be unspecified for Risk jobs. Columns are derived from the Finding + // object. If appending to an existing table, any columns from the predefined schema + // that are missing will be added. No columns in the existing table will be deleted. + // + // If unspecified, then all available columns will be used for a new table or an (existing) + // table with no schema, and no changes will be made to an existing table that has a schema. + // Only for use with external storage. Possible values: ["BASIC_COLUMNS", "GCS_COLUMNS", "DATASTORE_COLUMNS", "BIG_QUERY_COLUMNS", "ALL_COLUMNS"] + // +kubebuilder:validation:Optional + OutputSchema *string `json:"outputSchema,omitempty" tf:"output_schema,omitempty"` + + // Information on the location of the target BigQuery Table. + // +kubebuilder:validation:Required + Table []TableParameters `json:"table" tf:"table,omitempty"` +} + +type PartitionIDObservation struct { +} + +type PartitionIDParameters struct { + + // If not empty, the ID of the namespace to which the entities belong. + // +kubebuilder:validation:Optional + NamespaceID *string `json:"namespaceId,omitempty" tf:"namespace_id,omitempty"` + + // The ID of the project to which the entities belong. + // +kubebuilder:validation:Required + ProjectID *string `json:"projectId" tf:"project_id,omitempty"` +} + +type RegexFileSetObservation struct { +} + +type RegexFileSetParameters struct { + + // The name of a Cloud Storage bucket. + // +kubebuilder:validation:Required + BucketName *string `json:"bucketName" tf:"bucket_name,omitempty"` + + // A list of regular expressions matching file paths to exclude. All files in the bucket that match at + // least one of these regular expressions will be excluded from the scan. + // +kubebuilder:validation:Optional + ExcludeRegex []*string `json:"excludeRegex,omitempty" tf:"exclude_regex,omitempty"` + + // A list of regular expressions matching file paths to include. All files in the bucket + // that match at least one of these regular expressions will be included in the set of files, + // except for those that also match an item in excludeRegex. Leaving this field empty will + // match all files by default (this is equivalent to including .* in the list) + // +kubebuilder:validation:Optional + IncludeRegex []*string `json:"includeRegex,omitempty" tf:"include_regex,omitempty"` +} + +type SaveFindingsObservation struct { +} + +type SaveFindingsParameters struct { + + // Information on where to store output + // +kubebuilder:validation:Required + OutputConfig []OutputConfigParameters `json:"outputConfig" tf:"output_config,omitempty"` +} + +type ScheduleObservation struct { +} + +type ScheduleParameters struct { + + // With this option a job is started a regular periodic basis. For example: every day (86400 seconds). + // + // A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. + // + // This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + // + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + RecurrencePeriodDuration *string `json:"recurrencePeriodDuration,omitempty" tf:"recurrence_period_duration,omitempty"` +} + +type StorageConfigObservation struct { +} + +type StorageConfigParameters struct { + + // Options defining BigQuery table and row identifiers. + // +kubebuilder:validation:Optional + BigQueryOptions []BigQueryOptionsParameters `json:"bigQueryOptions,omitempty" tf:"big_query_options,omitempty"` + + // Options defining a file or a set of files within a Google Cloud Storage bucket. + // +kubebuilder:validation:Optional + CloudStorageOptions []CloudStorageOptionsParameters `json:"cloudStorageOptions,omitempty" tf:"cloud_storage_options,omitempty"` + + // Options defining a data set within Google Cloud Datastore. + // +kubebuilder:validation:Optional + DatastoreOptions []DatastoreOptionsParameters `json:"datastoreOptions,omitempty" tf:"datastore_options,omitempty"` + + // Information on where to inspect + // +kubebuilder:validation:Optional + TimespanConfig []TimespanConfigParameters `json:"timespanConfig,omitempty" tf:"timespan_config,omitempty"` +} + +type TableObservation struct { +} + +type TableParameters struct { + + // Dataset ID of the table. + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // The Google Cloud Platform project ID of the project containing the table. + // +kubebuilder:validation:Required + ProjectID *string `json:"projectId" tf:"project_id,omitempty"` + + // Name of the table. If is not set a new one will be generated for you with the following format: + // 'dlp_googleapis_yyyy_mm_dd_[dlp_job_id]'. Pacific timezone will be used for generating the date details. + // +kubebuilder:validation:Optional + TableID *string `json:"tableId,omitempty" tf:"table_id,omitempty"` +} + +type TableReferenceObservation struct { +} + +type TableReferenceParameters struct { + + // The dataset ID of the table. + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // The Google Cloud Platform project ID of the project containing the table. + // +kubebuilder:validation:Required + ProjectID *string `json:"projectId" tf:"project_id,omitempty"` + + // The name of the table. + // +kubebuilder:validation:Required + TableID *string `json:"tableId" tf:"table_id,omitempty"` +} + +type TimespanConfigObservation struct { +} + +type TimespanConfigParameters struct { + + // When the job is started by a JobTrigger we will automatically figure out a valid startTime to avoid + // scanning files that have not been modified since the last time the JobTrigger executed. This will + // be based on the time of the execution of the last run of the JobTrigger. + // +kubebuilder:validation:Optional + EnableAutoPopulationOfTimespanConfig *bool `json:"enableAutoPopulationOfTimespanConfig,omitempty" tf:"enable_auto_population_of_timespan_config,omitempty"` + + // Exclude files or rows newer than this value. If set to zero, no upper time limit is applied. + // +kubebuilder:validation:Optional + EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"` + + // Exclude files or rows older than this value. + // +kubebuilder:validation:Optional + StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"` + + // Information on where to inspect + // +kubebuilder:validation:Required + TimestampField []TimestampFieldParameters `json:"timestampField" tf:"timestamp_field,omitempty"` +} + +type TimestampFieldObservation struct { +} + +type TimestampFieldParameters struct { + + // Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. + // + // For BigQuery: Required to filter out rows based on the given start and end times. If not specified and the table was + // modified between the given start and end times, the entire table will be scanned. The valid data types of the timestamp + // field are: INTEGER, DATE, TIMESTAMP, or DATETIME BigQuery column. + // + // For Datastore. Valid data types of the timestamp field are: TIMESTAMP. Datastore entity will be scanned if the + // timestamp property does not exist or its value is empty or invalid. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type TriggersObservation struct { +} + +type TriggersParameters struct { + + // Schedule for triggered jobs + // +kubebuilder:validation:Optional + Schedule []ScheduleParameters `json:"schedule,omitempty" tf:"schedule,omitempty"` +} + +// JobTriggerSpec defines the desired state of JobTrigger +type JobTriggerSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider JobTriggerParameters `json:"forProvider"` +} + +// JobTriggerStatus defines the observed state of JobTrigger. +type JobTriggerStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider JobTriggerObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// JobTrigger is the Schema for the JobTriggers 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,gcpjet} +type JobTrigger struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec JobTriggerSpec `json:"spec"` + Status JobTriggerStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// JobTriggerList contains a list of JobTriggers +type JobTriggerList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []JobTrigger `json:"items"` +} + +// Repository type metadata. +var ( + JobTrigger_Kind = "JobTrigger" + JobTrigger_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: JobTrigger_Kind}.String() + JobTrigger_KindAPIVersion = JobTrigger_Kind + "." + CRDGroupVersion.String() + JobTrigger_GroupVersionKind = CRDGroupVersion.WithKind(JobTrigger_Kind) +) + +func init() { + SchemeBuilder.Register(&JobTrigger{}, &JobTriggerList{}) +} diff --git a/apis/datalossprevention/v1alpha1/zz_storedinfotype_terraformed.go b/apis/datalossprevention/v1alpha1/zz_storedinfotype_terraformed.go new file mode 100755 index 00000000..41591050 --- /dev/null +++ b/apis/datalossprevention/v1alpha1/zz_storedinfotype_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this StoredInfoType +func (mg *StoredInfoType) GetTerraformResourceType() string { + return "google_data_loss_prevention_stored_info_type" +} + +// GetConnectionDetailsMapping for this StoredInfoType +func (tr *StoredInfoType) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this StoredInfoType +func (tr *StoredInfoType) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this StoredInfoType +func (tr *StoredInfoType) SetObservation(obs map[string]interface{}) 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 StoredInfoType +func (tr *StoredInfoType) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this StoredInfoType +func (tr *StoredInfoType) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this StoredInfoType +func (tr *StoredInfoType) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this StoredInfoType using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *StoredInfoType) LateInitialize(attrs []byte) (bool, error) { + params := &StoredInfoTypeParameters{} + 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 *StoredInfoType) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datalossprevention/v1alpha1/zz_storedinfotype_types.go b/apis/datalossprevention/v1alpha1/zz_storedinfotype_types.go new file mode 100755 index 00000000..a8e639df --- /dev/null +++ b/apis/datalossprevention/v1alpha1/zz_storedinfotype_types.go @@ -0,0 +1,244 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BigQueryFieldObservation struct { +} + +type BigQueryFieldParameters struct { + + // Designated field in the BigQuery table. + // +kubebuilder:validation:Required + Field []FieldParameters `json:"field" tf:"field,omitempty"` + + // Field in a BigQuery table where each cell represents a dictionary phrase. + // +kubebuilder:validation:Required + Table []BigQueryFieldTableParameters `json:"table" tf:"table,omitempty"` +} + +type BigQueryFieldTableObservation struct { +} + +type BigQueryFieldTableParameters struct { + + // The dataset ID of the table. + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // The Google Cloud Platform project ID of the project containing the table. + // +kubebuilder:validation:Required + ProjectID *string `json:"projectId" tf:"project_id,omitempty"` + + // The name of the table. + // +kubebuilder:validation:Required + TableID *string `json:"tableId" tf:"table_id,omitempty"` +} + +type CloudStorageFileSetObservation struct { +} + +type CloudStorageFileSetParameters struct { + + // The url, in the format 'gs:///'. Trailing wildcard in the path is allowed. + // +kubebuilder:validation:Required + URL *string `json:"url" tf:"url,omitempty"` +} + +type FieldObservation struct { +} + +type FieldParameters struct { + + // Name describing the field. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type LargeCustomDictionaryObservation struct { +} + +type LargeCustomDictionaryParameters struct { + + // Field in a BigQuery table where each cell represents a dictionary phrase. + // +kubebuilder:validation:Optional + BigQueryField []BigQueryFieldParameters `json:"bigQueryField,omitempty" tf:"big_query_field,omitempty"` + + // Set of files containing newline-delimited lists of dictionary phrases. + // +kubebuilder:validation:Optional + CloudStorageFileSet []CloudStorageFileSetParameters `json:"cloudStorageFileSet,omitempty" tf:"cloud_storage_file_set,omitempty"` + + // Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. + // If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + // +kubebuilder:validation:Required + OutputPath []OutputPathParameters `json:"outputPath" tf:"output_path,omitempty"` +} + +type OutputPathObservation struct { +} + +type OutputPathParameters struct { + + // A url representing a file or path (no wildcards) in Cloud Storage. Example: 'gs://[BUCKET_NAME]/dictionary.txt' + // +kubebuilder:validation:Required + Path *string `json:"path" tf:"path,omitempty"` +} + +type StoredInfoTypeDictionaryCloudStoragePathObservation struct { +} + +type StoredInfoTypeDictionaryCloudStoragePathParameters struct { + + // A url representing a file or path (no wildcards) in Cloud Storage. Example: 'gs://[BUCKET_NAME]/dictionary.txt' + // +kubebuilder:validation:Required + Path *string `json:"path" tf:"path,omitempty"` +} + +type StoredInfoTypeDictionaryObservation struct { +} + +type StoredInfoTypeDictionaryParameters struct { + + // Newline-delimited file of words in Cloud Storage. Only a single file is accepted. + // +kubebuilder:validation:Optional + CloudStoragePath []StoredInfoTypeDictionaryCloudStoragePathParameters `json:"cloudStoragePath,omitempty" tf:"cloud_storage_path,omitempty"` + + // List of words or phrases to search for. + // +kubebuilder:validation:Optional + WordList []StoredInfoTypeDictionaryWordListParameters `json:"wordList,omitempty" tf:"word_list,omitempty"` +} + +type StoredInfoTypeDictionaryWordListObservation struct { +} + +type StoredInfoTypeDictionaryWordListParameters struct { + + // Words or phrases defining the dictionary. The dictionary must contain at least one + // phrase and every phrase must contain at least 2 characters that are letters or digits. + // +kubebuilder:validation:Required + Words []*string `json:"words" tf:"words,omitempty"` +} + +type StoredInfoTypeObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type StoredInfoTypeParameters struct { + + // A description of the info type. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Dictionary which defines the rule. + // +kubebuilder:validation:Optional + Dictionary []StoredInfoTypeDictionaryParameters `json:"dictionary,omitempty" tf:"dictionary,omitempty"` + + // User set display name of the info type. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // Dictionary which defines the rule. + // +kubebuilder:validation:Optional + LargeCustomDictionary []LargeCustomDictionaryParameters `json:"largeCustomDictionary,omitempty" tf:"large_custom_dictionary,omitempty"` + + // The parent of the info type in any of the following formats: + // + // * 'projects/{{project}}' + // * 'projects/{{project}}/locations/{{location}}' + // * 'organizations/{{organization_id}}' + // * 'organizations/{{organization_id}}/locations/{{location}}' + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` + + // Regular expression which defines the rule. + // +kubebuilder:validation:Optional + Regex []StoredInfoTypeRegexParameters `json:"regex,omitempty" tf:"regex,omitempty"` +} + +type StoredInfoTypeRegexObservation struct { +} + +type StoredInfoTypeRegexParameters struct { + + // The index of the submatch to extract as findings. When not specified, the entire match is returned. No more than 3 may be included. + // +kubebuilder:validation:Optional + GroupIndexes []*int64 `json:"groupIndexes,omitempty" tf:"group_indexes,omitempty"` + + // Pattern defining the regular expression. + // Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub. + // +kubebuilder:validation:Required + Pattern *string `json:"pattern" tf:"pattern,omitempty"` +} + +// StoredInfoTypeSpec defines the desired state of StoredInfoType +type StoredInfoTypeSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider StoredInfoTypeParameters `json:"forProvider"` +} + +// StoredInfoTypeStatus defines the observed state of StoredInfoType. +type StoredInfoTypeStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider StoredInfoTypeObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// StoredInfoType is the Schema for the StoredInfoTypes 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,gcpjet} +type StoredInfoType struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec StoredInfoTypeSpec `json:"spec"` + Status StoredInfoTypeStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// StoredInfoTypeList contains a list of StoredInfoTypes +type StoredInfoTypeList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []StoredInfoType `json:"items"` +} + +// Repository type metadata. +var ( + StoredInfoType_Kind = "StoredInfoType" + StoredInfoType_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: StoredInfoType_Kind}.String() + StoredInfoType_KindAPIVersion = StoredInfoType_Kind + "." + CRDGroupVersion.String() + StoredInfoType_GroupVersionKind = CRDGroupVersion.WithKind(StoredInfoType_Kind) +) + +func init() { + SchemeBuilder.Register(&StoredInfoType{}, &StoredInfoTypeList{}) +} diff --git a/apis/dataproc/v1alpha1/zz_autoscalingpolicy_terraformed.go b/apis/dataproc/v1alpha1/zz_autoscalingpolicy_terraformed.go new file mode 100755 index 00000000..6abb01fe --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_autoscalingpolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AutoscalingPolicy +func (mg *AutoscalingPolicy) GetTerraformResourceType() string { + return "google_dataproc_autoscaling_policy" +} + +// GetConnectionDetailsMapping for this AutoscalingPolicy +func (tr *AutoscalingPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AutoscalingPolicy +func (tr *AutoscalingPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AutoscalingPolicy +func (tr *AutoscalingPolicy) SetObservation(obs map[string]interface{}) 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 AutoscalingPolicy +func (tr *AutoscalingPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AutoscalingPolicy +func (tr *AutoscalingPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AutoscalingPolicy +func (tr *AutoscalingPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AutoscalingPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AutoscalingPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &AutoscalingPolicyParameters{} + 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 *AutoscalingPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dataproc/v1alpha1/zz_autoscalingpolicy_types.go b/apis/dataproc/v1alpha1/zz_autoscalingpolicy_types.go new file mode 100755 index 00000000..995ba822 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_autoscalingpolicy_types.go @@ -0,0 +1,243 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AutoscalingPolicyObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type AutoscalingPolicyParameters struct { + + // Basic algorithm for autoscaling. + // +kubebuilder:validation:Optional + BasicAlgorithm []BasicAlgorithmParameters `json:"basicAlgorithm,omitempty" tf:"basic_algorithm,omitempty"` + + // The location where the autoscaling policy should reside. + // The default value is 'global'. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // The policy id. The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), + // and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of between + // 3 and 50 characters. + // +kubebuilder:validation:Required + PolicyID *string `json:"policyId" tf:"policy_id,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Describes how the autoscaler will operate for secondary workers. + // +kubebuilder:validation:Optional + SecondaryWorkerConfig []SecondaryWorkerConfigParameters `json:"secondaryWorkerConfig,omitempty" tf:"secondary_worker_config,omitempty"` + + // Describes how the autoscaler will operate for primary workers. + // +kubebuilder:validation:Optional + WorkerConfig []WorkerConfigParameters `json:"workerConfig,omitempty" tf:"worker_config,omitempty"` +} + +type BasicAlgorithmObservation struct { +} + +type BasicAlgorithmParameters struct { + + // Duration between scaling events. A scaling period starts after the + // update operation from the previous event has completed. + // + // Bounds: [2m, 1d]. Default: 2m. + // +kubebuilder:validation:Optional + CooldownPeriod *string `json:"cooldownPeriod,omitempty" tf:"cooldown_period,omitempty"` + + // YARN autoscaling configuration. + // +kubebuilder:validation:Required + YarnConfig []YarnConfigParameters `json:"yarnConfig" tf:"yarn_config,omitempty"` +} + +type SecondaryWorkerConfigObservation struct { +} + +type SecondaryWorkerConfigParameters struct { + + // Maximum number of instances for this group. Note that by default, clusters will not use + // secondary workers. Required for secondary workers if the minimum secondary instances is set. + // Bounds: [minInstances, ). Defaults to 0. + // +kubebuilder:validation:Optional + MaxInstances *int64 `json:"maxInstances,omitempty" tf:"max_instances,omitempty"` + + // Minimum number of instances for this group. Bounds: [0, maxInstances]. Defaults to 0. + // +kubebuilder:validation:Optional + MinInstances *int64 `json:"minInstances,omitempty" tf:"min_instances,omitempty"` + + // Weight for the instance group, which is used to determine the fraction of total workers + // in the cluster from this instance group. For example, if primary workers have weight 2, + // and secondary workers have weight 1, the cluster will have approximately 2 primary workers + // for each secondary worker. + // + // The cluster may not reach the specified balance if constrained by min/max bounds or other + // autoscaling settings. For example, if maxInstances for secondary workers is 0, then only + // primary workers will be added. The cluster can also be out of balance when created. + // + // If weight is not set on any instance group, the cluster will default to equal weight for + // all groups: the cluster will attempt to maintain an equal number of workers in each group + // within the configured size bounds for each group. If weight is set for one group only, + // the cluster will default to zero weight on the unset group. For example if weight is set + // only on primary workers, the cluster will use primary workers only and no secondary workers. + // +kubebuilder:validation:Optional + Weight *int64 `json:"weight,omitempty" tf:"weight,omitempty"` +} + +type WorkerConfigObservation struct { +} + +type WorkerConfigParameters struct { + + // Maximum number of instances for this group. + // +kubebuilder:validation:Required + MaxInstances *int64 `json:"maxInstances" tf:"max_instances,omitempty"` + + // Minimum number of instances for this group. Bounds: [2, maxInstances]. Defaults to 2. + // +kubebuilder:validation:Optional + MinInstances *int64 `json:"minInstances,omitempty" tf:"min_instances,omitempty"` + + // Weight for the instance group, which is used to determine the fraction of total workers + // in the cluster from this instance group. For example, if primary workers have weight 2, + // and secondary workers have weight 1, the cluster will have approximately 2 primary workers + // for each secondary worker. + // + // The cluster may not reach the specified balance if constrained by min/max bounds or other + // autoscaling settings. For example, if maxInstances for secondary workers is 0, then only + // primary workers will be added. The cluster can also be out of balance when created. + // + // If weight is not set on any instance group, the cluster will default to equal weight for + // all groups: the cluster will attempt to maintain an equal number of workers in each group + // within the configured size bounds for each group. If weight is set for one group only, + // the cluster will default to zero weight on the unset group. For example if weight is set + // only on primary workers, the cluster will use primary workers only and no secondary workers. + // +kubebuilder:validation:Optional + Weight *int64 `json:"weight,omitempty" tf:"weight,omitempty"` +} + +type YarnConfigObservation struct { +} + +type YarnConfigParameters struct { + + // Timeout for YARN graceful decommissioning of Node Managers. Specifies the + // duration to wait for jobs to complete before forcefully removing workers + // (and potentially interrupting jobs). Only applicable to downscaling operations. + // + // Bounds: [0s, 1d]. + // +kubebuilder:validation:Required + GracefulDecommissionTimeout *string `json:"gracefulDecommissionTimeout" tf:"graceful_decommission_timeout,omitempty"` + + // Fraction of average pending memory in the last cooldown period for which to + // remove workers. A scale-down factor of 1 will result in scaling down so that there + // is no available memory remaining after the update (more aggressive scaling). + // A scale-down factor of 0 disables removing workers, which can be beneficial for + // autoscaling a single job. + // + // Bounds: [0.0, 1.0]. + // +kubebuilder:validation:Required + ScaleDownFactor *float64 `json:"scaleDownFactor" tf:"scale_down_factor,omitempty"` + + // Minimum scale-down threshold as a fraction of total cluster size before scaling occurs. + // For example, in a 20-worker cluster, a threshold of 0.1 means the autoscaler must + // recommend at least a 2 worker scale-down for the cluster to scale. A threshold of 0 + // means the autoscaler will scale down on any recommended change. + // + // Bounds: [0.0, 1.0]. Default: 0.0. + // +kubebuilder:validation:Optional + ScaleDownMinWorkerFraction *float64 `json:"scaleDownMinWorkerFraction,omitempty" tf:"scale_down_min_worker_fraction,omitempty"` + + // Fraction of average pending memory in the last cooldown period for which to + // add workers. A scale-up factor of 1.0 will result in scaling up so that there + // is no pending memory remaining after the update (more aggressive scaling). + // A scale-up factor closer to 0 will result in a smaller magnitude of scaling up + // (less aggressive scaling). + // + // Bounds: [0.0, 1.0]. + // +kubebuilder:validation:Required + ScaleUpFactor *float64 `json:"scaleUpFactor" tf:"scale_up_factor,omitempty"` + + // Minimum scale-up threshold as a fraction of total cluster size before scaling + // occurs. For example, in a 20-worker cluster, a threshold of 0.1 means the autoscaler + // must recommend at least a 2-worker scale-up for the cluster to scale. A threshold of + // 0 means the autoscaler will scale up on any recommended change. + // + // Bounds: [0.0, 1.0]. Default: 0.0. + // +kubebuilder:validation:Optional + ScaleUpMinWorkerFraction *float64 `json:"scaleUpMinWorkerFraction,omitempty" tf:"scale_up_min_worker_fraction,omitempty"` +} + +// AutoscalingPolicySpec defines the desired state of AutoscalingPolicy +type AutoscalingPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AutoscalingPolicyParameters `json:"forProvider"` +} + +// AutoscalingPolicyStatus defines the observed state of AutoscalingPolicy. +type AutoscalingPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AutoscalingPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AutoscalingPolicy is the Schema for the AutoscalingPolicys 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,gcpjet} +type AutoscalingPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AutoscalingPolicySpec `json:"spec"` + Status AutoscalingPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AutoscalingPolicyList contains a list of AutoscalingPolicys +type AutoscalingPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AutoscalingPolicy `json:"items"` +} + +// Repository type metadata. +var ( + AutoscalingPolicy_Kind = "AutoscalingPolicy" + AutoscalingPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AutoscalingPolicy_Kind}.String() + AutoscalingPolicy_KindAPIVersion = AutoscalingPolicy_Kind + "." + CRDGroupVersion.String() + AutoscalingPolicy_GroupVersionKind = CRDGroupVersion.WithKind(AutoscalingPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&AutoscalingPolicy{}, &AutoscalingPolicyList{}) +} diff --git a/apis/dataproc/v1alpha1/zz_cluster_terraformed.go b/apis/dataproc/v1alpha1/zz_cluster_terraformed.go new file mode 100755 index 00000000..d6559e78 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_cluster_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Cluster +func (mg *Cluster) GetTerraformResourceType() string { + return "google_dataproc_cluster" +} + +// GetConnectionDetailsMapping for this Cluster +func (tr *Cluster) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Cluster +func (tr *Cluster) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Cluster +func (tr *Cluster) SetObservation(obs map[string]interface{}) 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 Cluster +func (tr *Cluster) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Cluster +func (tr *Cluster) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Cluster +func (tr *Cluster) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Cluster using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Cluster) LateInitialize(attrs []byte) (bool, error) { + params := &ClusterParameters{} + 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 *Cluster) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dataproc/v1alpha1/zz_cluster_types.go b/apis/dataproc/v1alpha1/zz_cluster_types.go new file mode 100755 index 00000000..1dd2a3f7 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_cluster_types.go @@ -0,0 +1,508 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AcceleratorsObservation struct { +} + +type AcceleratorsParameters struct { + + // The number of the accelerator cards of this type exposed to this instance. Often restricted to one of 1, 2, 4, or 8. + // +kubebuilder:validation:Required + AcceleratorCount *int64 `json:"acceleratorCount" tf:"accelerator_count,omitempty"` + + // The short name of the accelerator type to expose to this instance. For example, nvidia-tesla-k80. + // +kubebuilder:validation:Required + AcceleratorType *string `json:"acceleratorType" tf:"accelerator_type,omitempty"` +} + +type AutoscalingConfigObservation struct { +} + +type AutoscalingConfigParameters struct { + + // The autoscaling policy used by the cluster. + // +kubebuilder:validation:Required + PolicyURI *string `json:"policyUri" tf:"policy_uri,omitempty"` +} + +type ClusterConfigObservation struct { + Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"` +} + +type ClusterConfigParameters struct { + + // The autoscaling policy config associated with the cluster. + // +kubebuilder:validation:Optional + AutoscalingConfig []AutoscalingConfigParameters `json:"autoscalingConfig,omitempty" tf:"autoscaling_config,omitempty"` + + // The Customer managed encryption keys settings for the cluster. + // +kubebuilder:validation:Optional + EncryptionConfig []EncryptionConfigParameters `json:"encryptionConfig,omitempty" tf:"encryption_config,omitempty"` + + // Common config settings for resources of Google Compute Engine cluster instances, applicable to all instances in the cluster. + // +kubebuilder:validation:Optional + GceClusterConfig []GceClusterConfigParameters `json:"gceClusterConfig,omitempty" tf:"gce_cluster_config,omitempty"` + + // Commands to execute on each node after config is completed. You can specify multiple versions of these. + // +kubebuilder:validation:Optional + InitializationAction []InitializationActionParameters `json:"initializationAction,omitempty" tf:"initialization_action,omitempty"` + + // The Google Compute Engine config settings for the master/worker instances in a cluster. + // +kubebuilder:validation:Optional + MasterConfig []MasterConfigParameters `json:"masterConfig,omitempty" tf:"master_config,omitempty"` + + // The Google Compute Engine config settings for the additional (aka preemptible) instances in a cluster. + // +kubebuilder:validation:Optional + PreemptibleWorkerConfig []PreemptibleWorkerConfigParameters `json:"preemptibleWorkerConfig,omitempty" tf:"preemptible_worker_config,omitempty"` + + // Security related configuration. + // +kubebuilder:validation:Optional + SecurityConfig []SecurityConfigParameters `json:"securityConfig,omitempty" tf:"security_config,omitempty"` + + // The config settings for software inside the cluster. + // +kubebuilder:validation:Optional + SoftwareConfig []SoftwareConfigParameters `json:"softwareConfig,omitempty" tf:"software_config,omitempty"` + + // The Cloud Storage staging bucket used to stage files, such as Hadoop jars, between client machines and the cluster. Note: If you don't explicitly specify a staging_bucket then GCP will auto create / assign one for you. However, you are not guaranteed an auto generated bucket which is solely dedicated to your cluster; it may be shared with other clusters in the same region/zone also choosing to use the auto generation option. + // +kubebuilder:validation:Optional + StagingBucket *string `json:"stagingBucket,omitempty" tf:"staging_bucket,omitempty"` + + // The Cloud Storage temp bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. Note: If you don't explicitly specify a temp_bucket then GCP will auto create / assign one for you. + // +kubebuilder:validation:Optional + TempBucket *string `json:"tempBucket,omitempty" tf:"temp_bucket,omitempty"` + + // The Google Compute Engine config settings for the master/worker instances in a cluster. + // +kubebuilder:validation:Optional + WorkerConfig []ClusterConfigWorkerConfigParameters `json:"workerConfig,omitempty" tf:"worker_config,omitempty"` +} + +type ClusterConfigWorkerConfigObservation struct { + InstanceNames []*string `json:"instanceNames,omitempty" tf:"instance_names,omitempty"` +} + +type ClusterConfigWorkerConfigParameters struct { + + // The Compute Engine accelerator (GPU) configuration for these instances. Can be specified multiple times. + // +kubebuilder:validation:Optional + Accelerators []WorkerConfigAcceleratorsParameters `json:"accelerators,omitempty" tf:"accelerators,omitempty"` + + // Disk Config + // +kubebuilder:validation:Optional + DiskConfig []WorkerConfigDiskConfigParameters `json:"diskConfig,omitempty" tf:"disk_config,omitempty"` + + // The URI for the image to use for this master/worker + // +kubebuilder:validation:Optional + ImageURI *string `json:"imageUri,omitempty" tf:"image_uri,omitempty"` + + // The name of a Google Compute Engine machine type to create for the master/worker + // +kubebuilder:validation:Optional + MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"` + + // The name of a minimum generation of CPU family for the master/worker. If not specified, GCP will default to a predetermined computed value for each zone. + // +kubebuilder:validation:Optional + MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"` + + // Specifies the number of master/worker nodes to create. If not specified, GCP will default to a predetermined computed value. + // +kubebuilder:validation:Optional + NumInstances *int64 `json:"numInstances,omitempty" tf:"num_instances,omitempty"` +} + +type ClusterObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ClusterParameters struct { + + // Allows you to configure various aspects of the cluster. + // +kubebuilder:validation:Optional + ClusterConfig []ClusterConfigParameters `json:"clusterConfig,omitempty" tf:"cluster_config,omitempty"` + + // The timeout duration which allows graceful decomissioning when you change the number of worker nodes directly through a terraform apply + // +kubebuilder:validation:Optional + GracefulDecommissionTimeout *string `json:"gracefulDecommissionTimeout,omitempty" tf:"graceful_decommission_timeout,omitempty"` + + // The list of labels (key/value pairs) to be applied to instances in the cluster. GCP generates some itself including goog-dataproc-cluster-name which is the name of the cluster. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The name of the cluster, unique within the project and zone. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The ID of the project in which the cluster will exist. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The region in which the cluster and associated nodes will be created in. Defaults to global. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +type DiskConfigObservation struct { +} + +type DiskConfigParameters struct { + + // Size of the primary disk attached to each node, specified in GB. The primary disk contains the boot volume and system libraries, and the smallest allowed disk size is 10GB. GCP will default to a predetermined computed value if not set (currently 500GB). Note: If SSDs are not attached, it also contains the HDFS data blocks and Hadoop working directories. + // +kubebuilder:validation:Optional + BootDiskSizeGb *int64 `json:"bootDiskSizeGb,omitempty" tf:"boot_disk_size_gb,omitempty"` + + // The disk type of the primary disk attached to each node. One of "pd-ssd" or "pd-standard". Defaults to "pd-standard". + // +kubebuilder:validation:Optional + BootDiskType *string `json:"bootDiskType,omitempty" tf:"boot_disk_type,omitempty"` + + // The amount of local SSD disks that will be attached to each master cluster node. Defaults to 0. + // +kubebuilder:validation:Optional + NumLocalSsds *int64 `json:"numLocalSsds,omitempty" tf:"num_local_ssds,omitempty"` +} + +type EncryptionConfigObservation struct { +} + +type EncryptionConfigParameters struct { + + // The Cloud KMS key name to use for PD disk encryption for all instances in the cluster. + // +kubebuilder:validation:Required + KMSKeyName *string `json:"kmsKeyName" tf:"kms_key_name,omitempty"` +} + +type GceClusterConfigObservation struct { +} + +type GceClusterConfigParameters struct { + + // By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. If set to true, all instances in the cluster will only have internal IP addresses. Note: Private Google Access (also known as privateIpGoogleAccess) must be enabled on the subnetwork that the cluster will be launched in. + // +kubebuilder:validation:Optional + InternalIPOnly *bool `json:"internalIpOnly,omitempty" tf:"internal_ip_only,omitempty"` + + // A map of the Compute Engine metadata entries to add to all instances + // +kubebuilder:validation:Optional + Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"` + + // The name or self_link of the Google Compute Engine network to the cluster will be part of. Conflicts with subnetwork. If neither is specified, this defaults to the "default" network. + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // The service account to be used by the Node VMs. If not specified, the "default" service account is used. + // +kubebuilder:validation:Optional + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // The set of Google API scopes to be made available on all of the node VMs under the service_account specified. These can be either FQDNs, or scope aliases. + // +kubebuilder:validation:Optional + ServiceAccountScopes []*string `json:"serviceAccountScopes,omitempty" tf:"service_account_scopes,omitempty"` + + // Shielded Instance Config for clusters using Compute Engine Shielded VMs. + // +kubebuilder:validation:Optional + ShieldedInstanceConfig []ShieldedInstanceConfigParameters `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"` + + // The name or self_link of the Google Compute Engine subnetwork the cluster will be part of. Conflicts with network. + // +kubebuilder:validation:Optional + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // The list of instance tags applied to instances in the cluster. Tags are used to identify valid sources or targets for network firewalls. + // +kubebuilder:validation:Optional + Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // The GCP zone where your data is stored and used (i.e. where the master and the worker nodes will be created in). If region is set to 'global' (default) then zone is mandatory, otherwise GCP is able to make use of Auto Zone Placement to determine this automatically for you. Note: This setting additionally determines and restricts which computing resources are available for use with other configs such as cluster_config.master_config.machine_type and cluster_config.worker_config.machine_type. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type InitializationActionObservation struct { +} + +type InitializationActionParameters struct { + + // The script to be executed during initialization of the cluster. The script must be a GCS file with a gs:// prefix. + // +kubebuilder:validation:Required + Script *string `json:"script" tf:"script,omitempty"` + + // The maximum duration (in seconds) which script is allowed to take to execute its action. GCP will default to a predetermined computed value if not set (currently 300). + // +kubebuilder:validation:Optional + TimeoutSec *int64 `json:"timeoutSec,omitempty" tf:"timeout_sec,omitempty"` +} + +type KerberosConfigObservation struct { +} + +type KerberosConfigParameters struct { + + // The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. + // +kubebuilder:validation:Optional + CrossRealmTrustAdminServer *string `json:"crossRealmTrustAdminServer,omitempty" tf:"cross_realm_trust_admin_server,omitempty"` + + // The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. + // +kubebuilder:validation:Optional + CrossRealmTrustKdc *string `json:"crossRealmTrustKdc,omitempty" tf:"cross_realm_trust_kdc,omitempty"` + + // The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + // +kubebuilder:validation:Optional + CrossRealmTrustRealm *string `json:"crossRealmTrustRealm,omitempty" tf:"cross_realm_trust_realm,omitempty"` + + // The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster + // Kerberos realm and the remote trusted realm, in a cross realm trust relationship. + // +kubebuilder:validation:Optional + CrossRealmTrustSharedPasswordURI *string `json:"crossRealmTrustSharedPasswordUri,omitempty" tf:"cross_realm_trust_shared_password_uri,omitempty"` + + // Flag to indicate whether to Kerberize the cluster. + // +kubebuilder:validation:Optional + EnableKerberos *bool `json:"enableKerberos,omitempty" tf:"enable_kerberos,omitempty"` + + // The uri of the KMS key used to encrypt various sensitive files. + // +kubebuilder:validation:Required + KMSKeyURI *string `json:"kmsKeyUri" tf:"kms_key_uri,omitempty"` + + // The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. + // +kubebuilder:validation:Optional + KdcDBKeyURI *string `json:"kdcDbKeyUri,omitempty" tf:"kdc_db_key_uri,omitempty"` + + // The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. + // +kubebuilder:validation:Optional + KeyPasswordURI *string `json:"keyPasswordUri,omitempty" tf:"key_password_uri,omitempty"` + + // The Cloud Storage URI of a KMS encrypted file containing + // the password to the user provided keystore. For the self-signed certificate, this password is generated + // by Dataproc + // +kubebuilder:validation:Optional + KeystorePasswordURI *string `json:"keystorePasswordUri,omitempty" tf:"keystore_password_uri,omitempty"` + + // The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + // +kubebuilder:validation:Optional + KeystoreURI *string `json:"keystoreUri,omitempty" tf:"keystore_uri,omitempty"` + + // The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. + // +kubebuilder:validation:Optional + Realm *string `json:"realm,omitempty" tf:"realm,omitempty"` + + // The cloud Storage URI of a KMS encrypted file containing the root principal password. + // +kubebuilder:validation:Required + RootPrincipalPasswordURI *string `json:"rootPrincipalPasswordUri" tf:"root_principal_password_uri,omitempty"` + + // The lifetime of the ticket granting ticket, in hours. + // +kubebuilder:validation:Optional + TgtLifetimeHours *int64 `json:"tgtLifetimeHours,omitempty" tf:"tgt_lifetime_hours,omitempty"` + + // The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. + // +kubebuilder:validation:Optional + TruststorePasswordURI *string `json:"truststorePasswordUri,omitempty" tf:"truststore_password_uri,omitempty"` + + // The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + // +kubebuilder:validation:Optional + TruststoreURI *string `json:"truststoreUri,omitempty" tf:"truststore_uri,omitempty"` +} + +type MasterConfigObservation struct { + InstanceNames []*string `json:"instanceNames,omitempty" tf:"instance_names,omitempty"` +} + +type MasterConfigParameters struct { + + // The Compute Engine accelerator (GPU) configuration for these instances. Can be specified multiple times. + // +kubebuilder:validation:Optional + Accelerators []AcceleratorsParameters `json:"accelerators,omitempty" tf:"accelerators,omitempty"` + + // Disk Config + // +kubebuilder:validation:Optional + DiskConfig []DiskConfigParameters `json:"diskConfig,omitempty" tf:"disk_config,omitempty"` + + // The URI for the image to use for this master/worker + // +kubebuilder:validation:Optional + ImageURI *string `json:"imageUri,omitempty" tf:"image_uri,omitempty"` + + // The name of a Google Compute Engine machine type to create for the master/worker + // +kubebuilder:validation:Optional + MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"` + + // The name of a minimum generation of CPU family for the master/worker. If not specified, GCP will default to a predetermined computed value for each zone. + // +kubebuilder:validation:Optional + MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"` + + // Specifies the number of master/worker nodes to create. If not specified, GCP will default to a predetermined computed value. + // +kubebuilder:validation:Optional + NumInstances *int64 `json:"numInstances,omitempty" tf:"num_instances,omitempty"` +} + +type PreemptibleWorkerConfigDiskConfigObservation struct { +} + +type PreemptibleWorkerConfigDiskConfigParameters struct { + + // Size of the primary disk attached to each preemptible worker node, specified in GB. The smallest allowed disk size is 10GB. GCP will default to a predetermined computed value if not set (currently 500GB). Note: If SSDs are not attached, it also contains the HDFS data blocks and Hadoop working directories. + // +kubebuilder:validation:Optional + BootDiskSizeGb *int64 `json:"bootDiskSizeGb,omitempty" tf:"boot_disk_size_gb,omitempty"` + + // The disk type of the primary disk attached to each preemptible worker node. One of "pd-ssd" or "pd-standard". Defaults to "pd-standard". + // +kubebuilder:validation:Optional + BootDiskType *string `json:"bootDiskType,omitempty" tf:"boot_disk_type,omitempty"` + + // The amount of local SSD disks that will be attached to each preemptible worker node. Defaults to 0. + // +kubebuilder:validation:Optional + NumLocalSsds *int64 `json:"numLocalSsds,omitempty" tf:"num_local_ssds,omitempty"` +} + +type PreemptibleWorkerConfigObservation struct { + InstanceNames []*string `json:"instanceNames,omitempty" tf:"instance_names,omitempty"` +} + +type PreemptibleWorkerConfigParameters struct { + + // Disk Config + // +kubebuilder:validation:Optional + DiskConfig []PreemptibleWorkerConfigDiskConfigParameters `json:"diskConfig,omitempty" tf:"disk_config,omitempty"` + + // Specifies the number of preemptible nodes to create. Defaults to 0. + // +kubebuilder:validation:Optional + NumInstances *int64 `json:"numInstances,omitempty" tf:"num_instances,omitempty"` +} + +type SecurityConfigObservation struct { +} + +type SecurityConfigParameters struct { + + // Kerberos related configuration + // +kubebuilder:validation:Required + KerberosConfig []KerberosConfigParameters `json:"kerberosConfig" tf:"kerberos_config,omitempty"` +} + +type ShieldedInstanceConfigObservation struct { +} + +type ShieldedInstanceConfigParameters struct { + + // Defines whether instances have integrity monitoring enabled. + // +kubebuilder:validation:Optional + EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring,omitempty" tf:"enable_integrity_monitoring,omitempty"` + + // Defines whether instances have Secure Boot enabled. + // +kubebuilder:validation:Optional + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty" tf:"enable_secure_boot,omitempty"` + + // Defines whether instances have the vTPM enabled. + // +kubebuilder:validation:Optional + EnableVtpm *bool `json:"enableVtpm,omitempty" tf:"enable_vtpm,omitempty"` +} + +type SoftwareConfigObservation struct { + Properties map[string]string `json:"properties,omitempty" tf:"properties,omitempty"` +} + +type SoftwareConfigParameters struct { + + // The Cloud Dataproc image version to use for the cluster - this controls the sets of software versions installed onto the nodes when you create clusters. If not specified, defaults to the latest version. + // +kubebuilder:validation:Optional + ImageVersion *string `json:"imageVersion,omitempty" tf:"image_version,omitempty"` + + // The set of optional components to activate on the cluster. + // +kubebuilder:validation:Optional + OptionalComponents []*string `json:"optionalComponents,omitempty" tf:"optional_components,omitempty"` + + // A list of override and additional properties (key/value pairs) used to modify various aspects of the common configuration files used when creating a cluster. + // +kubebuilder:validation:Optional + OverrideProperties map[string]*string `json:"overrideProperties,omitempty" tf:"override_properties,omitempty"` +} + +type WorkerConfigAcceleratorsObservation struct { +} + +type WorkerConfigAcceleratorsParameters struct { + + // The number of the accelerator cards of this type exposed to this instance. Often restricted to one of 1, 2, 4, or 8. + // +kubebuilder:validation:Required + AcceleratorCount *int64 `json:"acceleratorCount" tf:"accelerator_count,omitempty"` + + // The short name of the accelerator type to expose to this instance. For example, nvidia-tesla-k80. + // +kubebuilder:validation:Required + AcceleratorType *string `json:"acceleratorType" tf:"accelerator_type,omitempty"` +} + +type WorkerConfigDiskConfigObservation struct { +} + +type WorkerConfigDiskConfigParameters struct { + + // Size of the primary disk attached to each node, specified in GB. The primary disk contains the boot volume and system libraries, and the smallest allowed disk size is 10GB. GCP will default to a predetermined computed value if not set (currently 500GB). Note: If SSDs are not attached, it also contains the HDFS data blocks and Hadoop working directories. + // +kubebuilder:validation:Optional + BootDiskSizeGb *int64 `json:"bootDiskSizeGb,omitempty" tf:"boot_disk_size_gb,omitempty"` + + // The disk type of the primary disk attached to each node. One of "pd-ssd" or "pd-standard". Defaults to "pd-standard". + // +kubebuilder:validation:Optional + BootDiskType *string `json:"bootDiskType,omitempty" tf:"boot_disk_type,omitempty"` + + // The amount of local SSD disks that will be attached to each master cluster node. Defaults to 0. + // +kubebuilder:validation:Optional + NumLocalSsds *int64 `json:"numLocalSsds,omitempty" tf:"num_local_ssds,omitempty"` +} + +// ClusterSpec defines the desired state of Cluster +type ClusterSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ClusterParameters `json:"forProvider"` +} + +// ClusterStatus defines the observed state of Cluster. +type ClusterStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ClusterObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Cluster is the Schema for the Clusters 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,gcpjet} +type Cluster struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ClusterSpec `json:"spec"` + Status ClusterStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ClusterList contains a list of Clusters +type ClusterList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Cluster `json:"items"` +} + +// Repository type metadata. +var ( + Cluster_Kind = "Cluster" + Cluster_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Cluster_Kind}.String() + Cluster_KindAPIVersion = Cluster_Kind + "." + CRDGroupVersion.String() + Cluster_GroupVersionKind = CRDGroupVersion.WithKind(Cluster_Kind) +) + +func init() { + SchemeBuilder.Register(&Cluster{}, &ClusterList{}) +} diff --git a/apis/dataproc/v1alpha1/zz_clusteriambinding_terraformed.go b/apis/dataproc/v1alpha1/zz_clusteriambinding_terraformed.go new file mode 100755 index 00000000..19e94bfb --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_clusteriambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ClusterIAMBinding +func (mg *ClusterIAMBinding) GetTerraformResourceType() string { + return "google_dataproc_cluster_iam_binding" +} + +// GetConnectionDetailsMapping for this ClusterIAMBinding +func (tr *ClusterIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ClusterIAMBinding +func (tr *ClusterIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ClusterIAMBinding +func (tr *ClusterIAMBinding) SetObservation(obs map[string]interface{}) 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 ClusterIAMBinding +func (tr *ClusterIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ClusterIAMBinding +func (tr *ClusterIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ClusterIAMBinding +func (tr *ClusterIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ClusterIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ClusterIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &ClusterIAMBindingParameters{} + 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 *ClusterIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dataproc/v1alpha1/zz_clusteriambinding_types.go b/apis/dataproc/v1alpha1/zz_clusteriambinding_types.go new file mode 100755 index 00000000..17ce42c0 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_clusteriambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ClusterIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ClusterIAMBindingParameters struct { + + // +kubebuilder:validation:Required + Cluster *string `json:"cluster" tf:"cluster,omitempty"` + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +type ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +// ClusterIAMBindingSpec defines the desired state of ClusterIAMBinding +type ClusterIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ClusterIAMBindingParameters `json:"forProvider"` +} + +// ClusterIAMBindingStatus defines the observed state of ClusterIAMBinding. +type ClusterIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ClusterIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ClusterIAMBinding is the Schema for the ClusterIAMBindings 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,gcpjet} +type ClusterIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ClusterIAMBindingSpec `json:"spec"` + Status ClusterIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ClusterIAMBindingList contains a list of ClusterIAMBindings +type ClusterIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ClusterIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + ClusterIAMBinding_Kind = "ClusterIAMBinding" + ClusterIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ClusterIAMBinding_Kind}.String() + ClusterIAMBinding_KindAPIVersion = ClusterIAMBinding_Kind + "." + CRDGroupVersion.String() + ClusterIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(ClusterIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&ClusterIAMBinding{}, &ClusterIAMBindingList{}) +} diff --git a/apis/dataproc/v1alpha1/zz_clusteriammember_terraformed.go b/apis/dataproc/v1alpha1/zz_clusteriammember_terraformed.go new file mode 100755 index 00000000..9b014f7f --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_clusteriammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ClusterIAMMember +func (mg *ClusterIAMMember) GetTerraformResourceType() string { + return "google_dataproc_cluster_iam_member" +} + +// GetConnectionDetailsMapping for this ClusterIAMMember +func (tr *ClusterIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ClusterIAMMember +func (tr *ClusterIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ClusterIAMMember +func (tr *ClusterIAMMember) SetObservation(obs map[string]interface{}) 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 ClusterIAMMember +func (tr *ClusterIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ClusterIAMMember +func (tr *ClusterIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ClusterIAMMember +func (tr *ClusterIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ClusterIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ClusterIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &ClusterIAMMemberParameters{} + 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 *ClusterIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dataproc/v1alpha1/zz_clusteriammember_types.go b/apis/dataproc/v1alpha1/zz_clusteriammember_types.go new file mode 100755 index 00000000..4f4560fc --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_clusteriammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ClusterIAMMemberConditionObservation struct { +} + +type ClusterIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type ClusterIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ClusterIAMMemberParameters struct { + + // +kubebuilder:validation:Required + Cluster *string `json:"cluster" tf:"cluster,omitempty"` + + // +kubebuilder:validation:Optional + Condition []ClusterIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// ClusterIAMMemberSpec defines the desired state of ClusterIAMMember +type ClusterIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ClusterIAMMemberParameters `json:"forProvider"` +} + +// ClusterIAMMemberStatus defines the observed state of ClusterIAMMember. +type ClusterIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ClusterIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ClusterIAMMember is the Schema for the ClusterIAMMembers 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,gcpjet} +type ClusterIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ClusterIAMMemberSpec `json:"spec"` + Status ClusterIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ClusterIAMMemberList contains a list of ClusterIAMMembers +type ClusterIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ClusterIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + ClusterIAMMember_Kind = "ClusterIAMMember" + ClusterIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ClusterIAMMember_Kind}.String() + ClusterIAMMember_KindAPIVersion = ClusterIAMMember_Kind + "." + CRDGroupVersion.String() + ClusterIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(ClusterIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&ClusterIAMMember{}, &ClusterIAMMemberList{}) +} diff --git a/apis/dataproc/v1alpha1/zz_clusteriampolicy_terraformed.go b/apis/dataproc/v1alpha1/zz_clusteriampolicy_terraformed.go new file mode 100755 index 00000000..94149397 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_clusteriampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ClusterIAMPolicy +func (mg *ClusterIAMPolicy) GetTerraformResourceType() string { + return "google_dataproc_cluster_iam_policy" +} + +// GetConnectionDetailsMapping for this ClusterIAMPolicy +func (tr *ClusterIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ClusterIAMPolicy +func (tr *ClusterIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ClusterIAMPolicy +func (tr *ClusterIAMPolicy) SetObservation(obs map[string]interface{}) 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 ClusterIAMPolicy +func (tr *ClusterIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ClusterIAMPolicy +func (tr *ClusterIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ClusterIAMPolicy +func (tr *ClusterIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ClusterIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ClusterIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &ClusterIAMPolicyParameters{} + 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 *ClusterIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dataproc/v1alpha1/zz_clusteriampolicy_types.go b/apis/dataproc/v1alpha1/zz_clusteriampolicy_types.go new file mode 100755 index 00000000..28fc38a8 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_clusteriampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ClusterIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ClusterIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + Cluster *string `json:"cluster" tf:"cluster,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +// ClusterIAMPolicySpec defines the desired state of ClusterIAMPolicy +type ClusterIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ClusterIAMPolicyParameters `json:"forProvider"` +} + +// ClusterIAMPolicyStatus defines the observed state of ClusterIAMPolicy. +type ClusterIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ClusterIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ClusterIAMPolicy is the Schema for the ClusterIAMPolicys 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,gcpjet} +type ClusterIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ClusterIAMPolicySpec `json:"spec"` + Status ClusterIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ClusterIAMPolicyList contains a list of ClusterIAMPolicys +type ClusterIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ClusterIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + ClusterIAMPolicy_Kind = "ClusterIAMPolicy" + ClusterIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ClusterIAMPolicy_Kind}.String() + ClusterIAMPolicy_KindAPIVersion = ClusterIAMPolicy_Kind + "." + CRDGroupVersion.String() + ClusterIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(ClusterIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&ClusterIAMPolicy{}, &ClusterIAMPolicyList{}) +} diff --git a/apis/dataproc/v1alpha1/zz_generated.deepcopy.go b/apis/dataproc/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..5e3044ad --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,7263 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AcceleratorsObservation) DeepCopyInto(out *AcceleratorsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorsObservation. +func (in *AcceleratorsObservation) DeepCopy() *AcceleratorsObservation { + if in == nil { + return nil + } + out := new(AcceleratorsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AcceleratorsParameters) DeepCopyInto(out *AcceleratorsParameters) { + *out = *in + if in.AcceleratorCount != nil { + in, out := &in.AcceleratorCount, &out.AcceleratorCount + *out = new(int64) + **out = **in + } + if in.AcceleratorType != nil { + in, out := &in.AcceleratorType, &out.AcceleratorType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorsParameters. +func (in *AcceleratorsParameters) DeepCopy() *AcceleratorsParameters { + if in == nil { + return nil + } + out := new(AcceleratorsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingConfigObservation) DeepCopyInto(out *AutoscalingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingConfigObservation. +func (in *AutoscalingConfigObservation) DeepCopy() *AutoscalingConfigObservation { + if in == nil { + return nil + } + out := new(AutoscalingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingConfigParameters) DeepCopyInto(out *AutoscalingConfigParameters) { + *out = *in + if in.PolicyURI != nil { + in, out := &in.PolicyURI, &out.PolicyURI + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingConfigParameters. +func (in *AutoscalingConfigParameters) DeepCopy() *AutoscalingConfigParameters { + if in == nil { + return nil + } + out := new(AutoscalingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicy) DeepCopyInto(out *AutoscalingPolicy) { + *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 AutoscalingPolicy. +func (in *AutoscalingPolicy) DeepCopy() *AutoscalingPolicy { + if in == nil { + return nil + } + out := new(AutoscalingPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AutoscalingPolicy) 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 *AutoscalingPolicyList) DeepCopyInto(out *AutoscalingPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AutoscalingPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyList. +func (in *AutoscalingPolicyList) DeepCopy() *AutoscalingPolicyList { + if in == nil { + return nil + } + out := new(AutoscalingPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AutoscalingPolicyList) 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 *AutoscalingPolicyObservation) DeepCopyInto(out *AutoscalingPolicyObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyObservation. +func (in *AutoscalingPolicyObservation) DeepCopy() *AutoscalingPolicyObservation { + if in == nil { + return nil + } + out := new(AutoscalingPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicyParameters) DeepCopyInto(out *AutoscalingPolicyParameters) { + *out = *in + if in.BasicAlgorithm != nil { + in, out := &in.BasicAlgorithm, &out.BasicAlgorithm + *out = make([]BasicAlgorithmParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.PolicyID != nil { + in, out := &in.PolicyID, &out.PolicyID + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SecondaryWorkerConfig != nil { + in, out := &in.SecondaryWorkerConfig, &out.SecondaryWorkerConfig + *out = make([]SecondaryWorkerConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WorkerConfig != nil { + in, out := &in.WorkerConfig, &out.WorkerConfig + *out = make([]WorkerConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyParameters. +func (in *AutoscalingPolicyParameters) DeepCopy() *AutoscalingPolicyParameters { + if in == nil { + return nil + } + out := new(AutoscalingPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicySpec) DeepCopyInto(out *AutoscalingPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicySpec. +func (in *AutoscalingPolicySpec) DeepCopy() *AutoscalingPolicySpec { + if in == nil { + return nil + } + out := new(AutoscalingPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingPolicyStatus) DeepCopyInto(out *AutoscalingPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingPolicyStatus. +func (in *AutoscalingPolicyStatus) DeepCopy() *AutoscalingPolicyStatus { + if in == nil { + return nil + } + out := new(AutoscalingPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicAlgorithmObservation) DeepCopyInto(out *BasicAlgorithmObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAlgorithmObservation. +func (in *BasicAlgorithmObservation) DeepCopy() *BasicAlgorithmObservation { + if in == nil { + return nil + } + out := new(BasicAlgorithmObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicAlgorithmParameters) DeepCopyInto(out *BasicAlgorithmParameters) { + *out = *in + if in.CooldownPeriod != nil { + in, out := &in.CooldownPeriod, &out.CooldownPeriod + *out = new(string) + **out = **in + } + if in.YarnConfig != nil { + in, out := &in.YarnConfig, &out.YarnConfig + *out = make([]YarnConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAlgorithmParameters. +func (in *BasicAlgorithmParameters) DeepCopy() *BasicAlgorithmParameters { + if in == nil { + return nil + } + out := new(BasicAlgorithmParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Cluster) DeepCopyInto(out *Cluster) { + *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 Cluster. +func (in *Cluster) DeepCopy() *Cluster { + if in == nil { + return nil + } + out := new(Cluster) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Cluster) 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 *ClusterConfigObservation) DeepCopyInto(out *ClusterConfigObservation) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterConfigObservation. +func (in *ClusterConfigObservation) DeepCopy() *ClusterConfigObservation { + if in == nil { + return nil + } + out := new(ClusterConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterConfigParameters) DeepCopyInto(out *ClusterConfigParameters) { + *out = *in + if in.AutoscalingConfig != nil { + in, out := &in.AutoscalingConfig, &out.AutoscalingConfig + *out = make([]AutoscalingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EncryptionConfig != nil { + in, out := &in.EncryptionConfig, &out.EncryptionConfig + *out = make([]EncryptionConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GceClusterConfig != nil { + in, out := &in.GceClusterConfig, &out.GceClusterConfig + *out = make([]GceClusterConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InitializationAction != nil { + in, out := &in.InitializationAction, &out.InitializationAction + *out = make([]InitializationActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MasterConfig != nil { + in, out := &in.MasterConfig, &out.MasterConfig + *out = make([]MasterConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PreemptibleWorkerConfig != nil { + in, out := &in.PreemptibleWorkerConfig, &out.PreemptibleWorkerConfig + *out = make([]PreemptibleWorkerConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SecurityConfig != nil { + in, out := &in.SecurityConfig, &out.SecurityConfig + *out = make([]SecurityConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SoftwareConfig != nil { + in, out := &in.SoftwareConfig, &out.SoftwareConfig + *out = make([]SoftwareConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StagingBucket != nil { + in, out := &in.StagingBucket, &out.StagingBucket + *out = new(string) + **out = **in + } + if in.TempBucket != nil { + in, out := &in.TempBucket, &out.TempBucket + *out = new(string) + **out = **in + } + if in.WorkerConfig != nil { + in, out := &in.WorkerConfig, &out.WorkerConfig + *out = make([]ClusterConfigWorkerConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterConfigParameters. +func (in *ClusterConfigParameters) DeepCopy() *ClusterConfigParameters { + if in == nil { + return nil + } + out := new(ClusterConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterConfigWorkerConfigObservation) DeepCopyInto(out *ClusterConfigWorkerConfigObservation) { + *out = *in + if in.InstanceNames != nil { + in, out := &in.InstanceNames, &out.InstanceNames + *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 ClusterConfigWorkerConfigObservation. +func (in *ClusterConfigWorkerConfigObservation) DeepCopy() *ClusterConfigWorkerConfigObservation { + if in == nil { + return nil + } + out := new(ClusterConfigWorkerConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterConfigWorkerConfigParameters) DeepCopyInto(out *ClusterConfigWorkerConfigParameters) { + *out = *in + if in.Accelerators != nil { + in, out := &in.Accelerators, &out.Accelerators + *out = make([]WorkerConfigAcceleratorsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DiskConfig != nil { + in, out := &in.DiskConfig, &out.DiskConfig + *out = make([]WorkerConfigDiskConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ImageURI != nil { + in, out := &in.ImageURI, &out.ImageURI + *out = new(string) + **out = **in + } + if in.MachineType != nil { + in, out := &in.MachineType, &out.MachineType + *out = new(string) + **out = **in + } + if in.MinCPUPlatform != nil { + in, out := &in.MinCPUPlatform, &out.MinCPUPlatform + *out = new(string) + **out = **in + } + if in.NumInstances != nil { + in, out := &in.NumInstances, &out.NumInstances + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterConfigWorkerConfigParameters. +func (in *ClusterConfigWorkerConfigParameters) DeepCopy() *ClusterConfigWorkerConfigParameters { + if in == nil { + return nil + } + out := new(ClusterConfigWorkerConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterIAMBinding) DeepCopyInto(out *ClusterIAMBinding) { + *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 ClusterIAMBinding. +func (in *ClusterIAMBinding) DeepCopy() *ClusterIAMBinding { + if in == nil { + return nil + } + out := new(ClusterIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterIAMBinding) 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 *ClusterIAMBindingList) DeepCopyInto(out *ClusterIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ClusterIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMBindingList. +func (in *ClusterIAMBindingList) DeepCopy() *ClusterIAMBindingList { + if in == nil { + return nil + } + out := new(ClusterIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterIAMBindingList) 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 *ClusterIAMBindingObservation) DeepCopyInto(out *ClusterIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMBindingObservation. +func (in *ClusterIAMBindingObservation) DeepCopy() *ClusterIAMBindingObservation { + if in == nil { + return nil + } + out := new(ClusterIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterIAMBindingParameters) DeepCopyInto(out *ClusterIAMBindingParameters) { + *out = *in + if in.Cluster != nil { + in, out := &in.Cluster, &out.Cluster + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMBindingParameters. +func (in *ClusterIAMBindingParameters) DeepCopy() *ClusterIAMBindingParameters { + if in == nil { + return nil + } + out := new(ClusterIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterIAMBindingSpec) DeepCopyInto(out *ClusterIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMBindingSpec. +func (in *ClusterIAMBindingSpec) DeepCopy() *ClusterIAMBindingSpec { + if in == nil { + return nil + } + out := new(ClusterIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterIAMBindingStatus) DeepCopyInto(out *ClusterIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMBindingStatus. +func (in *ClusterIAMBindingStatus) DeepCopy() *ClusterIAMBindingStatus { + if in == nil { + return nil + } + out := new(ClusterIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterIAMMember) DeepCopyInto(out *ClusterIAMMember) { + *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 ClusterIAMMember. +func (in *ClusterIAMMember) DeepCopy() *ClusterIAMMember { + if in == nil { + return nil + } + out := new(ClusterIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterIAMMember) 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 *ClusterIAMMemberConditionObservation) DeepCopyInto(out *ClusterIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMMemberConditionObservation. +func (in *ClusterIAMMemberConditionObservation) DeepCopy() *ClusterIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(ClusterIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterIAMMemberConditionParameters) DeepCopyInto(out *ClusterIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMMemberConditionParameters. +func (in *ClusterIAMMemberConditionParameters) DeepCopy() *ClusterIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(ClusterIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterIAMMemberList) DeepCopyInto(out *ClusterIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ClusterIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMMemberList. +func (in *ClusterIAMMemberList) DeepCopy() *ClusterIAMMemberList { + if in == nil { + return nil + } + out := new(ClusterIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterIAMMemberList) 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 *ClusterIAMMemberObservation) DeepCopyInto(out *ClusterIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMMemberObservation. +func (in *ClusterIAMMemberObservation) DeepCopy() *ClusterIAMMemberObservation { + if in == nil { + return nil + } + out := new(ClusterIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterIAMMemberParameters) DeepCopyInto(out *ClusterIAMMemberParameters) { + *out = *in + if in.Cluster != nil { + in, out := &in.Cluster, &out.Cluster + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ClusterIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMMemberParameters. +func (in *ClusterIAMMemberParameters) DeepCopy() *ClusterIAMMemberParameters { + if in == nil { + return nil + } + out := new(ClusterIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterIAMMemberSpec) DeepCopyInto(out *ClusterIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMMemberSpec. +func (in *ClusterIAMMemberSpec) DeepCopy() *ClusterIAMMemberSpec { + if in == nil { + return nil + } + out := new(ClusterIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterIAMMemberStatus) DeepCopyInto(out *ClusterIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMMemberStatus. +func (in *ClusterIAMMemberStatus) DeepCopy() *ClusterIAMMemberStatus { + if in == nil { + return nil + } + out := new(ClusterIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterIAMPolicy) DeepCopyInto(out *ClusterIAMPolicy) { + *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 ClusterIAMPolicy. +func (in *ClusterIAMPolicy) DeepCopy() *ClusterIAMPolicy { + if in == nil { + return nil + } + out := new(ClusterIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterIAMPolicy) 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 *ClusterIAMPolicyList) DeepCopyInto(out *ClusterIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ClusterIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMPolicyList. +func (in *ClusterIAMPolicyList) DeepCopy() *ClusterIAMPolicyList { + if in == nil { + return nil + } + out := new(ClusterIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterIAMPolicyList) 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 *ClusterIAMPolicyObservation) DeepCopyInto(out *ClusterIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMPolicyObservation. +func (in *ClusterIAMPolicyObservation) DeepCopy() *ClusterIAMPolicyObservation { + if in == nil { + return nil + } + out := new(ClusterIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterIAMPolicyParameters) DeepCopyInto(out *ClusterIAMPolicyParameters) { + *out = *in + if in.Cluster != nil { + in, out := &in.Cluster, &out.Cluster + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMPolicyParameters. +func (in *ClusterIAMPolicyParameters) DeepCopy() *ClusterIAMPolicyParameters { + if in == nil { + return nil + } + out := new(ClusterIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterIAMPolicySpec) DeepCopyInto(out *ClusterIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMPolicySpec. +func (in *ClusterIAMPolicySpec) DeepCopy() *ClusterIAMPolicySpec { + if in == nil { + return nil + } + out := new(ClusterIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterIAMPolicyStatus) DeepCopyInto(out *ClusterIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIAMPolicyStatus. +func (in *ClusterIAMPolicyStatus) DeepCopy() *ClusterIAMPolicyStatus { + if in == nil { + return nil + } + out := new(ClusterIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterList) DeepCopyInto(out *ClusterList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Cluster, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList. +func (in *ClusterList) DeepCopy() *ClusterList { + if in == nil { + return nil + } + out := new(ClusterList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterList) 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 *ClusterObservation) DeepCopyInto(out *ClusterObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterObservation. +func (in *ClusterObservation) DeepCopy() *ClusterObservation { + if in == nil { + return nil + } + out := new(ClusterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters) { + *out = *in + if in.ClusterConfig != nil { + in, out := &in.ClusterConfig, &out.ClusterConfig + *out = make([]ClusterConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GracefulDecommissionTimeout != nil { + in, out := &in.GracefulDecommissionTimeout, &out.GracefulDecommissionTimeout + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterParameters. +func (in *ClusterParameters) DeepCopy() *ClusterParameters { + if in == nil { + return nil + } + out := new(ClusterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterSelectorObservation) DeepCopyInto(out *ClusterSelectorObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSelectorObservation. +func (in *ClusterSelectorObservation) DeepCopy() *ClusterSelectorObservation { + if in == nil { + return nil + } + out := new(ClusterSelectorObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterSelectorParameters) DeepCopyInto(out *ClusterSelectorParameters) { + *out = *in + if in.ClusterLabels != nil { + in, out := &in.ClusterLabels, &out.ClusterLabels + *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.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSelectorParameters. +func (in *ClusterSelectorParameters) DeepCopy() *ClusterSelectorParameters { + if in == nil { + return nil + } + out := new(ClusterSelectorParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec. +func (in *ClusterSpec) DeepCopy() *ClusterSpec { + if in == nil { + return nil + } + out := new(ClusterSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus. +func (in *ClusterStatus) DeepCopy() *ClusterStatus { + if in == nil { + return nil + } + out := new(ClusterStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigAutoscalingConfigObservation) DeepCopyInto(out *ConfigAutoscalingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigAutoscalingConfigObservation. +func (in *ConfigAutoscalingConfigObservation) DeepCopy() *ConfigAutoscalingConfigObservation { + if in == nil { + return nil + } + out := new(ConfigAutoscalingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigAutoscalingConfigParameters) DeepCopyInto(out *ConfigAutoscalingConfigParameters) { + *out = *in + if in.Policy != nil { + in, out := &in.Policy, &out.Policy + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigAutoscalingConfigParameters. +func (in *ConfigAutoscalingConfigParameters) DeepCopy() *ConfigAutoscalingConfigParameters { + if in == nil { + return nil + } + out := new(ConfigAutoscalingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigEncryptionConfigObservation) DeepCopyInto(out *ConfigEncryptionConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigEncryptionConfigObservation. +func (in *ConfigEncryptionConfigObservation) DeepCopy() *ConfigEncryptionConfigObservation { + if in == nil { + return nil + } + out := new(ConfigEncryptionConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigEncryptionConfigParameters) DeepCopyInto(out *ConfigEncryptionConfigParameters) { + *out = *in + if in.GcePdKMSKeyName != nil { + in, out := &in.GcePdKMSKeyName, &out.GcePdKMSKeyName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigEncryptionConfigParameters. +func (in *ConfigEncryptionConfigParameters) DeepCopy() *ConfigEncryptionConfigParameters { + if in == nil { + return nil + } + out := new(ConfigEncryptionConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigGceClusterConfigObservation) DeepCopyInto(out *ConfigGceClusterConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigGceClusterConfigObservation. +func (in *ConfigGceClusterConfigObservation) DeepCopy() *ConfigGceClusterConfigObservation { + if in == nil { + return nil + } + out := new(ConfigGceClusterConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigGceClusterConfigParameters) DeepCopyInto(out *ConfigGceClusterConfigParameters) { + *out = *in + if in.InternalIPOnly != nil { + in, out := &in.InternalIPOnly, &out.InternalIPOnly + *out = new(bool) + **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.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NodeGroupAffinity != nil { + in, out := &in.NodeGroupAffinity, &out.NodeGroupAffinity + *out = make([]NodeGroupAffinityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PrivateIPv6GoogleAccess != nil { + in, out := &in.PrivateIPv6GoogleAccess, &out.PrivateIPv6GoogleAccess + *out = new(string) + **out = **in + } + if in.ReservationAffinity != nil { + in, out := &in.ReservationAffinity, &out.ReservationAffinity + *out = make([]ReservationAffinityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } + if in.ServiceAccountScopes != nil { + in, out := &in.ServiceAccountScopes, &out.ServiceAccountScopes + *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.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *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.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigGceClusterConfigParameters. +func (in *ConfigGceClusterConfigParameters) DeepCopy() *ConfigGceClusterConfigParameters { + if in == nil { + return nil + } + out := new(ConfigGceClusterConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigMasterConfigObservation) DeepCopyInto(out *ConfigMasterConfigObservation) { + *out = *in + if in.InstanceNames != nil { + in, out := &in.InstanceNames, &out.InstanceNames + *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.IsPreemptible != nil { + in, out := &in.IsPreemptible, &out.IsPreemptible + *out = new(bool) + **out = **in + } + if in.ManagedGroupConfig != nil { + in, out := &in.ManagedGroupConfig, &out.ManagedGroupConfig + *out = make([]ManagedGroupConfigObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMasterConfigObservation. +func (in *ConfigMasterConfigObservation) DeepCopy() *ConfigMasterConfigObservation { + if in == nil { + return nil + } + out := new(ConfigMasterConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigMasterConfigParameters) DeepCopyInto(out *ConfigMasterConfigParameters) { + *out = *in + if in.Accelerators != nil { + in, out := &in.Accelerators, &out.Accelerators + *out = make([]MasterConfigAcceleratorsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DiskConfig != nil { + in, out := &in.DiskConfig, &out.DiskConfig + *out = make([]MasterConfigDiskConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.MachineType != nil { + in, out := &in.MachineType, &out.MachineType + *out = new(string) + **out = **in + } + if in.MinCPUPlatform != nil { + in, out := &in.MinCPUPlatform, &out.MinCPUPlatform + *out = new(string) + **out = **in + } + if in.NumInstances != nil { + in, out := &in.NumInstances, &out.NumInstances + *out = new(int64) + **out = **in + } + if in.Preemptibility != nil { + in, out := &in.Preemptibility, &out.Preemptibility + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMasterConfigParameters. +func (in *ConfigMasterConfigParameters) DeepCopy() *ConfigMasterConfigParameters { + if in == nil { + return nil + } + out := new(ConfigMasterConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigObservation) DeepCopyInto(out *ConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigObservation. +func (in *ConfigObservation) DeepCopy() *ConfigObservation { + if in == nil { + return nil + } + out := new(ConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigParameters) DeepCopyInto(out *ConfigParameters) { + *out = *in + if in.AutoscalingConfig != nil { + in, out := &in.AutoscalingConfig, &out.AutoscalingConfig + *out = make([]ConfigAutoscalingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EncryptionConfig != nil { + in, out := &in.EncryptionConfig, &out.EncryptionConfig + *out = make([]ConfigEncryptionConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EndpointConfig != nil { + in, out := &in.EndpointConfig, &out.EndpointConfig + *out = make([]EndpointConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GceClusterConfig != nil { + in, out := &in.GceClusterConfig, &out.GceClusterConfig + *out = make([]ConfigGceClusterConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InitializationActions != nil { + in, out := &in.InitializationActions, &out.InitializationActions + *out = make([]InitializationActionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LifecycleConfig != nil { + in, out := &in.LifecycleConfig, &out.LifecycleConfig + *out = make([]LifecycleConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MasterConfig != nil { + in, out := &in.MasterConfig, &out.MasterConfig + *out = make([]ConfigMasterConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SecondaryWorkerConfig != nil { + in, out := &in.SecondaryWorkerConfig, &out.SecondaryWorkerConfig + *out = make([]ConfigSecondaryWorkerConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SecurityConfig != nil { + in, out := &in.SecurityConfig, &out.SecurityConfig + *out = make([]ConfigSecurityConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SoftwareConfig != nil { + in, out := &in.SoftwareConfig, &out.SoftwareConfig + *out = make([]ConfigSoftwareConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StagingBucket != nil { + in, out := &in.StagingBucket, &out.StagingBucket + *out = new(string) + **out = **in + } + if in.TempBucket != nil { + in, out := &in.TempBucket, &out.TempBucket + *out = new(string) + **out = **in + } + if in.WorkerConfig != nil { + in, out := &in.WorkerConfig, &out.WorkerConfig + *out = make([]ConfigWorkerConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigParameters. +func (in *ConfigParameters) DeepCopy() *ConfigParameters { + if in == nil { + return nil + } + out := new(ConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigSecondaryWorkerConfigObservation) DeepCopyInto(out *ConfigSecondaryWorkerConfigObservation) { + *out = *in + if in.InstanceNames != nil { + in, out := &in.InstanceNames, &out.InstanceNames + *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.IsPreemptible != nil { + in, out := &in.IsPreemptible, &out.IsPreemptible + *out = new(bool) + **out = **in + } + if in.ManagedGroupConfig != nil { + in, out := &in.ManagedGroupConfig, &out.ManagedGroupConfig + *out = make([]SecondaryWorkerConfigManagedGroupConfigObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSecondaryWorkerConfigObservation. +func (in *ConfigSecondaryWorkerConfigObservation) DeepCopy() *ConfigSecondaryWorkerConfigObservation { + if in == nil { + return nil + } + out := new(ConfigSecondaryWorkerConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigSecondaryWorkerConfigParameters) DeepCopyInto(out *ConfigSecondaryWorkerConfigParameters) { + *out = *in + if in.Accelerators != nil { + in, out := &in.Accelerators, &out.Accelerators + *out = make([]SecondaryWorkerConfigAcceleratorsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DiskConfig != nil { + in, out := &in.DiskConfig, &out.DiskConfig + *out = make([]SecondaryWorkerConfigDiskConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.MachineType != nil { + in, out := &in.MachineType, &out.MachineType + *out = new(string) + **out = **in + } + if in.MinCPUPlatform != nil { + in, out := &in.MinCPUPlatform, &out.MinCPUPlatform + *out = new(string) + **out = **in + } + if in.NumInstances != nil { + in, out := &in.NumInstances, &out.NumInstances + *out = new(int64) + **out = **in + } + if in.Preemptibility != nil { + in, out := &in.Preemptibility, &out.Preemptibility + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSecondaryWorkerConfigParameters. +func (in *ConfigSecondaryWorkerConfigParameters) DeepCopy() *ConfigSecondaryWorkerConfigParameters { + if in == nil { + return nil + } + out := new(ConfigSecondaryWorkerConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigSecurityConfigObservation) DeepCopyInto(out *ConfigSecurityConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSecurityConfigObservation. +func (in *ConfigSecurityConfigObservation) DeepCopy() *ConfigSecurityConfigObservation { + if in == nil { + return nil + } + out := new(ConfigSecurityConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigSecurityConfigParameters) DeepCopyInto(out *ConfigSecurityConfigParameters) { + *out = *in + if in.KerberosConfig != nil { + in, out := &in.KerberosConfig, &out.KerberosConfig + *out = make([]SecurityConfigKerberosConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSecurityConfigParameters. +func (in *ConfigSecurityConfigParameters) DeepCopy() *ConfigSecurityConfigParameters { + if in == nil { + return nil + } + out := new(ConfigSecurityConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigSoftwareConfigObservation) DeepCopyInto(out *ConfigSoftwareConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSoftwareConfigObservation. +func (in *ConfigSoftwareConfigObservation) DeepCopy() *ConfigSoftwareConfigObservation { + if in == nil { + return nil + } + out := new(ConfigSoftwareConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigSoftwareConfigParameters) DeepCopyInto(out *ConfigSoftwareConfigParameters) { + *out = *in + if in.ImageVersion != nil { + in, out := &in.ImageVersion, &out.ImageVersion + *out = new(string) + **out = **in + } + if in.OptionalComponents != nil { + in, out := &in.OptionalComponents, &out.OptionalComponents + *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.Properties != nil { + in, out := &in.Properties, &out.Properties + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSoftwareConfigParameters. +func (in *ConfigSoftwareConfigParameters) DeepCopy() *ConfigSoftwareConfigParameters { + if in == nil { + return nil + } + out := new(ConfigSoftwareConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigWorkerConfigAcceleratorsObservation) DeepCopyInto(out *ConfigWorkerConfigAcceleratorsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigWorkerConfigAcceleratorsObservation. +func (in *ConfigWorkerConfigAcceleratorsObservation) DeepCopy() *ConfigWorkerConfigAcceleratorsObservation { + if in == nil { + return nil + } + out := new(ConfigWorkerConfigAcceleratorsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigWorkerConfigAcceleratorsParameters) DeepCopyInto(out *ConfigWorkerConfigAcceleratorsParameters) { + *out = *in + if in.AcceleratorCount != nil { + in, out := &in.AcceleratorCount, &out.AcceleratorCount + *out = new(int64) + **out = **in + } + if in.AcceleratorType != nil { + in, out := &in.AcceleratorType, &out.AcceleratorType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigWorkerConfigAcceleratorsParameters. +func (in *ConfigWorkerConfigAcceleratorsParameters) DeepCopy() *ConfigWorkerConfigAcceleratorsParameters { + if in == nil { + return nil + } + out := new(ConfigWorkerConfigAcceleratorsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigWorkerConfigDiskConfigObservation) DeepCopyInto(out *ConfigWorkerConfigDiskConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigWorkerConfigDiskConfigObservation. +func (in *ConfigWorkerConfigDiskConfigObservation) DeepCopy() *ConfigWorkerConfigDiskConfigObservation { + if in == nil { + return nil + } + out := new(ConfigWorkerConfigDiskConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigWorkerConfigDiskConfigParameters) DeepCopyInto(out *ConfigWorkerConfigDiskConfigParameters) { + *out = *in + if in.BootDiskSizeGb != nil { + in, out := &in.BootDiskSizeGb, &out.BootDiskSizeGb + *out = new(int64) + **out = **in + } + if in.BootDiskType != nil { + in, out := &in.BootDiskType, &out.BootDiskType + *out = new(string) + **out = **in + } + if in.NumLocalSsds != nil { + in, out := &in.NumLocalSsds, &out.NumLocalSsds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigWorkerConfigDiskConfigParameters. +func (in *ConfigWorkerConfigDiskConfigParameters) DeepCopy() *ConfigWorkerConfigDiskConfigParameters { + if in == nil { + return nil + } + out := new(ConfigWorkerConfigDiskConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigWorkerConfigObservation) DeepCopyInto(out *ConfigWorkerConfigObservation) { + *out = *in + if in.InstanceNames != nil { + in, out := &in.InstanceNames, &out.InstanceNames + *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.IsPreemptible != nil { + in, out := &in.IsPreemptible, &out.IsPreemptible + *out = new(bool) + **out = **in + } + if in.ManagedGroupConfig != nil { + in, out := &in.ManagedGroupConfig, &out.ManagedGroupConfig + *out = make([]WorkerConfigManagedGroupConfigObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigWorkerConfigObservation. +func (in *ConfigWorkerConfigObservation) DeepCopy() *ConfigWorkerConfigObservation { + if in == nil { + return nil + } + out := new(ConfigWorkerConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigWorkerConfigParameters) DeepCopyInto(out *ConfigWorkerConfigParameters) { + *out = *in + if in.Accelerators != nil { + in, out := &in.Accelerators, &out.Accelerators + *out = make([]ConfigWorkerConfigAcceleratorsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DiskConfig != nil { + in, out := &in.DiskConfig, &out.DiskConfig + *out = make([]ConfigWorkerConfigDiskConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Image != nil { + in, out := &in.Image, &out.Image + *out = new(string) + **out = **in + } + if in.MachineType != nil { + in, out := &in.MachineType, &out.MachineType + *out = new(string) + **out = **in + } + if in.MinCPUPlatform != nil { + in, out := &in.MinCPUPlatform, &out.MinCPUPlatform + *out = new(string) + **out = **in + } + if in.NumInstances != nil { + in, out := &in.NumInstances, &out.NumInstances + *out = new(int64) + **out = **in + } + if in.Preemptibility != nil { + in, out := &in.Preemptibility, &out.Preemptibility + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigWorkerConfigParameters. +func (in *ConfigWorkerConfigParameters) DeepCopy() *ConfigWorkerConfigParameters { + if in == nil { + return nil + } + out := new(ConfigWorkerConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskConfigObservation) DeepCopyInto(out *DiskConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskConfigObservation. +func (in *DiskConfigObservation) DeepCopy() *DiskConfigObservation { + if in == nil { + return nil + } + out := new(DiskConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DiskConfigParameters) DeepCopyInto(out *DiskConfigParameters) { + *out = *in + if in.BootDiskSizeGb != nil { + in, out := &in.BootDiskSizeGb, &out.BootDiskSizeGb + *out = new(int64) + **out = **in + } + if in.BootDiskType != nil { + in, out := &in.BootDiskType, &out.BootDiskType + *out = new(string) + **out = **in + } + if in.NumLocalSsds != nil { + in, out := &in.NumLocalSsds, &out.NumLocalSsds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskConfigParameters. +func (in *DiskConfigParameters) DeepCopy() *DiskConfigParameters { + if in == nil { + return nil + } + out := new(DiskConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionConfigObservation) DeepCopyInto(out *EncryptionConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionConfigObservation. +func (in *EncryptionConfigObservation) DeepCopy() *EncryptionConfigObservation { + if in == nil { + return nil + } + out := new(EncryptionConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionConfigParameters) DeepCopyInto(out *EncryptionConfigParameters) { + *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionConfigParameters. +func (in *EncryptionConfigParameters) DeepCopy() *EncryptionConfigParameters { + if in == nil { + return nil + } + out := new(EncryptionConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EndpointConfigObservation) DeepCopyInto(out *EndpointConfigObservation) { + *out = *in + if in.HTTPPorts != nil { + in, out := &in.HTTPPorts, &out.HTTPPorts + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointConfigObservation. +func (in *EndpointConfigObservation) DeepCopy() *EndpointConfigObservation { + if in == nil { + return nil + } + out := new(EndpointConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EndpointConfigParameters) DeepCopyInto(out *EndpointConfigParameters) { + *out = *in + if in.EnableHTTPPortAccess != nil { + in, out := &in.EnableHTTPPortAccess, &out.EnableHTTPPortAccess + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointConfigParameters. +func (in *EndpointConfigParameters) DeepCopy() *EndpointConfigParameters { + if in == nil { + return nil + } + out := new(EndpointConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GceClusterConfigObservation) DeepCopyInto(out *GceClusterConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GceClusterConfigObservation. +func (in *GceClusterConfigObservation) DeepCopy() *GceClusterConfigObservation { + if in == nil { + return nil + } + out := new(GceClusterConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GceClusterConfigParameters) DeepCopyInto(out *GceClusterConfigParameters) { + *out = *in + if in.InternalIPOnly != nil { + in, out := &in.InternalIPOnly, &out.InternalIPOnly + *out = new(bool) + **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.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } + if in.ServiceAccountScopes != nil { + in, out := &in.ServiceAccountScopes, &out.ServiceAccountScopes + *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.ShieldedInstanceConfig != nil { + in, out := &in.ShieldedInstanceConfig, &out.ShieldedInstanceConfig + *out = make([]ShieldedInstanceConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Subnetwork != nil { + in, out := &in.Subnetwork, &out.Subnetwork + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *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.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GceClusterConfigParameters. +func (in *GceClusterConfigParameters) DeepCopy() *GceClusterConfigParameters { + if in == nil { + return nil + } + out := new(GceClusterConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HadoopConfigObservation) DeepCopyInto(out *HadoopConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HadoopConfigObservation. +func (in *HadoopConfigObservation) DeepCopy() *HadoopConfigObservation { + if in == nil { + return nil + } + out := new(HadoopConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HadoopConfigParameters) DeepCopyInto(out *HadoopConfigParameters) { + *out = *in + if in.ArchiveUris != nil { + in, out := &in.ArchiveUris, &out.ArchiveUris + *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.Args != nil { + in, out := &in.Args, &out.Args + *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.FileUris != nil { + in, out := &in.FileUris, &out.FileUris + *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.JarFileUris != nil { + in, out := &in.JarFileUris, &out.JarFileUris + *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.LoggingConfig != nil { + in, out := &in.LoggingConfig, &out.LoggingConfig + *out = make([]LoggingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MainClass != nil { + in, out := &in.MainClass, &out.MainClass + *out = new(string) + **out = **in + } + if in.MainJarFileURI != nil { + in, out := &in.MainJarFileURI, &out.MainJarFileURI + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HadoopConfigParameters. +func (in *HadoopConfigParameters) DeepCopy() *HadoopConfigParameters { + if in == nil { + return nil + } + out := new(HadoopConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HadoopJobLoggingConfigObservation) DeepCopyInto(out *HadoopJobLoggingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HadoopJobLoggingConfigObservation. +func (in *HadoopJobLoggingConfigObservation) DeepCopy() *HadoopJobLoggingConfigObservation { + if in == nil { + return nil + } + out := new(HadoopJobLoggingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HadoopJobLoggingConfigParameters) DeepCopyInto(out *HadoopJobLoggingConfigParameters) { + *out = *in + if in.DriverLogLevels != nil { + in, out := &in.DriverLogLevels, &out.DriverLogLevels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HadoopJobLoggingConfigParameters. +func (in *HadoopJobLoggingConfigParameters) DeepCopy() *HadoopJobLoggingConfigParameters { + if in == nil { + return nil + } + out := new(HadoopJobLoggingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HadoopJobObservation) DeepCopyInto(out *HadoopJobObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HadoopJobObservation. +func (in *HadoopJobObservation) DeepCopy() *HadoopJobObservation { + if in == nil { + return nil + } + out := new(HadoopJobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HadoopJobParameters) DeepCopyInto(out *HadoopJobParameters) { + *out = *in + if in.ArchiveUris != nil { + in, out := &in.ArchiveUris, &out.ArchiveUris + *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.Args != nil { + in, out := &in.Args, &out.Args + *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.FileUris != nil { + in, out := &in.FileUris, &out.FileUris + *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.JarFileUris != nil { + in, out := &in.JarFileUris, &out.JarFileUris + *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.LoggingConfig != nil { + in, out := &in.LoggingConfig, &out.LoggingConfig + *out = make([]HadoopJobLoggingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MainClass != nil { + in, out := &in.MainClass, &out.MainClass + *out = new(string) + **out = **in + } + if in.MainJarFileURI != nil { + in, out := &in.MainJarFileURI, &out.MainJarFileURI + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HadoopJobParameters. +func (in *HadoopJobParameters) DeepCopy() *HadoopJobParameters { + if in == nil { + return nil + } + out := new(HadoopJobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HiveConfigObservation) DeepCopyInto(out *HiveConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HiveConfigObservation. +func (in *HiveConfigObservation) DeepCopy() *HiveConfigObservation { + if in == nil { + return nil + } + out := new(HiveConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HiveConfigParameters) DeepCopyInto(out *HiveConfigParameters) { + *out = *in + if in.ContinueOnFailure != nil { + in, out := &in.ContinueOnFailure, &out.ContinueOnFailure + *out = new(bool) + **out = **in + } + if in.JarFileUris != nil { + in, out := &in.JarFileUris, &out.JarFileUris + *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.Properties != nil { + in, out := &in.Properties, &out.Properties + *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.QueryFileURI != nil { + in, out := &in.QueryFileURI, &out.QueryFileURI + *out = new(string) + **out = **in + } + if in.QueryList != nil { + in, out := &in.QueryList, &out.QueryList + *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.ScriptVariables != nil { + in, out := &in.ScriptVariables, &out.ScriptVariables + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HiveConfigParameters. +func (in *HiveConfigParameters) DeepCopy() *HiveConfigParameters { + if in == nil { + return nil + } + out := new(HiveConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HiveJobObservation) DeepCopyInto(out *HiveJobObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HiveJobObservation. +func (in *HiveJobObservation) DeepCopy() *HiveJobObservation { + if in == nil { + return nil + } + out := new(HiveJobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HiveJobParameters) DeepCopyInto(out *HiveJobParameters) { + *out = *in + if in.ContinueOnFailure != nil { + in, out := &in.ContinueOnFailure, &out.ContinueOnFailure + *out = new(bool) + **out = **in + } + if in.JarFileUris != nil { + in, out := &in.JarFileUris, &out.JarFileUris + *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.Properties != nil { + in, out := &in.Properties, &out.Properties + *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.QueryFileURI != nil { + in, out := &in.QueryFileURI, &out.QueryFileURI + *out = new(string) + **out = **in + } + if in.QueryList != nil { + in, out := &in.QueryList, &out.QueryList + *out = make([]QueryListParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ScriptVariables != nil { + in, out := &in.ScriptVariables, &out.ScriptVariables + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HiveJobParameters. +func (in *HiveJobParameters) DeepCopy() *HiveJobParameters { + if in == nil { + return nil + } + out := new(HiveJobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InitializationActionObservation) DeepCopyInto(out *InitializationActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitializationActionObservation. +func (in *InitializationActionObservation) DeepCopy() *InitializationActionObservation { + if in == nil { + return nil + } + out := new(InitializationActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InitializationActionParameters) DeepCopyInto(out *InitializationActionParameters) { + *out = *in + if in.Script != nil { + in, out := &in.Script, &out.Script + *out = new(string) + **out = **in + } + if in.TimeoutSec != nil { + in, out := &in.TimeoutSec, &out.TimeoutSec + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitializationActionParameters. +func (in *InitializationActionParameters) DeepCopy() *InitializationActionParameters { + if in == nil { + return nil + } + out := new(InitializationActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InitializationActionsObservation) DeepCopyInto(out *InitializationActionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitializationActionsObservation. +func (in *InitializationActionsObservation) DeepCopy() *InitializationActionsObservation { + if in == nil { + return nil + } + out := new(InitializationActionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InitializationActionsParameters) DeepCopyInto(out *InitializationActionsParameters) { + *out = *in + if in.ExecutableFile != nil { + in, out := &in.ExecutableFile, &out.ExecutableFile + *out = new(string) + **out = **in + } + if in.ExecutionTimeout != nil { + in, out := &in.ExecutionTimeout, &out.ExecutionTimeout + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitializationActionsParameters. +func (in *InitializationActionsParameters) DeepCopy() *InitializationActionsParameters { + if in == nil { + return nil + } + out := new(InitializationActionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Job) DeepCopyInto(out *Job) { + *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 Job. +func (in *Job) DeepCopy() *Job { + if in == nil { + return nil + } + out := new(Job) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Job) 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 *JobIAMBinding) DeepCopyInto(out *JobIAMBinding) { + *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 JobIAMBinding. +func (in *JobIAMBinding) DeepCopy() *JobIAMBinding { + if in == nil { + return nil + } + out := new(JobIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobIAMBinding) 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 *JobIAMBindingConditionObservation) DeepCopyInto(out *JobIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMBindingConditionObservation. +func (in *JobIAMBindingConditionObservation) DeepCopy() *JobIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(JobIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMBindingConditionParameters) DeepCopyInto(out *JobIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMBindingConditionParameters. +func (in *JobIAMBindingConditionParameters) DeepCopy() *JobIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(JobIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMBindingList) DeepCopyInto(out *JobIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]JobIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMBindingList. +func (in *JobIAMBindingList) DeepCopy() *JobIAMBindingList { + if in == nil { + return nil + } + out := new(JobIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobIAMBindingList) 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 *JobIAMBindingObservation) DeepCopyInto(out *JobIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMBindingObservation. +func (in *JobIAMBindingObservation) DeepCopy() *JobIAMBindingObservation { + if in == nil { + return nil + } + out := new(JobIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMBindingParameters) DeepCopyInto(out *JobIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]JobIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.JobID != nil { + in, out := &in.JobID, &out.JobID + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMBindingParameters. +func (in *JobIAMBindingParameters) DeepCopy() *JobIAMBindingParameters { + if in == nil { + return nil + } + out := new(JobIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMBindingSpec) DeepCopyInto(out *JobIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMBindingSpec. +func (in *JobIAMBindingSpec) DeepCopy() *JobIAMBindingSpec { + if in == nil { + return nil + } + out := new(JobIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMBindingStatus) DeepCopyInto(out *JobIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMBindingStatus. +func (in *JobIAMBindingStatus) DeepCopy() *JobIAMBindingStatus { + if in == nil { + return nil + } + out := new(JobIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMMember) DeepCopyInto(out *JobIAMMember) { + *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 JobIAMMember. +func (in *JobIAMMember) DeepCopy() *JobIAMMember { + if in == nil { + return nil + } + out := new(JobIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobIAMMember) 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 *JobIAMMemberConditionObservation) DeepCopyInto(out *JobIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMMemberConditionObservation. +func (in *JobIAMMemberConditionObservation) DeepCopy() *JobIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(JobIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMMemberConditionParameters) DeepCopyInto(out *JobIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMMemberConditionParameters. +func (in *JobIAMMemberConditionParameters) DeepCopy() *JobIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(JobIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMMemberList) DeepCopyInto(out *JobIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]JobIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMMemberList. +func (in *JobIAMMemberList) DeepCopy() *JobIAMMemberList { + if in == nil { + return nil + } + out := new(JobIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobIAMMemberList) 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 *JobIAMMemberObservation) DeepCopyInto(out *JobIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMMemberObservation. +func (in *JobIAMMemberObservation) DeepCopy() *JobIAMMemberObservation { + if in == nil { + return nil + } + out := new(JobIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMMemberParameters) DeepCopyInto(out *JobIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]JobIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.JobID != nil { + in, out := &in.JobID, &out.JobID + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMMemberParameters. +func (in *JobIAMMemberParameters) DeepCopy() *JobIAMMemberParameters { + if in == nil { + return nil + } + out := new(JobIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMMemberSpec) DeepCopyInto(out *JobIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMMemberSpec. +func (in *JobIAMMemberSpec) DeepCopy() *JobIAMMemberSpec { + if in == nil { + return nil + } + out := new(JobIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMMemberStatus) DeepCopyInto(out *JobIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMMemberStatus. +func (in *JobIAMMemberStatus) DeepCopy() *JobIAMMemberStatus { + if in == nil { + return nil + } + out := new(JobIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMPolicy) DeepCopyInto(out *JobIAMPolicy) { + *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 JobIAMPolicy. +func (in *JobIAMPolicy) DeepCopy() *JobIAMPolicy { + if in == nil { + return nil + } + out := new(JobIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobIAMPolicy) 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 *JobIAMPolicyList) DeepCopyInto(out *JobIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]JobIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMPolicyList. +func (in *JobIAMPolicyList) DeepCopy() *JobIAMPolicyList { + if in == nil { + return nil + } + out := new(JobIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobIAMPolicyList) 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 *JobIAMPolicyObservation) DeepCopyInto(out *JobIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMPolicyObservation. +func (in *JobIAMPolicyObservation) DeepCopy() *JobIAMPolicyObservation { + if in == nil { + return nil + } + out := new(JobIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMPolicyParameters) DeepCopyInto(out *JobIAMPolicyParameters) { + *out = *in + if in.JobID != nil { + in, out := &in.JobID, &out.JobID + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMPolicyParameters. +func (in *JobIAMPolicyParameters) DeepCopy() *JobIAMPolicyParameters { + if in == nil { + return nil + } + out := new(JobIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMPolicySpec) DeepCopyInto(out *JobIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMPolicySpec. +func (in *JobIAMPolicySpec) DeepCopy() *JobIAMPolicySpec { + if in == nil { + return nil + } + out := new(JobIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobIAMPolicyStatus) DeepCopyInto(out *JobIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobIAMPolicyStatus. +func (in *JobIAMPolicyStatus) DeepCopy() *JobIAMPolicyStatus { + if in == nil { + return nil + } + out := new(JobIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobList) DeepCopyInto(out *JobList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Job, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobList. +func (in *JobList) DeepCopy() *JobList { + if in == nil { + return nil + } + out := new(JobList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobList) 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 *JobObservation) DeepCopyInto(out *JobObservation) { + *out = *in + if in.DriverControlsFilesURI != nil { + in, out := &in.DriverControlsFilesURI, &out.DriverControlsFilesURI + *out = new(string) + **out = **in + } + if in.DriverOutputResourceURI != nil { + in, out := &in.DriverOutputResourceURI, &out.DriverOutputResourceURI + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = make([]StatusObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobObservation. +func (in *JobObservation) DeepCopy() *JobObservation { + if in == nil { + return nil + } + out := new(JobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobParameters) DeepCopyInto(out *JobParameters) { + *out = *in + if in.ForceDelete != nil { + in, out := &in.ForceDelete, &out.ForceDelete + *out = new(bool) + **out = **in + } + if in.HadoopConfig != nil { + in, out := &in.HadoopConfig, &out.HadoopConfig + *out = make([]HadoopConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HiveConfig != nil { + in, out := &in.HiveConfig, &out.HiveConfig + *out = make([]HiveConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.PigConfig != nil { + in, out := &in.PigConfig, &out.PigConfig + *out = make([]PigConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Placement != nil { + in, out := &in.Placement, &out.Placement + *out = make([]PlacementParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.PysparkConfig != nil { + in, out := &in.PysparkConfig, &out.PysparkConfig + *out = make([]PysparkConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Reference != nil { + in, out := &in.Reference, &out.Reference + *out = make([]ReferenceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Scheduling != nil { + in, out := &in.Scheduling, &out.Scheduling + *out = make([]SchedulingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SparkConfig != nil { + in, out := &in.SparkConfig, &out.SparkConfig + *out = make([]SparkConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SparksqlConfig != nil { + in, out := &in.SparksqlConfig, &out.SparksqlConfig + *out = make([]SparksqlConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobParameters. +func (in *JobParameters) DeepCopy() *JobParameters { + if in == nil { + return nil + } + out := new(JobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobSpec) DeepCopyInto(out *JobSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobSpec. +func (in *JobSpec) DeepCopy() *JobSpec { + if in == nil { + return nil + } + out := new(JobSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobStatus) DeepCopyInto(out *JobStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobStatus. +func (in *JobStatus) DeepCopy() *JobStatus { + if in == nil { + return nil + } + out := new(JobStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobsObservation) DeepCopyInto(out *JobsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobsObservation. +func (in *JobsObservation) DeepCopy() *JobsObservation { + if in == nil { + return nil + } + out := new(JobsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobsParameters) DeepCopyInto(out *JobsParameters) { + *out = *in + if in.HadoopJob != nil { + in, out := &in.HadoopJob, &out.HadoopJob + *out = make([]HadoopJobParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HiveJob != nil { + in, out := &in.HiveJob, &out.HiveJob + *out = make([]HiveJobParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.PigJob != nil { + in, out := &in.PigJob, &out.PigJob + *out = make([]PigJobParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PrerequisiteStepIds != nil { + in, out := &in.PrerequisiteStepIds, &out.PrerequisiteStepIds + *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.PrestoJob != nil { + in, out := &in.PrestoJob, &out.PrestoJob + *out = make([]PrestoJobParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PysparkJob != nil { + in, out := &in.PysparkJob, &out.PysparkJob + *out = make([]PysparkJobParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Scheduling != nil { + in, out := &in.Scheduling, &out.Scheduling + *out = make([]JobsSchedulingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SparkJob != nil { + in, out := &in.SparkJob, &out.SparkJob + *out = make([]SparkJobParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SparkRJob != nil { + in, out := &in.SparkRJob, &out.SparkRJob + *out = make([]SparkRJobParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SparkSQLJob != nil { + in, out := &in.SparkSQLJob, &out.SparkSQLJob + *out = make([]SparkSQLJobParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StepID != nil { + in, out := &in.StepID, &out.StepID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobsParameters. +func (in *JobsParameters) DeepCopy() *JobsParameters { + if in == nil { + return nil + } + out := new(JobsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobsSchedulingObservation) DeepCopyInto(out *JobsSchedulingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobsSchedulingObservation. +func (in *JobsSchedulingObservation) DeepCopy() *JobsSchedulingObservation { + if in == nil { + return nil + } + out := new(JobsSchedulingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobsSchedulingParameters) DeepCopyInto(out *JobsSchedulingParameters) { + *out = *in + if in.MaxFailuresPerHour != nil { + in, out := &in.MaxFailuresPerHour, &out.MaxFailuresPerHour + *out = new(int64) + **out = **in + } + if in.MaxFailuresTotal != nil { + in, out := &in.MaxFailuresTotal, &out.MaxFailuresTotal + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobsSchedulingParameters. +func (in *JobsSchedulingParameters) DeepCopy() *JobsSchedulingParameters { + if in == nil { + return nil + } + out := new(JobsSchedulingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KerberosConfigObservation) DeepCopyInto(out *KerberosConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KerberosConfigObservation. +func (in *KerberosConfigObservation) DeepCopy() *KerberosConfigObservation { + if in == nil { + return nil + } + out := new(KerberosConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KerberosConfigParameters) DeepCopyInto(out *KerberosConfigParameters) { + *out = *in + if in.CrossRealmTrustAdminServer != nil { + in, out := &in.CrossRealmTrustAdminServer, &out.CrossRealmTrustAdminServer + *out = new(string) + **out = **in + } + if in.CrossRealmTrustKdc != nil { + in, out := &in.CrossRealmTrustKdc, &out.CrossRealmTrustKdc + *out = new(string) + **out = **in + } + if in.CrossRealmTrustRealm != nil { + in, out := &in.CrossRealmTrustRealm, &out.CrossRealmTrustRealm + *out = new(string) + **out = **in + } + if in.CrossRealmTrustSharedPasswordURI != nil { + in, out := &in.CrossRealmTrustSharedPasswordURI, &out.CrossRealmTrustSharedPasswordURI + *out = new(string) + **out = **in + } + if in.EnableKerberos != nil { + in, out := &in.EnableKerberos, &out.EnableKerberos + *out = new(bool) + **out = **in + } + if in.KMSKeyURI != nil { + in, out := &in.KMSKeyURI, &out.KMSKeyURI + *out = new(string) + **out = **in + } + if in.KdcDBKeyURI != nil { + in, out := &in.KdcDBKeyURI, &out.KdcDBKeyURI + *out = new(string) + **out = **in + } + if in.KeyPasswordURI != nil { + in, out := &in.KeyPasswordURI, &out.KeyPasswordURI + *out = new(string) + **out = **in + } + if in.KeystorePasswordURI != nil { + in, out := &in.KeystorePasswordURI, &out.KeystorePasswordURI + *out = new(string) + **out = **in + } + if in.KeystoreURI != nil { + in, out := &in.KeystoreURI, &out.KeystoreURI + *out = new(string) + **out = **in + } + if in.Realm != nil { + in, out := &in.Realm, &out.Realm + *out = new(string) + **out = **in + } + if in.RootPrincipalPasswordURI != nil { + in, out := &in.RootPrincipalPasswordURI, &out.RootPrincipalPasswordURI + *out = new(string) + **out = **in + } + if in.TgtLifetimeHours != nil { + in, out := &in.TgtLifetimeHours, &out.TgtLifetimeHours + *out = new(int64) + **out = **in + } + if in.TruststorePasswordURI != nil { + in, out := &in.TruststorePasswordURI, &out.TruststorePasswordURI + *out = new(string) + **out = **in + } + if in.TruststoreURI != nil { + in, out := &in.TruststoreURI, &out.TruststoreURI + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KerberosConfigParameters. +func (in *KerberosConfigParameters) DeepCopy() *KerberosConfigParameters { + if in == nil { + return nil + } + out := new(KerberosConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LifecycleConfigObservation) DeepCopyInto(out *LifecycleConfigObservation) { + *out = *in + if in.IdleStartTime != nil { + in, out := &in.IdleStartTime, &out.IdleStartTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LifecycleConfigObservation. +func (in *LifecycleConfigObservation) DeepCopy() *LifecycleConfigObservation { + if in == nil { + return nil + } + out := new(LifecycleConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LifecycleConfigParameters) DeepCopyInto(out *LifecycleConfigParameters) { + *out = *in + if in.AutoDeleteTTL != nil { + in, out := &in.AutoDeleteTTL, &out.AutoDeleteTTL + *out = new(string) + **out = **in + } + if in.AutoDeleteTime != nil { + in, out := &in.AutoDeleteTime, &out.AutoDeleteTime + *out = new(string) + **out = **in + } + if in.IdleDeleteTTL != nil { + in, out := &in.IdleDeleteTTL, &out.IdleDeleteTTL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LifecycleConfigParameters. +func (in *LifecycleConfigParameters) DeepCopy() *LifecycleConfigParameters { + if in == nil { + return nil + } + out := new(LifecycleConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoggingConfigObservation) DeepCopyInto(out *LoggingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingConfigObservation. +func (in *LoggingConfigObservation) DeepCopy() *LoggingConfigObservation { + if in == nil { + return nil + } + out := new(LoggingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoggingConfigParameters) DeepCopyInto(out *LoggingConfigParameters) { + *out = *in + if in.DriverLogLevels != nil { + in, out := &in.DriverLogLevels, &out.DriverLogLevels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingConfigParameters. +func (in *LoggingConfigParameters) DeepCopy() *LoggingConfigParameters { + if in == nil { + return nil + } + out := new(LoggingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterObservation) DeepCopyInto(out *ManagedClusterObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterObservation. +func (in *ManagedClusterObservation) DeepCopy() *ManagedClusterObservation { + if in == nil { + return nil + } + out := new(ManagedClusterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterParameters) DeepCopyInto(out *ManagedClusterParameters) { + *out = *in + if in.ClusterName != nil { + in, out := &in.ClusterName, &out.ClusterName + *out = new(string) + **out = **in + } + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = make([]ConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterParameters. +func (in *ManagedClusterParameters) DeepCopy() *ManagedClusterParameters { + if in == nil { + return nil + } + out := new(ManagedClusterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedGroupConfigObservation) DeepCopyInto(out *ManagedGroupConfigObservation) { + *out = *in + if in.InstanceGroupManagerName != nil { + in, out := &in.InstanceGroupManagerName, &out.InstanceGroupManagerName + *out = new(string) + **out = **in + } + if in.InstanceTemplateName != nil { + in, out := &in.InstanceTemplateName, &out.InstanceTemplateName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedGroupConfigObservation. +func (in *ManagedGroupConfigObservation) DeepCopy() *ManagedGroupConfigObservation { + if in == nil { + return nil + } + out := new(ManagedGroupConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedGroupConfigParameters) DeepCopyInto(out *ManagedGroupConfigParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedGroupConfigParameters. +func (in *ManagedGroupConfigParameters) DeepCopy() *ManagedGroupConfigParameters { + if in == nil { + return nil + } + out := new(ManagedGroupConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterConfigAcceleratorsObservation) DeepCopyInto(out *MasterConfigAcceleratorsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterConfigAcceleratorsObservation. +func (in *MasterConfigAcceleratorsObservation) DeepCopy() *MasterConfigAcceleratorsObservation { + if in == nil { + return nil + } + out := new(MasterConfigAcceleratorsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterConfigAcceleratorsParameters) DeepCopyInto(out *MasterConfigAcceleratorsParameters) { + *out = *in + if in.AcceleratorCount != nil { + in, out := &in.AcceleratorCount, &out.AcceleratorCount + *out = new(int64) + **out = **in + } + if in.AcceleratorType != nil { + in, out := &in.AcceleratorType, &out.AcceleratorType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterConfigAcceleratorsParameters. +func (in *MasterConfigAcceleratorsParameters) DeepCopy() *MasterConfigAcceleratorsParameters { + if in == nil { + return nil + } + out := new(MasterConfigAcceleratorsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterConfigDiskConfigObservation) DeepCopyInto(out *MasterConfigDiskConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterConfigDiskConfigObservation. +func (in *MasterConfigDiskConfigObservation) DeepCopy() *MasterConfigDiskConfigObservation { + if in == nil { + return nil + } + out := new(MasterConfigDiskConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterConfigDiskConfigParameters) DeepCopyInto(out *MasterConfigDiskConfigParameters) { + *out = *in + if in.BootDiskSizeGb != nil { + in, out := &in.BootDiskSizeGb, &out.BootDiskSizeGb + *out = new(int64) + **out = **in + } + if in.BootDiskType != nil { + in, out := &in.BootDiskType, &out.BootDiskType + *out = new(string) + **out = **in + } + if in.NumLocalSsds != nil { + in, out := &in.NumLocalSsds, &out.NumLocalSsds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterConfigDiskConfigParameters. +func (in *MasterConfigDiskConfigParameters) DeepCopy() *MasterConfigDiskConfigParameters { + if in == nil { + return nil + } + out := new(MasterConfigDiskConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterConfigObservation) DeepCopyInto(out *MasterConfigObservation) { + *out = *in + if in.InstanceNames != nil { + in, out := &in.InstanceNames, &out.InstanceNames + *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 MasterConfigObservation. +func (in *MasterConfigObservation) DeepCopy() *MasterConfigObservation { + if in == nil { + return nil + } + out := new(MasterConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterConfigParameters) DeepCopyInto(out *MasterConfigParameters) { + *out = *in + if in.Accelerators != nil { + in, out := &in.Accelerators, &out.Accelerators + *out = make([]AcceleratorsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DiskConfig != nil { + in, out := &in.DiskConfig, &out.DiskConfig + *out = make([]DiskConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ImageURI != nil { + in, out := &in.ImageURI, &out.ImageURI + *out = new(string) + **out = **in + } + if in.MachineType != nil { + in, out := &in.MachineType, &out.MachineType + *out = new(string) + **out = **in + } + if in.MinCPUPlatform != nil { + in, out := &in.MinCPUPlatform, &out.MinCPUPlatform + *out = new(string) + **out = **in + } + if in.NumInstances != nil { + in, out := &in.NumInstances, &out.NumInstances + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterConfigParameters. +func (in *MasterConfigParameters) DeepCopy() *MasterConfigParameters { + if in == nil { + return nil + } + out := new(MasterConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeGroupAffinityObservation) DeepCopyInto(out *NodeGroupAffinityObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupAffinityObservation. +func (in *NodeGroupAffinityObservation) DeepCopy() *NodeGroupAffinityObservation { + if in == nil { + return nil + } + out := new(NodeGroupAffinityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeGroupAffinityParameters) DeepCopyInto(out *NodeGroupAffinityParameters) { + *out = *in + if in.NodeGroup != nil { + in, out := &in.NodeGroup, &out.NodeGroup + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupAffinityParameters. +func (in *NodeGroupAffinityParameters) DeepCopy() *NodeGroupAffinityParameters { + if in == nil { + return nil + } + out := new(NodeGroupAffinityParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ParametersObservation) DeepCopyInto(out *ParametersObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParametersObservation. +func (in *ParametersObservation) DeepCopy() *ParametersObservation { + if in == nil { + return nil + } + out := new(ParametersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ParametersParameters) DeepCopyInto(out *ParametersParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Fields != nil { + in, out := &in.Fields, &out.Fields + *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.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = make([]ValidationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParametersParameters. +func (in *ParametersParameters) DeepCopy() *ParametersParameters { + if in == nil { + return nil + } + out := new(ParametersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PigConfigLoggingConfigObservation) DeepCopyInto(out *PigConfigLoggingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PigConfigLoggingConfigObservation. +func (in *PigConfigLoggingConfigObservation) DeepCopy() *PigConfigLoggingConfigObservation { + if in == nil { + return nil + } + out := new(PigConfigLoggingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PigConfigLoggingConfigParameters) DeepCopyInto(out *PigConfigLoggingConfigParameters) { + *out = *in + if in.DriverLogLevels != nil { + in, out := &in.DriverLogLevels, &out.DriverLogLevels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PigConfigLoggingConfigParameters. +func (in *PigConfigLoggingConfigParameters) DeepCopy() *PigConfigLoggingConfigParameters { + if in == nil { + return nil + } + out := new(PigConfigLoggingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PigConfigObservation) DeepCopyInto(out *PigConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PigConfigObservation. +func (in *PigConfigObservation) DeepCopy() *PigConfigObservation { + if in == nil { + return nil + } + out := new(PigConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PigConfigParameters) DeepCopyInto(out *PigConfigParameters) { + *out = *in + if in.ContinueOnFailure != nil { + in, out := &in.ContinueOnFailure, &out.ContinueOnFailure + *out = new(bool) + **out = **in + } + if in.JarFileUris != nil { + in, out := &in.JarFileUris, &out.JarFileUris + *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.LoggingConfig != nil { + in, out := &in.LoggingConfig, &out.LoggingConfig + *out = make([]PigConfigLoggingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *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.QueryFileURI != nil { + in, out := &in.QueryFileURI, &out.QueryFileURI + *out = new(string) + **out = **in + } + if in.QueryList != nil { + in, out := &in.QueryList, &out.QueryList + *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.ScriptVariables != nil { + in, out := &in.ScriptVariables, &out.ScriptVariables + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PigConfigParameters. +func (in *PigConfigParameters) DeepCopy() *PigConfigParameters { + if in == nil { + return nil + } + out := new(PigConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PigJobLoggingConfigObservation) DeepCopyInto(out *PigJobLoggingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PigJobLoggingConfigObservation. +func (in *PigJobLoggingConfigObservation) DeepCopy() *PigJobLoggingConfigObservation { + if in == nil { + return nil + } + out := new(PigJobLoggingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PigJobLoggingConfigParameters) DeepCopyInto(out *PigJobLoggingConfigParameters) { + *out = *in + if in.DriverLogLevels != nil { + in, out := &in.DriverLogLevels, &out.DriverLogLevels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PigJobLoggingConfigParameters. +func (in *PigJobLoggingConfigParameters) DeepCopy() *PigJobLoggingConfigParameters { + if in == nil { + return nil + } + out := new(PigJobLoggingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PigJobObservation) DeepCopyInto(out *PigJobObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PigJobObservation. +func (in *PigJobObservation) DeepCopy() *PigJobObservation { + if in == nil { + return nil + } + out := new(PigJobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PigJobParameters) DeepCopyInto(out *PigJobParameters) { + *out = *in + if in.ContinueOnFailure != nil { + in, out := &in.ContinueOnFailure, &out.ContinueOnFailure + *out = new(bool) + **out = **in + } + if in.JarFileUris != nil { + in, out := &in.JarFileUris, &out.JarFileUris + *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.LoggingConfig != nil { + in, out := &in.LoggingConfig, &out.LoggingConfig + *out = make([]PigJobLoggingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *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.QueryFileURI != nil { + in, out := &in.QueryFileURI, &out.QueryFileURI + *out = new(string) + **out = **in + } + if in.QueryList != nil { + in, out := &in.QueryList, &out.QueryList + *out = make([]PigJobQueryListParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ScriptVariables != nil { + in, out := &in.ScriptVariables, &out.ScriptVariables + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PigJobParameters. +func (in *PigJobParameters) DeepCopy() *PigJobParameters { + if in == nil { + return nil + } + out := new(PigJobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PigJobQueryListObservation) DeepCopyInto(out *PigJobQueryListObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PigJobQueryListObservation. +func (in *PigJobQueryListObservation) DeepCopy() *PigJobQueryListObservation { + if in == nil { + return nil + } + out := new(PigJobQueryListObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PigJobQueryListParameters) DeepCopyInto(out *PigJobQueryListParameters) { + *out = *in + if in.Queries != nil { + in, out := &in.Queries, &out.Queries + *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 PigJobQueryListParameters. +func (in *PigJobQueryListParameters) DeepCopy() *PigJobQueryListParameters { + if in == nil { + return nil + } + out := new(PigJobQueryListParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PlacementObservation) DeepCopyInto(out *PlacementObservation) { + *out = *in + if in.ClusterUUID != nil { + in, out := &in.ClusterUUID, &out.ClusterUUID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementObservation. +func (in *PlacementObservation) DeepCopy() *PlacementObservation { + if in == nil { + return nil + } + out := new(PlacementObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PlacementParameters) DeepCopyInto(out *PlacementParameters) { + *out = *in + if in.ClusterName != nil { + in, out := &in.ClusterName, &out.ClusterName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementParameters. +func (in *PlacementParameters) DeepCopy() *PlacementParameters { + if in == nil { + return nil + } + out := new(PlacementParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreemptibleWorkerConfigDiskConfigObservation) DeepCopyInto(out *PreemptibleWorkerConfigDiskConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreemptibleWorkerConfigDiskConfigObservation. +func (in *PreemptibleWorkerConfigDiskConfigObservation) DeepCopy() *PreemptibleWorkerConfigDiskConfigObservation { + if in == nil { + return nil + } + out := new(PreemptibleWorkerConfigDiskConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreemptibleWorkerConfigDiskConfigParameters) DeepCopyInto(out *PreemptibleWorkerConfigDiskConfigParameters) { + *out = *in + if in.BootDiskSizeGb != nil { + in, out := &in.BootDiskSizeGb, &out.BootDiskSizeGb + *out = new(int64) + **out = **in + } + if in.BootDiskType != nil { + in, out := &in.BootDiskType, &out.BootDiskType + *out = new(string) + **out = **in + } + if in.NumLocalSsds != nil { + in, out := &in.NumLocalSsds, &out.NumLocalSsds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreemptibleWorkerConfigDiskConfigParameters. +func (in *PreemptibleWorkerConfigDiskConfigParameters) DeepCopy() *PreemptibleWorkerConfigDiskConfigParameters { + if in == nil { + return nil + } + out := new(PreemptibleWorkerConfigDiskConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreemptibleWorkerConfigObservation) DeepCopyInto(out *PreemptibleWorkerConfigObservation) { + *out = *in + if in.InstanceNames != nil { + in, out := &in.InstanceNames, &out.InstanceNames + *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 PreemptibleWorkerConfigObservation. +func (in *PreemptibleWorkerConfigObservation) DeepCopy() *PreemptibleWorkerConfigObservation { + if in == nil { + return nil + } + out := new(PreemptibleWorkerConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreemptibleWorkerConfigParameters) DeepCopyInto(out *PreemptibleWorkerConfigParameters) { + *out = *in + if in.DiskConfig != nil { + in, out := &in.DiskConfig, &out.DiskConfig + *out = make([]PreemptibleWorkerConfigDiskConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NumInstances != nil { + in, out := &in.NumInstances, &out.NumInstances + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreemptibleWorkerConfigParameters. +func (in *PreemptibleWorkerConfigParameters) DeepCopy() *PreemptibleWorkerConfigParameters { + if in == nil { + return nil + } + out := new(PreemptibleWorkerConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrestoJobLoggingConfigObservation) DeepCopyInto(out *PrestoJobLoggingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrestoJobLoggingConfigObservation. +func (in *PrestoJobLoggingConfigObservation) DeepCopy() *PrestoJobLoggingConfigObservation { + if in == nil { + return nil + } + out := new(PrestoJobLoggingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrestoJobLoggingConfigParameters) DeepCopyInto(out *PrestoJobLoggingConfigParameters) { + *out = *in + if in.DriverLogLevels != nil { + in, out := &in.DriverLogLevels, &out.DriverLogLevels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrestoJobLoggingConfigParameters. +func (in *PrestoJobLoggingConfigParameters) DeepCopy() *PrestoJobLoggingConfigParameters { + if in == nil { + return nil + } + out := new(PrestoJobLoggingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrestoJobObservation) DeepCopyInto(out *PrestoJobObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrestoJobObservation. +func (in *PrestoJobObservation) DeepCopy() *PrestoJobObservation { + if in == nil { + return nil + } + out := new(PrestoJobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrestoJobParameters) DeepCopyInto(out *PrestoJobParameters) { + *out = *in + if in.ClientTags != nil { + in, out := &in.ClientTags, &out.ClientTags + *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.ContinueOnFailure != nil { + in, out := &in.ContinueOnFailure, &out.ContinueOnFailure + *out = new(bool) + **out = **in + } + if in.LoggingConfig != nil { + in, out := &in.LoggingConfig, &out.LoggingConfig + *out = make([]PrestoJobLoggingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OutputFormat != nil { + in, out := &in.OutputFormat, &out.OutputFormat + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *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.QueryFileURI != nil { + in, out := &in.QueryFileURI, &out.QueryFileURI + *out = new(string) + **out = **in + } + if in.QueryList != nil { + in, out := &in.QueryList, &out.QueryList + *out = make([]PrestoJobQueryListParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrestoJobParameters. +func (in *PrestoJobParameters) DeepCopy() *PrestoJobParameters { + if in == nil { + return nil + } + out := new(PrestoJobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrestoJobQueryListObservation) DeepCopyInto(out *PrestoJobQueryListObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrestoJobQueryListObservation. +func (in *PrestoJobQueryListObservation) DeepCopy() *PrestoJobQueryListObservation { + if in == nil { + return nil + } + out := new(PrestoJobQueryListObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrestoJobQueryListParameters) DeepCopyInto(out *PrestoJobQueryListParameters) { + *out = *in + if in.Queries != nil { + in, out := &in.Queries, &out.Queries + *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 PrestoJobQueryListParameters. +func (in *PrestoJobQueryListParameters) DeepCopy() *PrestoJobQueryListParameters { + if in == nil { + return nil + } + out := new(PrestoJobQueryListParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PysparkConfigLoggingConfigObservation) DeepCopyInto(out *PysparkConfigLoggingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PysparkConfigLoggingConfigObservation. +func (in *PysparkConfigLoggingConfigObservation) DeepCopy() *PysparkConfigLoggingConfigObservation { + if in == nil { + return nil + } + out := new(PysparkConfigLoggingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PysparkConfigLoggingConfigParameters) DeepCopyInto(out *PysparkConfigLoggingConfigParameters) { + *out = *in + if in.DriverLogLevels != nil { + in, out := &in.DriverLogLevels, &out.DriverLogLevels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PysparkConfigLoggingConfigParameters. +func (in *PysparkConfigLoggingConfigParameters) DeepCopy() *PysparkConfigLoggingConfigParameters { + if in == nil { + return nil + } + out := new(PysparkConfigLoggingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PysparkConfigObservation) DeepCopyInto(out *PysparkConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PysparkConfigObservation. +func (in *PysparkConfigObservation) DeepCopy() *PysparkConfigObservation { + if in == nil { + return nil + } + out := new(PysparkConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PysparkConfigParameters) DeepCopyInto(out *PysparkConfigParameters) { + *out = *in + if in.ArchiveUris != nil { + in, out := &in.ArchiveUris, &out.ArchiveUris + *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.Args != nil { + in, out := &in.Args, &out.Args + *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.FileUris != nil { + in, out := &in.FileUris, &out.FileUris + *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.JarFileUris != nil { + in, out := &in.JarFileUris, &out.JarFileUris + *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.LoggingConfig != nil { + in, out := &in.LoggingConfig, &out.LoggingConfig + *out = make([]PysparkConfigLoggingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MainPythonFileURI != nil { + in, out := &in.MainPythonFileURI, &out.MainPythonFileURI + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *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.PythonFileUris != nil { + in, out := &in.PythonFileUris, &out.PythonFileUris + *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 PysparkConfigParameters. +func (in *PysparkConfigParameters) DeepCopy() *PysparkConfigParameters { + if in == nil { + return nil + } + out := new(PysparkConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PysparkJobLoggingConfigObservation) DeepCopyInto(out *PysparkJobLoggingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PysparkJobLoggingConfigObservation. +func (in *PysparkJobLoggingConfigObservation) DeepCopy() *PysparkJobLoggingConfigObservation { + if in == nil { + return nil + } + out := new(PysparkJobLoggingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PysparkJobLoggingConfigParameters) DeepCopyInto(out *PysparkJobLoggingConfigParameters) { + *out = *in + if in.DriverLogLevels != nil { + in, out := &in.DriverLogLevels, &out.DriverLogLevels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PysparkJobLoggingConfigParameters. +func (in *PysparkJobLoggingConfigParameters) DeepCopy() *PysparkJobLoggingConfigParameters { + if in == nil { + return nil + } + out := new(PysparkJobLoggingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PysparkJobObservation) DeepCopyInto(out *PysparkJobObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PysparkJobObservation. +func (in *PysparkJobObservation) DeepCopy() *PysparkJobObservation { + if in == nil { + return nil + } + out := new(PysparkJobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PysparkJobParameters) DeepCopyInto(out *PysparkJobParameters) { + *out = *in + if in.ArchiveUris != nil { + in, out := &in.ArchiveUris, &out.ArchiveUris + *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.Args != nil { + in, out := &in.Args, &out.Args + *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.FileUris != nil { + in, out := &in.FileUris, &out.FileUris + *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.JarFileUris != nil { + in, out := &in.JarFileUris, &out.JarFileUris + *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.LoggingConfig != nil { + in, out := &in.LoggingConfig, &out.LoggingConfig + *out = make([]PysparkJobLoggingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MainPythonFileURI != nil { + in, out := &in.MainPythonFileURI, &out.MainPythonFileURI + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *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.PythonFileUris != nil { + in, out := &in.PythonFileUris, &out.PythonFileUris + *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 PysparkJobParameters. +func (in *PysparkJobParameters) DeepCopy() *PysparkJobParameters { + if in == nil { + return nil + } + out := new(PysparkJobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueryListObservation) DeepCopyInto(out *QueryListObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryListObservation. +func (in *QueryListObservation) DeepCopy() *QueryListObservation { + if in == nil { + return nil + } + out := new(QueryListObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueryListParameters) DeepCopyInto(out *QueryListParameters) { + *out = *in + if in.Queries != nil { + in, out := &in.Queries, &out.Queries + *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 QueryListParameters. +func (in *QueryListParameters) DeepCopy() *QueryListParameters { + if in == nil { + return nil + } + out := new(QueryListParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReferenceObservation) DeepCopyInto(out *ReferenceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReferenceObservation. +func (in *ReferenceObservation) DeepCopy() *ReferenceObservation { + if in == nil { + return nil + } + out := new(ReferenceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReferenceParameters) DeepCopyInto(out *ReferenceParameters) { + *out = *in + if in.JobID != nil { + in, out := &in.JobID, &out.JobID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReferenceParameters. +func (in *ReferenceParameters) DeepCopy() *ReferenceParameters { + if in == nil { + return nil + } + out := new(ReferenceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegexObservation) DeepCopyInto(out *RegexObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegexObservation. +func (in *RegexObservation) DeepCopy() *RegexObservation { + if in == nil { + return nil + } + out := new(RegexObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegexParameters) DeepCopyInto(out *RegexParameters) { + *out = *in + if in.Regexes != nil { + in, out := &in.Regexes, &out.Regexes + *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 RegexParameters. +func (in *RegexParameters) DeepCopy() *RegexParameters { + if in == nil { + return nil + } + out := new(RegexParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReservationAffinityObservation) DeepCopyInto(out *ReservationAffinityObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationAffinityObservation. +func (in *ReservationAffinityObservation) DeepCopy() *ReservationAffinityObservation { + if in == nil { + return nil + } + out := new(ReservationAffinityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReservationAffinityParameters) DeepCopyInto(out *ReservationAffinityParameters) { + *out = *in + if in.ConsumeReservationType != nil { + in, out := &in.ConsumeReservationType, &out.ConsumeReservationType + *out = new(string) + **out = **in + } + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Values != nil { + in, out := &in.Values, &out.Values + *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 ReservationAffinityParameters. +func (in *ReservationAffinityParameters) DeepCopy() *ReservationAffinityParameters { + if in == nil { + return nil + } + out := new(ReservationAffinityParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchedulingObservation) DeepCopyInto(out *SchedulingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingObservation. +func (in *SchedulingObservation) DeepCopy() *SchedulingObservation { + if in == nil { + return nil + } + out := new(SchedulingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchedulingParameters) DeepCopyInto(out *SchedulingParameters) { + *out = *in + if in.MaxFailuresPerHour != nil { + in, out := &in.MaxFailuresPerHour, &out.MaxFailuresPerHour + *out = new(int64) + **out = **in + } + if in.MaxFailuresTotal != nil { + in, out := &in.MaxFailuresTotal, &out.MaxFailuresTotal + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingParameters. +func (in *SchedulingParameters) DeepCopy() *SchedulingParameters { + if in == nil { + return nil + } + out := new(SchedulingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecondaryWorkerConfigAcceleratorsObservation) DeepCopyInto(out *SecondaryWorkerConfigAcceleratorsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryWorkerConfigAcceleratorsObservation. +func (in *SecondaryWorkerConfigAcceleratorsObservation) DeepCopy() *SecondaryWorkerConfigAcceleratorsObservation { + if in == nil { + return nil + } + out := new(SecondaryWorkerConfigAcceleratorsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecondaryWorkerConfigAcceleratorsParameters) DeepCopyInto(out *SecondaryWorkerConfigAcceleratorsParameters) { + *out = *in + if in.AcceleratorCount != nil { + in, out := &in.AcceleratorCount, &out.AcceleratorCount + *out = new(int64) + **out = **in + } + if in.AcceleratorType != nil { + in, out := &in.AcceleratorType, &out.AcceleratorType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryWorkerConfigAcceleratorsParameters. +func (in *SecondaryWorkerConfigAcceleratorsParameters) DeepCopy() *SecondaryWorkerConfigAcceleratorsParameters { + if in == nil { + return nil + } + out := new(SecondaryWorkerConfigAcceleratorsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecondaryWorkerConfigDiskConfigObservation) DeepCopyInto(out *SecondaryWorkerConfigDiskConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryWorkerConfigDiskConfigObservation. +func (in *SecondaryWorkerConfigDiskConfigObservation) DeepCopy() *SecondaryWorkerConfigDiskConfigObservation { + if in == nil { + return nil + } + out := new(SecondaryWorkerConfigDiskConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecondaryWorkerConfigDiskConfigParameters) DeepCopyInto(out *SecondaryWorkerConfigDiskConfigParameters) { + *out = *in + if in.BootDiskSizeGb != nil { + in, out := &in.BootDiskSizeGb, &out.BootDiskSizeGb + *out = new(int64) + **out = **in + } + if in.BootDiskType != nil { + in, out := &in.BootDiskType, &out.BootDiskType + *out = new(string) + **out = **in + } + if in.NumLocalSsds != nil { + in, out := &in.NumLocalSsds, &out.NumLocalSsds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryWorkerConfigDiskConfigParameters. +func (in *SecondaryWorkerConfigDiskConfigParameters) DeepCopy() *SecondaryWorkerConfigDiskConfigParameters { + if in == nil { + return nil + } + out := new(SecondaryWorkerConfigDiskConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecondaryWorkerConfigManagedGroupConfigObservation) DeepCopyInto(out *SecondaryWorkerConfigManagedGroupConfigObservation) { + *out = *in + if in.InstanceGroupManagerName != nil { + in, out := &in.InstanceGroupManagerName, &out.InstanceGroupManagerName + *out = new(string) + **out = **in + } + if in.InstanceTemplateName != nil { + in, out := &in.InstanceTemplateName, &out.InstanceTemplateName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryWorkerConfigManagedGroupConfigObservation. +func (in *SecondaryWorkerConfigManagedGroupConfigObservation) DeepCopy() *SecondaryWorkerConfigManagedGroupConfigObservation { + if in == nil { + return nil + } + out := new(SecondaryWorkerConfigManagedGroupConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecondaryWorkerConfigManagedGroupConfigParameters) DeepCopyInto(out *SecondaryWorkerConfigManagedGroupConfigParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryWorkerConfigManagedGroupConfigParameters. +func (in *SecondaryWorkerConfigManagedGroupConfigParameters) DeepCopy() *SecondaryWorkerConfigManagedGroupConfigParameters { + if in == nil { + return nil + } + out := new(SecondaryWorkerConfigManagedGroupConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecondaryWorkerConfigObservation) DeepCopyInto(out *SecondaryWorkerConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryWorkerConfigObservation. +func (in *SecondaryWorkerConfigObservation) DeepCopy() *SecondaryWorkerConfigObservation { + if in == nil { + return nil + } + out := new(SecondaryWorkerConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecondaryWorkerConfigParameters) DeepCopyInto(out *SecondaryWorkerConfigParameters) { + *out = *in + if in.MaxInstances != nil { + in, out := &in.MaxInstances, &out.MaxInstances + *out = new(int64) + **out = **in + } + if in.MinInstances != nil { + in, out := &in.MinInstances, &out.MinInstances + *out = new(int64) + **out = **in + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecondaryWorkerConfigParameters. +func (in *SecondaryWorkerConfigParameters) DeepCopy() *SecondaryWorkerConfigParameters { + if in == nil { + return nil + } + out := new(SecondaryWorkerConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityConfigKerberosConfigObservation) DeepCopyInto(out *SecurityConfigKerberosConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityConfigKerberosConfigObservation. +func (in *SecurityConfigKerberosConfigObservation) DeepCopy() *SecurityConfigKerberosConfigObservation { + if in == nil { + return nil + } + out := new(SecurityConfigKerberosConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityConfigKerberosConfigParameters) DeepCopyInto(out *SecurityConfigKerberosConfigParameters) { + *out = *in + if in.CrossRealmTrustAdminServer != nil { + in, out := &in.CrossRealmTrustAdminServer, &out.CrossRealmTrustAdminServer + *out = new(string) + **out = **in + } + if in.CrossRealmTrustKdc != nil { + in, out := &in.CrossRealmTrustKdc, &out.CrossRealmTrustKdc + *out = new(string) + **out = **in + } + if in.CrossRealmTrustRealm != nil { + in, out := &in.CrossRealmTrustRealm, &out.CrossRealmTrustRealm + *out = new(string) + **out = **in + } + if in.CrossRealmTrustSharedPassword != nil { + in, out := &in.CrossRealmTrustSharedPassword, &out.CrossRealmTrustSharedPassword + *out = new(string) + **out = **in + } + if in.EnableKerberos != nil { + in, out := &in.EnableKerberos, &out.EnableKerberos + *out = new(bool) + **out = **in + } + if in.KMSKey != nil { + in, out := &in.KMSKey, &out.KMSKey + *out = new(string) + **out = **in + } + if in.KdcDBKey != nil { + in, out := &in.KdcDBKey, &out.KdcDBKey + *out = new(string) + **out = **in + } + if in.KeyPassword != nil { + in, out := &in.KeyPassword, &out.KeyPassword + *out = new(string) + **out = **in + } + if in.Keystore != nil { + in, out := &in.Keystore, &out.Keystore + *out = new(string) + **out = **in + } + if in.KeystorePassword != nil { + in, out := &in.KeystorePassword, &out.KeystorePassword + *out = new(string) + **out = **in + } + if in.Realm != nil { + in, out := &in.Realm, &out.Realm + *out = new(string) + **out = **in + } + if in.RootPrincipalPassword != nil { + in, out := &in.RootPrincipalPassword, &out.RootPrincipalPassword + *out = new(string) + **out = **in + } + if in.TgtLifetimeHours != nil { + in, out := &in.TgtLifetimeHours, &out.TgtLifetimeHours + *out = new(int64) + **out = **in + } + if in.Truststore != nil { + in, out := &in.Truststore, &out.Truststore + *out = new(string) + **out = **in + } + if in.TruststorePassword != nil { + in, out := &in.TruststorePassword, &out.TruststorePassword + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityConfigKerberosConfigParameters. +func (in *SecurityConfigKerberosConfigParameters) DeepCopy() *SecurityConfigKerberosConfigParameters { + if in == nil { + return nil + } + out := new(SecurityConfigKerberosConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityConfigObservation) DeepCopyInto(out *SecurityConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityConfigObservation. +func (in *SecurityConfigObservation) DeepCopy() *SecurityConfigObservation { + if in == nil { + return nil + } + out := new(SecurityConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityConfigParameters) DeepCopyInto(out *SecurityConfigParameters) { + *out = *in + if in.KerberosConfig != nil { + in, out := &in.KerberosConfig, &out.KerberosConfig + *out = make([]KerberosConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityConfigParameters. +func (in *SecurityConfigParameters) DeepCopy() *SecurityConfigParameters { + if in == nil { + return nil + } + out := new(SecurityConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ShieldedInstanceConfigObservation) DeepCopyInto(out *ShieldedInstanceConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShieldedInstanceConfigObservation. +func (in *ShieldedInstanceConfigObservation) DeepCopy() *ShieldedInstanceConfigObservation { + if in == nil { + return nil + } + out := new(ShieldedInstanceConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ShieldedInstanceConfigParameters) DeepCopyInto(out *ShieldedInstanceConfigParameters) { + *out = *in + if in.EnableIntegrityMonitoring != nil { + in, out := &in.EnableIntegrityMonitoring, &out.EnableIntegrityMonitoring + *out = new(bool) + **out = **in + } + if in.EnableSecureBoot != nil { + in, out := &in.EnableSecureBoot, &out.EnableSecureBoot + *out = new(bool) + **out = **in + } + if in.EnableVtpm != nil { + in, out := &in.EnableVtpm, &out.EnableVtpm + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShieldedInstanceConfigParameters. +func (in *ShieldedInstanceConfigParameters) DeepCopy() *ShieldedInstanceConfigParameters { + if in == nil { + return nil + } + out := new(ShieldedInstanceConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SoftwareConfigObservation) DeepCopyInto(out *SoftwareConfigObservation) { + *out = *in + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SoftwareConfigObservation. +func (in *SoftwareConfigObservation) DeepCopy() *SoftwareConfigObservation { + if in == nil { + return nil + } + out := new(SoftwareConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SoftwareConfigParameters) DeepCopyInto(out *SoftwareConfigParameters) { + *out = *in + if in.ImageVersion != nil { + in, out := &in.ImageVersion, &out.ImageVersion + *out = new(string) + **out = **in + } + if in.OptionalComponents != nil { + in, out := &in.OptionalComponents, &out.OptionalComponents + *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.OverrideProperties != nil { + in, out := &in.OverrideProperties, &out.OverrideProperties + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SoftwareConfigParameters. +func (in *SoftwareConfigParameters) DeepCopy() *SoftwareConfigParameters { + if in == nil { + return nil + } + out := new(SoftwareConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkConfigLoggingConfigObservation) DeepCopyInto(out *SparkConfigLoggingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkConfigLoggingConfigObservation. +func (in *SparkConfigLoggingConfigObservation) DeepCopy() *SparkConfigLoggingConfigObservation { + if in == nil { + return nil + } + out := new(SparkConfigLoggingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkConfigLoggingConfigParameters) DeepCopyInto(out *SparkConfigLoggingConfigParameters) { + *out = *in + if in.DriverLogLevels != nil { + in, out := &in.DriverLogLevels, &out.DriverLogLevels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkConfigLoggingConfigParameters. +func (in *SparkConfigLoggingConfigParameters) DeepCopy() *SparkConfigLoggingConfigParameters { + if in == nil { + return nil + } + out := new(SparkConfigLoggingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkConfigObservation) DeepCopyInto(out *SparkConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkConfigObservation. +func (in *SparkConfigObservation) DeepCopy() *SparkConfigObservation { + if in == nil { + return nil + } + out := new(SparkConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkConfigParameters) DeepCopyInto(out *SparkConfigParameters) { + *out = *in + if in.ArchiveUris != nil { + in, out := &in.ArchiveUris, &out.ArchiveUris + *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.Args != nil { + in, out := &in.Args, &out.Args + *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.FileUris != nil { + in, out := &in.FileUris, &out.FileUris + *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.JarFileUris != nil { + in, out := &in.JarFileUris, &out.JarFileUris + *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.LoggingConfig != nil { + in, out := &in.LoggingConfig, &out.LoggingConfig + *out = make([]SparkConfigLoggingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MainClass != nil { + in, out := &in.MainClass, &out.MainClass + *out = new(string) + **out = **in + } + if in.MainJarFileURI != nil { + in, out := &in.MainJarFileURI, &out.MainJarFileURI + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkConfigParameters. +func (in *SparkConfigParameters) DeepCopy() *SparkConfigParameters { + if in == nil { + return nil + } + out := new(SparkConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkJobLoggingConfigObservation) DeepCopyInto(out *SparkJobLoggingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkJobLoggingConfigObservation. +func (in *SparkJobLoggingConfigObservation) DeepCopy() *SparkJobLoggingConfigObservation { + if in == nil { + return nil + } + out := new(SparkJobLoggingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkJobLoggingConfigParameters) DeepCopyInto(out *SparkJobLoggingConfigParameters) { + *out = *in + if in.DriverLogLevels != nil { + in, out := &in.DriverLogLevels, &out.DriverLogLevels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkJobLoggingConfigParameters. +func (in *SparkJobLoggingConfigParameters) DeepCopy() *SparkJobLoggingConfigParameters { + if in == nil { + return nil + } + out := new(SparkJobLoggingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkJobObservation) DeepCopyInto(out *SparkJobObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkJobObservation. +func (in *SparkJobObservation) DeepCopy() *SparkJobObservation { + if in == nil { + return nil + } + out := new(SparkJobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkJobParameters) DeepCopyInto(out *SparkJobParameters) { + *out = *in + if in.ArchiveUris != nil { + in, out := &in.ArchiveUris, &out.ArchiveUris + *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.Args != nil { + in, out := &in.Args, &out.Args + *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.FileUris != nil { + in, out := &in.FileUris, &out.FileUris + *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.JarFileUris != nil { + in, out := &in.JarFileUris, &out.JarFileUris + *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.LoggingConfig != nil { + in, out := &in.LoggingConfig, &out.LoggingConfig + *out = make([]SparkJobLoggingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MainClass != nil { + in, out := &in.MainClass, &out.MainClass + *out = new(string) + **out = **in + } + if in.MainJarFileURI != nil { + in, out := &in.MainJarFileURI, &out.MainJarFileURI + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkJobParameters. +func (in *SparkJobParameters) DeepCopy() *SparkJobParameters { + if in == nil { + return nil + } + out := new(SparkJobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkRJobLoggingConfigObservation) DeepCopyInto(out *SparkRJobLoggingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkRJobLoggingConfigObservation. +func (in *SparkRJobLoggingConfigObservation) DeepCopy() *SparkRJobLoggingConfigObservation { + if in == nil { + return nil + } + out := new(SparkRJobLoggingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkRJobLoggingConfigParameters) DeepCopyInto(out *SparkRJobLoggingConfigParameters) { + *out = *in + if in.DriverLogLevels != nil { + in, out := &in.DriverLogLevels, &out.DriverLogLevels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkRJobLoggingConfigParameters. +func (in *SparkRJobLoggingConfigParameters) DeepCopy() *SparkRJobLoggingConfigParameters { + if in == nil { + return nil + } + out := new(SparkRJobLoggingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkRJobObservation) DeepCopyInto(out *SparkRJobObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkRJobObservation. +func (in *SparkRJobObservation) DeepCopy() *SparkRJobObservation { + if in == nil { + return nil + } + out := new(SparkRJobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkRJobParameters) DeepCopyInto(out *SparkRJobParameters) { + *out = *in + if in.ArchiveUris != nil { + in, out := &in.ArchiveUris, &out.ArchiveUris + *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.Args != nil { + in, out := &in.Args, &out.Args + *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.FileUris != nil { + in, out := &in.FileUris, &out.FileUris + *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.LoggingConfig != nil { + in, out := &in.LoggingConfig, &out.LoggingConfig + *out = make([]SparkRJobLoggingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MainRFileURI != nil { + in, out := &in.MainRFileURI, &out.MainRFileURI + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkRJobParameters. +func (in *SparkRJobParameters) DeepCopy() *SparkRJobParameters { + if in == nil { + return nil + } + out := new(SparkRJobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkSQLJobLoggingConfigObservation) DeepCopyInto(out *SparkSQLJobLoggingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkSQLJobLoggingConfigObservation. +func (in *SparkSQLJobLoggingConfigObservation) DeepCopy() *SparkSQLJobLoggingConfigObservation { + if in == nil { + return nil + } + out := new(SparkSQLJobLoggingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkSQLJobLoggingConfigParameters) DeepCopyInto(out *SparkSQLJobLoggingConfigParameters) { + *out = *in + if in.DriverLogLevels != nil { + in, out := &in.DriverLogLevels, &out.DriverLogLevels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkSQLJobLoggingConfigParameters. +func (in *SparkSQLJobLoggingConfigParameters) DeepCopy() *SparkSQLJobLoggingConfigParameters { + if in == nil { + return nil + } + out := new(SparkSQLJobLoggingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkSQLJobObservation) DeepCopyInto(out *SparkSQLJobObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkSQLJobObservation. +func (in *SparkSQLJobObservation) DeepCopy() *SparkSQLJobObservation { + if in == nil { + return nil + } + out := new(SparkSQLJobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkSQLJobParameters) DeepCopyInto(out *SparkSQLJobParameters) { + *out = *in + if in.JarFileUris != nil { + in, out := &in.JarFileUris, &out.JarFileUris + *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.LoggingConfig != nil { + in, out := &in.LoggingConfig, &out.LoggingConfig + *out = make([]SparkSQLJobLoggingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *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.QueryFileURI != nil { + in, out := &in.QueryFileURI, &out.QueryFileURI + *out = new(string) + **out = **in + } + if in.QueryList != nil { + in, out := &in.QueryList, &out.QueryList + *out = make([]SparkSQLJobQueryListParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ScriptVariables != nil { + in, out := &in.ScriptVariables, &out.ScriptVariables + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkSQLJobParameters. +func (in *SparkSQLJobParameters) DeepCopy() *SparkSQLJobParameters { + if in == nil { + return nil + } + out := new(SparkSQLJobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkSQLJobQueryListObservation) DeepCopyInto(out *SparkSQLJobQueryListObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparkSQLJobQueryListObservation. +func (in *SparkSQLJobQueryListObservation) DeepCopy() *SparkSQLJobQueryListObservation { + if in == nil { + return nil + } + out := new(SparkSQLJobQueryListObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparkSQLJobQueryListParameters) DeepCopyInto(out *SparkSQLJobQueryListParameters) { + *out = *in + if in.Queries != nil { + in, out := &in.Queries, &out.Queries + *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 SparkSQLJobQueryListParameters. +func (in *SparkSQLJobQueryListParameters) DeepCopy() *SparkSQLJobQueryListParameters { + if in == nil { + return nil + } + out := new(SparkSQLJobQueryListParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparksqlConfigLoggingConfigObservation) DeepCopyInto(out *SparksqlConfigLoggingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparksqlConfigLoggingConfigObservation. +func (in *SparksqlConfigLoggingConfigObservation) DeepCopy() *SparksqlConfigLoggingConfigObservation { + if in == nil { + return nil + } + out := new(SparksqlConfigLoggingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparksqlConfigLoggingConfigParameters) DeepCopyInto(out *SparksqlConfigLoggingConfigParameters) { + *out = *in + if in.DriverLogLevels != nil { + in, out := &in.DriverLogLevels, &out.DriverLogLevels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparksqlConfigLoggingConfigParameters. +func (in *SparksqlConfigLoggingConfigParameters) DeepCopy() *SparksqlConfigLoggingConfigParameters { + if in == nil { + return nil + } + out := new(SparksqlConfigLoggingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparksqlConfigObservation) DeepCopyInto(out *SparksqlConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparksqlConfigObservation. +func (in *SparksqlConfigObservation) DeepCopy() *SparksqlConfigObservation { + if in == nil { + return nil + } + out := new(SparksqlConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SparksqlConfigParameters) DeepCopyInto(out *SparksqlConfigParameters) { + *out = *in + if in.JarFileUris != nil { + in, out := &in.JarFileUris, &out.JarFileUris + *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.LoggingConfig != nil { + in, out := &in.LoggingConfig, &out.LoggingConfig + *out = make([]SparksqlConfigLoggingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *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.QueryFileURI != nil { + in, out := &in.QueryFileURI, &out.QueryFileURI + *out = new(string) + **out = **in + } + if in.QueryList != nil { + in, out := &in.QueryList, &out.QueryList + *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.ScriptVariables != nil { + in, out := &in.ScriptVariables, &out.ScriptVariables + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SparksqlConfigParameters. +func (in *SparksqlConfigParameters) DeepCopy() *SparksqlConfigParameters { + if in == nil { + return nil + } + out := new(SparksqlConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusObservation) DeepCopyInto(out *StatusObservation) { + *out = *in + if in.Details != nil { + in, out := &in.Details, &out.Details + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } + if in.StateStartTime != nil { + in, out := &in.StateStartTime, &out.StateStartTime + *out = new(string) + **out = **in + } + if in.Substate != nil { + in, out := &in.Substate, &out.Substate + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusObservation. +func (in *StatusObservation) DeepCopy() *StatusObservation { + if in == nil { + return nil + } + out := new(StatusObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StatusParameters) DeepCopyInto(out *StatusParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusParameters. +func (in *StatusParameters) DeepCopy() *StatusParameters { + if in == nil { + return nil + } + out := new(StatusParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationObservation) DeepCopyInto(out *ValidationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationObservation. +func (in *ValidationObservation) DeepCopy() *ValidationObservation { + if in == nil { + return nil + } + out := new(ValidationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValidationParameters) DeepCopyInto(out *ValidationParameters) { + *out = *in + if in.Regex != nil { + in, out := &in.Regex, &out.Regex + *out = make([]RegexParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Values != nil { + in, out := &in.Values, &out.Values + *out = make([]ValuesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationParameters. +func (in *ValidationParameters) DeepCopy() *ValidationParameters { + if in == nil { + return nil + } + out := new(ValidationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValuesObservation) DeepCopyInto(out *ValuesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValuesObservation. +func (in *ValuesObservation) DeepCopy() *ValuesObservation { + if in == nil { + return nil + } + out := new(ValuesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValuesParameters) DeepCopyInto(out *ValuesParameters) { + *out = *in + if in.Values != nil { + in, out := &in.Values, &out.Values + *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 ValuesParameters. +func (in *ValuesParameters) DeepCopy() *ValuesParameters { + if in == nil { + return nil + } + out := new(ValuesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkerConfigAcceleratorsObservation) DeepCopyInto(out *WorkerConfigAcceleratorsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerConfigAcceleratorsObservation. +func (in *WorkerConfigAcceleratorsObservation) DeepCopy() *WorkerConfigAcceleratorsObservation { + if in == nil { + return nil + } + out := new(WorkerConfigAcceleratorsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkerConfigAcceleratorsParameters) DeepCopyInto(out *WorkerConfigAcceleratorsParameters) { + *out = *in + if in.AcceleratorCount != nil { + in, out := &in.AcceleratorCount, &out.AcceleratorCount + *out = new(int64) + **out = **in + } + if in.AcceleratorType != nil { + in, out := &in.AcceleratorType, &out.AcceleratorType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerConfigAcceleratorsParameters. +func (in *WorkerConfigAcceleratorsParameters) DeepCopy() *WorkerConfigAcceleratorsParameters { + if in == nil { + return nil + } + out := new(WorkerConfigAcceleratorsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkerConfigDiskConfigObservation) DeepCopyInto(out *WorkerConfigDiskConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerConfigDiskConfigObservation. +func (in *WorkerConfigDiskConfigObservation) DeepCopy() *WorkerConfigDiskConfigObservation { + if in == nil { + return nil + } + out := new(WorkerConfigDiskConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkerConfigDiskConfigParameters) DeepCopyInto(out *WorkerConfigDiskConfigParameters) { + *out = *in + if in.BootDiskSizeGb != nil { + in, out := &in.BootDiskSizeGb, &out.BootDiskSizeGb + *out = new(int64) + **out = **in + } + if in.BootDiskType != nil { + in, out := &in.BootDiskType, &out.BootDiskType + *out = new(string) + **out = **in + } + if in.NumLocalSsds != nil { + in, out := &in.NumLocalSsds, &out.NumLocalSsds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerConfigDiskConfigParameters. +func (in *WorkerConfigDiskConfigParameters) DeepCopy() *WorkerConfigDiskConfigParameters { + if in == nil { + return nil + } + out := new(WorkerConfigDiskConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkerConfigManagedGroupConfigObservation) DeepCopyInto(out *WorkerConfigManagedGroupConfigObservation) { + *out = *in + if in.InstanceGroupManagerName != nil { + in, out := &in.InstanceGroupManagerName, &out.InstanceGroupManagerName + *out = new(string) + **out = **in + } + if in.InstanceTemplateName != nil { + in, out := &in.InstanceTemplateName, &out.InstanceTemplateName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerConfigManagedGroupConfigObservation. +func (in *WorkerConfigManagedGroupConfigObservation) DeepCopy() *WorkerConfigManagedGroupConfigObservation { + if in == nil { + return nil + } + out := new(WorkerConfigManagedGroupConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkerConfigManagedGroupConfigParameters) DeepCopyInto(out *WorkerConfigManagedGroupConfigParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerConfigManagedGroupConfigParameters. +func (in *WorkerConfigManagedGroupConfigParameters) DeepCopy() *WorkerConfigManagedGroupConfigParameters { + if in == nil { + return nil + } + out := new(WorkerConfigManagedGroupConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkerConfigObservation) DeepCopyInto(out *WorkerConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerConfigObservation. +func (in *WorkerConfigObservation) DeepCopy() *WorkerConfigObservation { + if in == nil { + return nil + } + out := new(WorkerConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkerConfigParameters) DeepCopyInto(out *WorkerConfigParameters) { + *out = *in + if in.MaxInstances != nil { + in, out := &in.MaxInstances, &out.MaxInstances + *out = new(int64) + **out = **in + } + if in.MinInstances != nil { + in, out := &in.MinInstances, &out.MinInstances + *out = new(int64) + **out = **in + } + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerConfigParameters. +func (in *WorkerConfigParameters) DeepCopy() *WorkerConfigParameters { + if in == nil { + return nil + } + out := new(WorkerConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkflowTemplate) DeepCopyInto(out *WorkflowTemplate) { + *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 WorkflowTemplate. +func (in *WorkflowTemplate) DeepCopy() *WorkflowTemplate { + if in == nil { + return nil + } + out := new(WorkflowTemplate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WorkflowTemplate) 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 *WorkflowTemplateList) DeepCopyInto(out *WorkflowTemplateList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WorkflowTemplate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTemplateList. +func (in *WorkflowTemplateList) DeepCopy() *WorkflowTemplateList { + if in == nil { + return nil + } + out := new(WorkflowTemplateList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WorkflowTemplateList) 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 *WorkflowTemplateObservation) DeepCopyInto(out *WorkflowTemplateObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTemplateObservation. +func (in *WorkflowTemplateObservation) DeepCopy() *WorkflowTemplateObservation { + if in == nil { + return nil + } + out := new(WorkflowTemplateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkflowTemplateParameters) DeepCopyInto(out *WorkflowTemplateParameters) { + *out = *in + if in.DagTimeout != nil { + in, out := &in.DagTimeout, &out.DagTimeout + *out = new(string) + **out = **in + } + if in.Jobs != nil { + in, out := &in.Jobs, &out.Jobs + *out = make([]JobsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Parameters != nil { + in, out := &in.Parameters, &out.Parameters + *out = make([]ParametersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Placement != nil { + in, out := &in.Placement, &out.Placement + *out = make([]WorkflowTemplatePlacementParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTemplateParameters. +func (in *WorkflowTemplateParameters) DeepCopy() *WorkflowTemplateParameters { + if in == nil { + return nil + } + out := new(WorkflowTemplateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkflowTemplatePlacementObservation) DeepCopyInto(out *WorkflowTemplatePlacementObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTemplatePlacementObservation. +func (in *WorkflowTemplatePlacementObservation) DeepCopy() *WorkflowTemplatePlacementObservation { + if in == nil { + return nil + } + out := new(WorkflowTemplatePlacementObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkflowTemplatePlacementParameters) DeepCopyInto(out *WorkflowTemplatePlacementParameters) { + *out = *in + if in.ClusterSelector != nil { + in, out := &in.ClusterSelector, &out.ClusterSelector + *out = make([]ClusterSelectorParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ManagedCluster != nil { + in, out := &in.ManagedCluster, &out.ManagedCluster + *out = make([]ManagedClusterParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTemplatePlacementParameters. +func (in *WorkflowTemplatePlacementParameters) DeepCopy() *WorkflowTemplatePlacementParameters { + if in == nil { + return nil + } + out := new(WorkflowTemplatePlacementParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkflowTemplateSpec) DeepCopyInto(out *WorkflowTemplateSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTemplateSpec. +func (in *WorkflowTemplateSpec) DeepCopy() *WorkflowTemplateSpec { + if in == nil { + return nil + } + out := new(WorkflowTemplateSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkflowTemplateStatus) DeepCopyInto(out *WorkflowTemplateStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowTemplateStatus. +func (in *WorkflowTemplateStatus) DeepCopy() *WorkflowTemplateStatus { + if in == nil { + return nil + } + out := new(WorkflowTemplateStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *YarnConfigObservation) DeepCopyInto(out *YarnConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new YarnConfigObservation. +func (in *YarnConfigObservation) DeepCopy() *YarnConfigObservation { + if in == nil { + return nil + } + out := new(YarnConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *YarnConfigParameters) DeepCopyInto(out *YarnConfigParameters) { + *out = *in + if in.GracefulDecommissionTimeout != nil { + in, out := &in.GracefulDecommissionTimeout, &out.GracefulDecommissionTimeout + *out = new(string) + **out = **in + } + if in.ScaleDownFactor != nil { + in, out := &in.ScaleDownFactor, &out.ScaleDownFactor + *out = new(float64) + **out = **in + } + if in.ScaleDownMinWorkerFraction != nil { + in, out := &in.ScaleDownMinWorkerFraction, &out.ScaleDownMinWorkerFraction + *out = new(float64) + **out = **in + } + if in.ScaleUpFactor != nil { + in, out := &in.ScaleUpFactor, &out.ScaleUpFactor + *out = new(float64) + **out = **in + } + if in.ScaleUpMinWorkerFraction != nil { + in, out := &in.ScaleUpMinWorkerFraction, &out.ScaleUpMinWorkerFraction + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new YarnConfigParameters. +func (in *YarnConfigParameters) DeepCopy() *YarnConfigParameters { + if in == nil { + return nil + } + out := new(YarnConfigParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/dataproc/v1alpha1/zz_generated.managed.go b/apis/dataproc/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..f90c2944 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_generated.managed.go @@ -0,0 +1,580 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this AutoscalingPolicy. +func (mg *AutoscalingPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AutoscalingPolicy. +func (mg *AutoscalingPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AutoscalingPolicy. +func (mg *AutoscalingPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AutoscalingPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AutoscalingPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AutoscalingPolicy. +func (mg *AutoscalingPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AutoscalingPolicy. +func (mg *AutoscalingPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AutoscalingPolicy. +func (mg *AutoscalingPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AutoscalingPolicy. +func (mg *AutoscalingPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AutoscalingPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AutoscalingPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AutoscalingPolicy. +func (mg *AutoscalingPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Cluster. +func (mg *Cluster) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Cluster. +func (mg *Cluster) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Cluster. +func (mg *Cluster) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Cluster. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Cluster) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Cluster. +func (mg *Cluster) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Cluster. +func (mg *Cluster) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Cluster. +func (mg *Cluster) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Cluster. +func (mg *Cluster) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Cluster. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Cluster) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Cluster. +func (mg *Cluster) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ClusterIAMBinding. +func (mg *ClusterIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ClusterIAMBinding. +func (mg *ClusterIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ClusterIAMBinding. +func (mg *ClusterIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ClusterIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ClusterIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ClusterIAMBinding. +func (mg *ClusterIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ClusterIAMBinding. +func (mg *ClusterIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ClusterIAMBinding. +func (mg *ClusterIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ClusterIAMBinding. +func (mg *ClusterIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ClusterIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ClusterIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ClusterIAMBinding. +func (mg *ClusterIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ClusterIAMMember. +func (mg *ClusterIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ClusterIAMMember. +func (mg *ClusterIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ClusterIAMMember. +func (mg *ClusterIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ClusterIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ClusterIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ClusterIAMMember. +func (mg *ClusterIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ClusterIAMMember. +func (mg *ClusterIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ClusterIAMMember. +func (mg *ClusterIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ClusterIAMMember. +func (mg *ClusterIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ClusterIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ClusterIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ClusterIAMMember. +func (mg *ClusterIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ClusterIAMPolicy. +func (mg *ClusterIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ClusterIAMPolicy. +func (mg *ClusterIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ClusterIAMPolicy. +func (mg *ClusterIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ClusterIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ClusterIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ClusterIAMPolicy. +func (mg *ClusterIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ClusterIAMPolicy. +func (mg *ClusterIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ClusterIAMPolicy. +func (mg *ClusterIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ClusterIAMPolicy. +func (mg *ClusterIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ClusterIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ClusterIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ClusterIAMPolicy. +func (mg *ClusterIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Job. +func (mg *Job) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Job. +func (mg *Job) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Job. +func (mg *Job) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Job. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Job) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Job. +func (mg *Job) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Job. +func (mg *Job) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Job. +func (mg *Job) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Job. +func (mg *Job) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Job. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Job) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Job. +func (mg *Job) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this JobIAMBinding. +func (mg *JobIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this JobIAMBinding. +func (mg *JobIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this JobIAMBinding. +func (mg *JobIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this JobIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *JobIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this JobIAMBinding. +func (mg *JobIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this JobIAMBinding. +func (mg *JobIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this JobIAMBinding. +func (mg *JobIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this JobIAMBinding. +func (mg *JobIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this JobIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *JobIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this JobIAMBinding. +func (mg *JobIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this JobIAMMember. +func (mg *JobIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this JobIAMMember. +func (mg *JobIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this JobIAMMember. +func (mg *JobIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this JobIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *JobIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this JobIAMMember. +func (mg *JobIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this JobIAMMember. +func (mg *JobIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this JobIAMMember. +func (mg *JobIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this JobIAMMember. +func (mg *JobIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this JobIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *JobIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this JobIAMMember. +func (mg *JobIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this JobIAMPolicy. +func (mg *JobIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this JobIAMPolicy. +func (mg *JobIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this JobIAMPolicy. +func (mg *JobIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this JobIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *JobIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this JobIAMPolicy. +func (mg *JobIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this JobIAMPolicy. +func (mg *JobIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this JobIAMPolicy. +func (mg *JobIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this JobIAMPolicy. +func (mg *JobIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this JobIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *JobIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this JobIAMPolicy. +func (mg *JobIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this WorkflowTemplate. +func (mg *WorkflowTemplate) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this WorkflowTemplate. +func (mg *WorkflowTemplate) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this WorkflowTemplate. +func (mg *WorkflowTemplate) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this WorkflowTemplate. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *WorkflowTemplate) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this WorkflowTemplate. +func (mg *WorkflowTemplate) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this WorkflowTemplate. +func (mg *WorkflowTemplate) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this WorkflowTemplate. +func (mg *WorkflowTemplate) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this WorkflowTemplate. +func (mg *WorkflowTemplate) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this WorkflowTemplate. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *WorkflowTemplate) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this WorkflowTemplate. +func (mg *WorkflowTemplate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/dataproc/v1alpha1/zz_generated.managedlist.go b/apis/dataproc/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..017789a7 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,110 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this AutoscalingPolicyList. +func (l *AutoscalingPolicyList) 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 ClusterIAMBindingList. +func (l *ClusterIAMBindingList) 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 ClusterIAMMemberList. +func (l *ClusterIAMMemberList) 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 ClusterIAMPolicyList. +func (l *ClusterIAMPolicyList) 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 ClusterList. +func (l *ClusterList) 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 JobIAMBindingList. +func (l *JobIAMBindingList) 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 JobIAMMemberList. +func (l *JobIAMMemberList) 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 JobIAMPolicyList. +func (l *JobIAMPolicyList) 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 JobList. +func (l *JobList) 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 WorkflowTemplateList. +func (l *WorkflowTemplateList) 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/dataproc/v1alpha1/zz_groupversion_info.go b/apis/dataproc/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..2d1f98d5 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=dataproc.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "dataproc.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/dataproc/v1alpha1/zz_job_terraformed.go b/apis/dataproc/v1alpha1/zz_job_terraformed.go new file mode 100755 index 00000000..2ab2cfb8 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_job_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Job +func (mg *Job) GetTerraformResourceType() string { + return "google_dataproc_job" +} + +// GetConnectionDetailsMapping for this Job +func (tr *Job) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Job +func (tr *Job) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Job +func (tr *Job) SetObservation(obs map[string]interface{}) 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 Job +func (tr *Job) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Job +func (tr *Job) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Job +func (tr *Job) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Job using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Job) LateInitialize(attrs []byte) (bool, error) { + params := &JobParameters{} + 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 *Job) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dataproc/v1alpha1/zz_job_types.go b/apis/dataproc/v1alpha1/zz_job_types.go new file mode 100755 index 00000000..2015060a --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_job_types.go @@ -0,0 +1,446 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 HadoopConfigObservation struct { +} + +type HadoopConfigParameters struct { + + // HCFS URIs of archives to be extracted in the working directory of .jar, .tar, .tar.gz, .tgz, and .zip. + // +kubebuilder:validation:Optional + ArchiveUris []*string `json:"archiveUris,omitempty" tf:"archive_uris,omitempty"` + + // The arguments to pass to the driver. + // +kubebuilder:validation:Optional + Args []*string `json:"args,omitempty" tf:"args,omitempty"` + + // HCFS URIs of files to be copied to the working directory of Spark drivers and distributed tasks. Useful for naively parallel tasks. + // +kubebuilder:validation:Optional + FileUris []*string `json:"fileUris,omitempty" tf:"file_uris,omitempty"` + + // HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver and tasks. + // +kubebuilder:validation:Optional + JarFileUris []*string `json:"jarFileUris,omitempty" tf:"jar_file_uris,omitempty"` + + // The runtime logging config of the job + // +kubebuilder:validation:Optional + LoggingConfig []LoggingConfigParameters `json:"loggingConfig,omitempty" tf:"logging_config,omitempty"` + + // The class containing the main method of the driver. Must be in a provided jar or jar that is already on the classpath. Conflicts with main_jar_file_uri + // +kubebuilder:validation:Optional + MainClass *string `json:"mainClass,omitempty" tf:"main_class,omitempty"` + + // The HCFS URI of jar file containing the driver jar. Conflicts with main_class + // +kubebuilder:validation:Optional + MainJarFileURI *string `json:"mainJarFileUri,omitempty" tf:"main_jar_file_uri,omitempty"` + + // A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code. + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` +} + +type HiveConfigObservation struct { +} + +type HiveConfigParameters struct { + + // Whether to continue executing queries if a query fails. The default value is false. Setting to true can be useful when executing independent parallel queries. Defaults to false. + // +kubebuilder:validation:Optional + ContinueOnFailure *bool `json:"continueOnFailure,omitempty" tf:"continue_on_failure,omitempty"` + + // HCFS URIs of jar files to add to the CLASSPATH of the Hive server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and UDFs. + // +kubebuilder:validation:Optional + JarFileUris []*string `json:"jarFileUris,omitempty" tf:"jar_file_uris,omitempty"` + + // A mapping of property names and values, used to configure Hive. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and classes in user code. + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` + + // HCFS URI of file containing Hive script to execute as the job. Conflicts with query_list + // +kubebuilder:validation:Optional + QueryFileURI *string `json:"queryFileUri,omitempty" tf:"query_file_uri,omitempty"` + + // The list of Hive queries or statements to execute as part of the job. Conflicts with query_file_uri + // +kubebuilder:validation:Optional + QueryList []*string `json:"queryList,omitempty" tf:"query_list,omitempty"` + + // Mapping of query variable names to values (equivalent to the Hive command: SET name="value";). + // +kubebuilder:validation:Optional + ScriptVariables map[string]*string `json:"scriptVariables,omitempty" tf:"script_variables,omitempty"` +} + +type JobObservation struct { + DriverControlsFilesURI *string `json:"driverControlsFilesUri,omitempty" tf:"driver_controls_files_uri,omitempty"` + + DriverOutputResourceURI *string `json:"driverOutputResourceUri,omitempty" tf:"driver_output_resource_uri,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Status []StatusObservation `json:"status,omitempty" tf:"status,omitempty"` +} + +type JobParameters struct { + + // By default, you can only delete inactive jobs within Dataproc. Setting this to true, and calling destroy, will ensure that the job is first cancelled before issuing the delete. + // +kubebuilder:validation:Optional + ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"` + + // The config of Hadoop job + // +kubebuilder:validation:Optional + HadoopConfig []HadoopConfigParameters `json:"hadoopConfig,omitempty" tf:"hadoop_config,omitempty"` + + // The config of hive job + // +kubebuilder:validation:Optional + HiveConfig []HiveConfigParameters `json:"hiveConfig,omitempty" tf:"hive_config,omitempty"` + + // Optional. The labels to associate with this job. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The config of pag job. + // +kubebuilder:validation:Optional + PigConfig []PigConfigParameters `json:"pigConfig,omitempty" tf:"pig_config,omitempty"` + + // The config of job placement. + // +kubebuilder:validation:Required + Placement []PlacementParameters `json:"placement" tf:"placement,omitempty"` + + // The project in which the cluster can be found and jobs subsequently run against. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The config of pySpark job. + // +kubebuilder:validation:Optional + PysparkConfig []PysparkConfigParameters `json:"pysparkConfig,omitempty" tf:"pyspark_config,omitempty"` + + // The reference of the job + // +kubebuilder:validation:Optional + Reference []ReferenceParameters `json:"reference,omitempty" tf:"reference,omitempty"` + + // The Cloud Dataproc region. This essentially determines which clusters are available for this job to be submitted to. If not specified, defaults to global. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // Optional. Job scheduling configuration. + // +kubebuilder:validation:Optional + Scheduling []SchedulingParameters `json:"scheduling,omitempty" tf:"scheduling,omitempty"` + + // The config of the Spark job. + // +kubebuilder:validation:Optional + SparkConfig []SparkConfigParameters `json:"sparkConfig,omitempty" tf:"spark_config,omitempty"` + + // The config of SparkSql job + // +kubebuilder:validation:Optional + SparksqlConfig []SparksqlConfigParameters `json:"sparksqlConfig,omitempty" tf:"sparksql_config,omitempty"` +} + +type LoggingConfigObservation struct { +} + +type LoggingConfigParameters struct { + + // Optional. The per-package log levels for the driver. This may include 'root' package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'. + // +kubebuilder:validation:Required + DriverLogLevels map[string]*string `json:"driverLogLevels" tf:"driver_log_levels,omitempty"` +} + +type PigConfigLoggingConfigObservation struct { +} + +type PigConfigLoggingConfigParameters struct { + + // Optional. The per-package log levels for the driver. This may include 'root' package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'. + // +kubebuilder:validation:Required + DriverLogLevels map[string]*string `json:"driverLogLevels" tf:"driver_log_levels,omitempty"` +} + +type PigConfigObservation struct { +} + +type PigConfigParameters struct { + + // Whether to continue executing queries if a query fails. The default value is false. Setting to true can be useful when executing independent parallel queries. Defaults to false. + // +kubebuilder:validation:Optional + ContinueOnFailure *bool `json:"continueOnFailure,omitempty" tf:"continue_on_failure,omitempty"` + + // HCFS URIs of jar files to add to the CLASSPATH of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs. + // +kubebuilder:validation:Optional + JarFileUris []*string `json:"jarFileUris,omitempty" tf:"jar_file_uris,omitempty"` + + // The runtime logging config of the job + // +kubebuilder:validation:Optional + LoggingConfig []PigConfigLoggingConfigParameters `json:"loggingConfig,omitempty" tf:"logging_config,omitempty"` + + // A mapping of property names to values, used to configure Pig. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and classes in user code. + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` + + // HCFS URI of file containing Hive script to execute as the job. Conflicts with query_list + // +kubebuilder:validation:Optional + QueryFileURI *string `json:"queryFileUri,omitempty" tf:"query_file_uri,omitempty"` + + // The list of Hive queries or statements to execute as part of the job. Conflicts with query_file_uri + // +kubebuilder:validation:Optional + QueryList []*string `json:"queryList,omitempty" tf:"query_list,omitempty"` + + // Mapping of query variable names to values (equivalent to the Pig command: name=[value]). + // +kubebuilder:validation:Optional + ScriptVariables map[string]*string `json:"scriptVariables,omitempty" tf:"script_variables,omitempty"` +} + +type PlacementObservation struct { + ClusterUUID *string `json:"clusterUuid,omitempty" tf:"cluster_uuid,omitempty"` +} + +type PlacementParameters struct { + + // The name of the cluster where the job will be submitted + // +kubebuilder:validation:Required + ClusterName *string `json:"clusterName" tf:"cluster_name,omitempty"` +} + +type PysparkConfigLoggingConfigObservation struct { +} + +type PysparkConfigLoggingConfigParameters struct { + + // Optional. The per-package log levels for the driver. This may include 'root' package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'. + // +kubebuilder:validation:Required + DriverLogLevels map[string]*string `json:"driverLogLevels" tf:"driver_log_levels,omitempty"` +} + +type PysparkConfigObservation struct { +} + +type PysparkConfigParameters struct { + + // Optional. HCFS URIs of archives to be extracted in the working directory of .jar, .tar, .tar.gz, .tgz, and .zip + // +kubebuilder:validation:Optional + ArchiveUris []*string `json:"archiveUris,omitempty" tf:"archive_uris,omitempty"` + + // Optional. The arguments to pass to the driver. Do not include arguments, such as --conf, that can be set as job properties, since a collision may occur that causes an incorrect job submission + // +kubebuilder:validation:Optional + Args []*string `json:"args,omitempty" tf:"args,omitempty"` + + // Optional. HCFS URIs of files to be copied to the working directory of Python drivers and distributed tasks. Useful for naively parallel tasks + // +kubebuilder:validation:Optional + FileUris []*string `json:"fileUris,omitempty" tf:"file_uris,omitempty"` + + // Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Python driver and tasks + // +kubebuilder:validation:Optional + JarFileUris []*string `json:"jarFileUris,omitempty" tf:"jar_file_uris,omitempty"` + + // The runtime logging config of the job + // +kubebuilder:validation:Optional + LoggingConfig []PysparkConfigLoggingConfigParameters `json:"loggingConfig,omitempty" tf:"logging_config,omitempty"` + + // Required. The HCFS URI of the main Python file to use as the driver. Must be a .py file + // +kubebuilder:validation:Required + MainPythonFileURI *string `json:"mainPythonFileUri" tf:"main_python_file_uri,omitempty"` + + // Optional. A mapping of property names to values, used to configure PySpark. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` + + // Optional. HCFS file URIs of Python files to pass to the PySpark framework. Supported file types: .py, .egg, and .zip + // +kubebuilder:validation:Optional + PythonFileUris []*string `json:"pythonFileUris,omitempty" tf:"python_file_uris,omitempty"` +} + +type ReferenceObservation struct { +} + +type ReferenceParameters struct { + + // The job ID, which must be unique within the project. The job ID is generated by the server upon job submission or provided by the user as a means to perform retries without creating duplicate jobs + // +kubebuilder:validation:Optional + JobID *string `json:"jobId,omitempty" tf:"job_id,omitempty"` +} + +type SchedulingObservation struct { +} + +type SchedulingParameters struct { + + // Maximum number of times per hour a driver may be restarted as a result of driver exiting with non-zero code before job is reported failed. + // +kubebuilder:validation:Required + MaxFailuresPerHour *int64 `json:"maxFailuresPerHour" tf:"max_failures_per_hour,omitempty"` + + // Maximum number of times in total a driver may be restarted as a result of driver exiting with non-zero code before job is reported failed. + // +kubebuilder:validation:Required + MaxFailuresTotal *int64 `json:"maxFailuresTotal" tf:"max_failures_total,omitempty"` +} + +type SparkConfigLoggingConfigObservation struct { +} + +type SparkConfigLoggingConfigParameters struct { + + // Optional. The per-package log levels for the driver. This may include 'root' package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'. + // +kubebuilder:validation:Required + DriverLogLevels map[string]*string `json:"driverLogLevels" tf:"driver_log_levels,omitempty"` +} + +type SparkConfigObservation struct { +} + +type SparkConfigParameters struct { + + // HCFS URIs of archives to be extracted in the working directory of .jar, .tar, .tar.gz, .tgz, and .zip. + // +kubebuilder:validation:Optional + ArchiveUris []*string `json:"archiveUris,omitempty" tf:"archive_uris,omitempty"` + + // The arguments to pass to the driver. + // +kubebuilder:validation:Optional + Args []*string `json:"args,omitempty" tf:"args,omitempty"` + + // HCFS URIs of files to be copied to the working directory of Spark drivers and distributed tasks. Useful for naively parallel tasks. + // +kubebuilder:validation:Optional + FileUris []*string `json:"fileUris,omitempty" tf:"file_uris,omitempty"` + + // HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver and tasks. + // +kubebuilder:validation:Optional + JarFileUris []*string `json:"jarFileUris,omitempty" tf:"jar_file_uris,omitempty"` + + // The runtime logging config of the job + // +kubebuilder:validation:Optional + LoggingConfig []SparkConfigLoggingConfigParameters `json:"loggingConfig,omitempty" tf:"logging_config,omitempty"` + + // The class containing the main method of the driver. Must be in a provided jar or jar that is already on the classpath. Conflicts with main_jar_file_uri + // +kubebuilder:validation:Optional + MainClass *string `json:"mainClass,omitempty" tf:"main_class,omitempty"` + + // The HCFS URI of jar file containing the driver jar. Conflicts with main_class + // +kubebuilder:validation:Optional + MainJarFileURI *string `json:"mainJarFileUri,omitempty" tf:"main_jar_file_uri,omitempty"` + + // A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code. + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` +} + +type SparksqlConfigLoggingConfigObservation struct { +} + +type SparksqlConfigLoggingConfigParameters struct { + + // Optional. The per-package log levels for the driver. This may include 'root' package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'. + // +kubebuilder:validation:Required + DriverLogLevels map[string]*string `json:"driverLogLevels" tf:"driver_log_levels,omitempty"` +} + +type SparksqlConfigObservation struct { +} + +type SparksqlConfigParameters struct { + + // HCFS URIs of jar files to be added to the Spark CLASSPATH. + // +kubebuilder:validation:Optional + JarFileUris []*string `json:"jarFileUris,omitempty" tf:"jar_file_uris,omitempty"` + + // The runtime logging config of the job + // +kubebuilder:validation:Optional + LoggingConfig []SparksqlConfigLoggingConfigParameters `json:"loggingConfig,omitempty" tf:"logging_config,omitempty"` + + // A mapping of property names to values, used to configure Spark SQL's SparkConf. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` + + // The HCFS URI of the script that contains SQL queries. Conflicts with query_list + // +kubebuilder:validation:Optional + QueryFileURI *string `json:"queryFileUri,omitempty" tf:"query_file_uri,omitempty"` + + // The list of SQL queries or statements to execute as part of the job. Conflicts with query_file_uri + // +kubebuilder:validation:Optional + QueryList []*string `json:"queryList,omitempty" tf:"query_list,omitempty"` + + // Mapping of query variable names to values (equivalent to the Spark SQL command: SET name="value";). + // +kubebuilder:validation:Optional + ScriptVariables map[string]*string `json:"scriptVariables,omitempty" tf:"script_variables,omitempty"` +} + +type StatusObservation struct { + Details *string `json:"details,omitempty" tf:"details,omitempty"` + + State *string `json:"state,omitempty" tf:"state,omitempty"` + + StateStartTime *string `json:"stateStartTime,omitempty" tf:"state_start_time,omitempty"` + + Substate *string `json:"substate,omitempty" tf:"substate,omitempty"` +} + +type StatusParameters struct { +} + +// JobSpec defines the desired state of Job +type JobSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider JobParameters `json:"forProvider"` +} + +// JobStatus defines the observed state of Job. +type JobStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider JobObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Job is the Schema for the Jobs 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,gcpjet} +type Job struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec JobSpec `json:"spec"` + Status JobStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// JobList contains a list of Jobs +type JobList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Job `json:"items"` +} + +// Repository type metadata. +var ( + Job_Kind = "Job" + Job_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Job_Kind}.String() + Job_KindAPIVersion = Job_Kind + "." + CRDGroupVersion.String() + Job_GroupVersionKind = CRDGroupVersion.WithKind(Job_Kind) +) + +func init() { + SchemeBuilder.Register(&Job{}, &JobList{}) +} diff --git a/apis/dataproc/v1alpha1/zz_jobiambinding_terraformed.go b/apis/dataproc/v1alpha1/zz_jobiambinding_terraformed.go new file mode 100755 index 00000000..046ecbc2 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_jobiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this JobIAMBinding +func (mg *JobIAMBinding) GetTerraformResourceType() string { + return "google_dataproc_job_iam_binding" +} + +// GetConnectionDetailsMapping for this JobIAMBinding +func (tr *JobIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this JobIAMBinding +func (tr *JobIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this JobIAMBinding +func (tr *JobIAMBinding) SetObservation(obs map[string]interface{}) 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 JobIAMBinding +func (tr *JobIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this JobIAMBinding +func (tr *JobIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this JobIAMBinding +func (tr *JobIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this JobIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *JobIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &JobIAMBindingParameters{} + 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 *JobIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dataproc/v1alpha1/zz_jobiambinding_types.go b/apis/dataproc/v1alpha1/zz_jobiambinding_types.go new file mode 100755 index 00000000..bb96e465 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_jobiambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 JobIAMBindingConditionObservation struct { +} + +type JobIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type JobIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type JobIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []JobIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + JobID *string `json:"jobId" tf:"job_id,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// JobIAMBindingSpec defines the desired state of JobIAMBinding +type JobIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider JobIAMBindingParameters `json:"forProvider"` +} + +// JobIAMBindingStatus defines the observed state of JobIAMBinding. +type JobIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider JobIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// JobIAMBinding is the Schema for the JobIAMBindings 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,gcpjet} +type JobIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec JobIAMBindingSpec `json:"spec"` + Status JobIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// JobIAMBindingList contains a list of JobIAMBindings +type JobIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []JobIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + JobIAMBinding_Kind = "JobIAMBinding" + JobIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: JobIAMBinding_Kind}.String() + JobIAMBinding_KindAPIVersion = JobIAMBinding_Kind + "." + CRDGroupVersion.String() + JobIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(JobIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&JobIAMBinding{}, &JobIAMBindingList{}) +} diff --git a/apis/dataproc/v1alpha1/zz_jobiammember_terraformed.go b/apis/dataproc/v1alpha1/zz_jobiammember_terraformed.go new file mode 100755 index 00000000..6949fcfb --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_jobiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this JobIAMMember +func (mg *JobIAMMember) GetTerraformResourceType() string { + return "google_dataproc_job_iam_member" +} + +// GetConnectionDetailsMapping for this JobIAMMember +func (tr *JobIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this JobIAMMember +func (tr *JobIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this JobIAMMember +func (tr *JobIAMMember) SetObservation(obs map[string]interface{}) 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 JobIAMMember +func (tr *JobIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this JobIAMMember +func (tr *JobIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this JobIAMMember +func (tr *JobIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this JobIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *JobIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &JobIAMMemberParameters{} + 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 *JobIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dataproc/v1alpha1/zz_jobiammember_types.go b/apis/dataproc/v1alpha1/zz_jobiammember_types.go new file mode 100755 index 00000000..76d4a623 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_jobiammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 JobIAMMemberConditionObservation struct { +} + +type JobIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type JobIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type JobIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []JobIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + JobID *string `json:"jobId" tf:"job_id,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// JobIAMMemberSpec defines the desired state of JobIAMMember +type JobIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider JobIAMMemberParameters `json:"forProvider"` +} + +// JobIAMMemberStatus defines the observed state of JobIAMMember. +type JobIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider JobIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// JobIAMMember is the Schema for the JobIAMMembers 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,gcpjet} +type JobIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec JobIAMMemberSpec `json:"spec"` + Status JobIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// JobIAMMemberList contains a list of JobIAMMembers +type JobIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []JobIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + JobIAMMember_Kind = "JobIAMMember" + JobIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: JobIAMMember_Kind}.String() + JobIAMMember_KindAPIVersion = JobIAMMember_Kind + "." + CRDGroupVersion.String() + JobIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(JobIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&JobIAMMember{}, &JobIAMMemberList{}) +} diff --git a/apis/dataproc/v1alpha1/zz_jobiampolicy_terraformed.go b/apis/dataproc/v1alpha1/zz_jobiampolicy_terraformed.go new file mode 100755 index 00000000..ee417366 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_jobiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this JobIAMPolicy +func (mg *JobIAMPolicy) GetTerraformResourceType() string { + return "google_dataproc_job_iam_policy" +} + +// GetConnectionDetailsMapping for this JobIAMPolicy +func (tr *JobIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this JobIAMPolicy +func (tr *JobIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this JobIAMPolicy +func (tr *JobIAMPolicy) SetObservation(obs map[string]interface{}) 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 JobIAMPolicy +func (tr *JobIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this JobIAMPolicy +func (tr *JobIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this JobIAMPolicy +func (tr *JobIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this JobIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *JobIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &JobIAMPolicyParameters{} + 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 *JobIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dataproc/v1alpha1/zz_jobiampolicy_types.go b/apis/dataproc/v1alpha1/zz_jobiampolicy_types.go new file mode 100755 index 00000000..3c9c98a3 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_jobiampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 JobIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type JobIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + JobID *string `json:"jobId" tf:"job_id,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +// JobIAMPolicySpec defines the desired state of JobIAMPolicy +type JobIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider JobIAMPolicyParameters `json:"forProvider"` +} + +// JobIAMPolicyStatus defines the observed state of JobIAMPolicy. +type JobIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider JobIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// JobIAMPolicy is the Schema for the JobIAMPolicys 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,gcpjet} +type JobIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec JobIAMPolicySpec `json:"spec"` + Status JobIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// JobIAMPolicyList contains a list of JobIAMPolicys +type JobIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []JobIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + JobIAMPolicy_Kind = "JobIAMPolicy" + JobIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: JobIAMPolicy_Kind}.String() + JobIAMPolicy_KindAPIVersion = JobIAMPolicy_Kind + "." + CRDGroupVersion.String() + JobIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(JobIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&JobIAMPolicy{}, &JobIAMPolicyList{}) +} diff --git a/apis/dataproc/v1alpha1/zz_workflowtemplate_terraformed.go b/apis/dataproc/v1alpha1/zz_workflowtemplate_terraformed.go new file mode 100755 index 00000000..d7cd1af1 --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_workflowtemplate_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this WorkflowTemplate +func (mg *WorkflowTemplate) GetTerraformResourceType() string { + return "google_dataproc_workflow_template" +} + +// GetConnectionDetailsMapping for this WorkflowTemplate +func (tr *WorkflowTemplate) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this WorkflowTemplate +func (tr *WorkflowTemplate) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this WorkflowTemplate +func (tr *WorkflowTemplate) SetObservation(obs map[string]interface{}) 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 WorkflowTemplate +func (tr *WorkflowTemplate) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this WorkflowTemplate +func (tr *WorkflowTemplate) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this WorkflowTemplate +func (tr *WorkflowTemplate) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this WorkflowTemplate using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *WorkflowTemplate) LateInitialize(attrs []byte) (bool, error) { + params := &WorkflowTemplateParameters{} + 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 *WorkflowTemplate) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dataproc/v1alpha1/zz_workflowtemplate_types.go b/apis/dataproc/v1alpha1/zz_workflowtemplate_types.go new file mode 100755 index 00000000..d27b187c --- /dev/null +++ b/apis/dataproc/v1alpha1/zz_workflowtemplate_types.go @@ -0,0 +1,1208 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ClusterSelectorObservation struct { +} + +type ClusterSelectorParameters struct { + + // Required. The cluster labels. Cluster must have all labels to match. + // +kubebuilder:validation:Required + ClusterLabels map[string]*string `json:"clusterLabels" tf:"cluster_labels,omitempty"` + + // Optional. The zone where workflow process executes. This parameter does not affect the selection of the cluster. If unspecified, the zone of the first cluster matching the selector is used. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type ConfigAutoscalingConfigObservation struct { +} + +type ConfigAutoscalingConfigParameters struct { + + // Optional. The autoscaling policy used by the cluster. Only resource names including projectid and location (region) are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]` * `projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]` Note that the policy must be in the same project and Dataproc region. + // +kubebuilder:validation:Optional + Policy *string `json:"policy,omitempty" tf:"policy,omitempty"` +} + +type ConfigEncryptionConfigObservation struct { +} + +type ConfigEncryptionConfigParameters struct { + + // Optional. The Cloud KMS key name to use for PD disk encryption for all instances in the cluster. + // +kubebuilder:validation:Optional + GcePdKMSKeyName *string `json:"gcePdKmsKeyName,omitempty" tf:"gce_pd_kms_key_name,omitempty"` +} + +type ConfigGceClusterConfigObservation struct { +} + +type ConfigGceClusterConfigParameters struct { + + // Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This `internal_ip_only` restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses. + // +kubebuilder:validation:Optional + InternalIPOnly *bool `json:"internalIpOnly,omitempty" tf:"internal_ip_only,omitempty"` + + // The Compute Engine metadata entries to add to all instances (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). + // +kubebuilder:validation:Optional + Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"` + + // Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither `network_uri` nor `subnetwork_uri` is specified, the "default" network of the project is used, if it exists. Cannot be a "Custom Subnet Network" (see [Using Subnetworks](https://cloud.google.com/compute/docs/subnetworks) for more information). A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default` * `projects/[project_id]/regions/global/default` * `default` + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Optional. Node Group Affinity for sole-tenant clusters. + // +kubebuilder:validation:Optional + NodeGroupAffinity []NodeGroupAffinityParameters `json:"nodeGroupAffinity,omitempty" tf:"node_group_affinity,omitempty"` + + // Optional. The type of IPv6 access for a cluster. Possible values: PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED, INHERIT_FROM_SUBNETWORK, OUTBOUND, BIDIRECTIONAL + // +kubebuilder:validation:Optional + PrivateIPv6GoogleAccess *string `json:"privateIpv6GoogleAccess,omitempty" tf:"private_ipv6_google_access,omitempty"` + + // Optional. Reservation Affinity for consuming Zonal reservation. + // +kubebuilder:validation:Optional + ReservationAffinity []ReservationAffinityParameters `json:"reservationAffinity,omitempty" tf:"reservation_affinity,omitempty"` + + // Optional. The [Dataproc service account](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see [VM Data Plane identity](https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + // +kubebuilder:validation:Optional + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: * https://www.googleapis.com/auth/cloud.useraccounts.readonly * https://www.googleapis.com/auth/devstorage.read_write * https://www.googleapis.com/auth/logging.write If no scopes are specified, the following defaults are also provided: * https://www.googleapis.com/auth/bigquery * https://www.googleapis.com/auth/bigtable.admin.table * https://www.googleapis.com/auth/bigtable.data * https://www.googleapis.com/auth/devstorage.full_control + // +kubebuilder:validation:Optional + ServiceAccountScopes []*string `json:"serviceAccountScopes,omitempty" tf:"service_account_scopes,omitempty"` + + // Optional. The Compute Engine subnetwork to be used for machine communications. Cannot be specified with network_uri. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0` * `projects/[project_id]/regions/us-east1/subnetworks/sub0` * `sub0` + // +kubebuilder:validation:Optional + Subnetwork *string `json:"subnetwork,omitempty" tf:"subnetwork,omitempty"` + + // The Compute Engine tags to add to all instances (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)). + // +kubebuilder:validation:Optional + Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the "global" region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]` * `projects/[project_id]/zones/[zone]` * `us-central1-f` + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type ConfigMasterConfigObservation struct { + InstanceNames []*string `json:"instanceNames,omitempty" tf:"instance_names,omitempty"` + + IsPreemptible *bool `json:"isPreemptible,omitempty" tf:"is_preemptible,omitempty"` + + ManagedGroupConfig []ManagedGroupConfigObservation `json:"managedGroupConfig,omitempty" tf:"managed_group_config,omitempty"` +} + +type ConfigMasterConfigParameters struct { + + // Optional. The Compute Engine accelerator configuration for these instances. + // +kubebuilder:validation:Optional + Accelerators []MasterConfigAcceleratorsParameters `json:"accelerators,omitempty" tf:"accelerators,omitempty"` + + // Optional. Disk option config settings. + // +kubebuilder:validation:Optional + DiskConfig []MasterConfigDiskConfigParameters `json:"diskConfig,omitempty" tf:"disk_config,omitempty"` + + // Optional. The Compute Engine image resource used for cluster instances. The URI can represent an image or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]` * `projects/[project_id]/global/images/[image-id]` * `image-id` Image family examples. Dataproc will use the most recent image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]` * `projects/[project_id]/global/images/family/[custom-image-family-name]` If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version` or the system default. + // +kubebuilder:validation:Optional + Image *string `json:"image,omitempty" tf:"image,omitempty"` + + // Optional. The Compute Engine machine type used for cluster instances. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` * `n1-standard-2` **Auto Zone Exception**: If you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, `n1-standard-2`. + // +kubebuilder:validation:Optional + MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"` + + // Optional. Specifies the minimum cpu platform for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + // +kubebuilder:validation:Optional + MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"` + + // Optional. The number of VM instances in the instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability) [master_config](#FIELDS.master_config) groups, **must be set to 3**. For standard cluster [master_config](#FIELDS.master_config) groups, **must be set to 1**. + // +kubebuilder:validation:Optional + NumInstances *int64 `json:"numInstances,omitempty" tf:"num_instances,omitempty"` + + // Optional. Specifies the preemptibility of the instance group. The default value for master and worker groups is `NON_PREEMPTIBLE`. This default cannot be changed. The default value for secondary instances is `PREEMPTIBLE`. Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE, PREEMPTIBLE + // +kubebuilder:validation:Optional + Preemptibility *string `json:"preemptibility,omitempty" tf:"preemptibility,omitempty"` +} + +type ConfigObservation struct { +} + +type ConfigParameters struct { + + // Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. + // +kubebuilder:validation:Optional + AutoscalingConfig []ConfigAutoscalingConfigParameters `json:"autoscalingConfig,omitempty" tf:"autoscaling_config,omitempty"` + + // Optional. Encryption settings for the cluster. + // +kubebuilder:validation:Optional + EncryptionConfig []ConfigEncryptionConfigParameters `json:"encryptionConfig,omitempty" tf:"encryption_config,omitempty"` + + // Optional. Port/endpoint configuration for this cluster + // +kubebuilder:validation:Optional + EndpointConfig []EndpointConfigParameters `json:"endpointConfig,omitempty" tf:"endpoint_config,omitempty"` + + // Optional. The shared Compute Engine config settings for all instances in a cluster. + // +kubebuilder:validation:Optional + GceClusterConfig []ConfigGceClusterConfigParameters `json:"gceClusterConfig,omitempty" tf:"gce_cluster_config,omitempty"` + + // Optional. Commands to execute on each node after config is completed. By default, executables are run on master and all worker nodes. You can test a node's `role` metadata to run an executable on a master or worker node, as shown below using `curl` (you can also use `wget`): ROLE=$(curl -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role) if [[ "${ROLE}" == 'Master' ]]; then ... master specific actions ... else ... worker specific actions ... fi + // +kubebuilder:validation:Optional + InitializationActions []InitializationActionsParameters `json:"initializationActions,omitempty" tf:"initialization_actions,omitempty"` + + // Optional. Lifecycle setting for the cluster. + // +kubebuilder:validation:Optional + LifecycleConfig []LifecycleConfigParameters `json:"lifecycleConfig,omitempty" tf:"lifecycle_config,omitempty"` + + // Optional. The Compute Engine config settings for worker instances in a cluster. + // +kubebuilder:validation:Optional + MasterConfig []ConfigMasterConfigParameters `json:"masterConfig,omitempty" tf:"master_config,omitempty"` + + // Optional. The Compute Engine config settings for worker instances in a cluster. + // +kubebuilder:validation:Optional + SecondaryWorkerConfig []ConfigSecondaryWorkerConfigParameters `json:"secondaryWorkerConfig,omitempty" tf:"secondary_worker_config,omitempty"` + + // Optional. Security settings for the cluster. + // +kubebuilder:validation:Optional + SecurityConfig []ConfigSecurityConfigParameters `json:"securityConfig,omitempty" tf:"security_config,omitempty"` + + // Optional. The config settings for software inside the cluster. + // +kubebuilder:validation:Optional + SoftwareConfig []ConfigSoftwareConfigParameters `json:"softwareConfig,omitempty" tf:"software_config,omitempty"` + + // Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see [Dataproc staging bucket](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). **This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.** + // +kubebuilder:validation:Optional + StagingBucket *string `json:"stagingBucket,omitempty" tf:"staging_bucket,omitempty"` + + // Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. **This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.** + // +kubebuilder:validation:Optional + TempBucket *string `json:"tempBucket,omitempty" tf:"temp_bucket,omitempty"` + + // Optional. The Compute Engine config settings for worker instances in a cluster. + // +kubebuilder:validation:Optional + WorkerConfig []ConfigWorkerConfigParameters `json:"workerConfig,omitempty" tf:"worker_config,omitempty"` +} + +type ConfigSecondaryWorkerConfigObservation struct { + InstanceNames []*string `json:"instanceNames,omitempty" tf:"instance_names,omitempty"` + + IsPreemptible *bool `json:"isPreemptible,omitempty" tf:"is_preemptible,omitempty"` + + ManagedGroupConfig []SecondaryWorkerConfigManagedGroupConfigObservation `json:"managedGroupConfig,omitempty" tf:"managed_group_config,omitempty"` +} + +type ConfigSecondaryWorkerConfigParameters struct { + + // Optional. The Compute Engine accelerator configuration for these instances. + // +kubebuilder:validation:Optional + Accelerators []SecondaryWorkerConfigAcceleratorsParameters `json:"accelerators,omitempty" tf:"accelerators,omitempty"` + + // Optional. Disk option config settings. + // +kubebuilder:validation:Optional + DiskConfig []SecondaryWorkerConfigDiskConfigParameters `json:"diskConfig,omitempty" tf:"disk_config,omitempty"` + + // Optional. The Compute Engine image resource used for cluster instances. The URI can represent an image or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]` * `projects/[project_id]/global/images/[image-id]` * `image-id` Image family examples. Dataproc will use the most recent image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]` * `projects/[project_id]/global/images/family/[custom-image-family-name]` If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version` or the system default. + // +kubebuilder:validation:Optional + Image *string `json:"image,omitempty" tf:"image,omitempty"` + + // Optional. The Compute Engine machine type used for cluster instances. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` * `n1-standard-2` **Auto Zone Exception**: If you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, `n1-standard-2`. + // +kubebuilder:validation:Optional + MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"` + + // Optional. Specifies the minimum cpu platform for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + // +kubebuilder:validation:Optional + MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"` + + // Optional. The number of VM instances in the instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability) [master_config](#FIELDS.master_config) groups, **must be set to 3**. For standard cluster [master_config](#FIELDS.master_config) groups, **must be set to 1**. + // +kubebuilder:validation:Optional + NumInstances *int64 `json:"numInstances,omitempty" tf:"num_instances,omitempty"` + + // Optional. Specifies the preemptibility of the instance group. The default value for master and worker groups is `NON_PREEMPTIBLE`. This default cannot be changed. The default value for secondary instances is `PREEMPTIBLE`. Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE, PREEMPTIBLE + // +kubebuilder:validation:Optional + Preemptibility *string `json:"preemptibility,omitempty" tf:"preemptibility,omitempty"` +} + +type ConfigSecurityConfigObservation struct { +} + +type ConfigSecurityConfigParameters struct { + + // Optional. Kerberos related configuration. + // +kubebuilder:validation:Optional + KerberosConfig []SecurityConfigKerberosConfigParameters `json:"kerberosConfig,omitempty" tf:"kerberos_config,omitempty"` +} + +type ConfigSoftwareConfigObservation struct { +} + +type ConfigSoftwareConfigParameters struct { + + // Optional. The version of software inside the cluster. It must be one of the supported [Dataproc Versions](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the ["preview" version](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + // +kubebuilder:validation:Optional + ImageVersion *string `json:"imageVersion,omitempty" tf:"image_version,omitempty"` + + // Optional. The set of components to activate on the cluster. + // +kubebuilder:validation:Optional + OptionalComponents []*string `json:"optionalComponents,omitempty" tf:"optional_components,omitempty"` + + // Optional. The properties to set on daemon config files. Property keys are specified in `prefix:property` format, for example `core:hadoop.tmp.dir`. The following are supported prefixes and their mappings: * capacity-scheduler: `capacity-scheduler.xml` * core: `core-site.xml` * distcp: `distcp-default.xml` * hdfs: `hdfs-site.xml` * hive: `hive-site.xml` * mapred: `mapred-site.xml` * pig: `pig.properties` * spark: `spark-defaults.conf` * yarn: `yarn-site.xml` For more information, see [Cluster properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties). + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` +} + +type ConfigWorkerConfigAcceleratorsObservation struct { +} + +type ConfigWorkerConfigAcceleratorsParameters struct { + + // The number of the accelerator cards of this type exposed to this instance. + // +kubebuilder:validation:Optional + AcceleratorCount *int64 `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"` + + // Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes). Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` * `nvidia-tesla-k80` **Auto Zone Exception**: If you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, `nvidia-tesla-k80`. + // +kubebuilder:validation:Optional + AcceleratorType *string `json:"acceleratorType,omitempty" tf:"accelerator_type,omitempty"` +} + +type ConfigWorkerConfigDiskConfigObservation struct { +} + +type ConfigWorkerConfigDiskConfigParameters struct { + + // Optional. Size in GB of the boot disk (default is 500GB). + // +kubebuilder:validation:Optional + BootDiskSizeGb *int64 `json:"bootDiskSizeGb,omitempty" tf:"boot_disk_size_gb,omitempty"` + + // Optional. Type of the boot disk (default is "pd-standard"). Valid values: "pd-balanced" (Persistent Disk Balanced Solid State Drive), "pd-ssd" (Persistent Disk Solid State Drive), or "pd-standard" (Persistent Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types). + // +kubebuilder:validation:Optional + BootDiskType *string `json:"bootDiskType,omitempty" tf:"boot_disk_type,omitempty"` + + // Optional. Number of attached SSDs, from 0 to 4 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries. + // +kubebuilder:validation:Optional + NumLocalSsds *int64 `json:"numLocalSsds,omitempty" tf:"num_local_ssds,omitempty"` +} + +type ConfigWorkerConfigObservation struct { + InstanceNames []*string `json:"instanceNames,omitempty" tf:"instance_names,omitempty"` + + IsPreemptible *bool `json:"isPreemptible,omitempty" tf:"is_preemptible,omitempty"` + + ManagedGroupConfig []WorkerConfigManagedGroupConfigObservation `json:"managedGroupConfig,omitempty" tf:"managed_group_config,omitempty"` +} + +type ConfigWorkerConfigParameters struct { + + // Optional. The Compute Engine accelerator configuration for these instances. + // +kubebuilder:validation:Optional + Accelerators []ConfigWorkerConfigAcceleratorsParameters `json:"accelerators,omitempty" tf:"accelerators,omitempty"` + + // Optional. Disk option config settings. + // +kubebuilder:validation:Optional + DiskConfig []ConfigWorkerConfigDiskConfigParameters `json:"diskConfig,omitempty" tf:"disk_config,omitempty"` + + // Optional. The Compute Engine image resource used for cluster instances. The URI can represent an image or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]` * `projects/[project_id]/global/images/[image-id]` * `image-id` Image family examples. Dataproc will use the most recent image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]` * `projects/[project_id]/global/images/family/[custom-image-family-name]` If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version` or the system default. + // +kubebuilder:validation:Optional + Image *string `json:"image,omitempty" tf:"image,omitempty"` + + // Optional. The Compute Engine machine type used for cluster instances. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` * `n1-standard-2` **Auto Zone Exception**: If you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, `n1-standard-2`. + // +kubebuilder:validation:Optional + MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"` + + // Optional. Specifies the minimum cpu platform for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + // +kubebuilder:validation:Optional + MinCPUPlatform *string `json:"minCpuPlatform,omitempty" tf:"min_cpu_platform,omitempty"` + + // Optional. The number of VM instances in the instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability) [master_config](#FIELDS.master_config) groups, **must be set to 3**. For standard cluster [master_config](#FIELDS.master_config) groups, **must be set to 1**. + // +kubebuilder:validation:Optional + NumInstances *int64 `json:"numInstances,omitempty" tf:"num_instances,omitempty"` + + // Optional. Specifies the preemptibility of the instance group. The default value for master and worker groups is `NON_PREEMPTIBLE`. This default cannot be changed. The default value for secondary instances is `PREEMPTIBLE`. Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE, PREEMPTIBLE + // +kubebuilder:validation:Optional + Preemptibility *string `json:"preemptibility,omitempty" tf:"preemptibility,omitempty"` +} + +type EndpointConfigObservation struct { + HTTPPorts map[string]*string `json:"httpPorts,omitempty" tf:"http_ports,omitempty"` +} + +type EndpointConfigParameters struct { + + // Optional. If true, enable http access to specific ports on the cluster from external sources. Defaults to false. + // +kubebuilder:validation:Optional + EnableHTTPPortAccess *bool `json:"enableHttpPortAccess,omitempty" tf:"enable_http_port_access,omitempty"` +} + +type HadoopJobLoggingConfigObservation struct { +} + +type HadoopJobLoggingConfigParameters struct { + + // The per-package log levels for the driver. This may include "root" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG' + // +kubebuilder:validation:Optional + DriverLogLevels map[string]*string `json:"driverLogLevels,omitempty" tf:"driver_log_levels,omitempty"` +} + +type HadoopJobObservation struct { +} + +type HadoopJobParameters struct { + + // Optional. HCFS URIs of archives to be extracted in the working directory of Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, or .zip. + // +kubebuilder:validation:Optional + ArchiveUris []*string `json:"archiveUris,omitempty" tf:"archive_uris,omitempty"` + + // Optional. The arguments to pass to the driver. Do not include arguments, such as `-libjars` or `-Dfoo=bar`, that can be set as job properties, since a collision may occur that causes an incorrect job submission. + // +kubebuilder:validation:Optional + Args []*string `json:"args,omitempty" tf:"args,omitempty"` + + // Optional. HCFS (Hadoop Compatible Filesystem) URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks. + // +kubebuilder:validation:Optional + FileUris []*string `json:"fileUris,omitempty" tf:"file_uris,omitempty"` + + // Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop driver and tasks. + // +kubebuilder:validation:Optional + JarFileUris []*string `json:"jarFileUris,omitempty" tf:"jar_file_uris,omitempty"` + + // Optional. The runtime log config for job execution. + // +kubebuilder:validation:Optional + LoggingConfig []HadoopJobLoggingConfigParameters `json:"loggingConfig,omitempty" tf:"logging_config,omitempty"` + + // The name of the driver's main class. The jar file containing the class must be in the default CLASSPATH or specified in `jar_file_uris`. + // +kubebuilder:validation:Optional + MainClass *string `json:"mainClass,omitempty" tf:"main_class,omitempty"` + + // The HCFS URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' + // +kubebuilder:validation:Optional + MainJarFileURI *string `json:"mainJarFileUri,omitempty" tf:"main_jar_file_uri,omitempty"` + + // Optional. A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code. + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` +} + +type HiveJobObservation struct { +} + +type HiveJobParameters struct { + + // Optional. Whether to continue executing queries if a query fails. The default value is `false`. Setting to `true` can be useful when executing independent parallel queries. + // +kubebuilder:validation:Optional + ContinueOnFailure *bool `json:"continueOnFailure,omitempty" tf:"continue_on_failure,omitempty"` + + // Optional. HCFS URIs of jar files to add to the CLASSPATH of the Hive server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and UDFs. + // +kubebuilder:validation:Optional + JarFileUris []*string `json:"jarFileUris,omitempty" tf:"jar_file_uris,omitempty"` + + // Optional. A mapping of property names and values, used to configure Hive. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and classes in user code. + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` + + // The HCFS URI of the script that contains Hive queries. + // +kubebuilder:validation:Optional + QueryFileURI *string `json:"queryFileUri,omitempty" tf:"query_file_uri,omitempty"` + + // A list of queries. + // +kubebuilder:validation:Optional + QueryList []QueryListParameters `json:"queryList,omitempty" tf:"query_list,omitempty"` + + // Optional. Mapping of query variable names to values (equivalent to the Hive command: `SET name="value";`). + // +kubebuilder:validation:Optional + ScriptVariables map[string]*string `json:"scriptVariables,omitempty" tf:"script_variables,omitempty"` +} + +type InitializationActionsObservation struct { +} + +type InitializationActionsParameters struct { + + // Required. Cloud Storage URI of executable file. + // +kubebuilder:validation:Optional + ExecutableFile *string `json:"executableFile,omitempty" tf:"executable_file,omitempty"` + + // Optional. Amount of time executable has to complete. Default is 10 minutes (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). Cluster creation fails with an explanatory error message (the name of the executable that caused the error and the exceeded timeout period) if the executable is not completed at end of the timeout period. + // +kubebuilder:validation:Optional + ExecutionTimeout *string `json:"executionTimeout,omitempty" tf:"execution_timeout,omitempty"` +} + +type JobsObservation struct { +} + +type JobsParameters struct { + + // Optional. Job is a Hadoop job. + // +kubebuilder:validation:Optional + HadoopJob []HadoopJobParameters `json:"hadoopJob,omitempty" tf:"hadoop_job,omitempty"` + + // Optional. Job is a Hive job. + // +kubebuilder:validation:Optional + HiveJob []HiveJobParameters `json:"hiveJob,omitempty" tf:"hive_job,omitempty"` + + // Optional. The labels to associate with this job. Label keys must be between 1 and 63 characters long, and must conform to the following regular expression: p{Ll}p{Lo}{0,62} Label values must be between 1 and 63 characters long, and must conform to the following regular expression: [p{Ll}p{Lo}p{N}_-]{0,63} No more than 32 labels can be associated with a given job. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Optional. Job is a Pig job. + // +kubebuilder:validation:Optional + PigJob []PigJobParameters `json:"pigJob,omitempty" tf:"pig_job,omitempty"` + + // Optional. The optional list of prerequisite job step_ids. If not specified, the job will start at the beginning of workflow. + // +kubebuilder:validation:Optional + PrerequisiteStepIds []*string `json:"prerequisiteStepIds,omitempty" tf:"prerequisite_step_ids,omitempty"` + + // Optional. Job is a Presto job. + // +kubebuilder:validation:Optional + PrestoJob []PrestoJobParameters `json:"prestoJob,omitempty" tf:"presto_job,omitempty"` + + // Optional. Job is a PySpark job. + // +kubebuilder:validation:Optional + PysparkJob []PysparkJobParameters `json:"pysparkJob,omitempty" tf:"pyspark_job,omitempty"` + + // Optional. Job scheduling configuration. + // +kubebuilder:validation:Optional + Scheduling []JobsSchedulingParameters `json:"scheduling,omitempty" tf:"scheduling,omitempty"` + + // Optional. Job is a Spark job. + // +kubebuilder:validation:Optional + SparkJob []SparkJobParameters `json:"sparkJob,omitempty" tf:"spark_job,omitempty"` + + // Optional. Job is a SparkR job. + // +kubebuilder:validation:Optional + SparkRJob []SparkRJobParameters `json:"sparkRJob,omitempty" tf:"spark_r_job,omitempty"` + + // Optional. Job is a SparkSql job. + // +kubebuilder:validation:Optional + SparkSQLJob []SparkSQLJobParameters `json:"sparkSqlJob,omitempty" tf:"spark_sql_job,omitempty"` + + // Required. The step id. The id must be unique among all jobs within the template. The step id is used as prefix for job id, as job `goog-dataproc-workflow-step-id` label, and in prerequisiteStepIds field from other steps. The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of between 3 and 50 characters. + // +kubebuilder:validation:Required + StepID *string `json:"stepId" tf:"step_id,omitempty"` +} + +type JobsSchedulingObservation struct { +} + +type JobsSchedulingParameters struct { + + // Optional. Maximum number of times per hour a driver may be restarted as a result of driver exiting with non-zero code before job is reported failed. A job may be reported as thrashing if driver exits with non-zero code 4 times within 10 minute window. Maximum value is 10. + // +kubebuilder:validation:Optional + MaxFailuresPerHour *int64 `json:"maxFailuresPerHour,omitempty" tf:"max_failures_per_hour,omitempty"` + + // Optional. Maximum number of times in total a driver may be restarted as a result of driver exiting with non-zero code before job is reported failed. Maximum value is 240. + // +kubebuilder:validation:Optional + MaxFailuresTotal *int64 `json:"maxFailuresTotal,omitempty" tf:"max_failures_total,omitempty"` +} + +type LifecycleConfigObservation struct { + IdleStartTime *string `json:"idleStartTime,omitempty" tf:"idle_start_time,omitempty"` +} + +type LifecycleConfigParameters struct { + + // Optional. The lifetime duration of cluster. The cluster will be auto-deleted at the end of this period. Minimum value is 10 minutes; maximum value is 14 days (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). + // +kubebuilder:validation:Optional + AutoDeleteTTL *string `json:"autoDeleteTtl,omitempty" tf:"auto_delete_ttl,omitempty"` + + // Optional. The time when cluster will be auto-deleted (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)). + // +kubebuilder:validation:Optional + AutoDeleteTime *string `json:"autoDeleteTime,omitempty" tf:"auto_delete_time,omitempty"` + + // Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). + // +kubebuilder:validation:Optional + IdleDeleteTTL *string `json:"idleDeleteTtl,omitempty" tf:"idle_delete_ttl,omitempty"` +} + +type ManagedClusterObservation struct { +} + +type ManagedClusterParameters struct { + + // Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix. The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. + // +kubebuilder:validation:Required + ClusterName *string `json:"clusterName" tf:"cluster_name,omitempty"` + + // Required. The cluster configuration. + // +kubebuilder:validation:Required + Config []ConfigParameters `json:"config" tf:"config,omitempty"` + + // Optional. The labels to associate with this cluster. Label keys must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: p{Ll}p{Lo}{0,62} Label values must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: [p{Ll}p{Lo}p{N}_-]{0,63} No more than 32 labels can be associated with a given cluster. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` +} + +type ManagedGroupConfigObservation struct { + InstanceGroupManagerName *string `json:"instanceGroupManagerName,omitempty" tf:"instance_group_manager_name,omitempty"` + + InstanceTemplateName *string `json:"instanceTemplateName,omitempty" tf:"instance_template_name,omitempty"` +} + +type ManagedGroupConfigParameters struct { +} + +type MasterConfigAcceleratorsObservation struct { +} + +type MasterConfigAcceleratorsParameters struct { + + // The number of the accelerator cards of this type exposed to this instance. + // +kubebuilder:validation:Optional + AcceleratorCount *int64 `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"` + + // Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes). Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` * `nvidia-tesla-k80` **Auto Zone Exception**: If you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, `nvidia-tesla-k80`. + // +kubebuilder:validation:Optional + AcceleratorType *string `json:"acceleratorType,omitempty" tf:"accelerator_type,omitempty"` +} + +type MasterConfigDiskConfigObservation struct { +} + +type MasterConfigDiskConfigParameters struct { + + // Optional. Size in GB of the boot disk (default is 500GB). + // +kubebuilder:validation:Optional + BootDiskSizeGb *int64 `json:"bootDiskSizeGb,omitempty" tf:"boot_disk_size_gb,omitempty"` + + // Optional. Type of the boot disk (default is "pd-standard"). Valid values: "pd-balanced" (Persistent Disk Balanced Solid State Drive), "pd-ssd" (Persistent Disk Solid State Drive), or "pd-standard" (Persistent Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types). + // +kubebuilder:validation:Optional + BootDiskType *string `json:"bootDiskType,omitempty" tf:"boot_disk_type,omitempty"` + + // Optional. Number of attached SSDs, from 0 to 4 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries. + // +kubebuilder:validation:Optional + NumLocalSsds *int64 `json:"numLocalSsds,omitempty" tf:"num_local_ssds,omitempty"` +} + +type NodeGroupAffinityObservation struct { +} + +type NodeGroupAffinityParameters struct { + + // Required. The URI of a sole-tenant [node group resource](https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on. A full URL, partial URI, or node group name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1` * `projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1` * `node-group-1` + // +kubebuilder:validation:Required + NodeGroup *string `json:"nodeGroup" tf:"node_group,omitempty"` +} + +type ParametersObservation struct { +} + +type ParametersParameters struct { + + // Optional. Brief description of the parameter. Must not exceed 1024 characters. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Required. Paths to all fields that the parameter replaces. A field is allowed to appear in at most one parameter's list of field paths. A field path is similar in syntax to a google.protobuf.FieldMask. For example, a field path that references the zone field of a workflow template's cluster selector would be specified as `placement.clusterSelector.zone`. Also, field paths can reference fields using the following syntax: * Values in maps can be referenced by key: * labels['key'] * placement.clusterSelector.clusterLabels['key'] * placement.managedCluster.labels['key'] * placement.clusterSelector.clusterLabels['key'] * jobs['step-id'].labels['key'] * Jobs in the jobs list can be referenced by step-id: * jobs['step-id'].hadoopJob.mainJarFileUri * jobs['step-id'].hiveJob.queryFileUri * jobs['step-id'].pySparkJob.mainPythonFileUri * jobs['step-id'].hadoopJob.jarFileUris[0] * jobs['step-id'].hadoopJob.archiveUris[0] * jobs['step-id'].hadoopJob.fileUris[0] * jobs['step-id'].pySparkJob.pythonFileUris[0] * Items in repeated fields can be referenced by a zero-based index: * jobs['step-id'].sparkJob.args[0] * Other examples: * jobs['step-id'].hadoopJob.properties['key'] * jobs['step-id'].hadoopJob.args[0] * jobs['step-id'].hiveJob.scriptVariables['key'] * jobs['step-id'].hadoopJob.mainJarFileUri * placement.clusterSelector.zone It may not be possible to parameterize maps and repeated fields in their entirety since only individual map values and individual items in repeated fields can be referenced. For example, the following field paths are invalid: - placement.clusterSelector.clusterLabels - jobs['step-id'].sparkJob.args + // +kubebuilder:validation:Required + Fields []*string `json:"fields" tf:"fields,omitempty"` + + // Required. Parameter name. The parameter name is used as the key, and paired with the parameter value, which are passed to the template when the template is instantiated. The name must contain only capital letters (A-Z), numbers (0-9), and underscores (_), and must not start with a number. The maximum length is 40 characters. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Optional. Validation rules to be applied to this parameter's value. + // +kubebuilder:validation:Optional + Validation []ValidationParameters `json:"validation,omitempty" tf:"validation,omitempty"` +} + +type PigJobLoggingConfigObservation struct { +} + +type PigJobLoggingConfigParameters struct { + + // The per-package log levels for the driver. This may include "root" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG' + // +kubebuilder:validation:Optional + DriverLogLevels map[string]*string `json:"driverLogLevels,omitempty" tf:"driver_log_levels,omitempty"` +} + +type PigJobObservation struct { +} + +type PigJobParameters struct { + + // Optional. Whether to continue executing queries if a query fails. The default value is `false`. Setting to `true` can be useful when executing independent parallel queries. + // +kubebuilder:validation:Optional + ContinueOnFailure *bool `json:"continueOnFailure,omitempty" tf:"continue_on_failure,omitempty"` + + // Optional. HCFS URIs of jar files to add to the CLASSPATH of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs. + // +kubebuilder:validation:Optional + JarFileUris []*string `json:"jarFileUris,omitempty" tf:"jar_file_uris,omitempty"` + + // Optional. The runtime log config for job execution. + // +kubebuilder:validation:Optional + LoggingConfig []PigJobLoggingConfigParameters `json:"loggingConfig,omitempty" tf:"logging_config,omitempty"` + + // Optional. A mapping of property names to values, used to configure Pig. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and classes in user code. + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` + + // The HCFS URI of the script that contains the Pig queries. + // +kubebuilder:validation:Optional + QueryFileURI *string `json:"queryFileUri,omitempty" tf:"query_file_uri,omitempty"` + + // A list of queries. + // +kubebuilder:validation:Optional + QueryList []PigJobQueryListParameters `json:"queryList,omitempty" tf:"query_list,omitempty"` + + // Optional. Mapping of query variable names to values (equivalent to the Pig command: `name=[value]`). + // +kubebuilder:validation:Optional + ScriptVariables map[string]*string `json:"scriptVariables,omitempty" tf:"script_variables,omitempty"` +} + +type PigJobQueryListObservation struct { +} + +type PigJobQueryListParameters struct { + + // Required. The queries to execute. You do not need to end a query expression with a semicolon. Multiple queries can be specified in one string by separating each with a semicolon. Here is an example of a Dataproc API snippet that uses a QueryList to specify a HiveJob: "hiveJob": { "queryList": { "queries": [ "query1", "query2", "query3;query4", ] } } + // +kubebuilder:validation:Required + Queries []*string `json:"queries" tf:"queries,omitempty"` +} + +type PrestoJobLoggingConfigObservation struct { +} + +type PrestoJobLoggingConfigParameters struct { + + // The per-package log levels for the driver. This may include "root" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG' + // +kubebuilder:validation:Optional + DriverLogLevels map[string]*string `json:"driverLogLevels,omitempty" tf:"driver_log_levels,omitempty"` +} + +type PrestoJobObservation struct { +} + +type PrestoJobParameters struct { + + // Optional. Presto client tags to attach to this query + // +kubebuilder:validation:Optional + ClientTags []*string `json:"clientTags,omitempty" tf:"client_tags,omitempty"` + + // Optional. Whether to continue executing queries if a query fails. The default value is `false`. Setting to `true` can be useful when executing independent parallel queries. + // +kubebuilder:validation:Optional + ContinueOnFailure *bool `json:"continueOnFailure,omitempty" tf:"continue_on_failure,omitempty"` + + // Optional. The runtime log config for job execution. + // +kubebuilder:validation:Optional + LoggingConfig []PrestoJobLoggingConfigParameters `json:"loggingConfig,omitempty" tf:"logging_config,omitempty"` + + // Optional. The format in which query output will be displayed. See the Presto documentation for supported output formats + // +kubebuilder:validation:Optional + OutputFormat *string `json:"outputFormat,omitempty" tf:"output_format,omitempty"` + + // Optional. A mapping of property names to values. Used to set Presto [session properties](https://prestodb.io/docs/current/sql/set-session.html) Equivalent to using the --session flag in the Presto CLI + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` + + // The HCFS URI of the script that contains SQL queries. + // +kubebuilder:validation:Optional + QueryFileURI *string `json:"queryFileUri,omitempty" tf:"query_file_uri,omitempty"` + + // A list of queries. + // +kubebuilder:validation:Optional + QueryList []PrestoJobQueryListParameters `json:"queryList,omitempty" tf:"query_list,omitempty"` +} + +type PrestoJobQueryListObservation struct { +} + +type PrestoJobQueryListParameters struct { + + // Required. The queries to execute. You do not need to end a query expression with a semicolon. Multiple queries can be specified in one string by separating each with a semicolon. Here is an example of a Dataproc API snippet that uses a QueryList to specify a HiveJob: "hiveJob": { "queryList": { "queries": [ "query1", "query2", "query3;query4", ] } } + // +kubebuilder:validation:Required + Queries []*string `json:"queries" tf:"queries,omitempty"` +} + +type PysparkJobLoggingConfigObservation struct { +} + +type PysparkJobLoggingConfigParameters struct { + + // The per-package log levels for the driver. This may include "root" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG' + // +kubebuilder:validation:Optional + DriverLogLevels map[string]*string `json:"driverLogLevels,omitempty" tf:"driver_log_levels,omitempty"` +} + +type PysparkJobObservation struct { +} + +type PysparkJobParameters struct { + + // Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip. + // +kubebuilder:validation:Optional + ArchiveUris []*string `json:"archiveUris,omitempty" tf:"archive_uris,omitempty"` + + // Optional. The arguments to pass to the driver. Do not include arguments, such as `--conf`, that can be set as job properties, since a collision may occur that causes an incorrect job submission. + // +kubebuilder:validation:Optional + Args []*string `json:"args,omitempty" tf:"args,omitempty"` + + // Optional. HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks. + // +kubebuilder:validation:Optional + FileUris []*string `json:"fileUris,omitempty" tf:"file_uris,omitempty"` + + // Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Python driver and tasks. + // +kubebuilder:validation:Optional + JarFileUris []*string `json:"jarFileUris,omitempty" tf:"jar_file_uris,omitempty"` + + // Optional. The runtime log config for job execution. + // +kubebuilder:validation:Optional + LoggingConfig []PysparkJobLoggingConfigParameters `json:"loggingConfig,omitempty" tf:"logging_config,omitempty"` + + // Required. The HCFS URI of the main Python file to use as the driver. Must be a .py file. + // +kubebuilder:validation:Required + MainPythonFileURI *string `json:"mainPythonFileUri" tf:"main_python_file_uri,omitempty"` + + // Optional. A mapping of property names to values, used to configure PySpark. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code. + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` + + // Optional. HCFS file URIs of Python files to pass to the PySpark framework. Supported file types: .py, .egg, and .zip. + // +kubebuilder:validation:Optional + PythonFileUris []*string `json:"pythonFileUris,omitempty" tf:"python_file_uris,omitempty"` +} + +type QueryListObservation struct { +} + +type QueryListParameters struct { + + // Required. The queries to execute. You do not need to end a query expression with a semicolon. Multiple queries can be specified in one string by separating each with a semicolon. Here is an example of a Dataproc API snippet that uses a QueryList to specify a HiveJob: "hiveJob": { "queryList": { "queries": [ "query1", "query2", "query3;query4", ] } } + // +kubebuilder:validation:Required + Queries []*string `json:"queries" tf:"queries,omitempty"` +} + +type RegexObservation struct { +} + +type RegexParameters struct { + + // Required. RE2 regular expressions used to validate the parameter's value. The value must match the regex in its entirety (substring matches are not sufficient). + // +kubebuilder:validation:Required + Regexes []*string `json:"regexes" tf:"regexes,omitempty"` +} + +type ReservationAffinityObservation struct { +} + +type ReservationAffinityParameters struct { + + // Optional. Type of reservation to consume Possible values: TYPE_UNSPECIFIED, NO_RESERVATION, ANY_RESERVATION, SPECIFIC_RESERVATION + // +kubebuilder:validation:Optional + ConsumeReservationType *string `json:"consumeReservationType,omitempty" tf:"consume_reservation_type,omitempty"` + + // Optional. Corresponds to the label key of reservation resource. + // +kubebuilder:validation:Optional + Key *string `json:"key,omitempty" tf:"key,omitempty"` + + // Optional. Corresponds to the label values of reservation resource. + // +kubebuilder:validation:Optional + Values []*string `json:"values,omitempty" tf:"values,omitempty"` +} + +type SecondaryWorkerConfigAcceleratorsObservation struct { +} + +type SecondaryWorkerConfigAcceleratorsParameters struct { + + // The number of the accelerator cards of this type exposed to this instance. + // +kubebuilder:validation:Optional + AcceleratorCount *int64 `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"` + + // Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes). Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` * `nvidia-tesla-k80` **Auto Zone Exception**: If you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, `nvidia-tesla-k80`. + // +kubebuilder:validation:Optional + AcceleratorType *string `json:"acceleratorType,omitempty" tf:"accelerator_type,omitempty"` +} + +type SecondaryWorkerConfigDiskConfigObservation struct { +} + +type SecondaryWorkerConfigDiskConfigParameters struct { + + // Optional. Size in GB of the boot disk (default is 500GB). + // +kubebuilder:validation:Optional + BootDiskSizeGb *int64 `json:"bootDiskSizeGb,omitempty" tf:"boot_disk_size_gb,omitempty"` + + // Optional. Type of the boot disk (default is "pd-standard"). Valid values: "pd-balanced" (Persistent Disk Balanced Solid State Drive), "pd-ssd" (Persistent Disk Solid State Drive), or "pd-standard" (Persistent Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types). + // +kubebuilder:validation:Optional + BootDiskType *string `json:"bootDiskType,omitempty" tf:"boot_disk_type,omitempty"` + + // Optional. Number of attached SSDs, from 0 to 4 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries. + // +kubebuilder:validation:Optional + NumLocalSsds *int64 `json:"numLocalSsds,omitempty" tf:"num_local_ssds,omitempty"` +} + +type SecondaryWorkerConfigManagedGroupConfigObservation struct { + InstanceGroupManagerName *string `json:"instanceGroupManagerName,omitempty" tf:"instance_group_manager_name,omitempty"` + + InstanceTemplateName *string `json:"instanceTemplateName,omitempty" tf:"instance_template_name,omitempty"` +} + +type SecondaryWorkerConfigManagedGroupConfigParameters struct { +} + +type SecurityConfigKerberosConfigObservation struct { +} + +type SecurityConfigKerberosConfigParameters struct { + + // Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. + // +kubebuilder:validation:Optional + CrossRealmTrustAdminServer *string `json:"crossRealmTrustAdminServer,omitempty" tf:"cross_realm_trust_admin_server,omitempty"` + + // Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. + // +kubebuilder:validation:Optional + CrossRealmTrustKdc *string `json:"crossRealmTrustKdc,omitempty" tf:"cross_realm_trust_kdc,omitempty"` + + // Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + // +kubebuilder:validation:Optional + CrossRealmTrustRealm *string `json:"crossRealmTrustRealm,omitempty" tf:"cross_realm_trust_realm,omitempty"` + + // Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. + // +kubebuilder:validation:Optional + CrossRealmTrustSharedPassword *string `json:"crossRealmTrustSharedPassword,omitempty" tf:"cross_realm_trust_shared_password,omitempty"` + + // Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. + // +kubebuilder:validation:Optional + EnableKerberos *bool `json:"enableKerberos,omitempty" tf:"enable_kerberos,omitempty"` + + // Optional. The uri of the KMS key used to encrypt various sensitive files. + // +kubebuilder:validation:Optional + KMSKey *string `json:"kmsKey,omitempty" tf:"kms_key,omitempty"` + + // Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. + // +kubebuilder:validation:Optional + KdcDBKey *string `json:"kdcDbKey,omitempty" tf:"kdc_db_key,omitempty"` + + // Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. + // +kubebuilder:validation:Optional + KeyPassword *string `json:"keyPassword,omitempty" tf:"key_password,omitempty"` + + // Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + // +kubebuilder:validation:Optional + Keystore *string `json:"keystore,omitempty" tf:"keystore,omitempty"` + + // Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. + // +kubebuilder:validation:Optional + KeystorePassword *string `json:"keystorePassword,omitempty" tf:"keystore_password,omitempty"` + + // Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. + // +kubebuilder:validation:Optional + Realm *string `json:"realm,omitempty" tf:"realm,omitempty"` + + // Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. + // +kubebuilder:validation:Optional + RootPrincipalPassword *string `json:"rootPrincipalPassword,omitempty" tf:"root_principal_password,omitempty"` + + // Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. + // +kubebuilder:validation:Optional + TgtLifetimeHours *int64 `json:"tgtLifetimeHours,omitempty" tf:"tgt_lifetime_hours,omitempty"` + + // Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + // +kubebuilder:validation:Optional + Truststore *string `json:"truststore,omitempty" tf:"truststore,omitempty"` + + // Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. + // +kubebuilder:validation:Optional + TruststorePassword *string `json:"truststorePassword,omitempty" tf:"truststore_password,omitempty"` +} + +type SparkJobLoggingConfigObservation struct { +} + +type SparkJobLoggingConfigParameters struct { + + // The per-package log levels for the driver. This may include "root" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG' + // +kubebuilder:validation:Optional + DriverLogLevels map[string]*string `json:"driverLogLevels,omitempty" tf:"driver_log_levels,omitempty"` +} + +type SparkJobObservation struct { +} + +type SparkJobParameters struct { + + // Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip. + // +kubebuilder:validation:Optional + ArchiveUris []*string `json:"archiveUris,omitempty" tf:"archive_uris,omitempty"` + + // Optional. The arguments to pass to the driver. Do not include arguments, such as `--conf`, that can be set as job properties, since a collision may occur that causes an incorrect job submission. + // +kubebuilder:validation:Optional + Args []*string `json:"args,omitempty" tf:"args,omitempty"` + + // Optional. HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks. + // +kubebuilder:validation:Optional + FileUris []*string `json:"fileUris,omitempty" tf:"file_uris,omitempty"` + + // Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver and tasks. + // +kubebuilder:validation:Optional + JarFileUris []*string `json:"jarFileUris,omitempty" tf:"jar_file_uris,omitempty"` + + // Optional. The runtime log config for job execution. + // +kubebuilder:validation:Optional + LoggingConfig []SparkJobLoggingConfigParameters `json:"loggingConfig,omitempty" tf:"logging_config,omitempty"` + + // The name of the driver's main class. The jar file that contains the class must be in the default CLASSPATH or specified in `jar_file_uris`. + // +kubebuilder:validation:Optional + MainClass *string `json:"mainClass,omitempty" tf:"main_class,omitempty"` + + // The HCFS URI of the jar file that contains the main class. + // +kubebuilder:validation:Optional + MainJarFileURI *string `json:"mainJarFileUri,omitempty" tf:"main_jar_file_uri,omitempty"` + + // Optional. A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code. + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` +} + +type SparkRJobLoggingConfigObservation struct { +} + +type SparkRJobLoggingConfigParameters struct { + + // The per-package log levels for the driver. This may include "root" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG' + // +kubebuilder:validation:Optional + DriverLogLevels map[string]*string `json:"driverLogLevels,omitempty" tf:"driver_log_levels,omitempty"` +} + +type SparkRJobObservation struct { +} + +type SparkRJobParameters struct { + + // Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip. + // +kubebuilder:validation:Optional + ArchiveUris []*string `json:"archiveUris,omitempty" tf:"archive_uris,omitempty"` + + // Optional. The arguments to pass to the driver. Do not include arguments, such as `--conf`, that can be set as job properties, since a collision may occur that causes an incorrect job submission. + // +kubebuilder:validation:Optional + Args []*string `json:"args,omitempty" tf:"args,omitempty"` + + // Optional. HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks. + // +kubebuilder:validation:Optional + FileUris []*string `json:"fileUris,omitempty" tf:"file_uris,omitempty"` + + // Optional. The runtime log config for job execution. + // +kubebuilder:validation:Optional + LoggingConfig []SparkRJobLoggingConfigParameters `json:"loggingConfig,omitempty" tf:"logging_config,omitempty"` + + // Required. The HCFS URI of the main R file to use as the driver. Must be a .R file. + // +kubebuilder:validation:Required + MainRFileURI *string `json:"mainRFileUri" tf:"main_r_file_uri,omitempty"` + + // Optional. A mapping of property names to values, used to configure SparkR. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code. + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` +} + +type SparkSQLJobLoggingConfigObservation struct { +} + +type SparkSQLJobLoggingConfigParameters struct { + + // The per-package log levels for the driver. This may include "root" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG' + // +kubebuilder:validation:Optional + DriverLogLevels map[string]*string `json:"driverLogLevels,omitempty" tf:"driver_log_levels,omitempty"` +} + +type SparkSQLJobObservation struct { +} + +type SparkSQLJobParameters struct { + + // Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH. + // +kubebuilder:validation:Optional + JarFileUris []*string `json:"jarFileUris,omitempty" tf:"jar_file_uris,omitempty"` + + // Optional. The runtime log config for job execution. + // +kubebuilder:validation:Optional + LoggingConfig []SparkSQLJobLoggingConfigParameters `json:"loggingConfig,omitempty" tf:"logging_config,omitempty"` + + // Optional. A mapping of property names to values, used to configure Spark SQL's SparkConf. Properties that conflict with values set by the Dataproc API may be overwritten. + // +kubebuilder:validation:Optional + Properties map[string]*string `json:"properties,omitempty" tf:"properties,omitempty"` + + // The HCFS URI of the script that contains SQL queries. + // +kubebuilder:validation:Optional + QueryFileURI *string `json:"queryFileUri,omitempty" tf:"query_file_uri,omitempty"` + + // A list of queries. + // +kubebuilder:validation:Optional + QueryList []SparkSQLJobQueryListParameters `json:"queryList,omitempty" tf:"query_list,omitempty"` + + // Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: SET `name="value";`). + // +kubebuilder:validation:Optional + ScriptVariables map[string]*string `json:"scriptVariables,omitempty" tf:"script_variables,omitempty"` +} + +type SparkSQLJobQueryListObservation struct { +} + +type SparkSQLJobQueryListParameters struct { + + // Required. The queries to execute. You do not need to end a query expression with a semicolon. Multiple queries can be specified in one string by separating each with a semicolon. Here is an example of a Dataproc API snippet that uses a QueryList to specify a HiveJob: "hiveJob": { "queryList": { "queries": [ "query1", "query2", "query3;query4", ] } } + // +kubebuilder:validation:Required + Queries []*string `json:"queries" tf:"queries,omitempty"` +} + +type ValidationObservation struct { +} + +type ValidationParameters struct { + + // Validation based on regular expressions. + // +kubebuilder:validation:Optional + Regex []RegexParameters `json:"regex,omitempty" tf:"regex,omitempty"` + + // Validation based on a list of allowed values. + // +kubebuilder:validation:Optional + Values []ValuesParameters `json:"values,omitempty" tf:"values,omitempty"` +} + +type ValuesObservation struct { +} + +type ValuesParameters struct { + + // Required. List of allowed values for the parameter. + // +kubebuilder:validation:Required + Values []*string `json:"values" tf:"values,omitempty"` +} + +type WorkerConfigManagedGroupConfigObservation struct { + InstanceGroupManagerName *string `json:"instanceGroupManagerName,omitempty" tf:"instance_group_manager_name,omitempty"` + + InstanceTemplateName *string `json:"instanceTemplateName,omitempty" tf:"instance_template_name,omitempty"` +} + +type WorkerConfigManagedGroupConfigParameters struct { +} + +type WorkflowTemplateObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type WorkflowTemplateParameters struct { + + // Optional. Timeout duration for the DAG of jobs, expressed in seconds (see [JSON representation of duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). The timeout duration must be from 10 minutes ("600s") to 24 hours ("86400s"). The timer begins when the first job is submitted. If the workflow is running at the end of the timeout period, any remaining jobs are cancelled, the workflow is ended, and if the workflow was running on a [managed cluster](/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster), the cluster is deleted. + // +kubebuilder:validation:Optional + DagTimeout *string `json:"dagTimeout,omitempty" tf:"dag_timeout,omitempty"` + + // Required. The Directed Acyclic Graph of Jobs to submit. + // +kubebuilder:validation:Required + Jobs []JobsParameters `json:"jobs" tf:"jobs,omitempty"` + + // Optional. The labels to associate with this template. These labels will be propagated to all jobs and clusters created by the workflow instance. Label **keys** must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a template. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The location for the resource + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // Output only. The resource name of the workflow template, as described in https://cloud.google.com/apis/design/resource_names. * For `projects.regions.workflowTemplates`, the resource name of the template has the following format: `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` * For `projects.locations.workflowTemplates`, the resource name of the template has the following format: `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Optional. Template parameters whose values are substituted into the template. Values for parameters must be provided when the template is instantiated. + // +kubebuilder:validation:Optional + Parameters []ParametersParameters `json:"parameters,omitempty" tf:"parameters,omitempty"` + + // Required. WorkflowTemplate scheduling information. + // +kubebuilder:validation:Required + Placement []WorkflowTemplatePlacementParameters `json:"placement" tf:"placement,omitempty"` + + // The project for the resource + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Output only. The current version of this workflow template. + // +kubebuilder:validation:Optional + Version *int64 `json:"version,omitempty" tf:"version,omitempty"` +} + +type WorkflowTemplatePlacementObservation struct { +} + +type WorkflowTemplatePlacementParameters struct { + + // Optional. A selector that chooses target cluster for jobs based on metadata. The selector is evaluated at the time each job is submitted. + // +kubebuilder:validation:Optional + ClusterSelector []ClusterSelectorParameters `json:"clusterSelector,omitempty" tf:"cluster_selector,omitempty"` + + // A cluster that is managed by the workflow. + // +kubebuilder:validation:Optional + ManagedCluster []ManagedClusterParameters `json:"managedCluster,omitempty" tf:"managed_cluster,omitempty"` +} + +// WorkflowTemplateSpec defines the desired state of WorkflowTemplate +type WorkflowTemplateSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WorkflowTemplateParameters `json:"forProvider"` +} + +// WorkflowTemplateStatus defines the observed state of WorkflowTemplate. +type WorkflowTemplateStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WorkflowTemplateObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// WorkflowTemplate is the Schema for the WorkflowTemplates 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,gcpjet} +type WorkflowTemplate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WorkflowTemplateSpec `json:"spec"` + Status WorkflowTemplateStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WorkflowTemplateList contains a list of WorkflowTemplates +type WorkflowTemplateList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WorkflowTemplate `json:"items"` +} + +// Repository type metadata. +var ( + WorkflowTemplate_Kind = "WorkflowTemplate" + WorkflowTemplate_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: WorkflowTemplate_Kind}.String() + WorkflowTemplate_KindAPIVersion = WorkflowTemplate_Kind + "." + CRDGroupVersion.String() + WorkflowTemplate_GroupVersionKind = CRDGroupVersion.WithKind(WorkflowTemplate_Kind) +) + +func init() { + SchemeBuilder.Register(&WorkflowTemplate{}, &WorkflowTemplateList{}) +} diff --git a/apis/datastore/v1alpha1/zz_generated.deepcopy.go b/apis/datastore/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..ce2734e0 --- /dev/null +++ b/apis/datastore/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,220 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Index) DeepCopyInto(out *Index) { + *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 Index. +func (in *Index) DeepCopy() *Index { + if in == nil { + return nil + } + out := new(Index) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Index) 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 *IndexList) DeepCopyInto(out *IndexList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Index, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexList. +func (in *IndexList) DeepCopy() *IndexList { + if in == nil { + return nil + } + out := new(IndexList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IndexList) 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 *IndexObservation) DeepCopyInto(out *IndexObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IndexID != nil { + in, out := &in.IndexID, &out.IndexID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexObservation. +func (in *IndexObservation) DeepCopy() *IndexObservation { + if in == nil { + return nil + } + out := new(IndexObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IndexParameters) DeepCopyInto(out *IndexParameters) { + *out = *in + if in.Ancestor != nil { + in, out := &in.Ancestor, &out.Ancestor + *out = new(string) + **out = **in + } + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = make([]PropertiesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexParameters. +func (in *IndexParameters) DeepCopy() *IndexParameters { + if in == nil { + return nil + } + out := new(IndexParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IndexSpec) DeepCopyInto(out *IndexSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexSpec. +func (in *IndexSpec) DeepCopy() *IndexSpec { + if in == nil { + return nil + } + out := new(IndexSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IndexStatus) DeepCopyInto(out *IndexStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexStatus. +func (in *IndexStatus) DeepCopy() *IndexStatus { + if in == nil { + return nil + } + out := new(IndexStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PropertiesObservation) DeepCopyInto(out *PropertiesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropertiesObservation. +func (in *PropertiesObservation) DeepCopy() *PropertiesObservation { + if in == nil { + return nil + } + out := new(PropertiesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PropertiesParameters) DeepCopyInto(out *PropertiesParameters) { + *out = *in + if in.Direction != nil { + in, out := &in.Direction, &out.Direction + *out = new(string) + **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 PropertiesParameters. +func (in *PropertiesParameters) DeepCopy() *PropertiesParameters { + if in == nil { + return nil + } + out := new(PropertiesParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/datastore/v1alpha1/zz_generated.managed.go b/apis/datastore/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..8d3703ba --- /dev/null +++ b/apis/datastore/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Index. +func (mg *Index) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Index. +func (mg *Index) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Index. +func (mg *Index) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Index. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Index) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Index. +func (mg *Index) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Index. +func (mg *Index) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Index. +func (mg *Index) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Index. +func (mg *Index) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Index. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Index) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Index. +func (mg *Index) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/datastore/v1alpha1/zz_generated.managedlist.go b/apis/datastore/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..780711d6 --- /dev/null +++ b/apis/datastore/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this IndexList. +func (l *IndexList) 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/datastore/v1alpha1/zz_groupversion_info.go b/apis/datastore/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..ef6504c2 --- /dev/null +++ b/apis/datastore/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=datastore.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "datastore.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/datastore/v1alpha1/zz_index_terraformed.go b/apis/datastore/v1alpha1/zz_index_terraformed.go new file mode 100755 index 00000000..7b6cecdd --- /dev/null +++ b/apis/datastore/v1alpha1/zz_index_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Index +func (mg *Index) GetTerraformResourceType() string { + return "google_datastore_index" +} + +// GetConnectionDetailsMapping for this Index +func (tr *Index) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Index +func (tr *Index) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Index +func (tr *Index) SetObservation(obs map[string]interface{}) 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 Index +func (tr *Index) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Index +func (tr *Index) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Index +func (tr *Index) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Index using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Index) LateInitialize(attrs []byte) (bool, error) { + params := &IndexParameters{} + 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 *Index) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/datastore/v1alpha1/zz_index_types.go b/apis/datastore/v1alpha1/zz_index_types.go new file mode 100755 index 00000000..421b36c5 --- /dev/null +++ b/apis/datastore/v1alpha1/zz_index_types.go @@ -0,0 +1,113 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 IndexObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + IndexID *string `json:"indexId,omitempty" tf:"index_id,omitempty"` +} + +type IndexParameters struct { + + // Policy for including ancestors in the index. Default value: "NONE" Possible values: ["NONE", "ALL_ANCESTORS"] + // +kubebuilder:validation:Optional + Ancestor *string `json:"ancestor,omitempty" tf:"ancestor,omitempty"` + + // The entity kind which the index applies to. + // +kubebuilder:validation:Required + Kind *string `json:"kind" tf:"kind,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // An ordered list of properties to index on. + // +kubebuilder:validation:Optional + Properties []PropertiesParameters `json:"properties,omitempty" tf:"properties,omitempty"` +} + +type PropertiesObservation struct { +} + +type PropertiesParameters struct { + + // The direction the index should optimize for sorting. Possible values: ["ASCENDING", "DESCENDING"] + // +kubebuilder:validation:Required + Direction *string `json:"direction" tf:"direction,omitempty"` + + // The property name to index. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +// IndexSpec defines the desired state of Index +type IndexSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider IndexParameters `json:"forProvider"` +} + +// IndexStatus defines the observed state of Index. +type IndexStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider IndexObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Index is the Schema for the Indexs 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,gcpjet} +type Index struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec IndexSpec `json:"spec"` + Status IndexStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// IndexList contains a list of Indexs +type IndexList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Index `json:"items"` +} + +// Repository type metadata. +var ( + Index_Kind = "Index" + Index_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Index_Kind}.String() + Index_KindAPIVersion = Index_Kind + "." + CRDGroupVersion.String() + Index_GroupVersionKind = CRDGroupVersion.WithKind(Index_Kind) +) + +func init() { + SchemeBuilder.Register(&Index{}, &IndexList{}) +} diff --git a/apis/deploymentmanager/v1alpha1/zz_deployment_terraformed.go b/apis/deploymentmanager/v1alpha1/zz_deployment_terraformed.go new file mode 100755 index 00000000..b567083c --- /dev/null +++ b/apis/deploymentmanager/v1alpha1/zz_deployment_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Deployment +func (mg *Deployment) GetTerraformResourceType() string { + return "google_deployment_manager_deployment" +} + +// GetConnectionDetailsMapping for this Deployment +func (tr *Deployment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Deployment +func (tr *Deployment) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Deployment +func (tr *Deployment) SetObservation(obs map[string]interface{}) 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 Deployment +func (tr *Deployment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Deployment +func (tr *Deployment) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Deployment +func (tr *Deployment) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Deployment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Deployment) LateInitialize(attrs []byte) (bool, error) { + params := &DeploymentParameters{} + 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 *Deployment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/deploymentmanager/v1alpha1/zz_deployment_types.go b/apis/deploymentmanager/v1alpha1/zz_deployment_types.go new file mode 100755 index 00000000..061f2e81 --- /dev/null +++ b/apis/deploymentmanager/v1alpha1/zz_deployment_types.go @@ -0,0 +1,191 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConfigObservation struct { +} + +type ConfigParameters struct { + + // The full YAML contents of your configuration file. + // +kubebuilder:validation:Required + Content *string `json:"content" tf:"content,omitempty"` +} + +type DeploymentObservation struct { + DeploymentID *string `json:"deploymentId,omitempty" tf:"deployment_id,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Manifest *string `json:"manifest,omitempty" tf:"manifest,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type DeploymentParameters struct { + + // Set the policy to use for creating new resources. Only used on + // create and update. Valid values are 'CREATE_OR_ACQUIRE' (default) or + // 'ACQUIRE'. If set to 'ACQUIRE' and resources do not already exist, + // the deployment will fail. Note that updating this field does not + // actually affect the deployment, just how it is updated. Default value: "CREATE_OR_ACQUIRE" Possible values: ["ACQUIRE", "CREATE_OR_ACQUIRE"] + // +kubebuilder:validation:Optional + CreatePolicy *string `json:"createPolicy,omitempty" tf:"create_policy,omitempty"` + + // Set the policy to use for deleting new resources on update/delete. + // Valid values are 'DELETE' (default) or 'ABANDON'. If 'DELETE', + // resource is deleted after removal from Deployment Manager. If + // 'ABANDON', the resource is only removed from Deployment Manager + // and is not actually deleted. Note that updating this field does not + // actually change the deployment, just how it is updated. Default value: "DELETE" Possible values: ["ABANDON", "DELETE"] + // +kubebuilder:validation:Optional + DeletePolicy *string `json:"deletePolicy,omitempty" tf:"delete_policy,omitempty"` + + // Optional user-provided description of deployment. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Key-value pairs to apply to this labels. + // +kubebuilder:validation:Optional + Labels []LabelsParameters `json:"labels,omitempty" tf:"labels,omitempty"` + + // Unique name for the deployment + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // If set to true, a deployment is created with "shell" resources + // that are not actually instantiated. This allows you to preview a + // deployment. It can be updated to false to actually deploy + // with real resources. + // ~>**NOTE:** Deployment Manager does not allow update + // of a deployment in preview (unless updating to preview=false). Thus, + // Terraform will force-recreate deployments if either preview is updated + // to true or if other fields are updated while preview is true. + // +kubebuilder:validation:Optional + Preview *bool `json:"preview,omitempty" tf:"preview,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Parameters that define your deployment, including the deployment + // configuration and relevant templates. + // +kubebuilder:validation:Required + Target []TargetParameters `json:"target" tf:"target,omitempty"` +} + +type ImportsObservation struct { +} + +type ImportsParameters struct { + + // The full contents of the template that you want to import. + // +kubebuilder:validation:Optional + Content *string `json:"content,omitempty" tf:"content,omitempty"` + + // The name of the template to import, as declared in the YAML + // configuration. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type LabelsObservation struct { +} + +type LabelsParameters struct { + + // Key for label. + // +kubebuilder:validation:Optional + Key *string `json:"key,omitempty" tf:"key,omitempty"` + + // Value of label. + // +kubebuilder:validation:Optional + Value *string `json:"value,omitempty" tf:"value,omitempty"` +} + +type TargetObservation struct { +} + +type TargetParameters struct { + + // The root configuration file to use for this deployment. + // +kubebuilder:validation:Required + Config []ConfigParameters `json:"config" tf:"config,omitempty"` + + // Specifies import files for this configuration. This can be + // used to import templates or other files. For example, you might + // import a text file in order to use the file in a template. + // +kubebuilder:validation:Optional + Imports []ImportsParameters `json:"imports,omitempty" tf:"imports,omitempty"` +} + +// DeploymentSpec defines the desired state of Deployment +type DeploymentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DeploymentParameters `json:"forProvider"` +} + +// DeploymentStatus defines the observed state of Deployment. +type DeploymentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DeploymentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Deployment is the Schema for the Deployments 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,gcpjet} +type Deployment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DeploymentSpec `json:"spec"` + Status DeploymentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DeploymentList contains a list of Deployments +type DeploymentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Deployment `json:"items"` +} + +// Repository type metadata. +var ( + Deployment_Kind = "Deployment" + Deployment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Deployment_Kind}.String() + Deployment_KindAPIVersion = Deployment_Kind + "." + CRDGroupVersion.String() + Deployment_GroupVersionKind = CRDGroupVersion.WithKind(Deployment_Kind) +) + +func init() { + SchemeBuilder.Register(&Deployment{}, &DeploymentList{}) +} diff --git a/apis/deploymentmanager/v1alpha1/zz_generated.deepcopy.go b/apis/deploymentmanager/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..d5bfcf65 --- /dev/null +++ b/apis/deploymentmanager/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,371 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigObservation) DeepCopyInto(out *ConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigObservation. +func (in *ConfigObservation) DeepCopy() *ConfigObservation { + if in == nil { + return nil + } + out := new(ConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigParameters) DeepCopyInto(out *ConfigParameters) { + *out = *in + if in.Content != nil { + in, out := &in.Content, &out.Content + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigParameters. +func (in *ConfigParameters) DeepCopy() *ConfigParameters { + if in == nil { + return nil + } + out := new(ConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Deployment) DeepCopyInto(out *Deployment) { + *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 Deployment. +func (in *Deployment) DeepCopy() *Deployment { + if in == nil { + return nil + } + out := new(Deployment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Deployment) 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 *DeploymentList) DeepCopyInto(out *DeploymentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Deployment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentList. +func (in *DeploymentList) DeepCopy() *DeploymentList { + if in == nil { + return nil + } + out := new(DeploymentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DeploymentList) 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 *DeploymentObservation) DeepCopyInto(out *DeploymentObservation) { + *out = *in + if in.DeploymentID != nil { + in, out := &in.DeploymentID, &out.DeploymentID + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Manifest != nil { + in, out := &in.Manifest, &out.Manifest + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentObservation. +func (in *DeploymentObservation) DeepCopy() *DeploymentObservation { + if in == nil { + return nil + } + out := new(DeploymentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentParameters) DeepCopyInto(out *DeploymentParameters) { + *out = *in + if in.CreatePolicy != nil { + in, out := &in.CreatePolicy, &out.CreatePolicy + *out = new(string) + **out = **in + } + if in.DeletePolicy != nil { + in, out := &in.DeletePolicy, &out.DeletePolicy + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make([]LabelsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Preview != nil { + in, out := &in.Preview, &out.Preview + *out = new(bool) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = make([]TargetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentParameters. +func (in *DeploymentParameters) DeepCopy() *DeploymentParameters { + if in == nil { + return nil + } + out := new(DeploymentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentSpec) DeepCopyInto(out *DeploymentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentSpec. +func (in *DeploymentSpec) DeepCopy() *DeploymentSpec { + if in == nil { + return nil + } + out := new(DeploymentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentStatus) DeepCopyInto(out *DeploymentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatus. +func (in *DeploymentStatus) DeepCopy() *DeploymentStatus { + if in == nil { + return nil + } + out := new(DeploymentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImportsObservation) DeepCopyInto(out *ImportsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportsObservation. +func (in *ImportsObservation) DeepCopy() *ImportsObservation { + if in == nil { + return nil + } + out := new(ImportsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImportsParameters) DeepCopyInto(out *ImportsParameters) { + *out = *in + if in.Content != nil { + in, out := &in.Content, &out.Content + *out = new(string) + **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 ImportsParameters. +func (in *ImportsParameters) DeepCopy() *ImportsParameters { + if in == nil { + return nil + } + out := new(ImportsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LabelsObservation) DeepCopyInto(out *LabelsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelsObservation. +func (in *LabelsObservation) DeepCopy() *LabelsObservation { + if in == nil { + return nil + } + out := new(LabelsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LabelsParameters) DeepCopyInto(out *LabelsParameters) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *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 LabelsParameters. +func (in *LabelsParameters) DeepCopy() *LabelsParameters { + if in == nil { + return nil + } + out := new(LabelsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetObservation) DeepCopyInto(out *TargetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetObservation. +func (in *TargetObservation) DeepCopy() *TargetObservation { + if in == nil { + return nil + } + out := new(TargetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetParameters) DeepCopyInto(out *TargetParameters) { + *out = *in + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = make([]ConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Imports != nil { + in, out := &in.Imports, &out.Imports + *out = make([]ImportsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetParameters. +func (in *TargetParameters) DeepCopy() *TargetParameters { + if in == nil { + return nil + } + out := new(TargetParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/deploymentmanager/v1alpha1/zz_generated.managed.go b/apis/deploymentmanager/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..f27b3817 --- /dev/null +++ b/apis/deploymentmanager/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Deployment. +func (mg *Deployment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Deployment. +func (mg *Deployment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Deployment. +func (mg *Deployment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Deployment. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Deployment) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Deployment. +func (mg *Deployment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Deployment. +func (mg *Deployment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Deployment. +func (mg *Deployment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Deployment. +func (mg *Deployment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Deployment. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Deployment) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Deployment. +func (mg *Deployment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/deploymentmanager/v1alpha1/zz_generated.managedlist.go b/apis/deploymentmanager/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..b3e0ae55 --- /dev/null +++ b/apis/deploymentmanager/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this DeploymentList. +func (l *DeploymentList) 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/deploymentmanager/v1alpha1/zz_groupversion_info.go b/apis/deploymentmanager/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..fd182207 --- /dev/null +++ b/apis/deploymentmanager/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=deploymentmanager.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "deploymentmanager.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/dialogflow/v1alpha1/zz_agent_terraformed.go b/apis/dialogflow/v1alpha1/zz_agent_terraformed.go new file mode 100755 index 00000000..63757cc0 --- /dev/null +++ b/apis/dialogflow/v1alpha1/zz_agent_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Agent +func (mg *Agent) GetTerraformResourceType() string { + return "google_dialogflow_agent" +} + +// GetConnectionDetailsMapping for this Agent +func (tr *Agent) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Agent +func (tr *Agent) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Agent +func (tr *Agent) SetObservation(obs map[string]interface{}) 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 Agent +func (tr *Agent) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Agent +func (tr *Agent) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Agent +func (tr *Agent) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Agent using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Agent) LateInitialize(attrs []byte) (bool, error) { + params := &AgentParameters{} + 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 *Agent) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dialogflow/v1alpha1/zz_agent_types.go b/apis/dialogflow/v1alpha1/zz_agent_types.go new file mode 100755 index 00000000..cc7bd5df --- /dev/null +++ b/apis/dialogflow/v1alpha1/zz_agent_types.go @@ -0,0 +1,153 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AgentObservation struct { + AvatarURIBackend *string `json:"avatarUriBackend,omitempty" tf:"avatar_uri_backend,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AgentParameters struct { + + // API version displayed in Dialogflow console. If not specified, V2 API is assumed. Clients are free to query + // different service endpoints for different API versions. However, bots connectors and webhook calls will follow + // the specified API version. + // * API_VERSION_V1: Legacy V1 API. + // * API_VERSION_V2: V2 API. + // * API_VERSION_V2_BETA_1: V2beta1 API. Possible values: ["API_VERSION_V1", "API_VERSION_V2", "API_VERSION_V2_BETA_1"] + // +kubebuilder:validation:Optional + APIVersion *string `json:"apiVersion,omitempty" tf:"api_version,omitempty"` + + // The URI of the agent's avatar, which are used throughout the Dialogflow console. When an image URL is entered + // into this field, the Dialogflow will save the image in the backend. The address of the backend image returned + // from the API will be shown in the [avatarUriBackend] field. + // +kubebuilder:validation:Optional + AvatarURI *string `json:"avatarUri,omitempty" tf:"avatar_uri,omitempty"` + + // To filter out false positive results and still get variety in matched natural language inputs for your agent, + // you can tune the machine learning classification threshold. If the returned score value is less than the threshold + // value, then a fallback intent will be triggered or, if there are no fallback intents defined, no intent will be + // triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the + // default of 0.3 is used. + // +kubebuilder:validation:Optional + ClassificationThreshold *float64 `json:"classificationThreshold,omitempty" tf:"classification_threshold,omitempty"` + + // The default language of the agent as a language tag. [See Language Support](https://cloud.google.com/dialogflow/docs/reference/language) + // for a list of the currently supported language codes. This field cannot be updated after creation. + // +kubebuilder:validation:Required + DefaultLanguageCode *string `json:"defaultLanguageCode" tf:"default_language_code,omitempty"` + + // The description of this agent. The maximum length is 500 characters. If exceeded, the request is rejected. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The name of this agent. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // Determines whether this agent should log conversation queries. + // +kubebuilder:validation:Optional + EnableLogging *bool `json:"enableLogging,omitempty" tf:"enable_logging,omitempty"` + + // Determines how intents are detected from user queries. + // * MATCH_MODE_HYBRID: Best for agents with a small number of examples in intents and/or wide use of templates + // syntax and composite entities. + // * MATCH_MODE_ML_ONLY: Can be used for agents with a large number of examples in intents, especially the ones + // using @sys.any or very large developer entities. Possible values: ["MATCH_MODE_HYBRID", "MATCH_MODE_ML_ONLY"] + // +kubebuilder:validation:Optional + MatchMode *string `json:"matchMode,omitempty" tf:"match_mode,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The list of all languages supported by this agent (except for the defaultLanguageCode). + // +kubebuilder:validation:Optional + SupportedLanguageCodes []*string `json:"supportedLanguageCodes,omitempty" tf:"supported_language_codes,omitempty"` + + // The agent tier. If not specified, TIER_STANDARD is assumed. + // * TIER_STANDARD: Standard tier. + // * TIER_ENTERPRISE: Enterprise tier (Essentials). + // * TIER_ENTERPRISE_PLUS: Enterprise tier (Plus). + // NOTE: Due to consistency issues, the provider will not read this field from the API. Drift is possible between + // the Terraform state and Dialogflow if the agent tier is changed outside of Terraform. Possible values: ["TIER_STANDARD", "TIER_ENTERPRISE", "TIER_ENTERPRISE_PLUS"] + // +kubebuilder:validation:Optional + Tier *string `json:"tier,omitempty" tf:"tier,omitempty"` + + // The time zone of this agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, + // Europe/Paris. + // +kubebuilder:validation:Required + TimeZone *string `json:"timeZone" tf:"time_zone,omitempty"` +} + +// AgentSpec defines the desired state of Agent +type AgentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AgentParameters `json:"forProvider"` +} + +// AgentStatus defines the observed state of Agent. +type AgentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AgentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Agent is the Schema for the Agents 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,gcpjet} +type Agent struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AgentSpec `json:"spec"` + Status AgentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AgentList contains a list of Agents +type AgentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Agent `json:"items"` +} + +// Repository type metadata. +var ( + Agent_Kind = "Agent" + Agent_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Agent_Kind}.String() + Agent_KindAPIVersion = Agent_Kind + "." + CRDGroupVersion.String() + Agent_GroupVersionKind = CRDGroupVersion.WithKind(Agent_Kind) +) + +func init() { + SchemeBuilder.Register(&Agent{}, &AgentList{}) +} diff --git a/apis/dialogflow/v1alpha1/zz_entitytype_terraformed.go b/apis/dialogflow/v1alpha1/zz_entitytype_terraformed.go new file mode 100755 index 00000000..953b3d73 --- /dev/null +++ b/apis/dialogflow/v1alpha1/zz_entitytype_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this EntityType +func (mg *EntityType) GetTerraformResourceType() string { + return "google_dialogflow_entity_type" +} + +// GetConnectionDetailsMapping for this EntityType +func (tr *EntityType) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this EntityType +func (tr *EntityType) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this EntityType +func (tr *EntityType) SetObservation(obs map[string]interface{}) 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 EntityType +func (tr *EntityType) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this EntityType +func (tr *EntityType) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this EntityType +func (tr *EntityType) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this EntityType using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *EntityType) LateInitialize(attrs []byte) (bool, error) { + params := &EntityTypeParameters{} + 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 *EntityType) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dialogflow/v1alpha1/zz_entitytype_types.go b/apis/dialogflow/v1alpha1/zz_entitytype_types.go new file mode 100755 index 00000000..407a365f --- /dev/null +++ b/apis/dialogflow/v1alpha1/zz_entitytype_types.go @@ -0,0 +1,129 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EntitiesObservation struct { +} + +type EntitiesParameters struct { + + // A collection of value synonyms. For example, if the entity type is vegetable, and value is scallions, a synonym + // could be green onions. + // For KIND_LIST entity types: + // * This collection must contain exactly one synonym equal to value. + // +kubebuilder:validation:Required + Synonyms []*string `json:"synonyms" tf:"synonyms,omitempty"` + + // The primary value associated with this entity entry. For example, if the entity type is vegetable, the value + // could be scallions. + // For KIND_MAP entity types: + // * A reference value to be used in place of synonyms. + // For KIND_LIST entity types: + // * A string that can contain references to other entity types (with or without aliases). + // +kubebuilder:validation:Required + Value *string `json:"value" tf:"value,omitempty"` +} + +type EntityTypeObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type EntityTypeParameters struct { + + // The name of this entity type to be displayed on the console. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // Enables fuzzy entity extraction during classification. + // +kubebuilder:validation:Optional + EnableFuzzyExtraction *bool `json:"enableFuzzyExtraction,omitempty" tf:"enable_fuzzy_extraction,omitempty"` + + // The collection of entity entries associated with the entity type. + // +kubebuilder:validation:Optional + Entities []EntitiesParameters `json:"entities,omitempty" tf:"entities,omitempty"` + + // Indicates the kind of entity type. + // * KIND_MAP: Map entity types allow mapping of a group of synonyms to a reference value. + // * KIND_LIST: List entity types contain a set of entries that do not map to reference values. However, list entity + // types can contain references to other entity types (with or without aliases). + // * KIND_REGEXP: Regexp entity types allow to specify regular expressions in entries values. Possible values: ["KIND_MAP", "KIND_LIST", "KIND_REGEXP"] + // +kubebuilder:validation:Required + Kind *string `json:"kind" tf:"kind,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// EntityTypeSpec defines the desired state of EntityType +type EntityTypeSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EntityTypeParameters `json:"forProvider"` +} + +// EntityTypeStatus defines the observed state of EntityType. +type EntityTypeStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EntityTypeObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntityType is the Schema for the EntityTypes 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,gcpjet} +type EntityType struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EntityTypeSpec `json:"spec"` + Status EntityTypeStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntityTypeList contains a list of EntityTypes +type EntityTypeList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []EntityType `json:"items"` +} + +// Repository type metadata. +var ( + EntityType_Kind = "EntityType" + EntityType_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: EntityType_Kind}.String() + EntityType_KindAPIVersion = EntityType_Kind + "." + CRDGroupVersion.String() + EntityType_GroupVersionKind = CRDGroupVersion.WithKind(EntityType_Kind) +) + +func init() { + SchemeBuilder.Register(&EntityType{}, &EntityTypeList{}) +} diff --git a/apis/dialogflow/v1alpha1/zz_fulfillment_terraformed.go b/apis/dialogflow/v1alpha1/zz_fulfillment_terraformed.go new file mode 100755 index 00000000..2e114976 --- /dev/null +++ b/apis/dialogflow/v1alpha1/zz_fulfillment_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Fulfillment +func (mg *Fulfillment) GetTerraformResourceType() string { + return "google_dialogflow_fulfillment" +} + +// GetConnectionDetailsMapping for this Fulfillment +func (tr *Fulfillment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Fulfillment +func (tr *Fulfillment) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Fulfillment +func (tr *Fulfillment) SetObservation(obs map[string]interface{}) 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 Fulfillment +func (tr *Fulfillment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Fulfillment +func (tr *Fulfillment) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Fulfillment +func (tr *Fulfillment) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Fulfillment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Fulfillment) LateInitialize(attrs []byte) (bool, error) { + params := &FulfillmentParameters{} + 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 *Fulfillment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dialogflow/v1alpha1/zz_fulfillment_types.go b/apis/dialogflow/v1alpha1/zz_fulfillment_types.go new file mode 100755 index 00000000..743eface --- /dev/null +++ b/apis/dialogflow/v1alpha1/zz_fulfillment_types.go @@ -0,0 +1,136 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FeaturesObservation struct { +} + +type FeaturesParameters struct { + + // The type of the feature that enabled for fulfillment. + // * SMALLTALK: Fulfillment is enabled for SmallTalk. Possible values: ["SMALLTALK"] + // +kubebuilder:validation:Required + Type *string `json:"type" tf:"type,omitempty"` +} + +type FulfillmentObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type FulfillmentParameters struct { + + // The human-readable name of the fulfillment, unique within the agent. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // Whether fulfillment is enabled. + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // The field defines whether the fulfillment is enabled for certain features. + // +kubebuilder:validation:Optional + Features []FeaturesParameters `json:"features,omitempty" tf:"features,omitempty"` + + // Represents configuration for a generic web service. Dialogflow supports two mechanisms for authentications: - Basic authentication with username and password. - Authentication with additional authentication headers. + // +kubebuilder:validation:Optional + GenericWebService []GenericWebServiceParameters `json:"genericWebService,omitempty" tf:"generic_web_service,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +type GenericWebServiceObservation struct { +} + +type GenericWebServiceParameters struct { + + // The password for HTTP Basic authentication. + // +kubebuilder:validation:Optional + Password *string `json:"password,omitempty" tf:"password,omitempty"` + + // The HTTP request headers to send together with fulfillment requests. + // +kubebuilder:validation:Optional + RequestHeaders map[string]*string `json:"requestHeaders,omitempty" tf:"request_headers,omitempty"` + + // The fulfillment URI for receiving POST requests. It must use https protocol. + // +kubebuilder:validation:Required + URI *string `json:"uri" tf:"uri,omitempty"` + + // The user name for HTTP Basic authentication. + // +kubebuilder:validation:Optional + Username *string `json:"username,omitempty" tf:"username,omitempty"` +} + +// FulfillmentSpec defines the desired state of Fulfillment +type FulfillmentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FulfillmentParameters `json:"forProvider"` +} + +// FulfillmentStatus defines the observed state of Fulfillment. +type FulfillmentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FulfillmentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Fulfillment is the Schema for the Fulfillments 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,gcpjet} +type Fulfillment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FulfillmentSpec `json:"spec"` + Status FulfillmentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FulfillmentList contains a list of Fulfillments +type FulfillmentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Fulfillment `json:"items"` +} + +// Repository type metadata. +var ( + Fulfillment_Kind = "Fulfillment" + Fulfillment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Fulfillment_Kind}.String() + Fulfillment_KindAPIVersion = Fulfillment_Kind + "." + CRDGroupVersion.String() + Fulfillment_GroupVersionKind = CRDGroupVersion.WithKind(Fulfillment_Kind) +) + +func init() { + SchemeBuilder.Register(&Fulfillment{}, &FulfillmentList{}) +} diff --git a/apis/dialogflow/v1alpha1/zz_generated.deepcopy.go b/apis/dialogflow/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..34a6120c --- /dev/null +++ b/apis/dialogflow/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,948 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Agent) DeepCopyInto(out *Agent) { + *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 Agent. +func (in *Agent) DeepCopy() *Agent { + if in == nil { + return nil + } + out := new(Agent) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Agent) 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 *AgentList) DeepCopyInto(out *AgentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Agent, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentList. +func (in *AgentList) DeepCopy() *AgentList { + if in == nil { + return nil + } + out := new(AgentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AgentList) 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 *AgentObservation) DeepCopyInto(out *AgentObservation) { + *out = *in + if in.AvatarURIBackend != nil { + in, out := &in.AvatarURIBackend, &out.AvatarURIBackend + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentObservation. +func (in *AgentObservation) DeepCopy() *AgentObservation { + if in == nil { + return nil + } + out := new(AgentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentParameters) DeepCopyInto(out *AgentParameters) { + *out = *in + if in.APIVersion != nil { + in, out := &in.APIVersion, &out.APIVersion + *out = new(string) + **out = **in + } + if in.AvatarURI != nil { + in, out := &in.AvatarURI, &out.AvatarURI + *out = new(string) + **out = **in + } + if in.ClassificationThreshold != nil { + in, out := &in.ClassificationThreshold, &out.ClassificationThreshold + *out = new(float64) + **out = **in + } + if in.DefaultLanguageCode != nil { + in, out := &in.DefaultLanguageCode, &out.DefaultLanguageCode + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.EnableLogging != nil { + in, out := &in.EnableLogging, &out.EnableLogging + *out = new(bool) + **out = **in + } + if in.MatchMode != nil { + in, out := &in.MatchMode, &out.MatchMode + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SupportedLanguageCodes != nil { + in, out := &in.SupportedLanguageCodes, &out.SupportedLanguageCodes + *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.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(string) + **out = **in + } + if in.TimeZone != nil { + in, out := &in.TimeZone, &out.TimeZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentParameters. +func (in *AgentParameters) DeepCopy() *AgentParameters { + if in == nil { + return nil + } + out := new(AgentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentSpec) DeepCopyInto(out *AgentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSpec. +func (in *AgentSpec) DeepCopy() *AgentSpec { + if in == nil { + return nil + } + out := new(AgentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentStatus) DeepCopyInto(out *AgentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentStatus. +func (in *AgentStatus) DeepCopy() *AgentStatus { + if in == nil { + return nil + } + out := new(AgentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntitiesObservation) DeepCopyInto(out *EntitiesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntitiesObservation. +func (in *EntitiesObservation) DeepCopy() *EntitiesObservation { + if in == nil { + return nil + } + out := new(EntitiesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntitiesParameters) DeepCopyInto(out *EntitiesParameters) { + *out = *in + if in.Synonyms != nil { + in, out := &in.Synonyms, &out.Synonyms + *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.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 EntitiesParameters. +func (in *EntitiesParameters) DeepCopy() *EntitiesParameters { + if in == nil { + return nil + } + out := new(EntitiesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntityType) DeepCopyInto(out *EntityType) { + *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 EntityType. +func (in *EntityType) DeepCopy() *EntityType { + if in == nil { + return nil + } + out := new(EntityType) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntityType) 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 *EntityTypeList) DeepCopyInto(out *EntityTypeList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]EntityType, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntityTypeList. +func (in *EntityTypeList) DeepCopy() *EntityTypeList { + if in == nil { + return nil + } + out := new(EntityTypeList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntityTypeList) 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 *EntityTypeObservation) DeepCopyInto(out *EntityTypeObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntityTypeObservation. +func (in *EntityTypeObservation) DeepCopy() *EntityTypeObservation { + if in == nil { + return nil + } + out := new(EntityTypeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntityTypeParameters) DeepCopyInto(out *EntityTypeParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.EnableFuzzyExtraction != nil { + in, out := &in.EnableFuzzyExtraction, &out.EnableFuzzyExtraction + *out = new(bool) + **out = **in + } + if in.Entities != nil { + in, out := &in.Entities, &out.Entities + *out = make([]EntitiesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntityTypeParameters. +func (in *EntityTypeParameters) DeepCopy() *EntityTypeParameters { + if in == nil { + return nil + } + out := new(EntityTypeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntityTypeSpec) DeepCopyInto(out *EntityTypeSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntityTypeSpec. +func (in *EntityTypeSpec) DeepCopy() *EntityTypeSpec { + if in == nil { + return nil + } + out := new(EntityTypeSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntityTypeStatus) DeepCopyInto(out *EntityTypeStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntityTypeStatus. +func (in *EntityTypeStatus) DeepCopy() *EntityTypeStatus { + if in == nil { + return nil + } + out := new(EntityTypeStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FeaturesObservation) DeepCopyInto(out *FeaturesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesObservation. +func (in *FeaturesObservation) DeepCopy() *FeaturesObservation { + if in == nil { + return nil + } + out := new(FeaturesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FeaturesParameters) DeepCopyInto(out *FeaturesParameters) { + *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 FeaturesParameters. +func (in *FeaturesParameters) DeepCopy() *FeaturesParameters { + if in == nil { + return nil + } + out := new(FeaturesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FollowupIntentInfoObservation) DeepCopyInto(out *FollowupIntentInfoObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FollowupIntentInfoObservation. +func (in *FollowupIntentInfoObservation) DeepCopy() *FollowupIntentInfoObservation { + if in == nil { + return nil + } + out := new(FollowupIntentInfoObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FollowupIntentInfoParameters) DeepCopyInto(out *FollowupIntentInfoParameters) { + *out = *in + if in.FollowupIntentName != nil { + in, out := &in.FollowupIntentName, &out.FollowupIntentName + *out = new(string) + **out = **in + } + if in.ParentFollowupIntentName != nil { + in, out := &in.ParentFollowupIntentName, &out.ParentFollowupIntentName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FollowupIntentInfoParameters. +func (in *FollowupIntentInfoParameters) DeepCopy() *FollowupIntentInfoParameters { + if in == nil { + return nil + } + out := new(FollowupIntentInfoParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Fulfillment) DeepCopyInto(out *Fulfillment) { + *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 Fulfillment. +func (in *Fulfillment) DeepCopy() *Fulfillment { + if in == nil { + return nil + } + out := new(Fulfillment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Fulfillment) 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 *FulfillmentList) DeepCopyInto(out *FulfillmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Fulfillment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FulfillmentList. +func (in *FulfillmentList) DeepCopy() *FulfillmentList { + if in == nil { + return nil + } + out := new(FulfillmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FulfillmentList) 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 *FulfillmentObservation) DeepCopyInto(out *FulfillmentObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FulfillmentObservation. +func (in *FulfillmentObservation) DeepCopy() *FulfillmentObservation { + if in == nil { + return nil + } + out := new(FulfillmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FulfillmentParameters) DeepCopyInto(out *FulfillmentParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Features != nil { + in, out := &in.Features, &out.Features + *out = make([]FeaturesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GenericWebService != nil { + in, out := &in.GenericWebService, &out.GenericWebService + *out = make([]GenericWebServiceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FulfillmentParameters. +func (in *FulfillmentParameters) DeepCopy() *FulfillmentParameters { + if in == nil { + return nil + } + out := new(FulfillmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FulfillmentSpec) DeepCopyInto(out *FulfillmentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FulfillmentSpec. +func (in *FulfillmentSpec) DeepCopy() *FulfillmentSpec { + if in == nil { + return nil + } + out := new(FulfillmentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FulfillmentStatus) DeepCopyInto(out *FulfillmentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FulfillmentStatus. +func (in *FulfillmentStatus) DeepCopy() *FulfillmentStatus { + if in == nil { + return nil + } + out := new(FulfillmentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GenericWebServiceObservation) DeepCopyInto(out *GenericWebServiceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericWebServiceObservation. +func (in *GenericWebServiceObservation) DeepCopy() *GenericWebServiceObservation { + if in == nil { + return nil + } + out := new(GenericWebServiceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GenericWebServiceParameters) DeepCopyInto(out *GenericWebServiceParameters) { + *out = *in + if in.Password != nil { + in, out := &in.Password, &out.Password + *out = new(string) + **out = **in + } + if in.RequestHeaders != nil { + in, out := &in.RequestHeaders, &out.RequestHeaders + *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.URI != nil { + in, out := &in.URI, &out.URI + *out = new(string) + **out = **in + } + if in.Username != nil { + in, out := &in.Username, &out.Username + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericWebServiceParameters. +func (in *GenericWebServiceParameters) DeepCopy() *GenericWebServiceParameters { + if in == nil { + return nil + } + out := new(GenericWebServiceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Intent) DeepCopyInto(out *Intent) { + *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 Intent. +func (in *Intent) DeepCopy() *Intent { + if in == nil { + return nil + } + out := new(Intent) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Intent) 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 *IntentList) DeepCopyInto(out *IntentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Intent, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentList. +func (in *IntentList) DeepCopy() *IntentList { + if in == nil { + return nil + } + out := new(IntentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IntentList) 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 *IntentObservation) DeepCopyInto(out *IntentObservation) { + *out = *in + if in.FollowupIntentInfo != nil { + in, out := &in.FollowupIntentInfo, &out.FollowupIntentInfo + *out = make([]FollowupIntentInfoObservation, len(*in)) + copy(*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.RootFollowupIntentName != nil { + in, out := &in.RootFollowupIntentName, &out.RootFollowupIntentName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentObservation. +func (in *IntentObservation) DeepCopy() *IntentObservation { + if in == nil { + return nil + } + out := new(IntentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IntentParameters) DeepCopyInto(out *IntentParameters) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(string) + **out = **in + } + if in.DefaultResponsePlatforms != nil { + in, out := &in.DefaultResponsePlatforms, &out.DefaultResponsePlatforms + *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.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Events != nil { + in, out := &in.Events, &out.Events + *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.InputContextNames != nil { + in, out := &in.InputContextNames, &out.InputContextNames + *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.IsFallback != nil { + in, out := &in.IsFallback, &out.IsFallback + *out = new(bool) + **out = **in + } + if in.MLDisabled != nil { + in, out := &in.MLDisabled, &out.MLDisabled + *out = new(bool) + **out = **in + } + if in.ParentFollowupIntentName != nil { + in, out := &in.ParentFollowupIntentName, &out.ParentFollowupIntentName + *out = new(string) + **out = **in + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ResetContexts != nil { + in, out := &in.ResetContexts, &out.ResetContexts + *out = new(bool) + **out = **in + } + if in.WebhookState != nil { + in, out := &in.WebhookState, &out.WebhookState + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentParameters. +func (in *IntentParameters) DeepCopy() *IntentParameters { + if in == nil { + return nil + } + out := new(IntentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IntentSpec) DeepCopyInto(out *IntentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentSpec. +func (in *IntentSpec) DeepCopy() *IntentSpec { + if in == nil { + return nil + } + out := new(IntentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IntentStatus) DeepCopyInto(out *IntentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentStatus. +func (in *IntentStatus) DeepCopy() *IntentStatus { + if in == nil { + return nil + } + out := new(IntentStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/dialogflow/v1alpha1/zz_generated.managed.go b/apis/dialogflow/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..38a47ae9 --- /dev/null +++ b/apis/dialogflow/v1alpha1/zz_generated.managed.go @@ -0,0 +1,244 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Agent. +func (mg *Agent) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Agent. +func (mg *Agent) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Agent. +func (mg *Agent) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Agent. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Agent) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Agent. +func (mg *Agent) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Agent. +func (mg *Agent) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Agent. +func (mg *Agent) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Agent. +func (mg *Agent) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Agent. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Agent) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Agent. +func (mg *Agent) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this EntityType. +func (mg *EntityType) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this EntityType. +func (mg *EntityType) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this EntityType. +func (mg *EntityType) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this EntityType. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *EntityType) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this EntityType. +func (mg *EntityType) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this EntityType. +func (mg *EntityType) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this EntityType. +func (mg *EntityType) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this EntityType. +func (mg *EntityType) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this EntityType. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *EntityType) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this EntityType. +func (mg *EntityType) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Fulfillment. +func (mg *Fulfillment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Fulfillment. +func (mg *Fulfillment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Fulfillment. +func (mg *Fulfillment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Fulfillment. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Fulfillment) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Fulfillment. +func (mg *Fulfillment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Fulfillment. +func (mg *Fulfillment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Fulfillment. +func (mg *Fulfillment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Fulfillment. +func (mg *Fulfillment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Fulfillment. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Fulfillment) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Fulfillment. +func (mg *Fulfillment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Intent. +func (mg *Intent) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Intent. +func (mg *Intent) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Intent. +func (mg *Intent) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Intent. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Intent) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Intent. +func (mg *Intent) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Intent. +func (mg *Intent) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Intent. +func (mg *Intent) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Intent. +func (mg *Intent) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Intent. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Intent) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Intent. +func (mg *Intent) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/dialogflow/v1alpha1/zz_generated.managedlist.go b/apis/dialogflow/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..bbdcac3b --- /dev/null +++ b/apis/dialogflow/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,56 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this AgentList. +func (l *AgentList) 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 EntityTypeList. +func (l *EntityTypeList) 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 FulfillmentList. +func (l *FulfillmentList) 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 IntentList. +func (l *IntentList) 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/dialogflow/v1alpha1/zz_groupversion_info.go b/apis/dialogflow/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..e01ed63c --- /dev/null +++ b/apis/dialogflow/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=dialogflow.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "dialogflow.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/dialogflow/v1alpha1/zz_intent_terraformed.go b/apis/dialogflow/v1alpha1/zz_intent_terraformed.go new file mode 100755 index 00000000..33cfab93 --- /dev/null +++ b/apis/dialogflow/v1alpha1/zz_intent_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Intent +func (mg *Intent) GetTerraformResourceType() string { + return "google_dialogflow_intent" +} + +// GetConnectionDetailsMapping for this Intent +func (tr *Intent) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Intent +func (tr *Intent) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Intent +func (tr *Intent) SetObservation(obs map[string]interface{}) 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 Intent +func (tr *Intent) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Intent +func (tr *Intent) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Intent +func (tr *Intent) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Intent using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Intent) LateInitialize(attrs []byte) (bool, error) { + params := &IntentParameters{} + 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 *Intent) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dialogflow/v1alpha1/zz_intent_types.go b/apis/dialogflow/v1alpha1/zz_intent_types.go new file mode 100755 index 00000000..351f5c07 --- /dev/null +++ b/apis/dialogflow/v1alpha1/zz_intent_types.go @@ -0,0 +1,165 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FollowupIntentInfoObservation struct { +} + +type FollowupIntentInfoParameters struct { + + // The unique identifier of the followup intent. + // Format: projects//agent/intents/. + // +kubebuilder:validation:Optional + FollowupIntentName *string `json:"followupIntentName,omitempty" tf:"followup_intent_name,omitempty"` + + // The unique identifier of the followup intent's parent. + // Format: projects//agent/intents/. + // +kubebuilder:validation:Optional + ParentFollowupIntentName *string `json:"parentFollowupIntentName,omitempty" tf:"parent_followup_intent_name,omitempty"` +} + +type IntentObservation struct { + FollowupIntentInfo []FollowupIntentInfoObservation `json:"followupIntentInfo,omitempty" tf:"followup_intent_info,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + RootFollowupIntentName *string `json:"rootFollowupIntentName,omitempty" tf:"root_followup_intent_name,omitempty"` +} + +type IntentParameters struct { + + // The name of the action associated with the intent. + // Note: The action name must not contain whitespaces. + // +kubebuilder:validation:Optional + Action *string `json:"action,omitempty" tf:"action,omitempty"` + + // The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED + // (i.e. default platform). Possible values: ["FACEBOOK", "SLACK", "TELEGRAM", "KIK", "SKYPE", "LINE", "VIBER", "ACTIONS_ON_GOOGLE", "GOOGLE_HANGOUTS"] + // +kubebuilder:validation:Optional + DefaultResponsePlatforms []*string `json:"defaultResponsePlatforms,omitempty" tf:"default_response_platforms,omitempty"` + + // The name of this intent to be displayed on the console. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of + // the contexts must be present in the active user session for an event to trigger this intent. See the + // [events reference](https://cloud.google.com/dialogflow/docs/events-overview) for more details. + // +kubebuilder:validation:Optional + Events []*string `json:"events,omitempty" tf:"events,omitempty"` + + // The list of context names required for this intent to be triggered. + // Format: projects//agent/sessions/-/contexts/. + // +kubebuilder:validation:Optional + InputContextNames []*string `json:"inputContextNames,omitempty" tf:"input_context_names,omitempty"` + + // Indicates whether this is a fallback intent. + // +kubebuilder:validation:Optional + IsFallback *bool `json:"isFallback,omitempty" tf:"is_fallback,omitempty"` + + // Indicates whether Machine Learning is disabled for the intent. + // Note: If mlDisabled setting is set to true, then this intent is not taken into account during inference in ML + // ONLY match mode. Also, auto-markup in the UI is turned off. + // +kubebuilder:validation:Optional + MLDisabled *bool `json:"mlDisabled,omitempty" tf:"ml_disabled,omitempty"` + + // The unique identifier of the parent intent in the chain of followup intents. + // Format: projects//agent/intents/. + // +kubebuilder:validation:Optional + ParentFollowupIntentName *string `json:"parentFollowupIntentName,omitempty" tf:"parent_followup_intent_name,omitempty"` + + // The priority of this intent. Higher numbers represent higher priorities. + // - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds + // to the Normal priority in the console. + // - If the supplied value is negative, the intent is ignored in runtime detect intent requests. + // +kubebuilder:validation:Optional + Priority *int64 `json:"priority,omitempty" tf:"priority,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Indicates whether to delete all contexts in the current session when this intent is matched. + // +kubebuilder:validation:Optional + ResetContexts *bool `json:"resetContexts,omitempty" tf:"reset_contexts,omitempty"` + + // Indicates whether webhooks are enabled for the intent. + // * WEBHOOK_STATE_ENABLED: Webhook is enabled in the agent and in the intent. + // * WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING: Webhook is enabled in the agent and in the intent. Also, each slot + // filling prompt is forwarded to the webhook. Possible values: ["WEBHOOK_STATE_ENABLED", "WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING"] + // +kubebuilder:validation:Optional + WebhookState *string `json:"webhookState,omitempty" tf:"webhook_state,omitempty"` +} + +// IntentSpec defines the desired state of Intent +type IntentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider IntentParameters `json:"forProvider"` +} + +// IntentStatus defines the observed state of Intent. +type IntentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider IntentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Intent is the Schema for the Intents 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,gcpjet} +type Intent struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec IntentSpec `json:"spec"` + Status IntentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// IntentList contains a list of Intents +type IntentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Intent `json:"items"` +} + +// Repository type metadata. +var ( + Intent_Kind = "Intent" + Intent_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Intent_Kind}.String() + Intent_KindAPIVersion = Intent_Kind + "." + CRDGroupVersion.String() + Intent_GroupVersionKind = CRDGroupVersion.WithKind(Intent_Kind) +) + +func init() { + SchemeBuilder.Register(&Intent{}, &IntentList{}) +} diff --git a/apis/dialogflowcx/v1alpha1/zz_agent_terraformed.go b/apis/dialogflowcx/v1alpha1/zz_agent_terraformed.go new file mode 100755 index 00000000..e41d72d2 --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_agent_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Agent +func (mg *Agent) GetTerraformResourceType() string { + return "google_dialogflow_cx_agent" +} + +// GetConnectionDetailsMapping for this Agent +func (tr *Agent) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Agent +func (tr *Agent) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Agent +func (tr *Agent) SetObservation(obs map[string]interface{}) 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 Agent +func (tr *Agent) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Agent +func (tr *Agent) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Agent +func (tr *Agent) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Agent using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Agent) LateInitialize(attrs []byte) (bool, error) { + params := &AgentParameters{} + 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 *Agent) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dialogflowcx/v1alpha1/zz_agent_types.go b/apis/dialogflowcx/v1alpha1/zz_agent_types.go new file mode 100755 index 00000000..1dd6f222 --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_agent_types.go @@ -0,0 +1,149 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AgentObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + StartFlow *string `json:"startFlow,omitempty" tf:"start_flow,omitempty"` +} + +type AgentParameters struct { + + // The URI of the agent's avatar. Avatars are used throughout the Dialogflow console and in the self-hosted Web Demo integration. + // +kubebuilder:validation:Optional + AvatarURI *string `json:"avatarUri,omitempty" tf:"avatar_uri,omitempty"` + + // The default language of the agent as a language tag. [See Language Support](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // for a list of the currently supported language codes. This field cannot be updated after creation. + // +kubebuilder:validation:Required + DefaultLanguageCode *string `json:"defaultLanguageCode" tf:"default_language_code,omitempty"` + + // The description of this agent. The maximum length is 500 characters. If exceeded, the request is rejected. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The human-readable name of the agent, unique within the location. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // Indicates if automatic spell correction is enabled in detect intent requests. + // +kubebuilder:validation:Optional + EnableSpellCorrection *bool `json:"enableSpellCorrection,omitempty" tf:"enable_spell_correction,omitempty"` + + // Determines whether this agent should log conversation queries. + // +kubebuilder:validation:Optional + EnableStackdriverLogging *bool `json:"enableStackdriverLogging,omitempty" tf:"enable_stackdriver_logging,omitempty"` + + // The name of the location this agent is located in. + // + // ~> **Note:** The first time you are deploying an Agent in your project you must configure location settings. + // This is a one time step but at the moment you can only [configure location settings](https://cloud.google.com/dialogflow/cx/docs/concept/region#location-settings) via the Dialogflow CX console. + // Another options is to use global location so you don't need to manually configure location settings. + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/. + // +kubebuilder:validation:Optional + SecuritySettings *string `json:"securitySettings,omitempty" tf:"security_settings,omitempty"` + + // Settings related to speech recognition. + // +kubebuilder:validation:Optional + SpeechToTextSettings []SpeechToTextSettingsParameters `json:"speechToTextSettings,omitempty" tf:"speech_to_text_settings,omitempty"` + + // The list of all languages supported by this agent (except for the default_language_code). + // +kubebuilder:validation:Optional + SupportedLanguageCodes []*string `json:"supportedLanguageCodes,omitempty" tf:"supported_language_codes,omitempty"` + + // The time zone of this agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, + // Europe/Paris. + // +kubebuilder:validation:Required + TimeZone *string `json:"timeZone" tf:"time_zone,omitempty"` +} + +type SpeechToTextSettingsObservation struct { +} + +type SpeechToTextSettingsParameters struct { + + // Whether to use speech adaptation for speech recognition. + // +kubebuilder:validation:Optional + EnableSpeechAdaptation *bool `json:"enableSpeechAdaptation,omitempty" tf:"enable_speech_adaptation,omitempty"` +} + +// AgentSpec defines the desired state of Agent +type AgentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AgentParameters `json:"forProvider"` +} + +// AgentStatus defines the observed state of Agent. +type AgentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AgentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Agent is the Schema for the Agents 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,gcpjet} +type Agent struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AgentSpec `json:"spec"` + Status AgentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AgentList contains a list of Agents +type AgentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Agent `json:"items"` +} + +// Repository type metadata. +var ( + Agent_Kind = "Agent" + Agent_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Agent_Kind}.String() + Agent_KindAPIVersion = Agent_Kind + "." + CRDGroupVersion.String() + Agent_GroupVersionKind = CRDGroupVersion.WithKind(Agent_Kind) +) + +func init() { + SchemeBuilder.Register(&Agent{}, &AgentList{}) +} diff --git a/apis/dialogflowcx/v1alpha1/zz_entitytype_terraformed.go b/apis/dialogflowcx/v1alpha1/zz_entitytype_terraformed.go new file mode 100755 index 00000000..13c75bb1 --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_entitytype_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this EntityType +func (mg *EntityType) GetTerraformResourceType() string { + return "google_dialogflow_cx_entity_type" +} + +// GetConnectionDetailsMapping for this EntityType +func (tr *EntityType) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this EntityType +func (tr *EntityType) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this EntityType +func (tr *EntityType) SetObservation(obs map[string]interface{}) 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 EntityType +func (tr *EntityType) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this EntityType +func (tr *EntityType) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this EntityType +func (tr *EntityType) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this EntityType using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *EntityType) LateInitialize(attrs []byte) (bool, error) { + params := &EntityTypeParameters{} + 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 *EntityType) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dialogflowcx/v1alpha1/zz_entitytype_types.go b/apis/dialogflowcx/v1alpha1/zz_entitytype_types.go new file mode 100755 index 00000000..5a5127b9 --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_entitytype_types.go @@ -0,0 +1,158 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EntitiesObservation struct { +} + +type EntitiesParameters struct { + + // A collection of value synonyms. For example, if the entity type is vegetable, and value is scallions, a synonym could be green onions. + // For KIND_LIST entity types: This collection must contain exactly one synonym equal to value. + // +kubebuilder:validation:Optional + Synonyms []*string `json:"synonyms,omitempty" tf:"synonyms,omitempty"` + + // The primary value associated with this entity entry. For example, if the entity type is vegetable, the value could be scallions. + // For KIND_MAP entity types: A canonical value to be used in place of synonyms. + // For KIND_LIST entity types: A string that can contain references to other entity types (with or without aliases). + // +kubebuilder:validation:Optional + Value *string `json:"value,omitempty" tf:"value,omitempty"` +} + +type EntityTypeObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type EntityTypeParameters struct { + + // Represents kinds of entities. + // * AUTO_EXPANSION_MODE_UNSPECIFIED: Auto expansion disabled for the entity. + // * AUTO_EXPANSION_MODE_DEFAULT: Allows an agent to recognize values that have not been explicitly listed in the entity. Possible values: ["AUTO_EXPANSION_MODE_DEFAULT", "AUTO_EXPANSION_MODE_UNSPECIFIED"] + // +kubebuilder:validation:Optional + AutoExpansionMode *string `json:"autoExpansionMode,omitempty" tf:"auto_expansion_mode,omitempty"` + + // The human-readable name of the entity type, unique within the agent. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // Enables fuzzy entity extraction during classification. + // +kubebuilder:validation:Optional + EnableFuzzyExtraction *bool `json:"enableFuzzyExtraction,omitempty" tf:"enable_fuzzy_extraction,omitempty"` + + // The collection of entity entries associated with the entity type. + // +kubebuilder:validation:Required + Entities []EntitiesParameters `json:"entities" tf:"entities,omitempty"` + + // Collection of exceptional words and phrases that shouldn't be matched. For example, if you have a size entity type with entry giant(an adjective), you might consider adding giants(a noun) as an exclusion. + // If the kind of entity type is KIND_MAP, then the phrases specified by entities and excluded phrases should be mutually exclusive. + // +kubebuilder:validation:Optional + ExcludedPhrases []ExcludedPhrasesParameters `json:"excludedPhrases,omitempty" tf:"excluded_phrases,omitempty"` + + // Indicates whether the entity type can be automatically expanded. + // * KIND_MAP: Map entity types allow mapping of a group of synonyms to a canonical value. + // * KIND_LIST: List entity types contain a set of entries that do not map to canonical values. However, list entity types can contain references to other entity types (with or without aliases). + // * KIND_REGEXP: Regexp entity types allow to specify regular expressions in entries values. Possible values: ["KIND_MAP", "KIND_LIST", "KIND_REGEXP"] + // +kubebuilder:validation:Required + Kind *string `json:"kind" tf:"kind,omitempty"` + + // The language of the following fields in entityType: + // EntityType.entities.value + // EntityType.entities.synonyms + // EntityType.excluded_phrases.value + // If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used. + // +kubebuilder:validation:Optional + LanguageCode *string `json:"languageCode,omitempty" tf:"language_code,omitempty"` + + // The agent to create a entity type for. + // Format: projects//locations//agents/. + // +kubebuilder:validation:Optional + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // Indicates whether parameters of the entity type should be redacted in log. If redaction is enabled, page parameters and intent parameters referring to the entity type will be replaced by parameter name when logging. + // +kubebuilder:validation:Optional + Redact *bool `json:"redact,omitempty" tf:"redact,omitempty"` +} + +type ExcludedPhrasesObservation struct { +} + +type ExcludedPhrasesParameters struct { + + // The word or phrase to be excluded. + // +kubebuilder:validation:Optional + Value *string `json:"value,omitempty" tf:"value,omitempty"` +} + +// EntityTypeSpec defines the desired state of EntityType +type EntityTypeSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EntityTypeParameters `json:"forProvider"` +} + +// EntityTypeStatus defines the observed state of EntityType. +type EntityTypeStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EntityTypeObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntityType is the Schema for the EntityTypes 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,gcpjet} +type EntityType struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EntityTypeSpec `json:"spec"` + Status EntityTypeStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EntityTypeList contains a list of EntityTypes +type EntityTypeList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []EntityType `json:"items"` +} + +// Repository type metadata. +var ( + EntityType_Kind = "EntityType" + EntityType_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: EntityType_Kind}.String() + EntityType_KindAPIVersion = EntityType_Kind + "." + CRDGroupVersion.String() + EntityType_GroupVersionKind = CRDGroupVersion.WithKind(EntityType_Kind) +) + +func init() { + SchemeBuilder.Register(&EntityType{}, &EntityTypeList{}) +} diff --git a/apis/dialogflowcx/v1alpha1/zz_environment_terraformed.go b/apis/dialogflowcx/v1alpha1/zz_environment_terraformed.go new file mode 100755 index 00000000..bc05e117 --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_environment_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Environment +func (mg *Environment) GetTerraformResourceType() string { + return "google_dialogflow_cx_environment" +} + +// GetConnectionDetailsMapping for this Environment +func (tr *Environment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Environment +func (tr *Environment) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Environment +func (tr *Environment) SetObservation(obs map[string]interface{}) 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 Environment +func (tr *Environment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Environment +func (tr *Environment) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Environment +func (tr *Environment) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Environment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Environment) LateInitialize(attrs []byte) (bool, error) { + params := &EnvironmentParameters{} + 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 *Environment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dialogflowcx/v1alpha1/zz_environment_types.go b/apis/dialogflowcx/v1alpha1/zz_environment_types.go new file mode 100755 index 00000000..ca40e6d4 --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_environment_types.go @@ -0,0 +1,113 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EnvironmentObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type EnvironmentParameters struct { + + // The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The human-readable name of the environment (unique in an agent). Limit of 64 characters. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // The Agent to create an Environment for. + // Format: projects//locations//agents/. + // +kubebuilder:validation:Optional + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. + // +kubebuilder:validation:Required + VersionConfigs []VersionConfigsParameters `json:"versionConfigs" tf:"version_configs,omitempty"` +} + +type VersionConfigsObservation struct { +} + +type VersionConfigsParameters struct { + + // Format: projects/{{project}}/locations/{{location}}/agents/{{agent}}/flows/{{flow}}/versions/{{version}}. + // +kubebuilder:validation:Required + Version *string `json:"version" tf:"version,omitempty"` +} + +// EnvironmentSpec defines the desired state of Environment +type EnvironmentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EnvironmentParameters `json:"forProvider"` +} + +// EnvironmentStatus defines the observed state of Environment. +type EnvironmentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EnvironmentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Environment is the Schema for the Environments 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,gcpjet} +type Environment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EnvironmentSpec `json:"spec"` + Status EnvironmentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EnvironmentList contains a list of Environments +type EnvironmentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Environment `json:"items"` +} + +// Repository type metadata. +var ( + Environment_Kind = "Environment" + Environment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Environment_Kind}.String() + Environment_KindAPIVersion = Environment_Kind + "." + CRDGroupVersion.String() + Environment_GroupVersionKind = CRDGroupVersion.WithKind(Environment_Kind) +) + +func init() { + SchemeBuilder.Register(&Environment{}, &EnvironmentList{}) +} diff --git a/apis/dialogflowcx/v1alpha1/zz_flow_terraformed.go b/apis/dialogflowcx/v1alpha1/zz_flow_terraformed.go new file mode 100755 index 00000000..bc622aa8 --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_flow_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Flow +func (mg *Flow) GetTerraformResourceType() string { + return "google_dialogflow_cx_flow" +} + +// GetConnectionDetailsMapping for this Flow +func (tr *Flow) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Flow +func (tr *Flow) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Flow +func (tr *Flow) SetObservation(obs map[string]interface{}) 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 Flow +func (tr *Flow) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Flow +func (tr *Flow) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Flow +func (tr *Flow) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Flow using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Flow) LateInitialize(attrs []byte) (bool, error) { + params := &FlowParameters{} + 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 *Flow) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dialogflowcx/v1alpha1/zz_flow_types.go b/apis/dialogflowcx/v1alpha1/zz_flow_types.go new file mode 100755 index 00000000..eeac7439 --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_flow_types.go @@ -0,0 +1,300 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EventHandlersObservation struct { + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type EventHandlersParameters struct { + + // The name of the event to handle. + // +kubebuilder:validation:Optional + Event *string `json:"event,omitempty" tf:"event,omitempty"` + + // The target flow to transition to. + // Format: projects//locations//agents//flows/. + // +kubebuilder:validation:Optional + TargetFlow *string `json:"targetFlow,omitempty" tf:"target_flow,omitempty"` + + // The target page to transition to. + // Format: projects//locations//agents//flows//pages/. + // +kubebuilder:validation:Optional + TargetPage *string `json:"targetPage,omitempty" tf:"target_page,omitempty"` + + // The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks. + // +kubebuilder:validation:Optional + TriggerFulfillment []TriggerFulfillmentParameters `json:"triggerFulfillment,omitempty" tf:"trigger_fulfillment,omitempty"` +} + +type FlowObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type FlowParameters struct { + + // The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The human-readable name of the flow. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // A flow's event handlers serve two purposes: + // They are responsible for handling events (e.g. no match, webhook errors) in the flow. + // They are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. + // Unlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. + // +kubebuilder:validation:Optional + EventHandlers []EventHandlersParameters `json:"eventHandlers,omitempty" tf:"event_handlers,omitempty"` + + // The language of the following fields in flow: + // Flow.event_handlers.trigger_fulfillment.messages + // Flow.event_handlers.trigger_fulfillment.conditional_cases + // Flow.transition_routes.trigger_fulfillment.messages + // Flow.transition_routes.trigger_fulfillment.conditional_cases + // If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used. + // +kubebuilder:validation:Optional + LanguageCode *string `json:"languageCode,omitempty" tf:"language_code,omitempty"` + + // NLU related settings of the flow. + // +kubebuilder:validation:Optional + NluSettings []NluSettingsParameters `json:"nluSettings,omitempty" tf:"nlu_settings,omitempty"` + + // The agent to create a flow for. + // Format: projects//locations//agents/. + // +kubebuilder:validation:Optional + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // A flow's transition route group serve two purposes: + // They are responsible for matching the user's first utterances in the flow. + // They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow. + // Format:projects//locations//agents//flows//transitionRouteGroups/. + // +kubebuilder:validation:Optional + TransitionRouteGroups []*string `json:"transitionRouteGroups,omitempty" tf:"transition_route_groups,omitempty"` + + // A flow's transition routes serve two purposes: + // They are responsible for matching the user's first utterances in the flow. + // They are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying "help" or "can I talk to a human?", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. + // + // TransitionRoutes are evalauted in the following order: + // TransitionRoutes with intent specified. + // TransitionRoutes with only condition specified. + // TransitionRoutes with intent specified are inherited by pages in the flow. + // +kubebuilder:validation:Optional + TransitionRoutes []TransitionRoutesParameters `json:"transitionRoutes,omitempty" tf:"transition_routes,omitempty"` +} + +type MessagesObservation struct { +} + +type MessagesParameters struct { + + // The text response message. + // +kubebuilder:validation:Optional + Text []TextParameters `json:"text,omitempty" tf:"text,omitempty"` +} + +type MessagesTextObservation struct { + AllowPlaybackInterruption *bool `json:"allowPlaybackInterruption,omitempty" tf:"allow_playback_interruption,omitempty"` +} + +type MessagesTextParameters struct { + + // A collection of text responses. + // +kubebuilder:validation:Optional + Text []*string `json:"text,omitempty" tf:"text,omitempty"` +} + +type NluSettingsObservation struct { +} + +type NluSettingsParameters struct { + + // To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold. + // If the returned score value is less than the threshold value, then a no-match event will be triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the default of 0.3 is used. + // +kubebuilder:validation:Optional + ClassificationThreshold *float64 `json:"classificationThreshold,omitempty" tf:"classification_threshold,omitempty"` + + // Indicates NLU model training mode. + // * MODEL_TRAINING_MODE_AUTOMATIC: NLU model training is automatically triggered when a flow gets modified. User can also manually trigger model training in this mode. + // * MODEL_TRAINING_MODE_MANUAL: User needs to manually trigger NLU model training. Best for large flows whose models take long time to train. Possible values: ["MODEL_TRAINING_MODE_AUTOMATIC", "MODEL_TRAINING_MODE_MANUAL"] + // +kubebuilder:validation:Optional + ModelTrainingMode *string `json:"modelTrainingMode,omitempty" tf:"model_training_mode,omitempty"` + + // Indicates the type of NLU model. + // * MODEL_TYPE_STANDARD: Use standard NLU model. + // * MODEL_TYPE_ADVANCED: Use advanced NLU model. Possible values: ["MODEL_TYPE_STANDARD", "MODEL_TYPE_ADVANCED"] + // +kubebuilder:validation:Optional + ModelType *string `json:"modelType,omitempty" tf:"model_type,omitempty"` +} + +type TextObservation struct { + AllowPlaybackInterruption *bool `json:"allowPlaybackInterruption,omitempty" tf:"allow_playback_interruption,omitempty"` +} + +type TextParameters struct { + + // A collection of text responses. + // +kubebuilder:validation:Optional + Text []*string `json:"text,omitempty" tf:"text,omitempty"` +} + +type TransitionRoutesObservation struct { + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type TransitionRoutesParameters struct { + + // The condition to evaluate against form parameters or session parameters. + // At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled. + // +kubebuilder:validation:Optional + Condition *string `json:"condition,omitempty" tf:"condition,omitempty"` + + // The unique identifier of an Intent. + // Format: projects//locations//agents//intents/. Indicates that the transition can only happen when the given intent is matched. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled. + // +kubebuilder:validation:Optional + Intent *string `json:"intent,omitempty" tf:"intent,omitempty"` + + // The target flow to transition to. + // Format: projects//locations//agents//flows/. + // +kubebuilder:validation:Optional + TargetFlow *string `json:"targetFlow,omitempty" tf:"target_flow,omitempty"` + + // The target page to transition to. + // Format: projects//locations//agents//flows//pages/. + // +kubebuilder:validation:Optional + TargetPage *string `json:"targetPage,omitempty" tf:"target_page,omitempty"` + + // The fulfillment to call when the condition is satisfied. At least one of triggerFulfillment and target must be specified. When both are defined, triggerFulfillment is executed first. + // +kubebuilder:validation:Optional + TriggerFulfillment []TransitionRoutesTriggerFulfillmentParameters `json:"triggerFulfillment,omitempty" tf:"trigger_fulfillment,omitempty"` +} + +type TransitionRoutesTriggerFulfillmentObservation struct { +} + +type TransitionRoutesTriggerFulfillmentParameters struct { + + // The list of rich message responses to present to the user. + // +kubebuilder:validation:Optional + Messages []TriggerFulfillmentMessagesParameters `json:"messages,omitempty" tf:"messages,omitempty"` + + // Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks. + // +kubebuilder:validation:Optional + ReturnPartialResponses *bool `json:"returnPartialResponses,omitempty" tf:"return_partial_responses,omitempty"` + + // The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified. + // +kubebuilder:validation:Optional + Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` + + // The webhook to call. Format: projects//locations//agents//webhooks/. + // +kubebuilder:validation:Optional + Webhook *string `json:"webhook,omitempty" tf:"webhook,omitempty"` +} + +type TriggerFulfillmentMessagesObservation struct { +} + +type TriggerFulfillmentMessagesParameters struct { + + // The text response message. + // +kubebuilder:validation:Optional + Text []MessagesTextParameters `json:"text,omitempty" tf:"text,omitempty"` +} + +type TriggerFulfillmentObservation struct { +} + +type TriggerFulfillmentParameters struct { + + // The list of rich message responses to present to the user. + // +kubebuilder:validation:Optional + Messages []MessagesParameters `json:"messages,omitempty" tf:"messages,omitempty"` + + // Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks. + // +kubebuilder:validation:Optional + ReturnPartialResponses *bool `json:"returnPartialResponses,omitempty" tf:"return_partial_responses,omitempty"` + + // The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified. + // +kubebuilder:validation:Optional + Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` + + // The webhook to call. Format: projects//locations//agents//webhooks/. + // +kubebuilder:validation:Optional + Webhook *string `json:"webhook,omitempty" tf:"webhook,omitempty"` +} + +// FlowSpec defines the desired state of Flow +type FlowSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FlowParameters `json:"forProvider"` +} + +// FlowStatus defines the observed state of Flow. +type FlowStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FlowObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Flow is the Schema for the Flows 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,gcpjet} +type Flow struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FlowSpec `json:"spec"` + Status FlowStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FlowList contains a list of Flows +type FlowList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Flow `json:"items"` +} + +// Repository type metadata. +var ( + Flow_Kind = "Flow" + Flow_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Flow_Kind}.String() + Flow_KindAPIVersion = Flow_Kind + "." + CRDGroupVersion.String() + Flow_GroupVersionKind = CRDGroupVersion.WithKind(Flow_Kind) +) + +func init() { + SchemeBuilder.Register(&Flow{}, &FlowList{}) +} diff --git a/apis/dialogflowcx/v1alpha1/zz_generated.deepcopy.go b/apis/dialogflowcx/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..79957003 --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,2862 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Agent) DeepCopyInto(out *Agent) { + *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 Agent. +func (in *Agent) DeepCopy() *Agent { + if in == nil { + return nil + } + out := new(Agent) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Agent) 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 *AgentList) DeepCopyInto(out *AgentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Agent, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentList. +func (in *AgentList) DeepCopy() *AgentList { + if in == nil { + return nil + } + out := new(AgentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AgentList) 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 *AgentObservation) DeepCopyInto(out *AgentObservation) { + *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.StartFlow != nil { + in, out := &in.StartFlow, &out.StartFlow + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentObservation. +func (in *AgentObservation) DeepCopy() *AgentObservation { + if in == nil { + return nil + } + out := new(AgentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentParameters) DeepCopyInto(out *AgentParameters) { + *out = *in + if in.AvatarURI != nil { + in, out := &in.AvatarURI, &out.AvatarURI + *out = new(string) + **out = **in + } + if in.DefaultLanguageCode != nil { + in, out := &in.DefaultLanguageCode, &out.DefaultLanguageCode + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.EnableSpellCorrection != nil { + in, out := &in.EnableSpellCorrection, &out.EnableSpellCorrection + *out = new(bool) + **out = **in + } + if in.EnableStackdriverLogging != nil { + in, out := &in.EnableStackdriverLogging, &out.EnableStackdriverLogging + *out = new(bool) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SecuritySettings != nil { + in, out := &in.SecuritySettings, &out.SecuritySettings + *out = new(string) + **out = **in + } + if in.SpeechToTextSettings != nil { + in, out := &in.SpeechToTextSettings, &out.SpeechToTextSettings + *out = make([]SpeechToTextSettingsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SupportedLanguageCodes != nil { + in, out := &in.SupportedLanguageCodes, &out.SupportedLanguageCodes + *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.TimeZone != nil { + in, out := &in.TimeZone, &out.TimeZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentParameters. +func (in *AgentParameters) DeepCopy() *AgentParameters { + if in == nil { + return nil + } + out := new(AgentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentSpec) DeepCopyInto(out *AgentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSpec. +func (in *AgentSpec) DeepCopy() *AgentSpec { + if in == nil { + return nil + } + out := new(AgentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentStatus) DeepCopyInto(out *AgentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentStatus. +func (in *AgentStatus) DeepCopy() *AgentStatus { + if in == nil { + return nil + } + out := new(AgentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntitiesObservation) DeepCopyInto(out *EntitiesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntitiesObservation. +func (in *EntitiesObservation) DeepCopy() *EntitiesObservation { + if in == nil { + return nil + } + out := new(EntitiesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntitiesParameters) DeepCopyInto(out *EntitiesParameters) { + *out = *in + if in.Synonyms != nil { + in, out := &in.Synonyms, &out.Synonyms + *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.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 EntitiesParameters. +func (in *EntitiesParameters) DeepCopy() *EntitiesParameters { + if in == nil { + return nil + } + out := new(EntitiesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntityType) DeepCopyInto(out *EntityType) { + *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 EntityType. +func (in *EntityType) DeepCopy() *EntityType { + if in == nil { + return nil + } + out := new(EntityType) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntityType) 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 *EntityTypeList) DeepCopyInto(out *EntityTypeList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]EntityType, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntityTypeList. +func (in *EntityTypeList) DeepCopy() *EntityTypeList { + if in == nil { + return nil + } + out := new(EntityTypeList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EntityTypeList) 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 *EntityTypeObservation) DeepCopyInto(out *EntityTypeObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntityTypeObservation. +func (in *EntityTypeObservation) DeepCopy() *EntityTypeObservation { + if in == nil { + return nil + } + out := new(EntityTypeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntityTypeParameters) DeepCopyInto(out *EntityTypeParameters) { + *out = *in + if in.AutoExpansionMode != nil { + in, out := &in.AutoExpansionMode, &out.AutoExpansionMode + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.EnableFuzzyExtraction != nil { + in, out := &in.EnableFuzzyExtraction, &out.EnableFuzzyExtraction + *out = new(bool) + **out = **in + } + if in.Entities != nil { + in, out := &in.Entities, &out.Entities + *out = make([]EntitiesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExcludedPhrases != nil { + in, out := &in.ExcludedPhrases, &out.ExcludedPhrases + *out = make([]ExcludedPhrasesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } + if in.LanguageCode != nil { + in, out := &in.LanguageCode, &out.LanguageCode + *out = new(string) + **out = **in + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.Redact != nil { + in, out := &in.Redact, &out.Redact + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntityTypeParameters. +func (in *EntityTypeParameters) DeepCopy() *EntityTypeParameters { + if in == nil { + return nil + } + out := new(EntityTypeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntityTypeSpec) DeepCopyInto(out *EntityTypeSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntityTypeSpec. +func (in *EntityTypeSpec) DeepCopy() *EntityTypeSpec { + if in == nil { + return nil + } + out := new(EntityTypeSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntityTypeStatus) DeepCopyInto(out *EntityTypeStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntityTypeStatus. +func (in *EntityTypeStatus) DeepCopy() *EntityTypeStatus { + if in == nil { + return nil + } + out := new(EntityTypeStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryFulfillmentMessagesObservation) DeepCopyInto(out *EntryFulfillmentMessagesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryFulfillmentMessagesObservation. +func (in *EntryFulfillmentMessagesObservation) DeepCopy() *EntryFulfillmentMessagesObservation { + if in == nil { + return nil + } + out := new(EntryFulfillmentMessagesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryFulfillmentMessagesParameters) DeepCopyInto(out *EntryFulfillmentMessagesParameters) { + *out = *in + if in.Text != nil { + in, out := &in.Text, &out.Text + *out = make([]EntryFulfillmentMessagesTextParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryFulfillmentMessagesParameters. +func (in *EntryFulfillmentMessagesParameters) DeepCopy() *EntryFulfillmentMessagesParameters { + if in == nil { + return nil + } + out := new(EntryFulfillmentMessagesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryFulfillmentMessagesTextObservation) DeepCopyInto(out *EntryFulfillmentMessagesTextObservation) { + *out = *in + if in.AllowPlaybackInterruption != nil { + in, out := &in.AllowPlaybackInterruption, &out.AllowPlaybackInterruption + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryFulfillmentMessagesTextObservation. +func (in *EntryFulfillmentMessagesTextObservation) DeepCopy() *EntryFulfillmentMessagesTextObservation { + if in == nil { + return nil + } + out := new(EntryFulfillmentMessagesTextObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryFulfillmentMessagesTextParameters) DeepCopyInto(out *EntryFulfillmentMessagesTextParameters) { + *out = *in + if in.Text != nil { + in, out := &in.Text, &out.Text + *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 EntryFulfillmentMessagesTextParameters. +func (in *EntryFulfillmentMessagesTextParameters) DeepCopy() *EntryFulfillmentMessagesTextParameters { + if in == nil { + return nil + } + out := new(EntryFulfillmentMessagesTextParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryFulfillmentObservation) DeepCopyInto(out *EntryFulfillmentObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryFulfillmentObservation. +func (in *EntryFulfillmentObservation) DeepCopy() *EntryFulfillmentObservation { + if in == nil { + return nil + } + out := new(EntryFulfillmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EntryFulfillmentParameters) DeepCopyInto(out *EntryFulfillmentParameters) { + *out = *in + if in.Messages != nil { + in, out := &in.Messages, &out.Messages + *out = make([]EntryFulfillmentMessagesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReturnPartialResponses != nil { + in, out := &in.ReturnPartialResponses, &out.ReturnPartialResponses + *out = new(bool) + **out = **in + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } + if in.Webhook != nil { + in, out := &in.Webhook, &out.Webhook + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryFulfillmentParameters. +func (in *EntryFulfillmentParameters) DeepCopy() *EntryFulfillmentParameters { + if in == nil { + return nil + } + out := new(EntryFulfillmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Environment) DeepCopyInto(out *Environment) { + *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 Environment. +func (in *Environment) DeepCopy() *Environment { + if in == nil { + return nil + } + out := new(Environment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Environment) 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 *EnvironmentList) DeepCopyInto(out *EnvironmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Environment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentList. +func (in *EnvironmentList) DeepCopy() *EnvironmentList { + if in == nil { + return nil + } + out := new(EnvironmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EnvironmentList) 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 *EnvironmentObservation) DeepCopyInto(out *EnvironmentObservation) { + *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.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentObservation. +func (in *EnvironmentObservation) DeepCopy() *EnvironmentObservation { + if in == nil { + return nil + } + out := new(EnvironmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentParameters) DeepCopyInto(out *EnvironmentParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.VersionConfigs != nil { + in, out := &in.VersionConfigs, &out.VersionConfigs + *out = make([]VersionConfigsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentParameters. +func (in *EnvironmentParameters) DeepCopy() *EnvironmentParameters { + if in == nil { + return nil + } + out := new(EnvironmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentSpec) DeepCopyInto(out *EnvironmentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentSpec. +func (in *EnvironmentSpec) DeepCopy() *EnvironmentSpec { + if in == nil { + return nil + } + out := new(EnvironmentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentStatus) DeepCopyInto(out *EnvironmentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentStatus. +func (in *EnvironmentStatus) DeepCopy() *EnvironmentStatus { + if in == nil { + return nil + } + out := new(EnvironmentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EventHandlersObservation) DeepCopyInto(out *EventHandlersObservation) { + *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 EventHandlersObservation. +func (in *EventHandlersObservation) DeepCopy() *EventHandlersObservation { + if in == nil { + return nil + } + out := new(EventHandlersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EventHandlersParameters) DeepCopyInto(out *EventHandlersParameters) { + *out = *in + if in.Event != nil { + in, out := &in.Event, &out.Event + *out = new(string) + **out = **in + } + if in.TargetFlow != nil { + in, out := &in.TargetFlow, &out.TargetFlow + *out = new(string) + **out = **in + } + if in.TargetPage != nil { + in, out := &in.TargetPage, &out.TargetPage + *out = new(string) + **out = **in + } + if in.TriggerFulfillment != nil { + in, out := &in.TriggerFulfillment, &out.TriggerFulfillment + *out = make([]TriggerFulfillmentParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventHandlersParameters. +func (in *EventHandlersParameters) DeepCopy() *EventHandlersParameters { + if in == nil { + return nil + } + out := new(EventHandlersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EventHandlersTriggerFulfillmentMessagesObservation) DeepCopyInto(out *EventHandlersTriggerFulfillmentMessagesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventHandlersTriggerFulfillmentMessagesObservation. +func (in *EventHandlersTriggerFulfillmentMessagesObservation) DeepCopy() *EventHandlersTriggerFulfillmentMessagesObservation { + if in == nil { + return nil + } + out := new(EventHandlersTriggerFulfillmentMessagesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EventHandlersTriggerFulfillmentMessagesParameters) DeepCopyInto(out *EventHandlersTriggerFulfillmentMessagesParameters) { + *out = *in + if in.Text != nil { + in, out := &in.Text, &out.Text + *out = make([]TriggerFulfillmentMessagesTextParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventHandlersTriggerFulfillmentMessagesParameters. +func (in *EventHandlersTriggerFulfillmentMessagesParameters) DeepCopy() *EventHandlersTriggerFulfillmentMessagesParameters { + if in == nil { + return nil + } + out := new(EventHandlersTriggerFulfillmentMessagesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EventHandlersTriggerFulfillmentObservation) DeepCopyInto(out *EventHandlersTriggerFulfillmentObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventHandlersTriggerFulfillmentObservation. +func (in *EventHandlersTriggerFulfillmentObservation) DeepCopy() *EventHandlersTriggerFulfillmentObservation { + if in == nil { + return nil + } + out := new(EventHandlersTriggerFulfillmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EventHandlersTriggerFulfillmentParameters) DeepCopyInto(out *EventHandlersTriggerFulfillmentParameters) { + *out = *in + if in.Messages != nil { + in, out := &in.Messages, &out.Messages + *out = make([]EventHandlersTriggerFulfillmentMessagesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReturnPartialResponses != nil { + in, out := &in.ReturnPartialResponses, &out.ReturnPartialResponses + *out = new(bool) + **out = **in + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } + if in.Webhook != nil { + in, out := &in.Webhook, &out.Webhook + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventHandlersTriggerFulfillmentParameters. +func (in *EventHandlersTriggerFulfillmentParameters) DeepCopy() *EventHandlersTriggerFulfillmentParameters { + if in == nil { + return nil + } + out := new(EventHandlersTriggerFulfillmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExcludedPhrasesObservation) DeepCopyInto(out *ExcludedPhrasesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExcludedPhrasesObservation. +func (in *ExcludedPhrasesObservation) DeepCopy() *ExcludedPhrasesObservation { + if in == nil { + return nil + } + out := new(ExcludedPhrasesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExcludedPhrasesParameters) DeepCopyInto(out *ExcludedPhrasesParameters) { + *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 ExcludedPhrasesParameters. +func (in *ExcludedPhrasesParameters) DeepCopy() *ExcludedPhrasesParameters { + if in == nil { + return nil + } + out := new(ExcludedPhrasesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FillBehaviorObservation) DeepCopyInto(out *FillBehaviorObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FillBehaviorObservation. +func (in *FillBehaviorObservation) DeepCopy() *FillBehaviorObservation { + if in == nil { + return nil + } + out := new(FillBehaviorObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FillBehaviorParameters) DeepCopyInto(out *FillBehaviorParameters) { + *out = *in + if in.InitialPromptFulfillment != nil { + in, out := &in.InitialPromptFulfillment, &out.InitialPromptFulfillment + *out = make([]InitialPromptFulfillmentParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FillBehaviorParameters. +func (in *FillBehaviorParameters) DeepCopy() *FillBehaviorParameters { + if in == nil { + return nil + } + out := new(FillBehaviorParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Flow) DeepCopyInto(out *Flow) { + *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 Flow. +func (in *Flow) DeepCopy() *Flow { + if in == nil { + return nil + } + out := new(Flow) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Flow) 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 *FlowList) DeepCopyInto(out *FlowList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Flow, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowList. +func (in *FlowList) DeepCopy() *FlowList { + if in == nil { + return nil + } + out := new(FlowList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlowList) 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 *FlowObservation) DeepCopyInto(out *FlowObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowObservation. +func (in *FlowObservation) DeepCopy() *FlowObservation { + if in == nil { + return nil + } + out := new(FlowObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlowParameters) DeepCopyInto(out *FlowParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.EventHandlers != nil { + in, out := &in.EventHandlers, &out.EventHandlers + *out = make([]EventHandlersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LanguageCode != nil { + in, out := &in.LanguageCode, &out.LanguageCode + *out = new(string) + **out = **in + } + if in.NluSettings != nil { + in, out := &in.NluSettings, &out.NluSettings + *out = make([]NluSettingsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.TransitionRouteGroups != nil { + in, out := &in.TransitionRouteGroups, &out.TransitionRouteGroups + *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.TransitionRoutes != nil { + in, out := &in.TransitionRoutes, &out.TransitionRoutes + *out = make([]TransitionRoutesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowParameters. +func (in *FlowParameters) DeepCopy() *FlowParameters { + if in == nil { + return nil + } + out := new(FlowParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlowSpec) DeepCopyInto(out *FlowSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowSpec. +func (in *FlowSpec) DeepCopy() *FlowSpec { + if in == nil { + return nil + } + out := new(FlowSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlowStatus) DeepCopyInto(out *FlowStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowStatus. +func (in *FlowStatus) DeepCopy() *FlowStatus { + if in == nil { + return nil + } + out := new(FlowStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FormObservation) DeepCopyInto(out *FormObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FormObservation. +func (in *FormObservation) DeepCopy() *FormObservation { + if in == nil { + return nil + } + out := new(FormObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FormParameters) DeepCopyInto(out *FormParameters) { + *out = *in + if in.Parameters != nil { + in, out := &in.Parameters, &out.Parameters + *out = make([]FormParametersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FormParameters. +func (in *FormParameters) DeepCopy() *FormParameters { + if in == nil { + return nil + } + out := new(FormParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FormParametersObservation) DeepCopyInto(out *FormParametersObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FormParametersObservation. +func (in *FormParametersObservation) DeepCopy() *FormParametersObservation { + if in == nil { + return nil + } + out := new(FormParametersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FormParametersParameters) DeepCopyInto(out *FormParametersParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.EntityType != nil { + in, out := &in.EntityType, &out.EntityType + *out = new(string) + **out = **in + } + if in.FillBehavior != nil { + in, out := &in.FillBehavior, &out.FillBehavior + *out = make([]FillBehaviorParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IsList != nil { + in, out := &in.IsList, &out.IsList + *out = new(bool) + **out = **in + } + if in.Redact != nil { + in, out := &in.Redact, &out.Redact + *out = new(bool) + **out = **in + } + if in.Required != nil { + in, out := &in.Required, &out.Required + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FormParametersParameters. +func (in *FormParametersParameters) DeepCopy() *FormParametersParameters { + if in == nil { + return nil + } + out := new(FormParametersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InitialPromptFulfillmentMessagesObservation) DeepCopyInto(out *InitialPromptFulfillmentMessagesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitialPromptFulfillmentMessagesObservation. +func (in *InitialPromptFulfillmentMessagesObservation) DeepCopy() *InitialPromptFulfillmentMessagesObservation { + if in == nil { + return nil + } + out := new(InitialPromptFulfillmentMessagesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InitialPromptFulfillmentMessagesParameters) DeepCopyInto(out *InitialPromptFulfillmentMessagesParameters) { + *out = *in + if in.Text != nil { + in, out := &in.Text, &out.Text + *out = make([]InitialPromptFulfillmentMessagesTextParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitialPromptFulfillmentMessagesParameters. +func (in *InitialPromptFulfillmentMessagesParameters) DeepCopy() *InitialPromptFulfillmentMessagesParameters { + if in == nil { + return nil + } + out := new(InitialPromptFulfillmentMessagesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InitialPromptFulfillmentMessagesTextObservation) DeepCopyInto(out *InitialPromptFulfillmentMessagesTextObservation) { + *out = *in + if in.AllowPlaybackInterruption != nil { + in, out := &in.AllowPlaybackInterruption, &out.AllowPlaybackInterruption + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitialPromptFulfillmentMessagesTextObservation. +func (in *InitialPromptFulfillmentMessagesTextObservation) DeepCopy() *InitialPromptFulfillmentMessagesTextObservation { + if in == nil { + return nil + } + out := new(InitialPromptFulfillmentMessagesTextObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InitialPromptFulfillmentMessagesTextParameters) DeepCopyInto(out *InitialPromptFulfillmentMessagesTextParameters) { + *out = *in + if in.Text != nil { + in, out := &in.Text, &out.Text + *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 InitialPromptFulfillmentMessagesTextParameters. +func (in *InitialPromptFulfillmentMessagesTextParameters) DeepCopy() *InitialPromptFulfillmentMessagesTextParameters { + if in == nil { + return nil + } + out := new(InitialPromptFulfillmentMessagesTextParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InitialPromptFulfillmentObservation) DeepCopyInto(out *InitialPromptFulfillmentObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitialPromptFulfillmentObservation. +func (in *InitialPromptFulfillmentObservation) DeepCopy() *InitialPromptFulfillmentObservation { + if in == nil { + return nil + } + out := new(InitialPromptFulfillmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InitialPromptFulfillmentParameters) DeepCopyInto(out *InitialPromptFulfillmentParameters) { + *out = *in + if in.Messages != nil { + in, out := &in.Messages, &out.Messages + *out = make([]InitialPromptFulfillmentMessagesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReturnPartialResponses != nil { + in, out := &in.ReturnPartialResponses, &out.ReturnPartialResponses + *out = new(bool) + **out = **in + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } + if in.Webhook != nil { + in, out := &in.Webhook, &out.Webhook + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitialPromptFulfillmentParameters. +func (in *InitialPromptFulfillmentParameters) DeepCopy() *InitialPromptFulfillmentParameters { + if in == nil { + return nil + } + out := new(InitialPromptFulfillmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Intent) DeepCopyInto(out *Intent) { + *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 Intent. +func (in *Intent) DeepCopy() *Intent { + if in == nil { + return nil + } + out := new(Intent) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Intent) 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 *IntentList) DeepCopyInto(out *IntentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Intent, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentList. +func (in *IntentList) DeepCopy() *IntentList { + if in == nil { + return nil + } + out := new(IntentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IntentList) 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 *IntentObservation) DeepCopyInto(out *IntentObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentObservation. +func (in *IntentObservation) DeepCopy() *IntentObservation { + if in == nil { + return nil + } + out := new(IntentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IntentParameters) DeepCopyInto(out *IntentParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.IsFallback != nil { + in, out := &in.IsFallback, &out.IsFallback + *out = new(bool) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.LanguageCode != nil { + in, out := &in.LanguageCode, &out.LanguageCode + *out = new(string) + **out = **in + } + if in.Parameters != nil { + in, out := &in.Parameters, &out.Parameters + *out = make([]ParametersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(int64) + **out = **in + } + if in.TrainingPhrases != nil { + in, out := &in.TrainingPhrases, &out.TrainingPhrases + *out = make([]TrainingPhrasesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentParameters. +func (in *IntentParameters) DeepCopy() *IntentParameters { + if in == nil { + return nil + } + out := new(IntentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IntentSpec) DeepCopyInto(out *IntentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentSpec. +func (in *IntentSpec) DeepCopy() *IntentSpec { + if in == nil { + return nil + } + out := new(IntentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IntentStatus) DeepCopyInto(out *IntentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentStatus. +func (in *IntentStatus) DeepCopy() *IntentStatus { + if in == nil { + return nil + } + out := new(IntentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MessagesObservation) DeepCopyInto(out *MessagesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MessagesObservation. +func (in *MessagesObservation) DeepCopy() *MessagesObservation { + if in == nil { + return nil + } + out := new(MessagesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MessagesParameters) DeepCopyInto(out *MessagesParameters) { + *out = *in + if in.Text != nil { + in, out := &in.Text, &out.Text + *out = make([]TextParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MessagesParameters. +func (in *MessagesParameters) DeepCopy() *MessagesParameters { + if in == nil { + return nil + } + out := new(MessagesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MessagesTextObservation) DeepCopyInto(out *MessagesTextObservation) { + *out = *in + if in.AllowPlaybackInterruption != nil { + in, out := &in.AllowPlaybackInterruption, &out.AllowPlaybackInterruption + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MessagesTextObservation. +func (in *MessagesTextObservation) DeepCopy() *MessagesTextObservation { + if in == nil { + return nil + } + out := new(MessagesTextObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MessagesTextParameters) DeepCopyInto(out *MessagesTextParameters) { + *out = *in + if in.Text != nil { + in, out := &in.Text, &out.Text + *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 MessagesTextParameters. +func (in *MessagesTextParameters) DeepCopy() *MessagesTextParameters { + if in == nil { + return nil + } + out := new(MessagesTextParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NluSettingsObservation) DeepCopyInto(out *NluSettingsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NluSettingsObservation. +func (in *NluSettingsObservation) DeepCopy() *NluSettingsObservation { + if in == nil { + return nil + } + out := new(NluSettingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NluSettingsParameters) DeepCopyInto(out *NluSettingsParameters) { + *out = *in + if in.ClassificationThreshold != nil { + in, out := &in.ClassificationThreshold, &out.ClassificationThreshold + *out = new(float64) + **out = **in + } + if in.ModelTrainingMode != nil { + in, out := &in.ModelTrainingMode, &out.ModelTrainingMode + *out = new(string) + **out = **in + } + if in.ModelType != nil { + in, out := &in.ModelType, &out.ModelType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NluSettingsParameters. +func (in *NluSettingsParameters) DeepCopy() *NluSettingsParameters { + if in == nil { + return nil + } + out := new(NluSettingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Page) DeepCopyInto(out *Page) { + *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 Page. +func (in *Page) DeepCopy() *Page { + if in == nil { + return nil + } + out := new(Page) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Page) 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 *PageEventHandlersObservation) DeepCopyInto(out *PageEventHandlersObservation) { + *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 PageEventHandlersObservation. +func (in *PageEventHandlersObservation) DeepCopy() *PageEventHandlersObservation { + if in == nil { + return nil + } + out := new(PageEventHandlersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PageEventHandlersParameters) DeepCopyInto(out *PageEventHandlersParameters) { + *out = *in + if in.Event != nil { + in, out := &in.Event, &out.Event + *out = new(string) + **out = **in + } + if in.TargetFlow != nil { + in, out := &in.TargetFlow, &out.TargetFlow + *out = new(string) + **out = **in + } + if in.TargetPage != nil { + in, out := &in.TargetPage, &out.TargetPage + *out = new(string) + **out = **in + } + if in.TriggerFulfillment != nil { + in, out := &in.TriggerFulfillment, &out.TriggerFulfillment + *out = make([]EventHandlersTriggerFulfillmentParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PageEventHandlersParameters. +func (in *PageEventHandlersParameters) DeepCopy() *PageEventHandlersParameters { + if in == nil { + return nil + } + out := new(PageEventHandlersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PageList) DeepCopyInto(out *PageList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Page, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PageList. +func (in *PageList) DeepCopy() *PageList { + if in == nil { + return nil + } + out := new(PageList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *PageList) 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 *PageObservation) DeepCopyInto(out *PageObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PageObservation. +func (in *PageObservation) DeepCopy() *PageObservation { + if in == nil { + return nil + } + out := new(PageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PageParameters) DeepCopyInto(out *PageParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.EntryFulfillment != nil { + in, out := &in.EntryFulfillment, &out.EntryFulfillment + *out = make([]EntryFulfillmentParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EventHandlers != nil { + in, out := &in.EventHandlers, &out.EventHandlers + *out = make([]PageEventHandlersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Form != nil { + in, out := &in.Form, &out.Form + *out = make([]FormParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LanguageCode != nil { + in, out := &in.LanguageCode, &out.LanguageCode + *out = new(string) + **out = **in + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.TransitionRouteGroups != nil { + in, out := &in.TransitionRouteGroups, &out.TransitionRouteGroups + *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.TransitionRoutes != nil { + in, out := &in.TransitionRoutes, &out.TransitionRoutes + *out = make([]PageTransitionRoutesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PageParameters. +func (in *PageParameters) DeepCopy() *PageParameters { + if in == nil { + return nil + } + out := new(PageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PageSpec) DeepCopyInto(out *PageSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PageSpec. +func (in *PageSpec) DeepCopy() *PageSpec { + if in == nil { + return nil + } + out := new(PageSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PageStatus) DeepCopyInto(out *PageStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PageStatus. +func (in *PageStatus) DeepCopy() *PageStatus { + if in == nil { + return nil + } + out := new(PageStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PageTransitionRoutesObservation) DeepCopyInto(out *PageTransitionRoutesObservation) { + *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 PageTransitionRoutesObservation. +func (in *PageTransitionRoutesObservation) DeepCopy() *PageTransitionRoutesObservation { + if in == nil { + return nil + } + out := new(PageTransitionRoutesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PageTransitionRoutesParameters) DeepCopyInto(out *PageTransitionRoutesParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = new(string) + **out = **in + } + if in.Intent != nil { + in, out := &in.Intent, &out.Intent + *out = new(string) + **out = **in + } + if in.TargetFlow != nil { + in, out := &in.TargetFlow, &out.TargetFlow + *out = new(string) + **out = **in + } + if in.TargetPage != nil { + in, out := &in.TargetPage, &out.TargetPage + *out = new(string) + **out = **in + } + if in.TriggerFulfillment != nil { + in, out := &in.TriggerFulfillment, &out.TriggerFulfillment + *out = make([]PageTransitionRoutesTriggerFulfillmentParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PageTransitionRoutesParameters. +func (in *PageTransitionRoutesParameters) DeepCopy() *PageTransitionRoutesParameters { + if in == nil { + return nil + } + out := new(PageTransitionRoutesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PageTransitionRoutesTriggerFulfillmentObservation) DeepCopyInto(out *PageTransitionRoutesTriggerFulfillmentObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PageTransitionRoutesTriggerFulfillmentObservation. +func (in *PageTransitionRoutesTriggerFulfillmentObservation) DeepCopy() *PageTransitionRoutesTriggerFulfillmentObservation { + if in == nil { + return nil + } + out := new(PageTransitionRoutesTriggerFulfillmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PageTransitionRoutesTriggerFulfillmentParameters) DeepCopyInto(out *PageTransitionRoutesTriggerFulfillmentParameters) { + *out = *in + if in.Messages != nil { + in, out := &in.Messages, &out.Messages + *out = make([]TransitionRoutesTriggerFulfillmentMessagesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReturnPartialResponses != nil { + in, out := &in.ReturnPartialResponses, &out.ReturnPartialResponses + *out = new(bool) + **out = **in + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } + if in.Webhook != nil { + in, out := &in.Webhook, &out.Webhook + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PageTransitionRoutesTriggerFulfillmentParameters. +func (in *PageTransitionRoutesTriggerFulfillmentParameters) DeepCopy() *PageTransitionRoutesTriggerFulfillmentParameters { + if in == nil { + return nil + } + out := new(PageTransitionRoutesTriggerFulfillmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ParametersObservation) DeepCopyInto(out *ParametersObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParametersObservation. +func (in *ParametersObservation) DeepCopy() *ParametersObservation { + if in == nil { + return nil + } + out := new(ParametersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ParametersParameters) DeepCopyInto(out *ParametersParameters) { + *out = *in + if in.EntityType != nil { + in, out := &in.EntityType, &out.EntityType + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IsList != nil { + in, out := &in.IsList, &out.IsList + *out = new(bool) + **out = **in + } + if in.Redact != nil { + in, out := &in.Redact, &out.Redact + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParametersParameters. +func (in *ParametersParameters) DeepCopy() *ParametersParameters { + if in == nil { + return nil + } + out := new(ParametersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PartsObservation) DeepCopyInto(out *PartsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PartsObservation. +func (in *PartsObservation) DeepCopy() *PartsObservation { + if in == nil { + return nil + } + out := new(PartsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PartsParameters) DeepCopyInto(out *PartsParameters) { + *out = *in + if in.ParameterID != nil { + in, out := &in.ParameterID, &out.ParameterID + *out = new(string) + **out = **in + } + if in.Text != nil { + in, out := &in.Text, &out.Text + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PartsParameters. +func (in *PartsParameters) DeepCopy() *PartsParameters { + if in == nil { + return nil + } + out := new(PartsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpeechToTextSettingsObservation) DeepCopyInto(out *SpeechToTextSettingsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpeechToTextSettingsObservation. +func (in *SpeechToTextSettingsObservation) DeepCopy() *SpeechToTextSettingsObservation { + if in == nil { + return nil + } + out := new(SpeechToTextSettingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpeechToTextSettingsParameters) DeepCopyInto(out *SpeechToTextSettingsParameters) { + *out = *in + if in.EnableSpeechAdaptation != nil { + in, out := &in.EnableSpeechAdaptation, &out.EnableSpeechAdaptation + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpeechToTextSettingsParameters. +func (in *SpeechToTextSettingsParameters) DeepCopy() *SpeechToTextSettingsParameters { + if in == nil { + return nil + } + out := new(SpeechToTextSettingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TextObservation) DeepCopyInto(out *TextObservation) { + *out = *in + if in.AllowPlaybackInterruption != nil { + in, out := &in.AllowPlaybackInterruption, &out.AllowPlaybackInterruption + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TextObservation. +func (in *TextObservation) DeepCopy() *TextObservation { + if in == nil { + return nil + } + out := new(TextObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TextParameters) DeepCopyInto(out *TextParameters) { + *out = *in + if in.Text != nil { + in, out := &in.Text, &out.Text + *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 TextParameters. +func (in *TextParameters) DeepCopy() *TextParameters { + if in == nil { + return nil + } + out := new(TextParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrainingPhrasesObservation) DeepCopyInto(out *TrainingPhrasesObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrainingPhrasesObservation. +func (in *TrainingPhrasesObservation) DeepCopy() *TrainingPhrasesObservation { + if in == nil { + return nil + } + out := new(TrainingPhrasesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrainingPhrasesParameters) DeepCopyInto(out *TrainingPhrasesParameters) { + *out = *in + if in.Parts != nil { + in, out := &in.Parts, &out.Parts + *out = make([]PartsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RepeatCount != nil { + in, out := &in.RepeatCount, &out.RepeatCount + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrainingPhrasesParameters. +func (in *TrainingPhrasesParameters) DeepCopy() *TrainingPhrasesParameters { + if in == nil { + return nil + } + out := new(TrainingPhrasesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransitionRoutesObservation) DeepCopyInto(out *TransitionRoutesObservation) { + *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 TransitionRoutesObservation. +func (in *TransitionRoutesObservation) DeepCopy() *TransitionRoutesObservation { + if in == nil { + return nil + } + out := new(TransitionRoutesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransitionRoutesParameters) DeepCopyInto(out *TransitionRoutesParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = new(string) + **out = **in + } + if in.Intent != nil { + in, out := &in.Intent, &out.Intent + *out = new(string) + **out = **in + } + if in.TargetFlow != nil { + in, out := &in.TargetFlow, &out.TargetFlow + *out = new(string) + **out = **in + } + if in.TargetPage != nil { + in, out := &in.TargetPage, &out.TargetPage + *out = new(string) + **out = **in + } + if in.TriggerFulfillment != nil { + in, out := &in.TriggerFulfillment, &out.TriggerFulfillment + *out = make([]TransitionRoutesTriggerFulfillmentParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitionRoutesParameters. +func (in *TransitionRoutesParameters) DeepCopy() *TransitionRoutesParameters { + if in == nil { + return nil + } + out := new(TransitionRoutesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransitionRoutesTriggerFulfillmentMessagesObservation) DeepCopyInto(out *TransitionRoutesTriggerFulfillmentMessagesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitionRoutesTriggerFulfillmentMessagesObservation. +func (in *TransitionRoutesTriggerFulfillmentMessagesObservation) DeepCopy() *TransitionRoutesTriggerFulfillmentMessagesObservation { + if in == nil { + return nil + } + out := new(TransitionRoutesTriggerFulfillmentMessagesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransitionRoutesTriggerFulfillmentMessagesParameters) DeepCopyInto(out *TransitionRoutesTriggerFulfillmentMessagesParameters) { + *out = *in + if in.Text != nil { + in, out := &in.Text, &out.Text + *out = make([]TransitionRoutesTriggerFulfillmentMessagesTextParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitionRoutesTriggerFulfillmentMessagesParameters. +func (in *TransitionRoutesTriggerFulfillmentMessagesParameters) DeepCopy() *TransitionRoutesTriggerFulfillmentMessagesParameters { + if in == nil { + return nil + } + out := new(TransitionRoutesTriggerFulfillmentMessagesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransitionRoutesTriggerFulfillmentMessagesTextObservation) DeepCopyInto(out *TransitionRoutesTriggerFulfillmentMessagesTextObservation) { + *out = *in + if in.AllowPlaybackInterruption != nil { + in, out := &in.AllowPlaybackInterruption, &out.AllowPlaybackInterruption + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitionRoutesTriggerFulfillmentMessagesTextObservation. +func (in *TransitionRoutesTriggerFulfillmentMessagesTextObservation) DeepCopy() *TransitionRoutesTriggerFulfillmentMessagesTextObservation { + if in == nil { + return nil + } + out := new(TransitionRoutesTriggerFulfillmentMessagesTextObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransitionRoutesTriggerFulfillmentMessagesTextParameters) DeepCopyInto(out *TransitionRoutesTriggerFulfillmentMessagesTextParameters) { + *out = *in + if in.Text != nil { + in, out := &in.Text, &out.Text + *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 TransitionRoutesTriggerFulfillmentMessagesTextParameters. +func (in *TransitionRoutesTriggerFulfillmentMessagesTextParameters) DeepCopy() *TransitionRoutesTriggerFulfillmentMessagesTextParameters { + if in == nil { + return nil + } + out := new(TransitionRoutesTriggerFulfillmentMessagesTextParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransitionRoutesTriggerFulfillmentObservation) DeepCopyInto(out *TransitionRoutesTriggerFulfillmentObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitionRoutesTriggerFulfillmentObservation. +func (in *TransitionRoutesTriggerFulfillmentObservation) DeepCopy() *TransitionRoutesTriggerFulfillmentObservation { + if in == nil { + return nil + } + out := new(TransitionRoutesTriggerFulfillmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransitionRoutesTriggerFulfillmentParameters) DeepCopyInto(out *TransitionRoutesTriggerFulfillmentParameters) { + *out = *in + if in.Messages != nil { + in, out := &in.Messages, &out.Messages + *out = make([]TriggerFulfillmentMessagesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReturnPartialResponses != nil { + in, out := &in.ReturnPartialResponses, &out.ReturnPartialResponses + *out = new(bool) + **out = **in + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } + if in.Webhook != nil { + in, out := &in.Webhook, &out.Webhook + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitionRoutesTriggerFulfillmentParameters. +func (in *TransitionRoutesTriggerFulfillmentParameters) DeepCopy() *TransitionRoutesTriggerFulfillmentParameters { + if in == nil { + return nil + } + out := new(TransitionRoutesTriggerFulfillmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggerFulfillmentMessagesObservation) DeepCopyInto(out *TriggerFulfillmentMessagesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerFulfillmentMessagesObservation. +func (in *TriggerFulfillmentMessagesObservation) DeepCopy() *TriggerFulfillmentMessagesObservation { + if in == nil { + return nil + } + out := new(TriggerFulfillmentMessagesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggerFulfillmentMessagesParameters) DeepCopyInto(out *TriggerFulfillmentMessagesParameters) { + *out = *in + if in.Text != nil { + in, out := &in.Text, &out.Text + *out = make([]MessagesTextParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerFulfillmentMessagesParameters. +func (in *TriggerFulfillmentMessagesParameters) DeepCopy() *TriggerFulfillmentMessagesParameters { + if in == nil { + return nil + } + out := new(TriggerFulfillmentMessagesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggerFulfillmentMessagesTextObservation) DeepCopyInto(out *TriggerFulfillmentMessagesTextObservation) { + *out = *in + if in.AllowPlaybackInterruption != nil { + in, out := &in.AllowPlaybackInterruption, &out.AllowPlaybackInterruption + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerFulfillmentMessagesTextObservation. +func (in *TriggerFulfillmentMessagesTextObservation) DeepCopy() *TriggerFulfillmentMessagesTextObservation { + if in == nil { + return nil + } + out := new(TriggerFulfillmentMessagesTextObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggerFulfillmentMessagesTextParameters) DeepCopyInto(out *TriggerFulfillmentMessagesTextParameters) { + *out = *in + if in.Text != nil { + in, out := &in.Text, &out.Text + *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 TriggerFulfillmentMessagesTextParameters. +func (in *TriggerFulfillmentMessagesTextParameters) DeepCopy() *TriggerFulfillmentMessagesTextParameters { + if in == nil { + return nil + } + out := new(TriggerFulfillmentMessagesTextParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggerFulfillmentObservation) DeepCopyInto(out *TriggerFulfillmentObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerFulfillmentObservation. +func (in *TriggerFulfillmentObservation) DeepCopy() *TriggerFulfillmentObservation { + if in == nil { + return nil + } + out := new(TriggerFulfillmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggerFulfillmentParameters) DeepCopyInto(out *TriggerFulfillmentParameters) { + *out = *in + if in.Messages != nil { + in, out := &in.Messages, &out.Messages + *out = make([]MessagesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReturnPartialResponses != nil { + in, out := &in.ReturnPartialResponses, &out.ReturnPartialResponses + *out = new(bool) + **out = **in + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } + if in.Webhook != nil { + in, out := &in.Webhook, &out.Webhook + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerFulfillmentParameters. +func (in *TriggerFulfillmentParameters) DeepCopy() *TriggerFulfillmentParameters { + if in == nil { + return nil + } + out := new(TriggerFulfillmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Version) DeepCopyInto(out *Version) { + *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 Version. +func (in *Version) DeepCopy() *Version { + if in == nil { + return nil + } + out := new(Version) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Version) 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 *VersionConfigsObservation) DeepCopyInto(out *VersionConfigsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionConfigsObservation. +func (in *VersionConfigsObservation) DeepCopy() *VersionConfigsObservation { + if in == nil { + return nil + } + out := new(VersionConfigsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionConfigsParameters) DeepCopyInto(out *VersionConfigsParameters) { + *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 VersionConfigsParameters. +func (in *VersionConfigsParameters) DeepCopy() *VersionConfigsParameters { + if in == nil { + return nil + } + out := new(VersionConfigsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionList) DeepCopyInto(out *VersionList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Version, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionList. +func (in *VersionList) DeepCopy() *VersionList { + if in == nil { + return nil + } + out := new(VersionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *VersionList) 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 *VersionNluSettingsObservation) DeepCopyInto(out *VersionNluSettingsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionNluSettingsObservation. +func (in *VersionNluSettingsObservation) DeepCopy() *VersionNluSettingsObservation { + if in == nil { + return nil + } + out := new(VersionNluSettingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionNluSettingsParameters) DeepCopyInto(out *VersionNluSettingsParameters) { + *out = *in + if in.ClassificationThreshold != nil { + in, out := &in.ClassificationThreshold, &out.ClassificationThreshold + *out = new(float64) + **out = **in + } + if in.ModelTrainingMode != nil { + in, out := &in.ModelTrainingMode, &out.ModelTrainingMode + *out = new(string) + **out = **in + } + if in.ModelType != nil { + in, out := &in.ModelType, &out.ModelType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionNluSettingsParameters. +func (in *VersionNluSettingsParameters) DeepCopy() *VersionNluSettingsParameters { + if in == nil { + return nil + } + out := new(VersionNluSettingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionObservation) DeepCopyInto(out *VersionObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *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.NluSettings != nil { + in, out := &in.NluSettings, &out.NluSettings + *out = make([]VersionNluSettingsObservation, len(*in)) + copy(*out, *in) + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionObservation. +func (in *VersionObservation) DeepCopy() *VersionObservation { + if in == nil { + return nil + } + out := new(VersionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionParameters) DeepCopyInto(out *VersionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionParameters. +func (in *VersionParameters) DeepCopy() *VersionParameters { + if in == nil { + return nil + } + out := new(VersionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionSpec) DeepCopyInto(out *VersionSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionSpec. +func (in *VersionSpec) DeepCopy() *VersionSpec { + if in == nil { + return nil + } + out := new(VersionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionStatus) DeepCopyInto(out *VersionStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionStatus. +func (in *VersionStatus) DeepCopy() *VersionStatus { + if in == nil { + return nil + } + out := new(VersionStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/dialogflowcx/v1alpha1/zz_generated.managed.go b/apis/dialogflowcx/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..12c2f1f1 --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_generated.managed.go @@ -0,0 +1,412 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Agent. +func (mg *Agent) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Agent. +func (mg *Agent) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Agent. +func (mg *Agent) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Agent. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Agent) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Agent. +func (mg *Agent) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Agent. +func (mg *Agent) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Agent. +func (mg *Agent) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Agent. +func (mg *Agent) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Agent. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Agent) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Agent. +func (mg *Agent) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this EntityType. +func (mg *EntityType) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this EntityType. +func (mg *EntityType) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this EntityType. +func (mg *EntityType) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this EntityType. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *EntityType) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this EntityType. +func (mg *EntityType) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this EntityType. +func (mg *EntityType) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this EntityType. +func (mg *EntityType) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this EntityType. +func (mg *EntityType) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this EntityType. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *EntityType) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this EntityType. +func (mg *EntityType) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Environment. +func (mg *Environment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Environment. +func (mg *Environment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Environment. +func (mg *Environment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Environment. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Environment) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Environment. +func (mg *Environment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Environment. +func (mg *Environment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Environment. +func (mg *Environment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Environment. +func (mg *Environment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Environment. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Environment) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Environment. +func (mg *Environment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Flow. +func (mg *Flow) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Flow. +func (mg *Flow) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Flow. +func (mg *Flow) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Flow. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Flow) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Flow. +func (mg *Flow) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Flow. +func (mg *Flow) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Flow. +func (mg *Flow) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Flow. +func (mg *Flow) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Flow. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Flow) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Flow. +func (mg *Flow) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Intent. +func (mg *Intent) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Intent. +func (mg *Intent) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Intent. +func (mg *Intent) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Intent. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Intent) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Intent. +func (mg *Intent) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Intent. +func (mg *Intent) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Intent. +func (mg *Intent) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Intent. +func (mg *Intent) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Intent. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Intent) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Intent. +func (mg *Intent) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Page. +func (mg *Page) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Page. +func (mg *Page) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Page. +func (mg *Page) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Page. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Page) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Page. +func (mg *Page) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Page. +func (mg *Page) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Page. +func (mg *Page) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Page. +func (mg *Page) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Page. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Page) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Page. +func (mg *Page) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Version. +func (mg *Version) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Version. +func (mg *Version) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Version. +func (mg *Version) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Version. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Version) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Version. +func (mg *Version) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Version. +func (mg *Version) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Version. +func (mg *Version) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Version. +func (mg *Version) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Version. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Version) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Version. +func (mg *Version) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/dialogflowcx/v1alpha1/zz_generated.managedlist.go b/apis/dialogflowcx/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..65d1b029 --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,83 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this AgentList. +func (l *AgentList) 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 EntityTypeList. +func (l *EntityTypeList) 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 EnvironmentList. +func (l *EnvironmentList) 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 FlowList. +func (l *FlowList) 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 IntentList. +func (l *IntentList) 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 PageList. +func (l *PageList) 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 VersionList. +func (l *VersionList) 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/dialogflowcx/v1alpha1/zz_groupversion_info.go b/apis/dialogflowcx/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..e8f8e1cd --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=dialogflowcx.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "dialogflowcx.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/dialogflowcx/v1alpha1/zz_intent_terraformed.go b/apis/dialogflowcx/v1alpha1/zz_intent_terraformed.go new file mode 100755 index 00000000..53d966bd --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_intent_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Intent +func (mg *Intent) GetTerraformResourceType() string { + return "google_dialogflow_cx_intent" +} + +// GetConnectionDetailsMapping for this Intent +func (tr *Intent) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Intent +func (tr *Intent) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Intent +func (tr *Intent) SetObservation(obs map[string]interface{}) 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 Intent +func (tr *Intent) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Intent +func (tr *Intent) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Intent +func (tr *Intent) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Intent using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Intent) LateInitialize(attrs []byte) (bool, error) { + params := &IntentParameters{} + 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 *Intent) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dialogflowcx/v1alpha1/zz_intent_types.go b/apis/dialogflowcx/v1alpha1/zz_intent_types.go new file mode 100755 index 00000000..abf8015f --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_intent_types.go @@ -0,0 +1,187 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 IntentObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type IntentParameters struct { + + // Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The human-readable name of the intent, unique within the agent. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // Indicates whether this is a fallback intent. Currently only default fallback intent is allowed in the agent, which is added upon agent creation. + // Adding training phrases to fallback intent is useful in the case of requests that are mistakenly matched, since training phrases assigned to fallback intents act as negative examples that triggers no-match event. + // +kubebuilder:validation:Optional + IsFallback *bool `json:"isFallback,omitempty" tf:"is_fallback,omitempty"` + + // The key/value metadata to label an intent. Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes. + // Prefix "sys-" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. "sys-head" means the intent is a head intent. "sys.contextual" means the intent is a contextual intent. + // An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The language of the following fields in intent: + // Intent.training_phrases.parts.text + // If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used. + // +kubebuilder:validation:Optional + LanguageCode *string `json:"languageCode,omitempty" tf:"language_code,omitempty"` + + // The collection of parameters associated with the intent. + // +kubebuilder:validation:Optional + Parameters []ParametersParameters `json:"parameters,omitempty" tf:"parameters,omitempty"` + + // The agent to create an intent for. + // Format: projects//locations//agents/. + // +kubebuilder:validation:Optional + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // The priority of this intent. Higher numbers represent higher priorities. + // If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the Normal priority in the console. + // If the supplied value is negative, the intent is ignored in runtime detect intent requests. + // +kubebuilder:validation:Optional + Priority *int64 `json:"priority,omitempty" tf:"priority,omitempty"` + + // The collection of training phrases the agent is trained on to identify the intent. + // +kubebuilder:validation:Optional + TrainingPhrases []TrainingPhrasesParameters `json:"trainingPhrases,omitempty" tf:"training_phrases,omitempty"` +} + +type ParametersObservation struct { +} + +type ParametersParameters struct { + + // The entity type of the parameter. + // Format: projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects//locations//agents//entityTypes/ for developer entity types. + // +kubebuilder:validation:Required + EntityType *string `json:"entityType" tf:"entity_type,omitempty"` + + // The unique identifier of the parameter. This field is used by training phrases to annotate their parts. + // +kubebuilder:validation:Required + ID *string `json:"id" tf:"id,omitempty"` + + // Indicates whether the parameter represents a list of values. + // +kubebuilder:validation:Optional + IsList *bool `json:"isList,omitempty" tf:"is_list,omitempty"` + + // Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging. + // Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled. + // +kubebuilder:validation:Optional + Redact *bool `json:"redact,omitempty" tf:"redact,omitempty"` +} + +type PartsObservation struct { +} + +type PartsParameters struct { + + // The parameter used to annotate this part of the training phrase. This field is required for annotated parts of the training phrase. + // +kubebuilder:validation:Optional + ParameterID *string `json:"parameterId,omitempty" tf:"parameter_id,omitempty"` + + // The text for this part. + // +kubebuilder:validation:Required + Text *string `json:"text" tf:"text,omitempty"` +} + +type TrainingPhrasesObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TrainingPhrasesParameters struct { + + // The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. + // Note: The API does not automatically annotate training phrases like the Dialogflow Console does. + // Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. + // If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. + // If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: + // Part.text is set to a part of the phrase that has no parameters. + // Part.text is set to a part of the phrase that you want to annotate, and the parameterId field is set. + // +kubebuilder:validation:Required + Parts []PartsParameters `json:"parts" tf:"parts,omitempty"` + + // Indicates how many times this example was added to the intent. + // +kubebuilder:validation:Optional + RepeatCount *int64 `json:"repeatCount,omitempty" tf:"repeat_count,omitempty"` +} + +// IntentSpec defines the desired state of Intent +type IntentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider IntentParameters `json:"forProvider"` +} + +// IntentStatus defines the observed state of Intent. +type IntentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider IntentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Intent is the Schema for the Intents 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,gcpjet} +type Intent struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec IntentSpec `json:"spec"` + Status IntentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// IntentList contains a list of Intents +type IntentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Intent `json:"items"` +} + +// Repository type metadata. +var ( + Intent_Kind = "Intent" + Intent_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Intent_Kind}.String() + Intent_KindAPIVersion = Intent_Kind + "." + CRDGroupVersion.String() + Intent_GroupVersionKind = CRDGroupVersion.WithKind(Intent_Kind) +) + +func init() { + SchemeBuilder.Register(&Intent{}, &IntentList{}) +} diff --git a/apis/dialogflowcx/v1alpha1/zz_page_terraformed.go b/apis/dialogflowcx/v1alpha1/zz_page_terraformed.go new file mode 100755 index 00000000..1c56d131 --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_page_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Page +func (mg *Page) GetTerraformResourceType() string { + return "google_dialogflow_cx_page" +} + +// GetConnectionDetailsMapping for this Page +func (tr *Page) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Page +func (tr *Page) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Page +func (tr *Page) SetObservation(obs map[string]interface{}) 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 Page +func (tr *Page) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Page +func (tr *Page) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Page +func (tr *Page) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Page using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Page) LateInitialize(attrs []byte) (bool, error) { + params := &PageParameters{} + 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 *Page) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dialogflowcx/v1alpha1/zz_page_types.go b/apis/dialogflowcx/v1alpha1/zz_page_types.go new file mode 100755 index 00000000..dc2b49ed --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_page_types.go @@ -0,0 +1,420 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EntryFulfillmentMessagesObservation struct { +} + +type EntryFulfillmentMessagesParameters struct { + + // The text response message. + // +kubebuilder:validation:Optional + Text []EntryFulfillmentMessagesTextParameters `json:"text,omitempty" tf:"text,omitempty"` +} + +type EntryFulfillmentMessagesTextObservation struct { + AllowPlaybackInterruption *bool `json:"allowPlaybackInterruption,omitempty" tf:"allow_playback_interruption,omitempty"` +} + +type EntryFulfillmentMessagesTextParameters struct { + + // A collection of text responses. + // +kubebuilder:validation:Optional + Text []*string `json:"text,omitempty" tf:"text,omitempty"` +} + +type EntryFulfillmentObservation struct { +} + +type EntryFulfillmentParameters struct { + + // The list of rich message responses to present to the user. + // +kubebuilder:validation:Optional + Messages []EntryFulfillmentMessagesParameters `json:"messages,omitempty" tf:"messages,omitempty"` + + // Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks. + // +kubebuilder:validation:Optional + ReturnPartialResponses *bool `json:"returnPartialResponses,omitempty" tf:"return_partial_responses,omitempty"` + + // The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified. + // +kubebuilder:validation:Optional + Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` + + // The webhook to call. Format: projects//locations//agents//webhooks/. + // +kubebuilder:validation:Optional + Webhook *string `json:"webhook,omitempty" tf:"webhook,omitempty"` +} + +type EventHandlersTriggerFulfillmentMessagesObservation struct { +} + +type EventHandlersTriggerFulfillmentMessagesParameters struct { + + // The text response message. + // +kubebuilder:validation:Optional + Text []TriggerFulfillmentMessagesTextParameters `json:"text,omitempty" tf:"text,omitempty"` +} + +type EventHandlersTriggerFulfillmentObservation struct { +} + +type EventHandlersTriggerFulfillmentParameters struct { + + // The list of rich message responses to present to the user. + // +kubebuilder:validation:Optional + Messages []EventHandlersTriggerFulfillmentMessagesParameters `json:"messages,omitempty" tf:"messages,omitempty"` + + // Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks. + // +kubebuilder:validation:Optional + ReturnPartialResponses *bool `json:"returnPartialResponses,omitempty" tf:"return_partial_responses,omitempty"` + + // The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified. + // +kubebuilder:validation:Optional + Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` + + // The webhook to call. Format: projects//locations//agents//webhooks/. + // +kubebuilder:validation:Optional + Webhook *string `json:"webhook,omitempty" tf:"webhook,omitempty"` +} + +type FillBehaviorObservation struct { +} + +type FillBehaviorParameters struct { + + // The fulfillment to provide the initial prompt that the agent can present to the user in order to fill the parameter. + // +kubebuilder:validation:Optional + InitialPromptFulfillment []InitialPromptFulfillmentParameters `json:"initialPromptFulfillment,omitempty" tf:"initial_prompt_fulfillment,omitempty"` +} + +type FormObservation struct { +} + +type FormParameters struct { + + // Parameters to collect from the user. + // +kubebuilder:validation:Optional + Parameters []FormParametersParameters `json:"parameters,omitempty" tf:"parameters,omitempty"` +} + +type FormParametersObservation struct { +} + +type FormParametersParameters struct { + + // The human-readable name of the parameter, unique within the form. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // The entity type of the parameter. + // Format: projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects//locations//agents//entityTypes/ for developer entity types. + // +kubebuilder:validation:Optional + EntityType *string `json:"entityType,omitempty" tf:"entity_type,omitempty"` + + // Defines fill behavior for the parameter. + // +kubebuilder:validation:Optional + FillBehavior []FillBehaviorParameters `json:"fillBehavior,omitempty" tf:"fill_behavior,omitempty"` + + // Indicates whether the parameter represents a list of values. + // +kubebuilder:validation:Optional + IsList *bool `json:"isList,omitempty" tf:"is_list,omitempty"` + + // Indicates whether the parameter content should be redacted in log. + // If redaction is enabled, the parameter content will be replaced by parameter name during logging. Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled. + // +kubebuilder:validation:Optional + Redact *bool `json:"redact,omitempty" tf:"redact,omitempty"` + + // Indicates whether the parameter is required. Optional parameters will not trigger prompts; however, they are filled if the user specifies them. + // Required parameters must be filled before form filling concludes. + // +kubebuilder:validation:Optional + Required *bool `json:"required,omitempty" tf:"required,omitempty"` +} + +type InitialPromptFulfillmentMessagesObservation struct { +} + +type InitialPromptFulfillmentMessagesParameters struct { + + // The text response message. + // +kubebuilder:validation:Optional + Text []InitialPromptFulfillmentMessagesTextParameters `json:"text,omitempty" tf:"text,omitempty"` +} + +type InitialPromptFulfillmentMessagesTextObservation struct { + AllowPlaybackInterruption *bool `json:"allowPlaybackInterruption,omitempty" tf:"allow_playback_interruption,omitempty"` +} + +type InitialPromptFulfillmentMessagesTextParameters struct { + + // A collection of text responses. + // +kubebuilder:validation:Optional + Text []*string `json:"text,omitempty" tf:"text,omitempty"` +} + +type InitialPromptFulfillmentObservation struct { +} + +type InitialPromptFulfillmentParameters struct { + + // The list of rich message responses to present to the user. + // +kubebuilder:validation:Optional + Messages []InitialPromptFulfillmentMessagesParameters `json:"messages,omitempty" tf:"messages,omitempty"` + + // Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks. + // +kubebuilder:validation:Optional + ReturnPartialResponses *bool `json:"returnPartialResponses,omitempty" tf:"return_partial_responses,omitempty"` + + // The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified. + // +kubebuilder:validation:Optional + Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` + + // The webhook to call. Format: projects//locations//agents//webhooks/. + // +kubebuilder:validation:Optional + Webhook *string `json:"webhook,omitempty" tf:"webhook,omitempty"` +} + +type PageEventHandlersObservation struct { + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type PageEventHandlersParameters struct { + + // The name of the event to handle. + // +kubebuilder:validation:Optional + Event *string `json:"event,omitempty" tf:"event,omitempty"` + + // The target flow to transition to. + // Format: projects//locations//agents//flows/. + // +kubebuilder:validation:Optional + TargetFlow *string `json:"targetFlow,omitempty" tf:"target_flow,omitempty"` + + // The target page to transition to. + // Format: projects//locations//agents//flows//pages/. + // +kubebuilder:validation:Optional + TargetPage *string `json:"targetPage,omitempty" tf:"target_page,omitempty"` + + // The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks. + // +kubebuilder:validation:Optional + TriggerFulfillment []EventHandlersTriggerFulfillmentParameters `json:"triggerFulfillment,omitempty" tf:"trigger_fulfillment,omitempty"` +} + +type PageObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type PageParameters struct { + + // The human-readable name of the page, unique within the agent. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // The fulfillment to call when the session is entering the page. + // +kubebuilder:validation:Optional + EntryFulfillment []EntryFulfillmentParameters `json:"entryFulfillment,omitempty" tf:"entry_fulfillment,omitempty"` + + // Handlers associated with the page to handle events such as webhook errors, no match or no input. + // +kubebuilder:validation:Optional + EventHandlers []PageEventHandlersParameters `json:"eventHandlers,omitempty" tf:"event_handlers,omitempty"` + + // The form associated with the page, used for collecting parameters relevant to the page. + // +kubebuilder:validation:Optional + Form []FormParameters `json:"form,omitempty" tf:"form,omitempty"` + + // The language of the following fields in page: + // + // Page.entry_fulfillment.messages + // Page.entry_fulfillment.conditional_cases + // Page.event_handlers.trigger_fulfillment.messages + // Page.event_handlers.trigger_fulfillment.conditional_cases + // Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages + // Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases + // Page.form.parameters.fill_behavior.reprompt_event_handlers.messages + // Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases + // Page.transition_routes.trigger_fulfillment.messages + // Page.transition_routes.trigger_fulfillment.conditional_cases + // If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used. + // +kubebuilder:validation:Optional + LanguageCode *string `json:"languageCode,omitempty" tf:"language_code,omitempty"` + + // The flow to create a page for. + // Format: projects//locations//agents//flows/. + // +kubebuilder:validation:Optional + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` + + // Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page. + // If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route -> page's transition route group -> flow's transition routes. + // If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. + // Format:projects//locations//agents//flows//transitionRouteGroups/. + // +kubebuilder:validation:Optional + TransitionRouteGroups []*string `json:"transitionRouteGroups,omitempty" tf:"transition_route_groups,omitempty"` + + // A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. + // When we are in a certain page, the TransitionRoutes are evalauted in the following order: + // TransitionRoutes defined in the page with intent specified. + // TransitionRoutes defined in the transition route groups with intent specified. + // TransitionRoutes defined in flow with intent specified. + // TransitionRoutes defined in the transition route groups with intent specified. + // TransitionRoutes defined in the page with only condition specified. + // TransitionRoutes defined in the transition route groups with only condition specified. + // +kubebuilder:validation:Optional + TransitionRoutes []PageTransitionRoutesParameters `json:"transitionRoutes,omitempty" tf:"transition_routes,omitempty"` +} + +type PageTransitionRoutesObservation struct { + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type PageTransitionRoutesParameters struct { + + // The condition to evaluate against form parameters or session parameters. + // At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled. + // +kubebuilder:validation:Optional + Condition *string `json:"condition,omitempty" tf:"condition,omitempty"` + + // The unique identifier of an Intent. + // Format: projects//locations//agents//intents/. Indicates that the transition can only happen when the given intent is matched. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled. + // +kubebuilder:validation:Optional + Intent *string `json:"intent,omitempty" tf:"intent,omitempty"` + + // The target flow to transition to. + // Format: projects//locations//agents//flows/. + // +kubebuilder:validation:Optional + TargetFlow *string `json:"targetFlow,omitempty" tf:"target_flow,omitempty"` + + // The target page to transition to. + // Format: projects//locations//agents//flows//pages/. + // +kubebuilder:validation:Optional + TargetPage *string `json:"targetPage,omitempty" tf:"target_page,omitempty"` + + // The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks. + // +kubebuilder:validation:Optional + TriggerFulfillment []PageTransitionRoutesTriggerFulfillmentParameters `json:"triggerFulfillment,omitempty" tf:"trigger_fulfillment,omitempty"` +} + +type PageTransitionRoutesTriggerFulfillmentObservation struct { +} + +type PageTransitionRoutesTriggerFulfillmentParameters struct { + + // The list of rich message responses to present to the user. + // +kubebuilder:validation:Optional + Messages []TransitionRoutesTriggerFulfillmentMessagesParameters `json:"messages,omitempty" tf:"messages,omitempty"` + + // Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks. + // +kubebuilder:validation:Optional + ReturnPartialResponses *bool `json:"returnPartialResponses,omitempty" tf:"return_partial_responses,omitempty"` + + // The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified. + // +kubebuilder:validation:Optional + Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` + + // The webhook to call. Format: projects//locations//agents//webhooks/. + // +kubebuilder:validation:Optional + Webhook *string `json:"webhook,omitempty" tf:"webhook,omitempty"` +} + +type TransitionRoutesTriggerFulfillmentMessagesObservation struct { +} + +type TransitionRoutesTriggerFulfillmentMessagesParameters struct { + + // The text response message. + // +kubebuilder:validation:Optional + Text []TransitionRoutesTriggerFulfillmentMessagesTextParameters `json:"text,omitempty" tf:"text,omitempty"` +} + +type TransitionRoutesTriggerFulfillmentMessagesTextObservation struct { + AllowPlaybackInterruption *bool `json:"allowPlaybackInterruption,omitempty" tf:"allow_playback_interruption,omitempty"` +} + +type TransitionRoutesTriggerFulfillmentMessagesTextParameters struct { + + // A collection of text responses. + // +kubebuilder:validation:Optional + Text []*string `json:"text,omitempty" tf:"text,omitempty"` +} + +type TriggerFulfillmentMessagesTextObservation struct { + AllowPlaybackInterruption *bool `json:"allowPlaybackInterruption,omitempty" tf:"allow_playback_interruption,omitempty"` +} + +type TriggerFulfillmentMessagesTextParameters struct { + + // A collection of text responses. + // +kubebuilder:validation:Optional + Text []*string `json:"text,omitempty" tf:"text,omitempty"` +} + +// PageSpec defines the desired state of Page +type PageSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider PageParameters `json:"forProvider"` +} + +// PageStatus defines the observed state of Page. +type PageStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider PageObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Page is the Schema for the Pages 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,gcpjet} +type Page struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec PageSpec `json:"spec"` + Status PageStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// PageList contains a list of Pages +type PageList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Page `json:"items"` +} + +// Repository type metadata. +var ( + Page_Kind = "Page" + Page_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Page_Kind}.String() + Page_KindAPIVersion = Page_Kind + "." + CRDGroupVersion.String() + Page_GroupVersionKind = CRDGroupVersion.WithKind(Page_Kind) +) + +func init() { + SchemeBuilder.Register(&Page{}, &PageList{}) +} diff --git a/apis/dialogflowcx/v1alpha1/zz_version_terraformed.go b/apis/dialogflowcx/v1alpha1/zz_version_terraformed.go new file mode 100755 index 00000000..1b0fecc8 --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_version_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Version +func (mg *Version) GetTerraformResourceType() string { + return "google_dialogflow_cx_version" +} + +// GetConnectionDetailsMapping for this Version +func (tr *Version) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Version +func (tr *Version) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Version +func (tr *Version) SetObservation(obs map[string]interface{}) 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 Version +func (tr *Version) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Version +func (tr *Version) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Version +func (tr *Version) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Version using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Version) LateInitialize(attrs []byte) (bool, error) { + params := &VersionParameters{} + 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 *Version) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dialogflowcx/v1alpha1/zz_version_types.go b/apis/dialogflowcx/v1alpha1/zz_version_types.go new file mode 100755 index 00000000..bba3bf92 --- /dev/null +++ b/apis/dialogflowcx/v1alpha1/zz_version_types.go @@ -0,0 +1,126 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 VersionNluSettingsObservation struct { +} + +type VersionNluSettingsParameters struct { + + // To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold. If the returned score value is less than the threshold value, then a no-match event will be triggered. + // The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the default of 0.3 is used. + // +kubebuilder:validation:Optional + ClassificationThreshold *float64 `json:"classificationThreshold,omitempty" tf:"classification_threshold,omitempty"` + + // Indicates NLU model training mode. + // * MODEL_TRAINING_MODE_AUTOMATIC: NLU model training is automatically triggered when a flow gets modified. User can also manually trigger model training in this mode. + // * MODEL_TRAINING_MODE_MANUAL: User needs to manually trigger NLU model training. Best for large flows whose models take long time to train. Possible values: ["MODEL_TRAINING_MODE_AUTOMATIC", "MODEL_TRAINING_MODE_MANUAL"] + // +kubebuilder:validation:Optional + ModelTrainingMode *string `json:"modelTrainingMode,omitempty" tf:"model_training_mode,omitempty"` + + // Indicates the type of NLU model. + // * MODEL_TYPE_STANDARD: Use standard NLU model. + // * MODEL_TYPE_ADVANCED: Use advanced NLU model. Possible values: ["MODEL_TYPE_STANDARD", "MODEL_TYPE_ADVANCED"] + // +kubebuilder:validation:Optional + ModelType *string `json:"modelType,omitempty" tf:"model_type,omitempty"` +} + +type VersionObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + NluSettings []VersionNluSettingsObservation `json:"nluSettings,omitempty" tf:"nlu_settings,omitempty"` + + State *string `json:"state,omitempty" tf:"state,omitempty"` +} + +type VersionParameters struct { + + // The description of the version. The maximum length is 500 characters. If exceeded, the request is rejected. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The human-readable name of the version. Limit of 64 characters. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // The Flow to create an Version for. + // Format: projects//locations//agents//flows/. + // +kubebuilder:validation:Optional + Parent *string `json:"parent,omitempty" tf:"parent,omitempty"` +} + +// VersionSpec defines the desired state of Version +type VersionSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider VersionParameters `json:"forProvider"` +} + +// VersionStatus defines the observed state of Version. +type VersionStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider VersionObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Version is the Schema for the Versions 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,gcpjet} +type Version struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec VersionSpec `json:"spec"` + Status VersionStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// VersionList contains a list of Versions +type VersionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Version `json:"items"` +} + +// Repository type metadata. +var ( + Version_Kind = "Version" + Version_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Version_Kind}.String() + Version_KindAPIVersion = Version_Kind + "." + CRDGroupVersion.String() + Version_GroupVersionKind = CRDGroupVersion.WithKind(Version_Kind) +) + +func init() { + SchemeBuilder.Register(&Version{}, &VersionList{}) +} diff --git a/apis/dns/v1alpha1/zz_generated.deepcopy.go b/apis/dns/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..eda4c1c0 --- /dev/null +++ b/apis/dns/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1003 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AlternativeNameServerConfigObservation) DeepCopyInto(out *AlternativeNameServerConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlternativeNameServerConfigObservation. +func (in *AlternativeNameServerConfigObservation) DeepCopy() *AlternativeNameServerConfigObservation { + if in == nil { + return nil + } + out := new(AlternativeNameServerConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AlternativeNameServerConfigParameters) DeepCopyInto(out *AlternativeNameServerConfigParameters) { + *out = *in + if in.TargetNameServers != nil { + in, out := &in.TargetNameServers, &out.TargetNameServers + *out = make([]AlternativeNameServerConfigTargetNameServersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlternativeNameServerConfigParameters. +func (in *AlternativeNameServerConfigParameters) DeepCopy() *AlternativeNameServerConfigParameters { + if in == nil { + return nil + } + out := new(AlternativeNameServerConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AlternativeNameServerConfigTargetNameServersObservation) DeepCopyInto(out *AlternativeNameServerConfigTargetNameServersObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlternativeNameServerConfigTargetNameServersObservation. +func (in *AlternativeNameServerConfigTargetNameServersObservation) DeepCopy() *AlternativeNameServerConfigTargetNameServersObservation { + if in == nil { + return nil + } + out := new(AlternativeNameServerConfigTargetNameServersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AlternativeNameServerConfigTargetNameServersParameters) DeepCopyInto(out *AlternativeNameServerConfigTargetNameServersParameters) { + *out = *in + if in.ForwardingPath != nil { + in, out := &in.ForwardingPath, &out.ForwardingPath + *out = new(string) + **out = **in + } + if in.IPv4Address != nil { + in, out := &in.IPv4Address, &out.IPv4Address + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlternativeNameServerConfigTargetNameServersParameters. +func (in *AlternativeNameServerConfigTargetNameServersParameters) DeepCopy() *AlternativeNameServerConfigTargetNameServersParameters { + if in == nil { + return nil + } + out := new(AlternativeNameServerConfigTargetNameServersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DNSSECConfigObservation) DeepCopyInto(out *DNSSECConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSSECConfigObservation. +func (in *DNSSECConfigObservation) DeepCopy() *DNSSECConfigObservation { + if in == nil { + return nil + } + out := new(DNSSECConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DNSSECConfigParameters) DeepCopyInto(out *DNSSECConfigParameters) { + *out = *in + if in.DefaultKeySpecs != nil { + in, out := &in.DefaultKeySpecs, &out.DefaultKeySpecs + *out = make([]DefaultKeySpecsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } + if in.NonExistence != nil { + in, out := &in.NonExistence, &out.NonExistence + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSSECConfigParameters. +func (in *DNSSECConfigParameters) DeepCopy() *DNSSECConfigParameters { + if in == nil { + return nil + } + out := new(DNSSECConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultKeySpecsObservation) DeepCopyInto(out *DefaultKeySpecsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultKeySpecsObservation. +func (in *DefaultKeySpecsObservation) DeepCopy() *DefaultKeySpecsObservation { + if in == nil { + return nil + } + out := new(DefaultKeySpecsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultKeySpecsParameters) DeepCopyInto(out *DefaultKeySpecsParameters) { + *out = *in + if in.Algorithm != nil { + in, out := &in.Algorithm, &out.Algorithm + *out = new(string) + **out = **in + } + if in.KeyLength != nil { + in, out := &in.KeyLength, &out.KeyLength + *out = new(int64) + **out = **in + } + if in.KeyType != nil { + in, out := &in.KeyType, &out.KeyType + *out = new(string) + **out = **in + } + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultKeySpecsParameters. +func (in *DefaultKeySpecsParameters) DeepCopy() *DefaultKeySpecsParameters { + if in == nil { + return nil + } + out := new(DefaultKeySpecsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ForwardingConfigObservation) DeepCopyInto(out *ForwardingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingConfigObservation. +func (in *ForwardingConfigObservation) DeepCopy() *ForwardingConfigObservation { + if in == nil { + return nil + } + out := new(ForwardingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ForwardingConfigParameters) DeepCopyInto(out *ForwardingConfigParameters) { + *out = *in + if in.TargetNameServers != nil { + in, out := &in.TargetNameServers, &out.TargetNameServers + *out = make([]TargetNameServersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardingConfigParameters. +func (in *ForwardingConfigParameters) DeepCopy() *ForwardingConfigParameters { + if in == nil { + return nil + } + out := new(ForwardingConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedZone) DeepCopyInto(out *ManagedZone) { + *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 ManagedZone. +func (in *ManagedZone) DeepCopy() *ManagedZone { + if in == nil { + return nil + } + out := new(ManagedZone) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ManagedZone) 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 *ManagedZoneList) DeepCopyInto(out *ManagedZoneList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ManagedZone, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedZoneList. +func (in *ManagedZoneList) DeepCopy() *ManagedZoneList { + if in == nil { + return nil + } + out := new(ManagedZoneList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ManagedZoneList) 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 *ManagedZoneObservation) DeepCopyInto(out *ManagedZoneObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.NameServers != nil { + in, out := &in.NameServers, &out.NameServers + *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 ManagedZoneObservation. +func (in *ManagedZoneObservation) DeepCopy() *ManagedZoneObservation { + if in == nil { + return nil + } + out := new(ManagedZoneObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedZoneParameters) DeepCopyInto(out *ManagedZoneParameters) { + *out = *in + if in.DNSName != nil { + in, out := &in.DNSName, &out.DNSName + *out = new(string) + **out = **in + } + if in.DNSSECConfig != nil { + in, out := &in.DNSSECConfig, &out.DNSSECConfig + *out = make([]DNSSECConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.ForceDestroy != nil { + in, out := &in.ForceDestroy, &out.ForceDestroy + *out = new(bool) + **out = **in + } + if in.ForwardingConfig != nil { + in, out := &in.ForwardingConfig, &out.ForwardingConfig + *out = make([]ForwardingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.PeeringConfig != nil { + in, out := &in.PeeringConfig, &out.PeeringConfig + *out = make([]PeeringConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PrivateVisibilityConfig != nil { + in, out := &in.PrivateVisibilityConfig, &out.PrivateVisibilityConfig + *out = make([]PrivateVisibilityConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Visibility != nil { + in, out := &in.Visibility, &out.Visibility + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedZoneParameters. +func (in *ManagedZoneParameters) DeepCopy() *ManagedZoneParameters { + if in == nil { + return nil + } + out := new(ManagedZoneParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedZoneSpec) DeepCopyInto(out *ManagedZoneSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedZoneSpec. +func (in *ManagedZoneSpec) DeepCopy() *ManagedZoneSpec { + if in == nil { + return nil + } + out := new(ManagedZoneSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedZoneStatus) DeepCopyInto(out *ManagedZoneStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedZoneStatus. +func (in *ManagedZoneStatus) DeepCopy() *ManagedZoneStatus { + if in == nil { + return nil + } + out := new(ManagedZoneStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworksObservation) DeepCopyInto(out *NetworksObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworksObservation. +func (in *NetworksObservation) DeepCopy() *NetworksObservation { + if in == nil { + return nil + } + out := new(NetworksObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworksParameters) DeepCopyInto(out *NetworksParameters) { + *out = *in + if in.NetworkURL != nil { + in, out := &in.NetworkURL, &out.NetworkURL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworksParameters. +func (in *NetworksParameters) DeepCopy() *NetworksParameters { + if in == nil { + return nil + } + out := new(NetworksParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PeeringConfigObservation) DeepCopyInto(out *PeeringConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringConfigObservation. +func (in *PeeringConfigObservation) DeepCopy() *PeeringConfigObservation { + if in == nil { + return nil + } + out := new(PeeringConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PeeringConfigParameters) DeepCopyInto(out *PeeringConfigParameters) { + *out = *in + if in.TargetNetwork != nil { + in, out := &in.TargetNetwork, &out.TargetNetwork + *out = make([]TargetNetworkParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringConfigParameters. +func (in *PeeringConfigParameters) DeepCopy() *PeeringConfigParameters { + if in == nil { + return nil + } + out := new(PeeringConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Policy) DeepCopyInto(out *Policy) { + *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 Policy. +func (in *Policy) DeepCopy() *Policy { + if in == nil { + return nil + } + out := new(Policy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Policy) 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 *PolicyList) DeepCopyInto(out *PolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Policy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyList. +func (in *PolicyList) DeepCopy() *PolicyList { + if in == nil { + return nil + } + out := new(PolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *PolicyList) 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 *PolicyNetworksObservation) DeepCopyInto(out *PolicyNetworksObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyNetworksObservation. +func (in *PolicyNetworksObservation) DeepCopy() *PolicyNetworksObservation { + if in == nil { + return nil + } + out := new(PolicyNetworksObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicyNetworksParameters) DeepCopyInto(out *PolicyNetworksParameters) { + *out = *in + if in.NetworkURL != nil { + in, out := &in.NetworkURL, &out.NetworkURL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyNetworksParameters. +func (in *PolicyNetworksParameters) DeepCopy() *PolicyNetworksParameters { + if in == nil { + return nil + } + out := new(PolicyNetworksParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicyObservation) DeepCopyInto(out *PolicyObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyObservation. +func (in *PolicyObservation) DeepCopy() *PolicyObservation { + if in == nil { + return nil + } + out := new(PolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicyParameters) DeepCopyInto(out *PolicyParameters) { + *out = *in + if in.AlternativeNameServerConfig != nil { + in, out := &in.AlternativeNameServerConfig, &out.AlternativeNameServerConfig + *out = make([]AlternativeNameServerConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.EnableInboundForwarding != nil { + in, out := &in.EnableInboundForwarding, &out.EnableInboundForwarding + *out = new(bool) + **out = **in + } + if in.EnableLogging != nil { + in, out := &in.EnableLogging, &out.EnableLogging + *out = new(bool) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Networks != nil { + in, out := &in.Networks, &out.Networks + *out = make([]PolicyNetworksParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyParameters. +func (in *PolicyParameters) DeepCopy() *PolicyParameters { + if in == nil { + return nil + } + out := new(PolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicySpec) DeepCopyInto(out *PolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicySpec. +func (in *PolicySpec) DeepCopy() *PolicySpec { + if in == nil { + return nil + } + out := new(PolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicyStatus) DeepCopyInto(out *PolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyStatus. +func (in *PolicyStatus) DeepCopy() *PolicyStatus { + if in == nil { + return nil + } + out := new(PolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrivateVisibilityConfigObservation) DeepCopyInto(out *PrivateVisibilityConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateVisibilityConfigObservation. +func (in *PrivateVisibilityConfigObservation) DeepCopy() *PrivateVisibilityConfigObservation { + if in == nil { + return nil + } + out := new(PrivateVisibilityConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrivateVisibilityConfigParameters) DeepCopyInto(out *PrivateVisibilityConfigParameters) { + *out = *in + if in.Networks != nil { + in, out := &in.Networks, &out.Networks + *out = make([]NetworksParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateVisibilityConfigParameters. +func (in *PrivateVisibilityConfigParameters) DeepCopy() *PrivateVisibilityConfigParameters { + if in == nil { + return nil + } + out := new(PrivateVisibilityConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RecordSet) DeepCopyInto(out *RecordSet) { + *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 RecordSet. +func (in *RecordSet) DeepCopy() *RecordSet { + if in == nil { + return nil + } + out := new(RecordSet) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RecordSet) 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 *RecordSetList) DeepCopyInto(out *RecordSetList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RecordSet, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecordSetList. +func (in *RecordSetList) DeepCopy() *RecordSetList { + if in == nil { + return nil + } + out := new(RecordSetList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RecordSetList) 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 *RecordSetObservation) DeepCopyInto(out *RecordSetObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecordSetObservation. +func (in *RecordSetObservation) DeepCopy() *RecordSetObservation { + if in == nil { + return nil + } + out := new(RecordSetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RecordSetParameters) DeepCopyInto(out *RecordSetParameters) { + *out = *in + if in.ManagedZone != nil { + in, out := &in.ManagedZone, &out.ManagedZone + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Rrdatas != nil { + in, out := &in.Rrdatas, &out.Rrdatas + *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.TTL != nil { + in, out := &in.TTL, &out.TTL + *out = new(int64) + **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 RecordSetParameters. +func (in *RecordSetParameters) DeepCopy() *RecordSetParameters { + if in == nil { + return nil + } + out := new(RecordSetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RecordSetSpec) DeepCopyInto(out *RecordSetSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecordSetSpec. +func (in *RecordSetSpec) DeepCopy() *RecordSetSpec { + if in == nil { + return nil + } + out := new(RecordSetSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RecordSetStatus) DeepCopyInto(out *RecordSetStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecordSetStatus. +func (in *RecordSetStatus) DeepCopy() *RecordSetStatus { + if in == nil { + return nil + } + out := new(RecordSetStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetNameServersObservation) DeepCopyInto(out *TargetNameServersObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetNameServersObservation. +func (in *TargetNameServersObservation) DeepCopy() *TargetNameServersObservation { + if in == nil { + return nil + } + out := new(TargetNameServersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetNameServersParameters) DeepCopyInto(out *TargetNameServersParameters) { + *out = *in + if in.ForwardingPath != nil { + in, out := &in.ForwardingPath, &out.ForwardingPath + *out = new(string) + **out = **in + } + if in.IPv4Address != nil { + in, out := &in.IPv4Address, &out.IPv4Address + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetNameServersParameters. +func (in *TargetNameServersParameters) DeepCopy() *TargetNameServersParameters { + if in == nil { + return nil + } + out := new(TargetNameServersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetNetworkObservation) DeepCopyInto(out *TargetNetworkObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetNetworkObservation. +func (in *TargetNetworkObservation) DeepCopy() *TargetNetworkObservation { + if in == nil { + return nil + } + out := new(TargetNetworkObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TargetNetworkParameters) DeepCopyInto(out *TargetNetworkParameters) { + *out = *in + if in.NetworkURL != nil { + in, out := &in.NetworkURL, &out.NetworkURL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetNetworkParameters. +func (in *TargetNetworkParameters) DeepCopy() *TargetNetworkParameters { + if in == nil { + return nil + } + out := new(TargetNetworkParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/dns/v1alpha1/zz_generated.managed.go b/apis/dns/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..50131c70 --- /dev/null +++ b/apis/dns/v1alpha1/zz_generated.managed.go @@ -0,0 +1,188 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this ManagedZone. +func (mg *ManagedZone) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ManagedZone. +func (mg *ManagedZone) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ManagedZone. +func (mg *ManagedZone) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ManagedZone. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ManagedZone) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ManagedZone. +func (mg *ManagedZone) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ManagedZone. +func (mg *ManagedZone) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ManagedZone. +func (mg *ManagedZone) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ManagedZone. +func (mg *ManagedZone) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ManagedZone. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ManagedZone) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ManagedZone. +func (mg *ManagedZone) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Policy. +func (mg *Policy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Policy. +func (mg *Policy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Policy. +func (mg *Policy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Policy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Policy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Policy. +func (mg *Policy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Policy. +func (mg *Policy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Policy. +func (mg *Policy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Policy. +func (mg *Policy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Policy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Policy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Policy. +func (mg *Policy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RecordSet. +func (mg *RecordSet) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RecordSet. +func (mg *RecordSet) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RecordSet. +func (mg *RecordSet) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RecordSet. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RecordSet) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RecordSet. +func (mg *RecordSet) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RecordSet. +func (mg *RecordSet) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RecordSet. +func (mg *RecordSet) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RecordSet. +func (mg *RecordSet) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RecordSet. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RecordSet) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RecordSet. +func (mg *RecordSet) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/dns/v1alpha1/zz_generated.managedlist.go b/apis/dns/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..707586e2 --- /dev/null +++ b/apis/dns/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,47 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this ManagedZoneList. +func (l *ManagedZoneList) 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 PolicyList. +func (l *PolicyList) 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 RecordSetList. +func (l *RecordSetList) 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/dns/v1alpha1/zz_groupversion_info.go b/apis/dns/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..ab8dff48 --- /dev/null +++ b/apis/dns/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=dns.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "dns.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/dns/v1alpha1/zz_managedzone_terraformed.go b/apis/dns/v1alpha1/zz_managedzone_terraformed.go new file mode 100755 index 00000000..aece9fd6 --- /dev/null +++ b/apis/dns/v1alpha1/zz_managedzone_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ManagedZone +func (mg *ManagedZone) GetTerraformResourceType() string { + return "google_dns_managed_zone" +} + +// GetConnectionDetailsMapping for this ManagedZone +func (tr *ManagedZone) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ManagedZone +func (tr *ManagedZone) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ManagedZone +func (tr *ManagedZone) SetObservation(obs map[string]interface{}) 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 ManagedZone +func (tr *ManagedZone) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ManagedZone +func (tr *ManagedZone) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ManagedZone +func (tr *ManagedZone) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ManagedZone using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ManagedZone) LateInitialize(attrs []byte) (bool, error) { + params := &ManagedZoneParameters{} + 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 *ManagedZone) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dns/v1alpha1/zz_managedzone_types.go b/apis/dns/v1alpha1/zz_managedzone_types.go new file mode 100755 index 00000000..540a12cd --- /dev/null +++ b/apis/dns/v1alpha1/zz_managedzone_types.go @@ -0,0 +1,261 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DNSSECConfigObservation struct { +} + +type DNSSECConfigParameters struct { + + // Specifies parameters that will be used for generating initial DnsKeys + // for this ManagedZone. If you provide a spec for keySigning or zoneSigning, + // you must also provide one for the other. + // default_key_specs can only be updated when the state is 'off'. + // +kubebuilder:validation:Optional + DefaultKeySpecs []DefaultKeySpecsParameters `json:"defaultKeySpecs,omitempty" tf:"default_key_specs,omitempty"` + + // Identifies what kind of resource this is + // +kubebuilder:validation:Optional + Kind *string `json:"kind,omitempty" tf:"kind,omitempty"` + + // Specifies the mechanism used to provide authenticated denial-of-existence responses. + // non_existence can only be updated when the state is 'off'. Possible values: ["nsec", "nsec3"] + // +kubebuilder:validation:Optional + NonExistence *string `json:"nonExistence,omitempty" tf:"non_existence,omitempty"` + + // Specifies whether DNSSEC is enabled, and what mode it is in Possible values: ["off", "on", "transfer"] + // +kubebuilder:validation:Optional + State *string `json:"state,omitempty" tf:"state,omitempty"` +} + +type DefaultKeySpecsObservation struct { +} + +type DefaultKeySpecsParameters struct { + + // String mnemonic specifying the DNSSEC algorithm of this key Possible values: ["ecdsap256sha256", "ecdsap384sha384", "rsasha1", "rsasha256", "rsasha512"] + // +kubebuilder:validation:Optional + Algorithm *string `json:"algorithm,omitempty" tf:"algorithm,omitempty"` + + // Length of the keys in bits + // +kubebuilder:validation:Optional + KeyLength *int64 `json:"keyLength,omitempty" tf:"key_length,omitempty"` + + // Specifies whether this is a key signing key (KSK) or a zone + // signing key (ZSK). Key signing keys have the Secure Entry + // Point flag set and, when active, will only be used to sign + // resource record sets of type DNSKEY. Zone signing keys do + // not have the Secure Entry Point flag set and will be used + // to sign all other types of resource record sets. Possible values: ["keySigning", "zoneSigning"] + // +kubebuilder:validation:Optional + KeyType *string `json:"keyType,omitempty" tf:"key_type,omitempty"` + + // Identifies what kind of resource this is + // +kubebuilder:validation:Optional + Kind *string `json:"kind,omitempty" tf:"kind,omitempty"` +} + +type ForwardingConfigObservation struct { +} + +type ForwardingConfigParameters struct { + + // List of target name servers to forward to. Cloud DNS will + // select the best available name server if more than + // one target is given. + // +kubebuilder:validation:Required + TargetNameServers []TargetNameServersParameters `json:"targetNameServers" tf:"target_name_servers,omitempty"` +} + +type ManagedZoneObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + NameServers []*string `json:"nameServers,omitempty" tf:"name_servers,omitempty"` +} + +type ManagedZoneParameters struct { + + // The DNS name of this managed zone, for instance "example.com.". + // +kubebuilder:validation:Required + DNSName *string `json:"dnsName" tf:"dns_name,omitempty"` + + // DNSSEC configuration + // +kubebuilder:validation:Optional + DNSSECConfig []DNSSECConfigParameters `json:"dnssecConfig,omitempty" tf:"dnssec_config,omitempty"` + + // A textual description field. Defaults to 'Managed by Terraform'. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Optional + ForceDestroy *bool `json:"forceDestroy,omitempty" tf:"force_destroy,omitempty"` + + // The presence for this field indicates that outbound forwarding is enabled + // for this zone. The value of this field contains the set of destinations + // to forward to. + // +kubebuilder:validation:Optional + ForwardingConfig []ForwardingConfigParameters `json:"forwardingConfig,omitempty" tf:"forwarding_config,omitempty"` + + // A set of key/value label pairs to assign to this ManagedZone. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // User assigned name for this resource. + // Must be unique within the project. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The presence of this field indicates that DNS Peering is enabled for this + // zone. The value of this field contains the network to peer with. + // +kubebuilder:validation:Optional + PeeringConfig []PeeringConfigParameters `json:"peeringConfig,omitempty" tf:"peering_config,omitempty"` + + // For privately visible zones, the set of Virtual Private Cloud + // resources that the zone is visible from. + // +kubebuilder:validation:Optional + PrivateVisibilityConfig []PrivateVisibilityConfigParameters `json:"privateVisibilityConfig,omitempty" tf:"private_visibility_config,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The zone's visibility: public zones are exposed to the Internet, + // while private zones are visible only to Virtual Private Cloud resources. Default value: "public" Possible values: ["private", "public"] + // +kubebuilder:validation:Optional + Visibility *string `json:"visibility,omitempty" tf:"visibility,omitempty"` +} + +type NetworksObservation struct { +} + +type NetworksParameters struct { + + // The id or fully qualified URL of the VPC network to bind to. + // This should be formatted like 'projects/{project}/global/networks/{network}' or + // 'https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}' + // +kubebuilder:validation:Required + NetworkURL *string `json:"networkUrl" tf:"network_url,omitempty"` +} + +type PeeringConfigObservation struct { +} + +type PeeringConfigParameters struct { + + // The network with which to peer. + // +kubebuilder:validation:Required + TargetNetwork []TargetNetworkParameters `json:"targetNetwork" tf:"target_network,omitempty"` +} + +type PrivateVisibilityConfigObservation struct { +} + +type PrivateVisibilityConfigParameters struct { + + // The list of VPC networks that can see this zone. Until the provider updates to use the Terraform 0.12 SDK in a future release, you + // may experience issues with this resource while updating. If you've defined a 'networks' block and + // add another 'networks' block while keeping the old block, Terraform will see an incorrect diff + // and apply an incorrect update to the resource. If you encounter this issue, remove all 'networks' + // blocks in an update and then apply another update adding all of them back simultaneously. + // +kubebuilder:validation:Required + Networks []NetworksParameters `json:"networks" tf:"networks,omitempty"` +} + +type TargetNameServersObservation struct { +} + +type TargetNameServersParameters struct { + + // Forwarding path for this TargetNameServer. If unset or 'default' Cloud DNS will make forwarding + // decision based on address ranges, i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go + // to the Internet. When set to 'private', Cloud DNS will always send queries through VPC for this target Possible values: ["default", "private"] + // +kubebuilder:validation:Optional + ForwardingPath *string `json:"forwardingPath,omitempty" tf:"forwarding_path,omitempty"` + + // IPv4 address of a target name server. + // +kubebuilder:validation:Required + IPv4Address *string `json:"ipv4Address" tf:"ipv4_address,omitempty"` +} + +type TargetNetworkObservation struct { +} + +type TargetNetworkParameters struct { + + // The id or fully qualified URL of the VPC network to forward queries to. + // This should be formatted like 'projects/{project}/global/networks/{network}' or + // 'https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}' + // +kubebuilder:validation:Required + NetworkURL *string `json:"networkUrl" tf:"network_url,omitempty"` +} + +// ManagedZoneSpec defines the desired state of ManagedZone +type ManagedZoneSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ManagedZoneParameters `json:"forProvider"` +} + +// ManagedZoneStatus defines the observed state of ManagedZone. +type ManagedZoneStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ManagedZoneObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ManagedZone is the Schema for the ManagedZones 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,gcpjet} +type ManagedZone struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ManagedZoneSpec `json:"spec"` + Status ManagedZoneStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ManagedZoneList contains a list of ManagedZones +type ManagedZoneList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ManagedZone `json:"items"` +} + +// Repository type metadata. +var ( + ManagedZone_Kind = "ManagedZone" + ManagedZone_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ManagedZone_Kind}.String() + ManagedZone_KindAPIVersion = ManagedZone_Kind + "." + CRDGroupVersion.String() + ManagedZone_GroupVersionKind = CRDGroupVersion.WithKind(ManagedZone_Kind) +) + +func init() { + SchemeBuilder.Register(&ManagedZone{}, &ManagedZoneList{}) +} diff --git a/apis/dns/v1alpha1/zz_policy_terraformed.go b/apis/dns/v1alpha1/zz_policy_terraformed.go new file mode 100755 index 00000000..0c7d27cc --- /dev/null +++ b/apis/dns/v1alpha1/zz_policy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Policy +func (mg *Policy) GetTerraformResourceType() string { + return "google_dns_policy" +} + +// GetConnectionDetailsMapping for this Policy +func (tr *Policy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Policy +func (tr *Policy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Policy +func (tr *Policy) SetObservation(obs map[string]interface{}) 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 Policy +func (tr *Policy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Policy +func (tr *Policy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Policy +func (tr *Policy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Policy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Policy) LateInitialize(attrs []byte) (bool, error) { + params := &PolicyParameters{} + 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 *Policy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dns/v1alpha1/zz_policy_types.go b/apis/dns/v1alpha1/zz_policy_types.go new file mode 100755 index 00000000..2dacd5f6 --- /dev/null +++ b/apis/dns/v1alpha1/zz_policy_types.go @@ -0,0 +1,155 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AlternativeNameServerConfigObservation struct { +} + +type AlternativeNameServerConfigParameters struct { + + // Sets an alternative name server for the associated networks. When specified, + // all DNS queries are forwarded to a name server that you choose. Names such as .internal + // are not available when an alternative name server is specified. + // +kubebuilder:validation:Required + TargetNameServers []AlternativeNameServerConfigTargetNameServersParameters `json:"targetNameServers" tf:"target_name_servers,omitempty"` +} + +type AlternativeNameServerConfigTargetNameServersObservation struct { +} + +type AlternativeNameServerConfigTargetNameServersParameters struct { + + // Forwarding path for this TargetNameServer. If unset or 'default' Cloud DNS will make forwarding + // decision based on address ranges, i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go + // to the Internet. When set to 'private', Cloud DNS will always send queries through VPC for this target Possible values: ["default", "private"] + // +kubebuilder:validation:Optional + ForwardingPath *string `json:"forwardingPath,omitempty" tf:"forwarding_path,omitempty"` + + // IPv4 address to forward to. + // +kubebuilder:validation:Required + IPv4Address *string `json:"ipv4Address" tf:"ipv4_address,omitempty"` +} + +type PolicyNetworksObservation struct { +} + +type PolicyNetworksParameters struct { + + // The id or fully qualified URL of the VPC network to forward queries to. + // This should be formatted like 'projects/{project}/global/networks/{network}' or + // 'https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}' + // +kubebuilder:validation:Required + NetworkURL *string `json:"networkUrl" tf:"network_url,omitempty"` +} + +type PolicyObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type PolicyParameters struct { + + // Sets an alternative name server for the associated networks. + // When specified, all DNS queries are forwarded to a name server that you choose. + // Names such as .internal are not available when an alternative name server is specified. + // +kubebuilder:validation:Optional + AlternativeNameServerConfig []AlternativeNameServerConfigParameters `json:"alternativeNameServerConfig,omitempty" tf:"alternative_name_server_config,omitempty"` + + // A textual description field. Defaults to 'Managed by Terraform'. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Allows networks bound to this policy to receive DNS queries sent + // by VMs or applications over VPN connections. When enabled, a + // virtual IP address will be allocated from each of the sub-networks + // that are bound to this policy. + // +kubebuilder:validation:Optional + EnableInboundForwarding *bool `json:"enableInboundForwarding,omitempty" tf:"enable_inbound_forwarding,omitempty"` + + // Controls whether logging is enabled for the networks bound to this policy. + // Defaults to no logging if not set. + // +kubebuilder:validation:Optional + EnableLogging *bool `json:"enableLogging,omitempty" tf:"enable_logging,omitempty"` + + // User assigned name for this policy. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // List of network names specifying networks to which this policy is applied. + // +kubebuilder:validation:Optional + Networks []PolicyNetworksParameters `json:"networks,omitempty" tf:"networks,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// PolicySpec defines the desired state of Policy +type PolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider PolicyParameters `json:"forProvider"` +} + +// PolicyStatus defines the observed state of Policy. +type PolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider PolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Policy is the Schema for the Policys 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,gcpjet} +type Policy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec PolicySpec `json:"spec"` + Status PolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// PolicyList contains a list of Policys +type PolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Policy `json:"items"` +} + +// Repository type metadata. +var ( + Policy_Kind = "Policy" + Policy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Policy_Kind}.String() + Policy_KindAPIVersion = Policy_Kind + "." + CRDGroupVersion.String() + Policy_GroupVersionKind = CRDGroupVersion.WithKind(Policy_Kind) +) + +func init() { + SchemeBuilder.Register(&Policy{}, &PolicyList{}) +} diff --git a/apis/dns/v1alpha1/zz_recordset_terraformed.go b/apis/dns/v1alpha1/zz_recordset_terraformed.go new file mode 100755 index 00000000..47940a3a --- /dev/null +++ b/apis/dns/v1alpha1/zz_recordset_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RecordSet +func (mg *RecordSet) GetTerraformResourceType() string { + return "google_dns_record_set" +} + +// GetConnectionDetailsMapping for this RecordSet +func (tr *RecordSet) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RecordSet +func (tr *RecordSet) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RecordSet +func (tr *RecordSet) SetObservation(obs map[string]interface{}) 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 RecordSet +func (tr *RecordSet) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RecordSet +func (tr *RecordSet) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RecordSet +func (tr *RecordSet) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RecordSet using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RecordSet) LateInitialize(attrs []byte) (bool, error) { + params := &RecordSetParameters{} + 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 *RecordSet) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dns/v1alpha1/zz_recordset_types.go b/apis/dns/v1alpha1/zz_recordset_types.go new file mode 100755 index 00000000..53e5bcbb --- /dev/null +++ b/apis/dns/v1alpha1/zz_recordset_types.go @@ -0,0 +1,106 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RecordSetObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type RecordSetParameters struct { + + // The name of the zone in which this record set will reside. + // +kubebuilder:validation:Required + ManagedZone *string `json:"managedZone" tf:"managed_zone,omitempty"` + + // The DNS name this record set will apply to. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The string data for the records in this record set whose meaning depends on the DNS type. For TXT record, if the string data contains spaces, add surrounding \" if you don't want your string to get split on spaces. To specify a single record value longer than 255 characters such as a TXT record for DKIM, add \"\" inside the Terraform configuration string (e.g. "first255characters\"\"morecharacters"). + // +kubebuilder:validation:Required + Rrdatas []*string `json:"rrdatas" tf:"rrdatas,omitempty"` + + // The time-to-live of this record set (seconds). + // +kubebuilder:validation:Optional + TTL *int64 `json:"ttl,omitempty" tf:"ttl,omitempty"` + + // The DNS record set type. + // +kubebuilder:validation:Required + Type *string `json:"type" tf:"type,omitempty"` +} + +// RecordSetSpec defines the desired state of RecordSet +type RecordSetSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RecordSetParameters `json:"forProvider"` +} + +// RecordSetStatus defines the observed state of RecordSet. +type RecordSetStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RecordSetObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RecordSet is the Schema for the RecordSets 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,gcpjet} +type RecordSet struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RecordSetSpec `json:"spec"` + Status RecordSetStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RecordSetList contains a list of RecordSets +type RecordSetList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RecordSet `json:"items"` +} + +// Repository type metadata. +var ( + RecordSet_Kind = "RecordSet" + RecordSet_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RecordSet_Kind}.String() + RecordSet_KindAPIVersion = RecordSet_Kind + "." + CRDGroupVersion.String() + RecordSet_GroupVersionKind = CRDGroupVersion.WithKind(RecordSet_Kind) +) + +func init() { + SchemeBuilder.Register(&RecordSet{}, &RecordSetList{}) +} diff --git a/apis/endpoints/v1alpha1/zz_generated.deepcopy.go b/apis/endpoints/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..7867d79b --- /dev/null +++ b/apis/endpoints/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,893 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApisObservation) DeepCopyInto(out *ApisObservation) { + *out = *in + if in.Methods != nil { + in, out := &in.Methods, &out.Methods + *out = make([]MethodsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Syntax != nil { + in, out := &in.Syntax, &out.Syntax + *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 ApisObservation. +func (in *ApisObservation) DeepCopy() *ApisObservation { + if in == nil { + return nil + } + out := new(ApisObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ApisParameters) DeepCopyInto(out *ApisParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApisParameters. +func (in *ApisParameters) DeepCopy() *ApisParameters { + if in == nil { + return nil + } + out := new(ApisParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EndpointsObservation) DeepCopyInto(out *EndpointsObservation) { + *out = *in + if in.Address != nil { + in, out := &in.Address, &out.Address + *out = new(string) + **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 EndpointsObservation. +func (in *EndpointsObservation) DeepCopy() *EndpointsObservation { + if in == nil { + return nil + } + out := new(EndpointsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EndpointsParameters) DeepCopyInto(out *EndpointsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointsParameters. +func (in *EndpointsParameters) DeepCopy() *EndpointsParameters { + if in == nil { + return nil + } + out := new(EndpointsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MethodsObservation) DeepCopyInto(out *MethodsObservation) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.RequestType != nil { + in, out := &in.RequestType, &out.RequestType + *out = new(string) + **out = **in + } + if in.ResponseType != nil { + in, out := &in.ResponseType, &out.ResponseType + *out = new(string) + **out = **in + } + if in.Syntax != nil { + in, out := &in.Syntax, &out.Syntax + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MethodsObservation. +func (in *MethodsObservation) DeepCopy() *MethodsObservation { + if in == nil { + return nil + } + out := new(MethodsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MethodsParameters) DeepCopyInto(out *MethodsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MethodsParameters. +func (in *MethodsParameters) DeepCopy() *MethodsParameters { + if in == nil { + return nil + } + out := new(MethodsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Service) DeepCopyInto(out *Service) { + *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 Service. +func (in *Service) DeepCopy() *Service { + if in == nil { + return nil + } + out := new(Service) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Service) 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 *ServiceIAMBinding) DeepCopyInto(out *ServiceIAMBinding) { + *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 ServiceIAMBinding. +func (in *ServiceIAMBinding) DeepCopy() *ServiceIAMBinding { + if in == nil { + return nil + } + out := new(ServiceIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceIAMBinding) 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 *ServiceIAMBindingList) DeepCopyInto(out *ServiceIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMBindingList. +func (in *ServiceIAMBindingList) DeepCopy() *ServiceIAMBindingList { + if in == nil { + return nil + } + out := new(ServiceIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceIAMBindingList) 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 *ServiceIAMBindingObservation) DeepCopyInto(out *ServiceIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMBindingObservation. +func (in *ServiceIAMBindingObservation) DeepCopy() *ServiceIAMBindingObservation { + if in == nil { + return nil + } + out := new(ServiceIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMBindingParameters) DeepCopyInto(out *ServiceIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMBindingParameters. +func (in *ServiceIAMBindingParameters) DeepCopy() *ServiceIAMBindingParameters { + if in == nil { + return nil + } + out := new(ServiceIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMBindingSpec) DeepCopyInto(out *ServiceIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMBindingSpec. +func (in *ServiceIAMBindingSpec) DeepCopy() *ServiceIAMBindingSpec { + if in == nil { + return nil + } + out := new(ServiceIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMBindingStatus) DeepCopyInto(out *ServiceIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMBindingStatus. +func (in *ServiceIAMBindingStatus) DeepCopy() *ServiceIAMBindingStatus { + if in == nil { + return nil + } + out := new(ServiceIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMMember) DeepCopyInto(out *ServiceIAMMember) { + *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 ServiceIAMMember. +func (in *ServiceIAMMember) DeepCopy() *ServiceIAMMember { + if in == nil { + return nil + } + out := new(ServiceIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceIAMMember) 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 *ServiceIAMMemberConditionObservation) DeepCopyInto(out *ServiceIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberConditionObservation. +func (in *ServiceIAMMemberConditionObservation) DeepCopy() *ServiceIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(ServiceIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMMemberConditionParameters) DeepCopyInto(out *ServiceIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberConditionParameters. +func (in *ServiceIAMMemberConditionParameters) DeepCopy() *ServiceIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(ServiceIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMMemberList) DeepCopyInto(out *ServiceIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberList. +func (in *ServiceIAMMemberList) DeepCopy() *ServiceIAMMemberList { + if in == nil { + return nil + } + out := new(ServiceIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceIAMMemberList) 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 *ServiceIAMMemberObservation) DeepCopyInto(out *ServiceIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberObservation. +func (in *ServiceIAMMemberObservation) DeepCopy() *ServiceIAMMemberObservation { + if in == nil { + return nil + } + out := new(ServiceIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMMemberParameters) DeepCopyInto(out *ServiceIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ServiceIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberParameters. +func (in *ServiceIAMMemberParameters) DeepCopy() *ServiceIAMMemberParameters { + if in == nil { + return nil + } + out := new(ServiceIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMMemberSpec) DeepCopyInto(out *ServiceIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberSpec. +func (in *ServiceIAMMemberSpec) DeepCopy() *ServiceIAMMemberSpec { + if in == nil { + return nil + } + out := new(ServiceIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMMemberStatus) DeepCopyInto(out *ServiceIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMMemberStatus. +func (in *ServiceIAMMemberStatus) DeepCopy() *ServiceIAMMemberStatus { + if in == nil { + return nil + } + out := new(ServiceIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMPolicy) DeepCopyInto(out *ServiceIAMPolicy) { + *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 ServiceIAMPolicy. +func (in *ServiceIAMPolicy) DeepCopy() *ServiceIAMPolicy { + if in == nil { + return nil + } + out := new(ServiceIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceIAMPolicy) 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 *ServiceIAMPolicyList) DeepCopyInto(out *ServiceIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMPolicyList. +func (in *ServiceIAMPolicyList) DeepCopy() *ServiceIAMPolicyList { + if in == nil { + return nil + } + out := new(ServiceIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceIAMPolicyList) 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 *ServiceIAMPolicyObservation) DeepCopyInto(out *ServiceIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMPolicyObservation. +func (in *ServiceIAMPolicyObservation) DeepCopy() *ServiceIAMPolicyObservation { + if in == nil { + return nil + } + out := new(ServiceIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMPolicyParameters) DeepCopyInto(out *ServiceIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMPolicyParameters. +func (in *ServiceIAMPolicyParameters) DeepCopy() *ServiceIAMPolicyParameters { + if in == nil { + return nil + } + out := new(ServiceIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMPolicySpec) DeepCopyInto(out *ServiceIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMPolicySpec. +func (in *ServiceIAMPolicySpec) DeepCopy() *ServiceIAMPolicySpec { + if in == nil { + return nil + } + out := new(ServiceIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceIAMPolicyStatus) DeepCopyInto(out *ServiceIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceIAMPolicyStatus. +func (in *ServiceIAMPolicyStatus) DeepCopy() *ServiceIAMPolicyStatus { + if in == nil { + return nil + } + out := new(ServiceIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceList) DeepCopyInto(out *ServiceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Service, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceList. +func (in *ServiceList) DeepCopy() *ServiceList { + if in == nil { + return nil + } + out := new(ServiceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceList) 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 *ServiceObservation) DeepCopyInto(out *ServiceObservation) { + *out = *in + if in.Apis != nil { + in, out := &in.Apis, &out.Apis + *out = make([]ApisObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ConfigID != nil { + in, out := &in.ConfigID, &out.ConfigID + *out = new(string) + **out = **in + } + if in.DNSAddress != nil { + in, out := &in.DNSAddress, &out.DNSAddress + *out = new(string) + **out = **in + } + if in.Endpoints != nil { + in, out := &in.Endpoints, &out.Endpoints + *out = make([]EndpointsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *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.GRPCConfig != nil { + in, out := &in.GRPCConfig, &out.GRPCConfig + *out = new(string) + **out = **in + } + if in.OpenapiConfig != nil { + in, out := &in.OpenapiConfig, &out.OpenapiConfig + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ProtocOutputBase64 != nil { + in, out := &in.ProtocOutputBase64, &out.ProtocOutputBase64 + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *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 *ServiceSpec) DeepCopyInto(out *ServiceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSpec. +func (in *ServiceSpec) DeepCopy() *ServiceSpec { + if in == nil { + return nil + } + out := new(ServiceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceStatus. +func (in *ServiceStatus) DeepCopy() *ServiceStatus { + if in == nil { + return nil + } + out := new(ServiceStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/endpoints/v1alpha1/zz_generated.managed.go b/apis/endpoints/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..474c8bf2 --- /dev/null +++ b/apis/endpoints/v1alpha1/zz_generated.managed.go @@ -0,0 +1,244 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Service. +func (mg *Service) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Service. +func (mg *Service) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Service. +func (mg *Service) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Service. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Service) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Service. +func (mg *Service) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Service. +func (mg *Service) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Service. +func (mg *Service) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Service. +func (mg *Service) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Service. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Service) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Service. +func (mg *Service) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServiceIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServiceIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServiceIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServiceIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServiceIAMBinding. +func (mg *ServiceIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServiceIAMMember. +func (mg *ServiceIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServiceIAMMember. +func (mg *ServiceIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServiceIAMMember. +func (mg *ServiceIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServiceIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServiceIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServiceIAMMember. +func (mg *ServiceIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServiceIAMMember. +func (mg *ServiceIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServiceIAMMember. +func (mg *ServiceIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServiceIAMMember. +func (mg *ServiceIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServiceIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServiceIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServiceIAMMember. +func (mg *ServiceIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ServiceIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ServiceIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ServiceIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ServiceIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ServiceIAMPolicy. +func (mg *ServiceIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/endpoints/v1alpha1/zz_generated.managedlist.go b/apis/endpoints/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..552229d8 --- /dev/null +++ b/apis/endpoints/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,56 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this ServiceIAMBindingList. +func (l *ServiceIAMBindingList) 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 ServiceIAMMemberList. +func (l *ServiceIAMMemberList) 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 ServiceIAMPolicyList. +func (l *ServiceIAMPolicyList) 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 ServiceList. +func (l *ServiceList) 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/endpoints/v1alpha1/zz_groupversion_info.go b/apis/endpoints/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..c6c68131 --- /dev/null +++ b/apis/endpoints/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=endpoints.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "endpoints.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/endpoints/v1alpha1/zz_service_terraformed.go b/apis/endpoints/v1alpha1/zz_service_terraformed.go new file mode 100755 index 00000000..cf8912a7 --- /dev/null +++ b/apis/endpoints/v1alpha1/zz_service_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Service +func (mg *Service) GetTerraformResourceType() string { + return "google_endpoints_service" +} + +// GetConnectionDetailsMapping for this Service +func (tr *Service) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Service +func (tr *Service) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Service +func (tr *Service) SetObservation(obs map[string]interface{}) 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 Service +func (tr *Service) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Service +func (tr *Service) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Service +func (tr *Service) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Service using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Service) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceParameters{} + 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 *Service) GetTerraformSchemaVersion() int { + return 1 +} diff --git a/apis/endpoints/v1alpha1/zz_service_types.go b/apis/endpoints/v1alpha1/zz_service_types.go new file mode 100755 index 00000000..dd1188f5 --- /dev/null +++ b/apis/endpoints/v1alpha1/zz_service_types.go @@ -0,0 +1,145 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ApisObservation struct { + Methods []MethodsObservation `json:"methods,omitempty" tf:"methods,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + Syntax *string `json:"syntax,omitempty" tf:"syntax,omitempty"` + + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type ApisParameters struct { +} + +type EndpointsObservation struct { + Address *string `json:"address,omitempty" tf:"address,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type EndpointsParameters struct { +} + +type MethodsObservation struct { + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + RequestType *string `json:"requestType,omitempty" tf:"request_type,omitempty"` + + ResponseType *string `json:"responseType,omitempty" tf:"response_type,omitempty"` + + Syntax *string `json:"syntax,omitempty" tf:"syntax,omitempty"` +} + +type MethodsParameters struct { +} + +type ServiceObservation struct { + Apis []ApisObservation `json:"apis,omitempty" tf:"apis,omitempty"` + + ConfigID *string `json:"configId,omitempty" tf:"config_id,omitempty"` + + DNSAddress *string `json:"dnsAddress,omitempty" tf:"dns_address,omitempty"` + + Endpoints []EndpointsObservation `json:"endpoints,omitempty" tf:"endpoints,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ServiceParameters struct { + + // The full text of the Service Config YAML file (Example located here). If provided, must also provide protoc_output_base64. open_api config must not be provided. + // +kubebuilder:validation:Optional + GRPCConfig *string `json:"grpcConfig,omitempty" tf:"grpc_config,omitempty"` + + // The full text of the OpenAPI YAML configuration as described here. Either this, or both of grpc_config and protoc_output_base64 must be specified. + // +kubebuilder:validation:Optional + OpenapiConfig *string `json:"openapiConfig,omitempty" tf:"openapi_config,omitempty"` + + // The project ID that the service belongs to. If not provided, provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The full contents of the Service Descriptor File generated by protoc. This should be a compiled .pb file, base64-encoded. + // +kubebuilder:validation:Optional + ProtocOutputBase64 *string `json:"protocOutputBase64,omitempty" tf:"protoc_output_base64,omitempty"` + + // The name of the service. Usually of the form $apiname.endpoints.$projectid.cloud.goog. + // +kubebuilder:validation:Required + ServiceName *string `json:"serviceName" tf:"service_name,omitempty"` +} + +// ServiceSpec defines the desired state of Service +type ServiceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceParameters `json:"forProvider"` +} + +// ServiceStatus defines the observed state of Service. +type ServiceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Service is the Schema for the Services 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,gcpjet} +type Service struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceSpec `json:"spec"` + Status ServiceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceList contains a list of Services +type ServiceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Service `json:"items"` +} + +// Repository type metadata. +var ( + Service_Kind = "Service" + Service_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Service_Kind}.String() + Service_KindAPIVersion = Service_Kind + "." + CRDGroupVersion.String() + Service_GroupVersionKind = CRDGroupVersion.WithKind(Service_Kind) +) + +func init() { + SchemeBuilder.Register(&Service{}, &ServiceList{}) +} diff --git a/apis/endpoints/v1alpha1/zz_serviceiambinding_terraformed.go b/apis/endpoints/v1alpha1/zz_serviceiambinding_terraformed.go new file mode 100755 index 00000000..a21aa689 --- /dev/null +++ b/apis/endpoints/v1alpha1/zz_serviceiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServiceIAMBinding +func (mg *ServiceIAMBinding) GetTerraformResourceType() string { + return "google_endpoints_service_iam_binding" +} + +// GetConnectionDetailsMapping for this ServiceIAMBinding +func (tr *ServiceIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServiceIAMBinding +func (tr *ServiceIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServiceIAMBinding +func (tr *ServiceIAMBinding) SetObservation(obs map[string]interface{}) 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 ServiceIAMBinding +func (tr *ServiceIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServiceIAMBinding +func (tr *ServiceIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServiceIAMBinding +func (tr *ServiceIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServiceIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServiceIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceIAMBindingParameters{} + 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 *ServiceIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/endpoints/v1alpha1/zz_serviceiambinding_types.go b/apis/endpoints/v1alpha1/zz_serviceiambinding_types.go new file mode 100755 index 00000000..73d38e7b --- /dev/null +++ b/apis/endpoints/v1alpha1/zz_serviceiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type ServiceIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ServiceIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + ServiceName *string `json:"serviceName" tf:"service_name,omitempty"` +} + +// ServiceIAMBindingSpec defines the desired state of ServiceIAMBinding +type ServiceIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceIAMBindingParameters `json:"forProvider"` +} + +// ServiceIAMBindingStatus defines the observed state of ServiceIAMBinding. +type ServiceIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceIAMBinding is the Schema for the ServiceIAMBindings 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,gcpjet} +type ServiceIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceIAMBindingSpec `json:"spec"` + Status ServiceIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceIAMBindingList contains a list of ServiceIAMBindings +type ServiceIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServiceIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + ServiceIAMBinding_Kind = "ServiceIAMBinding" + ServiceIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceIAMBinding_Kind}.String() + ServiceIAMBinding_KindAPIVersion = ServiceIAMBinding_Kind + "." + CRDGroupVersion.String() + ServiceIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(ServiceIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&ServiceIAMBinding{}, &ServiceIAMBindingList{}) +} diff --git a/apis/endpoints/v1alpha1/zz_serviceiammember_terraformed.go b/apis/endpoints/v1alpha1/zz_serviceiammember_terraformed.go new file mode 100755 index 00000000..dace5dd3 --- /dev/null +++ b/apis/endpoints/v1alpha1/zz_serviceiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServiceIAMMember +func (mg *ServiceIAMMember) GetTerraformResourceType() string { + return "google_endpoints_service_iam_member" +} + +// GetConnectionDetailsMapping for this ServiceIAMMember +func (tr *ServiceIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServiceIAMMember +func (tr *ServiceIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServiceIAMMember +func (tr *ServiceIAMMember) SetObservation(obs map[string]interface{}) 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 ServiceIAMMember +func (tr *ServiceIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServiceIAMMember +func (tr *ServiceIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServiceIAMMember +func (tr *ServiceIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServiceIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServiceIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceIAMMemberParameters{} + 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 *ServiceIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/endpoints/v1alpha1/zz_serviceiammember_types.go b/apis/endpoints/v1alpha1/zz_serviceiammember_types.go new file mode 100755 index 00000000..611821dc --- /dev/null +++ b/apis/endpoints/v1alpha1/zz_serviceiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ServiceIAMMemberConditionObservation struct { +} + +type ServiceIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type ServiceIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ServiceIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []ServiceIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + ServiceName *string `json:"serviceName" tf:"service_name,omitempty"` +} + +// ServiceIAMMemberSpec defines the desired state of ServiceIAMMember +type ServiceIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceIAMMemberParameters `json:"forProvider"` +} + +// ServiceIAMMemberStatus defines the observed state of ServiceIAMMember. +type ServiceIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceIAMMember is the Schema for the ServiceIAMMembers 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,gcpjet} +type ServiceIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceIAMMemberSpec `json:"spec"` + Status ServiceIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceIAMMemberList contains a list of ServiceIAMMembers +type ServiceIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServiceIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + ServiceIAMMember_Kind = "ServiceIAMMember" + ServiceIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceIAMMember_Kind}.String() + ServiceIAMMember_KindAPIVersion = ServiceIAMMember_Kind + "." + CRDGroupVersion.String() + ServiceIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(ServiceIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&ServiceIAMMember{}, &ServiceIAMMemberList{}) +} diff --git a/apis/endpoints/v1alpha1/zz_serviceiampolicy_terraformed.go b/apis/endpoints/v1alpha1/zz_serviceiampolicy_terraformed.go new file mode 100755 index 00000000..45f599da --- /dev/null +++ b/apis/endpoints/v1alpha1/zz_serviceiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ServiceIAMPolicy +func (mg *ServiceIAMPolicy) GetTerraformResourceType() string { + return "google_endpoints_service_iam_policy" +} + +// GetConnectionDetailsMapping for this ServiceIAMPolicy +func (tr *ServiceIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ServiceIAMPolicy +func (tr *ServiceIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ServiceIAMPolicy +func (tr *ServiceIAMPolicy) SetObservation(obs map[string]interface{}) 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 ServiceIAMPolicy +func (tr *ServiceIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ServiceIAMPolicy +func (tr *ServiceIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ServiceIAMPolicy +func (tr *ServiceIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ServiceIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ServiceIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &ServiceIAMPolicyParameters{} + 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 *ServiceIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/endpoints/v1alpha1/zz_serviceiampolicy_types.go b/apis/endpoints/v1alpha1/zz_serviceiampolicy_types.go new file mode 100755 index 00000000..84011fc1 --- /dev/null +++ b/apis/endpoints/v1alpha1/zz_serviceiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ServiceIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ServiceIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Required + ServiceName *string `json:"serviceName" tf:"service_name,omitempty"` +} + +// ServiceIAMPolicySpec defines the desired state of ServiceIAMPolicy +type ServiceIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ServiceIAMPolicyParameters `json:"forProvider"` +} + +// ServiceIAMPolicyStatus defines the observed state of ServiceIAMPolicy. +type ServiceIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ServiceIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceIAMPolicy is the Schema for the ServiceIAMPolicys 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,gcpjet} +type ServiceIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ServiceIAMPolicySpec `json:"spec"` + Status ServiceIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ServiceIAMPolicyList contains a list of ServiceIAMPolicys +type ServiceIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ServiceIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + ServiceIAMPolicy_Kind = "ServiceIAMPolicy" + ServiceIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceIAMPolicy_Kind}.String() + ServiceIAMPolicy_KindAPIVersion = ServiceIAMPolicy_Kind + "." + CRDGroupVersion.String() + ServiceIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(ServiceIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&ServiceIAMPolicy{}, &ServiceIAMPolicyList{}) +} diff --git a/apis/essentialcontacts/v1alpha1/zz_contact_terraformed.go b/apis/essentialcontacts/v1alpha1/zz_contact_terraformed.go new file mode 100755 index 00000000..83bd0cdc --- /dev/null +++ b/apis/essentialcontacts/v1alpha1/zz_contact_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Contact +func (mg *Contact) GetTerraformResourceType() string { + return "google_essential_contacts_contact" +} + +// GetConnectionDetailsMapping for this Contact +func (tr *Contact) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Contact +func (tr *Contact) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Contact +func (tr *Contact) SetObservation(obs map[string]interface{}) 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 Contact +func (tr *Contact) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Contact +func (tr *Contact) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Contact +func (tr *Contact) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Contact using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Contact) LateInitialize(attrs []byte) (bool, error) { + params := &ContactParameters{} + 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 *Contact) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/essentialcontacts/v1alpha1/zz_contact_types.go b/apis/essentialcontacts/v1alpha1/zz_contact_types.go new file mode 100755 index 00000000..75c70ebe --- /dev/null +++ b/apis/essentialcontacts/v1alpha1/zz_contact_types.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ContactObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type ContactParameters struct { + + // The email address to send notifications to. This does not need to be a Google account. + // +kubebuilder:validation:Required + Email *string `json:"email" tf:"email,omitempty"` + + // The preferred language for notifications, as a ISO 639-1 language code. See Supported languages for a list of supported languages. + // +kubebuilder:validation:Required + LanguageTag *string `json:"languageTag" tf:"language_tag,omitempty"` + + // The categories of notifications that the contact will receive communications for. + // +kubebuilder:validation:Required + NotificationCategorySubscriptions []*string `json:"notificationCategorySubscriptions" tf:"notification_category_subscriptions,omitempty"` + + // The resource to save this contact for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id} + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` +} + +// ContactSpec defines the desired state of Contact +type ContactSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ContactParameters `json:"forProvider"` +} + +// ContactStatus defines the observed state of Contact. +type ContactStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ContactObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Contact is the Schema for the Contacts 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,gcpjet} +type Contact struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ContactSpec `json:"spec"` + Status ContactStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ContactList contains a list of Contacts +type ContactList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Contact `json:"items"` +} + +// Repository type metadata. +var ( + Contact_Kind = "Contact" + Contact_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Contact_Kind}.String() + Contact_KindAPIVersion = Contact_Kind + "." + CRDGroupVersion.String() + Contact_GroupVersionKind = CRDGroupVersion.WithKind(Contact_Kind) +) + +func init() { + SchemeBuilder.Register(&Contact{}, &ContactList{}) +} diff --git a/apis/essentialcontacts/v1alpha1/zz_generated.deepcopy.go b/apis/essentialcontacts/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..b50a3876 --- /dev/null +++ b/apis/essentialcontacts/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,184 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Contact) DeepCopyInto(out *Contact) { + *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 Contact. +func (in *Contact) DeepCopy() *Contact { + if in == nil { + return nil + } + out := new(Contact) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Contact) 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 *ContactList) DeepCopyInto(out *ContactList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Contact, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContactList. +func (in *ContactList) DeepCopy() *ContactList { + if in == nil { + return nil + } + out := new(ContactList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ContactList) 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 *ContactObservation) DeepCopyInto(out *ContactObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContactObservation. +func (in *ContactObservation) DeepCopy() *ContactObservation { + if in == nil { + return nil + } + out := new(ContactObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContactParameters) DeepCopyInto(out *ContactParameters) { + *out = *in + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = new(string) + **out = **in + } + if in.LanguageTag != nil { + in, out := &in.LanguageTag, &out.LanguageTag + *out = new(string) + **out = **in + } + if in.NotificationCategorySubscriptions != nil { + in, out := &in.NotificationCategorySubscriptions, &out.NotificationCategorySubscriptions + *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.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContactParameters. +func (in *ContactParameters) DeepCopy() *ContactParameters { + if in == nil { + return nil + } + out := new(ContactParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContactSpec) DeepCopyInto(out *ContactSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContactSpec. +func (in *ContactSpec) DeepCopy() *ContactSpec { + if in == nil { + return nil + } + out := new(ContactSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContactStatus) DeepCopyInto(out *ContactStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContactStatus. +func (in *ContactStatus) DeepCopy() *ContactStatus { + if in == nil { + return nil + } + out := new(ContactStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/essentialcontacts/v1alpha1/zz_generated.managed.go b/apis/essentialcontacts/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..437a5631 --- /dev/null +++ b/apis/essentialcontacts/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Contact. +func (mg *Contact) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Contact. +func (mg *Contact) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Contact. +func (mg *Contact) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Contact. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Contact) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Contact. +func (mg *Contact) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Contact. +func (mg *Contact) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Contact. +func (mg *Contact) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Contact. +func (mg *Contact) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Contact. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Contact) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Contact. +func (mg *Contact) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/essentialcontacts/v1alpha1/zz_generated.managedlist.go b/apis/essentialcontacts/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..bce2edfa --- /dev/null +++ b/apis/essentialcontacts/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this ContactList. +func (l *ContactList) 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/essentialcontacts/v1alpha1/zz_groupversion_info.go b/apis/essentialcontacts/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..00178a8b --- /dev/null +++ b/apis/essentialcontacts/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=essentialcontacts.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "essentialcontacts.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/eventarc/v1alpha1/zz_generated.deepcopy.go b/apis/eventarc/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..305aef50 --- /dev/null +++ b/apis/eventarc/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,433 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudRunServiceObservation) DeepCopyInto(out *CloudRunServiceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudRunServiceObservation. +func (in *CloudRunServiceObservation) DeepCopy() *CloudRunServiceObservation { + if in == nil { + return nil + } + out := new(CloudRunServiceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudRunServiceParameters) DeepCopyInto(out *CloudRunServiceParameters) { + *out = *in + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudRunServiceParameters. +func (in *CloudRunServiceParameters) DeepCopy() *CloudRunServiceParameters { + if in == nil { + return nil + } + out := new(CloudRunServiceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DestinationObservation) DeepCopyInto(out *DestinationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationObservation. +func (in *DestinationObservation) DeepCopy() *DestinationObservation { + if in == nil { + return nil + } + out := new(DestinationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DestinationParameters) DeepCopyInto(out *DestinationParameters) { + *out = *in + if in.CloudFunction != nil { + in, out := &in.CloudFunction, &out.CloudFunction + *out = new(string) + **out = **in + } + if in.CloudRunService != nil { + in, out := &in.CloudRunService, &out.CloudRunService + *out = make([]CloudRunServiceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationParameters. +func (in *DestinationParameters) DeepCopy() *DestinationParameters { + if in == nil { + return nil + } + out := new(DestinationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchingCriteriaObservation) DeepCopyInto(out *MatchingCriteriaObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchingCriteriaObservation. +func (in *MatchingCriteriaObservation) DeepCopy() *MatchingCriteriaObservation { + if in == nil { + return nil + } + out := new(MatchingCriteriaObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchingCriteriaParameters) DeepCopyInto(out *MatchingCriteriaParameters) { + *out = *in + if in.Attribute != nil { + in, out := &in.Attribute, &out.Attribute + *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 MatchingCriteriaParameters. +func (in *MatchingCriteriaParameters) DeepCopy() *MatchingCriteriaParameters { + if in == nil { + return nil + } + out := new(MatchingCriteriaParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PubsubObservation) DeepCopyInto(out *PubsubObservation) { + *out = *in + if in.Subscription != nil { + in, out := &in.Subscription, &out.Subscription + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PubsubObservation. +func (in *PubsubObservation) DeepCopy() *PubsubObservation { + if in == nil { + return nil + } + out := new(PubsubObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PubsubParameters) DeepCopyInto(out *PubsubParameters) { + *out = *in + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PubsubParameters. +func (in *PubsubParameters) DeepCopy() *PubsubParameters { + if in == nil { + return nil + } + out := new(PubsubParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransportObservation) DeepCopyInto(out *TransportObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransportObservation. +func (in *TransportObservation) DeepCopy() *TransportObservation { + if in == nil { + return nil + } + out := new(TransportObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransportParameters) DeepCopyInto(out *TransportParameters) { + *out = *in + if in.Pubsub != nil { + in, out := &in.Pubsub, &out.Pubsub + *out = make([]PubsubParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransportParameters. +func (in *TransportParameters) DeepCopy() *TransportParameters { + if in == nil { + return nil + } + out := new(TransportParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Trigger) DeepCopyInto(out *Trigger) { + *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 Trigger. +func (in *Trigger) DeepCopy() *Trigger { + if in == nil { + return nil + } + out := new(Trigger) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Trigger) 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 *TriggerList) DeepCopyInto(out *TriggerList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Trigger, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerList. +func (in *TriggerList) DeepCopy() *TriggerList { + if in == nil { + return nil + } + out := new(TriggerList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TriggerList) 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 *TriggerObservation) DeepCopyInto(out *TriggerObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.UID != nil { + in, out := &in.UID, &out.UID + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerObservation. +func (in *TriggerObservation) DeepCopy() *TriggerObservation { + if in == nil { + return nil + } + out := new(TriggerObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggerParameters) DeepCopyInto(out *TriggerParameters) { + *out = *in + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = make([]DestinationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.MatchingCriteria != nil { + in, out := &in.MatchingCriteria, &out.MatchingCriteria + *out = make([]MatchingCriteriaParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } + if in.Transport != nil { + in, out := &in.Transport, &out.Transport + *out = make([]TransportParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerParameters. +func (in *TriggerParameters) DeepCopy() *TriggerParameters { + if in == nil { + return nil + } + out := new(TriggerParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggerSpec) DeepCopyInto(out *TriggerSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerSpec. +func (in *TriggerSpec) DeepCopy() *TriggerSpec { + if in == nil { + return nil + } + out := new(TriggerSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TriggerStatus) DeepCopyInto(out *TriggerStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggerStatus. +func (in *TriggerStatus) DeepCopy() *TriggerStatus { + if in == nil { + return nil + } + out := new(TriggerStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/eventarc/v1alpha1/zz_generated.managed.go b/apis/eventarc/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..07939dee --- /dev/null +++ b/apis/eventarc/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Trigger. +func (mg *Trigger) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Trigger. +func (mg *Trigger) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Trigger. +func (mg *Trigger) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Trigger. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Trigger) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Trigger. +func (mg *Trigger) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Trigger. +func (mg *Trigger) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Trigger. +func (mg *Trigger) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Trigger. +func (mg *Trigger) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Trigger. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Trigger) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Trigger. +func (mg *Trigger) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/eventarc/v1alpha1/zz_generated.managedlist.go b/apis/eventarc/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..3c27c97c --- /dev/null +++ b/apis/eventarc/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this TriggerList. +func (l *TriggerList) 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/eventarc/v1alpha1/zz_groupversion_info.go b/apis/eventarc/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..c4aa5c05 --- /dev/null +++ b/apis/eventarc/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=eventarc.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "eventarc.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/eventarc/v1alpha1/zz_trigger_terraformed.go b/apis/eventarc/v1alpha1/zz_trigger_terraformed.go new file mode 100755 index 00000000..43d169c8 --- /dev/null +++ b/apis/eventarc/v1alpha1/zz_trigger_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Trigger +func (mg *Trigger) GetTerraformResourceType() string { + return "google_eventarc_trigger" +} + +// GetConnectionDetailsMapping for this Trigger +func (tr *Trigger) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Trigger +func (tr *Trigger) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Trigger +func (tr *Trigger) SetObservation(obs map[string]interface{}) 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 Trigger +func (tr *Trigger) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Trigger +func (tr *Trigger) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Trigger +func (tr *Trigger) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Trigger using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Trigger) LateInitialize(attrs []byte) (bool, error) { + params := &TriggerParameters{} + 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 *Trigger) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/eventarc/v1alpha1/zz_trigger_types.go b/apis/eventarc/v1alpha1/zz_trigger_types.go new file mode 100755 index 00000000..587ae083 --- /dev/null +++ b/apis/eventarc/v1alpha1/zz_trigger_types.go @@ -0,0 +1,189 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CloudRunServiceObservation struct { +} + +type CloudRunServiceParameters struct { + + // Optional. The relative path on the Cloud Run service the events should be sent to. The value must conform to the definition of URI path segment (section 3.3 of RFC2396). Examples: "/route", "route", "route/subroute". + // +kubebuilder:validation:Optional + Path *string `json:"path,omitempty" tf:"path,omitempty"` + + // Required. The region the Cloud Run service is deployed in. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // Required. The name of the Cloud Run service being addressed. See https://cloud.google.com/run/docs/reference/rest/v1/namespaces.services. Only services located in the same project of the trigger object can be addressed. + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +type DestinationObservation struct { +} + +type DestinationParameters struct { + + // The Cloud Function resource name. Only Cloud Functions V2 is supported. Format: projects/{project}/locations/{location}/functions/{function} + // +kubebuilder:validation:Optional + CloudFunction *string `json:"cloudFunction,omitempty" tf:"cloud_function,omitempty"` + + // Cloud Run fully-managed service that receives the events. The service should be running in the same project of the trigger. + // +kubebuilder:validation:Optional + CloudRunService []CloudRunServiceParameters `json:"cloudRunService,omitempty" tf:"cloud_run_service,omitempty"` +} + +type MatchingCriteriaObservation struct { +} + +type MatchingCriteriaParameters struct { + + // Required. The name of a CloudEvents attribute. Currently, only a subset of attributes are supported for filtering. All triggers MUST provide a filter for the 'type' attribute. + // +kubebuilder:validation:Required + Attribute *string `json:"attribute" tf:"attribute,omitempty"` + + // Required. The value for the attribute. + // +kubebuilder:validation:Required + Value *string `json:"value" tf:"value,omitempty"` +} + +type PubsubObservation struct { + Subscription *string `json:"subscription,omitempty" tf:"subscription,omitempty"` +} + +type PubsubParameters struct { + + // Optional. The name of the Pub/Sub topic created and managed by Eventarc system as a transport for the event delivery. Format: `projects/{PROJECT_ID}/topics/{TOPIC_NAME You may set an existing topic for triggers of the type google.cloud.pubsub.topic.v1.messagePublished` only. The topic you provide here will not be deleted by Eventarc at trigger deletion. + // +kubebuilder:validation:Optional + Topic *string `json:"topic,omitempty" tf:"topic,omitempty"` +} + +type TransportObservation struct { +} + +type TransportParameters struct { + + // The Pub/Sub topic and subscription used by Eventarc as delivery intermediary. + // +kubebuilder:validation:Optional + Pubsub []PubsubParameters `json:"pubsub,omitempty" tf:"pubsub,omitempty"` +} + +type TriggerObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + UID *string `json:"uid,omitempty" tf:"uid,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type TriggerParameters struct { + + // Required. Destination specifies where the events should be sent to. + // +kubebuilder:validation:Required + Destination []DestinationParameters `json:"destination" tf:"destination,omitempty"` + + // Optional. User labels attached to the triggers that can be used to group resources. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The location for the resource + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // Required. null The list of filters that applies to event attributes. Only events that match all the provided filters will be sent to the destination. + // +kubebuilder:validation:Required + MatchingCriteria []MatchingCriteriaParameters `json:"matchingCriteria" tf:"matching_criteria,omitempty"` + + // Required. The resource name of the trigger. Must be unique within the location on the project and must be in `projects/{project}/locations/{location}/triggers/{trigger}` format. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The project for the resource + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Optional. The IAM service account email associated with the trigger. The service account represents the identity of the trigger. The principal who calls this API must have `iam.serviceAccounts.actAs` permission in the service account. See https://cloud.google.com/iam/docs/understanding-service-accounts?hl=en#sa_common for more information. For Cloud Run destinations, this service account is used to generate identity tokens when invoking the service. See https://cloud.google.com/run/docs/triggering/pubsub-push#create-service-account for information on how to invoke authenticated Cloud Run services. In order to create Audit Log triggers, the service account should also have `roles/eventarc.eventReceiver` IAM role. + // +kubebuilder:validation:Optional + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // Optional. In order to deliver messages, Eventarc may use other GCP products as transport intermediary. This field contains a reference to that transport intermediary. This information can be used for debugging purposes. + // +kubebuilder:validation:Optional + Transport []TransportParameters `json:"transport,omitempty" tf:"transport,omitempty"` +} + +// TriggerSpec defines the desired state of Trigger +type TriggerSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TriggerParameters `json:"forProvider"` +} + +// TriggerStatus defines the observed state of Trigger. +type TriggerStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TriggerObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Trigger is the Schema for the Triggers 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,gcpjet} +type Trigger struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TriggerSpec `json:"spec"` + Status TriggerStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TriggerList contains a list of Triggers +type TriggerList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Trigger `json:"items"` +} + +// Repository type metadata. +var ( + Trigger_Kind = "Trigger" + Trigger_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Trigger_Kind}.String() + Trigger_KindAPIVersion = Trigger_Kind + "." + CRDGroupVersion.String() + Trigger_GroupVersionKind = CRDGroupVersion.WithKind(Trigger_Kind) +) + +func init() { + SchemeBuilder.Register(&Trigger{}, &TriggerList{}) +} diff --git a/apis/filestore/v1alpha1/zz_generated.deepcopy.go b/apis/filestore/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..9779dea8 --- /dev/null +++ b/apis/filestore/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,319 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FileSharesObservation) DeepCopyInto(out *FileSharesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileSharesObservation. +func (in *FileSharesObservation) DeepCopy() *FileSharesObservation { + if in == nil { + return nil + } + out := new(FileSharesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FileSharesParameters) DeepCopyInto(out *FileSharesParameters) { + *out = *in + if in.CapacityGb != nil { + in, out := &in.CapacityGb, &out.CapacityGb + *out = new(int64) + **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 FileSharesParameters. +func (in *FileSharesParameters) DeepCopy() *FileSharesParameters { + if in == nil { + return nil + } + out := new(FileSharesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Instance) DeepCopyInto(out *Instance) { + *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 Instance. +func (in *Instance) DeepCopy() *Instance { + if in == nil { + return nil + } + out := new(Instance) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Instance) 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 *InstanceList) DeepCopyInto(out *InstanceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Instance, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList. +func (in *InstanceList) DeepCopy() *InstanceList { + if in == nil { + return nil + } + out := new(InstanceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceList) 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 *InstanceObservation) DeepCopyInto(out *InstanceObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceObservation. +func (in *InstanceObservation) DeepCopy() *InstanceObservation { + if in == nil { + return nil + } + out := new(InstanceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.FileShares != nil { + in, out := &in.FileShares, &out.FileShares + *out = make([]FileSharesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Networks != nil { + in, out := &in.Networks, &out.Networks + *out = make([]NetworksParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceParameters. +func (in *InstanceParameters) DeepCopy() *InstanceParameters { + if in == nil { + return nil + } + out := new(InstanceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec. +func (in *InstanceSpec) DeepCopy() *InstanceSpec { + if in == nil { + return nil + } + out := new(InstanceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus. +func (in *InstanceStatus) DeepCopy() *InstanceStatus { + if in == nil { + return nil + } + out := new(InstanceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworksObservation) DeepCopyInto(out *NetworksObservation) { + *out = *in + if in.IPAddresses != nil { + in, out := &in.IPAddresses, &out.IPAddresses + *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 NetworksObservation. +func (in *NetworksObservation) DeepCopy() *NetworksObservation { + if in == nil { + return nil + } + out := new(NetworksObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworksParameters) DeepCopyInto(out *NetworksParameters) { + *out = *in + if in.Modes != nil { + in, out := &in.Modes, &out.Modes + *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.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.ReservedIPRange != nil { + in, out := &in.ReservedIPRange, &out.ReservedIPRange + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworksParameters. +func (in *NetworksParameters) DeepCopy() *NetworksParameters { + if in == nil { + return nil + } + out := new(NetworksParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/filestore/v1alpha1/zz_generated.managed.go b/apis/filestore/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..f3014e16 --- /dev/null +++ b/apis/filestore/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Instance. +func (mg *Instance) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Instance. +func (mg *Instance) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Instance. +func (mg *Instance) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Instance. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Instance) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Instance. +func (mg *Instance) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Instance. +func (mg *Instance) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Instance. +func (mg *Instance) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Instance. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Instance) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/filestore/v1alpha1/zz_generated.managedlist.go b/apis/filestore/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..ac5165ff --- /dev/null +++ b/apis/filestore/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this InstanceList. +func (l *InstanceList) 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/filestore/v1alpha1/zz_groupversion_info.go b/apis/filestore/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..67cba300 --- /dev/null +++ b/apis/filestore/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=filestore.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "filestore.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/filestore/v1alpha1/zz_instance_terraformed.go b/apis/filestore/v1alpha1/zz_instance_terraformed.go new file mode 100755 index 00000000..4276be7f --- /dev/null +++ b/apis/filestore/v1alpha1/zz_instance_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Instance +func (mg *Instance) GetTerraformResourceType() string { + return "google_filestore_instance" +} + +// GetConnectionDetailsMapping for this Instance +func (tr *Instance) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Instance +func (tr *Instance) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Instance +func (tr *Instance) SetObservation(obs map[string]interface{}) 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 Instance +func (tr *Instance) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Instance +func (tr *Instance) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Instance +func (tr *Instance) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Instance using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Instance) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceParameters{} + 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 *Instance) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/filestore/v1alpha1/zz_instance_types.go b/apis/filestore/v1alpha1/zz_instance_types.go new file mode 100755 index 00000000..d746c18a --- /dev/null +++ b/apis/filestore/v1alpha1/zz_instance_types.go @@ -0,0 +1,156 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FileSharesObservation struct { +} + +type FileSharesParameters struct { + + // File share capacity in GiB. This must be at least 1024 GiB + // for the standard tier, or 2560 GiB for the premium tier. + // +kubebuilder:validation:Required + CapacityGb *int64 `json:"capacityGb" tf:"capacity_gb,omitempty"` + + // The name of the fileshare (16 characters or less) + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type InstanceObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceParameters struct { + + // A description of the instance. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // File system shares on the instance. For this version, only a + // single file share is supported. + // +kubebuilder:validation:Required + FileShares []FileSharesParameters `json:"fileShares" tf:"file_shares,omitempty"` + + // Resource labels to represent user-provided metadata. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The resource name of the instance. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // VPC networks to which the instance is connected. For this version, + // only a single network is supported. + // +kubebuilder:validation:Required + Networks []NetworksParameters `json:"networks" tf:"networks,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The service tier of the instance. Possible values: ["TIER_UNSPECIFIED", "STANDARD", "PREMIUM", "BASIC_HDD", "BASIC_SSD", "HIGH_SCALE_SSD"] + // +kubebuilder:validation:Required + Tier *string `json:"tier" tf:"tier,omitempty"` + + // The name of the Filestore zone of the instance. + // +kubebuilder:validation:Required + Zone *string `json:"zone" tf:"zone,omitempty"` +} + +type NetworksObservation struct { + IPAddresses []*string `json:"ipAddresses,omitempty" tf:"ip_addresses,omitempty"` +} + +type NetworksParameters struct { + + // IP versions for which the instance has + // IP addresses assigned. Possible values: ["ADDRESS_MODE_UNSPECIFIED", "MODE_IPV4", "MODE_IPV6"] + // +kubebuilder:validation:Required + Modes []*string `json:"modes" tf:"modes,omitempty"` + + // The name of the GCE VPC network to which the + // instance is connected. + // +kubebuilder:validation:Required + Network *string `json:"network" tf:"network,omitempty"` + + // A /29 CIDR block that identifies the range of IP + // addresses reserved for this instance. + // +kubebuilder:validation:Optional + ReservedIPRange *string `json:"reservedIpRange,omitempty" tf:"reserved_ip_range,omitempty"` +} + +// InstanceSpec defines the desired state of Instance +type InstanceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceParameters `json:"forProvider"` +} + +// InstanceStatus defines the observed state of Instance. +type InstanceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Instance is the Schema for the Instances 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,gcpjet} +type Instance struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceSpec `json:"spec"` + Status InstanceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceList contains a list of Instances +type InstanceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Instance `json:"items"` +} + +// Repository type metadata. +var ( + Instance_Kind = "Instance" + Instance_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Instance_Kind}.String() + Instance_KindAPIVersion = Instance_Kind + "." + CRDGroupVersion.String() + Instance_GroupVersionKind = CRDGroupVersion.WithKind(Instance_Kind) +) + +func init() { + SchemeBuilder.Register(&Instance{}, &InstanceList{}) +} diff --git a/apis/firestore/v1alpha1/zz_document_terraformed.go b/apis/firestore/v1alpha1/zz_document_terraformed.go new file mode 100755 index 00000000..8fdafc6a --- /dev/null +++ b/apis/firestore/v1alpha1/zz_document_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Document +func (mg *Document) GetTerraformResourceType() string { + return "google_firestore_document" +} + +// GetConnectionDetailsMapping for this Document +func (tr *Document) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Document +func (tr *Document) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Document +func (tr *Document) SetObservation(obs map[string]interface{}) 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 Document +func (tr *Document) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Document +func (tr *Document) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Document +func (tr *Document) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Document using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Document) LateInitialize(attrs []byte) (bool, error) { + params := &DocumentParameters{} + 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 *Document) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/firestore/v1alpha1/zz_document_types.go b/apis/firestore/v1alpha1/zz_document_types.go new file mode 100755 index 00000000..2d0fca3e --- /dev/null +++ b/apis/firestore/v1alpha1/zz_document_types.go @@ -0,0 +1,109 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DocumentObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + Path *string `json:"path,omitempty" tf:"path,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type DocumentParameters struct { + + // The collection ID, relative to database. For example: chatrooms or chatrooms/my-document/private-messages. + // +kubebuilder:validation:Required + Collection *string `json:"collection" tf:"collection,omitempty"` + + // The Firestore database id. Defaults to '"(default)"'. + // +kubebuilder:validation:Optional + Database *string `json:"database,omitempty" tf:"database,omitempty"` + + // The client-assigned document ID to use for this document during creation. + // +kubebuilder:validation:Required + DocumentID *string `json:"documentId" tf:"document_id,omitempty"` + + // The document's [fields](https://cloud.google.com/firestore/docs/reference/rest/v1/projects.databases.documents) formated as a json string. + // +kubebuilder:validation:Required + Fields *string `json:"fields" tf:"fields,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// DocumentSpec defines the desired state of Document +type DocumentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DocumentParameters `json:"forProvider"` +} + +// DocumentStatus defines the observed state of Document. +type DocumentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DocumentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Document is the Schema for the Documents 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,gcpjet} +type Document struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DocumentSpec `json:"spec"` + Status DocumentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DocumentList contains a list of Documents +type DocumentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Document `json:"items"` +} + +// Repository type metadata. +var ( + Document_Kind = "Document" + Document_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Document_Kind}.String() + Document_KindAPIVersion = Document_Kind + "." + CRDGroupVersion.String() + Document_GroupVersionKind = CRDGroupVersion.WithKind(Document_Kind) +) + +func init() { + SchemeBuilder.Register(&Document{}, &DocumentList{}) +} diff --git a/apis/firestore/v1alpha1/zz_generated.deepcopy.go b/apis/firestore/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..262a3242 --- /dev/null +++ b/apis/firestore/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,403 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Document) DeepCopyInto(out *Document) { + *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 Document. +func (in *Document) DeepCopy() *Document { + if in == nil { + return nil + } + out := new(Document) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Document) 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 *DocumentList) DeepCopyInto(out *DocumentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Document, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DocumentList. +func (in *DocumentList) DeepCopy() *DocumentList { + if in == nil { + return nil + } + out := new(DocumentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DocumentList) 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 *DocumentObservation) DeepCopyInto(out *DocumentObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *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.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DocumentObservation. +func (in *DocumentObservation) DeepCopy() *DocumentObservation { + if in == nil { + return nil + } + out := new(DocumentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DocumentParameters) DeepCopyInto(out *DocumentParameters) { + *out = *in + if in.Collection != nil { + in, out := &in.Collection, &out.Collection + *out = new(string) + **out = **in + } + if in.Database != nil { + in, out := &in.Database, &out.Database + *out = new(string) + **out = **in + } + if in.DocumentID != nil { + in, out := &in.DocumentID, &out.DocumentID + *out = new(string) + **out = **in + } + if in.Fields != nil { + in, out := &in.Fields, &out.Fields + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DocumentParameters. +func (in *DocumentParameters) DeepCopy() *DocumentParameters { + if in == nil { + return nil + } + out := new(DocumentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DocumentSpec) DeepCopyInto(out *DocumentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DocumentSpec. +func (in *DocumentSpec) DeepCopy() *DocumentSpec { + if in == nil { + return nil + } + out := new(DocumentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DocumentStatus) DeepCopyInto(out *DocumentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DocumentStatus. +func (in *DocumentStatus) DeepCopy() *DocumentStatus { + if in == nil { + return nil + } + out := new(DocumentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FieldsObservation) DeepCopyInto(out *FieldsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FieldsObservation. +func (in *FieldsObservation) DeepCopy() *FieldsObservation { + if in == nil { + return nil + } + out := new(FieldsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FieldsParameters) DeepCopyInto(out *FieldsParameters) { + *out = *in + if in.ArrayConfig != nil { + in, out := &in.ArrayConfig, &out.ArrayConfig + *out = new(string) + **out = **in + } + if in.FieldPath != nil { + in, out := &in.FieldPath, &out.FieldPath + *out = new(string) + **out = **in + } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FieldsParameters. +func (in *FieldsParameters) DeepCopy() *FieldsParameters { + if in == nil { + return nil + } + out := new(FieldsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Index) DeepCopyInto(out *Index) { + *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 Index. +func (in *Index) DeepCopy() *Index { + if in == nil { + return nil + } + out := new(Index) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Index) 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 *IndexList) DeepCopyInto(out *IndexList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Index, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexList. +func (in *IndexList) DeepCopy() *IndexList { + if in == nil { + return nil + } + out := new(IndexList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IndexList) 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 *IndexObservation) DeepCopyInto(out *IndexObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexObservation. +func (in *IndexObservation) DeepCopy() *IndexObservation { + if in == nil { + return nil + } + out := new(IndexObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IndexParameters) DeepCopyInto(out *IndexParameters) { + *out = *in + if in.Collection != nil { + in, out := &in.Collection, &out.Collection + *out = new(string) + **out = **in + } + if in.Database != nil { + in, out := &in.Database, &out.Database + *out = new(string) + **out = **in + } + if in.Fields != nil { + in, out := &in.Fields, &out.Fields + *out = make([]FieldsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.QueryScope != nil { + in, out := &in.QueryScope, &out.QueryScope + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexParameters. +func (in *IndexParameters) DeepCopy() *IndexParameters { + if in == nil { + return nil + } + out := new(IndexParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IndexSpec) DeepCopyInto(out *IndexSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexSpec. +func (in *IndexSpec) DeepCopy() *IndexSpec { + if in == nil { + return nil + } + out := new(IndexSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IndexStatus) DeepCopyInto(out *IndexStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexStatus. +func (in *IndexStatus) DeepCopy() *IndexStatus { + if in == nil { + return nil + } + out := new(IndexStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/firestore/v1alpha1/zz_generated.managed.go b/apis/firestore/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..101e72bb --- /dev/null +++ b/apis/firestore/v1alpha1/zz_generated.managed.go @@ -0,0 +1,132 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Document. +func (mg *Document) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Document. +func (mg *Document) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Document. +func (mg *Document) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Document. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Document) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Document. +func (mg *Document) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Document. +func (mg *Document) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Document. +func (mg *Document) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Document. +func (mg *Document) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Document. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Document) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Document. +func (mg *Document) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Index. +func (mg *Index) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Index. +func (mg *Index) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Index. +func (mg *Index) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Index. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Index) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Index. +func (mg *Index) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Index. +func (mg *Index) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Index. +func (mg *Index) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Index. +func (mg *Index) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Index. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Index) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Index. +func (mg *Index) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/firestore/v1alpha1/zz_generated.managedlist.go b/apis/firestore/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..964457e7 --- /dev/null +++ b/apis/firestore/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,38 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this DocumentList. +func (l *DocumentList) 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 IndexList. +func (l *IndexList) 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/firestore/v1alpha1/zz_groupversion_info.go b/apis/firestore/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..79ee61f6 --- /dev/null +++ b/apis/firestore/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=firestore.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "firestore.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/firestore/v1alpha1/zz_index_terraformed.go b/apis/firestore/v1alpha1/zz_index_terraformed.go new file mode 100755 index 00000000..7d446f50 --- /dev/null +++ b/apis/firestore/v1alpha1/zz_index_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Index +func (mg *Index) GetTerraformResourceType() string { + return "google_firestore_index" +} + +// GetConnectionDetailsMapping for this Index +func (tr *Index) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Index +func (tr *Index) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Index +func (tr *Index) SetObservation(obs map[string]interface{}) 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 Index +func (tr *Index) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Index +func (tr *Index) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Index +func (tr *Index) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Index using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Index) LateInitialize(attrs []byte) (bool, error) { + params := &IndexParameters{} + 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 *Index) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/firestore/v1alpha1/zz_index_types.go b/apis/firestore/v1alpha1/zz_index_types.go new file mode 100755 index 00000000..40c46c07 --- /dev/null +++ b/apis/firestore/v1alpha1/zz_index_types.go @@ -0,0 +1,128 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FieldsObservation struct { +} + +type FieldsParameters struct { + + // Indicates that this field supports operations on arrayValues. Only one of 'order' and 'arrayConfig' can + // be specified. Possible values: ["CONTAINS"] + // +kubebuilder:validation:Optional + ArrayConfig *string `json:"arrayConfig,omitempty" tf:"array_config,omitempty"` + + // Name of the field. + // +kubebuilder:validation:Optional + FieldPath *string `json:"fieldPath,omitempty" tf:"field_path,omitempty"` + + // Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=. + // Only one of 'order' and 'arrayConfig' can be specified. Possible values: ["ASCENDING", "DESCENDING"] + // +kubebuilder:validation:Optional + Order *string `json:"order,omitempty" tf:"order,omitempty"` +} + +type IndexObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type IndexParameters struct { + + // The collection being indexed. + // +kubebuilder:validation:Required + Collection *string `json:"collection" tf:"collection,omitempty"` + + // The Firestore database id. Defaults to '"(default)"'. + // +kubebuilder:validation:Optional + Database *string `json:"database,omitempty" tf:"database,omitempty"` + + // The fields supported by this index. The last field entry is always for + // the field path '__name__'. If, on creation, '__name__' was not + // specified as the last field, it will be added automatically with the + // same direction as that of the last field defined. If the final field + // in a composite index is not directional, the '__name__' will be + // ordered '"ASCENDING"' (unless explicitly specified otherwise). + // +kubebuilder:validation:Required + Fields []FieldsParameters `json:"fields" tf:"fields,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The scope at which a query is run. Default value: "COLLECTION" Possible values: ["COLLECTION", "COLLECTION_GROUP"] + // +kubebuilder:validation:Optional + QueryScope *string `json:"queryScope,omitempty" tf:"query_scope,omitempty"` +} + +// IndexSpec defines the desired state of Index +type IndexSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider IndexParameters `json:"forProvider"` +} + +// IndexStatus defines the observed state of Index. +type IndexStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider IndexObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Index is the Schema for the Indexs 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,gcpjet} +type Index struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec IndexSpec `json:"spec"` + Status IndexStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// IndexList contains a list of Indexs +type IndexList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Index `json:"items"` +} + +// Repository type metadata. +var ( + Index_Kind = "Index" + Index_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Index_Kind}.String() + Index_KindAPIVersion = Index_Kind + "." + CRDGroupVersion.String() + Index_GroupVersionKind = CRDGroupVersion.WithKind(Index_Kind) +) + +func init() { + SchemeBuilder.Register(&Index{}, &IndexList{}) +} diff --git a/apis/gameservices/v1alpha1/zz_gameservercluster_terraformed.go b/apis/gameservices/v1alpha1/zz_gameservercluster_terraformed.go new file mode 100755 index 00000000..c3925764 --- /dev/null +++ b/apis/gameservices/v1alpha1/zz_gameservercluster_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this GameServerCluster +func (mg *GameServerCluster) GetTerraformResourceType() string { + return "google_game_services_game_server_cluster" +} + +// GetConnectionDetailsMapping for this GameServerCluster +func (tr *GameServerCluster) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this GameServerCluster +func (tr *GameServerCluster) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this GameServerCluster +func (tr *GameServerCluster) SetObservation(obs map[string]interface{}) 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 GameServerCluster +func (tr *GameServerCluster) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this GameServerCluster +func (tr *GameServerCluster) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this GameServerCluster +func (tr *GameServerCluster) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this GameServerCluster using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *GameServerCluster) LateInitialize(attrs []byte) (bool, error) { + params := &GameServerClusterParameters{} + 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 *GameServerCluster) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/gameservices/v1alpha1/zz_gameservercluster_types.go b/apis/gameservices/v1alpha1/zz_gameservercluster_types.go new file mode 100755 index 00000000..c918022d --- /dev/null +++ b/apis/gameservices/v1alpha1/zz_gameservercluster_types.go @@ -0,0 +1,148 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConnectionInfoObservation struct { +} + +type ConnectionInfoParameters struct { + + // Reference of the GKE cluster where the game servers are installed. + // +kubebuilder:validation:Required + GkeClusterReference []GkeClusterReferenceParameters `json:"gkeClusterReference" tf:"gke_cluster_reference,omitempty"` + + // Namespace designated on the game server cluster where the game server + // instances will be created. The namespace existence will be validated + // during creation. + // +kubebuilder:validation:Required + Namespace *string `json:"namespace" tf:"namespace,omitempty"` +} + +type GameServerClusterObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type GameServerClusterParameters struct { + + // Required. The resource name of the game server cluster + // +kubebuilder:validation:Required + ClusterID *string `json:"clusterId" tf:"cluster_id,omitempty"` + + // Game server cluster connection information. This information is used to + // manage game server clusters. + // +kubebuilder:validation:Required + ConnectionInfo []ConnectionInfoParameters `json:"connectionInfo" tf:"connection_info,omitempty"` + + // Human readable description of the cluster. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The labels associated with this game server cluster. Each label is a + // key-value pair. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Location of the Cluster. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The realm id of the game server realm. + // +kubebuilder:validation:Required + RealmID *string `json:"realmId" tf:"realm_id,omitempty"` +} + +type GkeClusterReferenceObservation struct { +} + +type GkeClusterReferenceParameters struct { + + // The full or partial name of a GKE cluster, using one of the following + // forms: + // + // * 'projects/{project_id}/locations/{location}/clusters/{cluster_id}' + // * 'locations/{location}/clusters/{cluster_id}' + // * '{cluster_id}' + // + // If project and location are not specified, the project and location of the + // GameServerCluster resource are used to generate the full name of the + // GKE cluster. + // +kubebuilder:validation:Required + Cluster *string `json:"cluster" tf:"cluster,omitempty"` +} + +// GameServerClusterSpec defines the desired state of GameServerCluster +type GameServerClusterSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider GameServerClusterParameters `json:"forProvider"` +} + +// GameServerClusterStatus defines the observed state of GameServerCluster. +type GameServerClusterStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider GameServerClusterObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// GameServerCluster is the Schema for the GameServerClusters 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,gcpjet} +type GameServerCluster struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec GameServerClusterSpec `json:"spec"` + Status GameServerClusterStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// GameServerClusterList contains a list of GameServerClusters +type GameServerClusterList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GameServerCluster `json:"items"` +} + +// Repository type metadata. +var ( + GameServerCluster_Kind = "GameServerCluster" + GameServerCluster_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: GameServerCluster_Kind}.String() + GameServerCluster_KindAPIVersion = GameServerCluster_Kind + "." + CRDGroupVersion.String() + GameServerCluster_GroupVersionKind = CRDGroupVersion.WithKind(GameServerCluster_Kind) +) + +func init() { + SchemeBuilder.Register(&GameServerCluster{}, &GameServerClusterList{}) +} diff --git a/apis/gameservices/v1alpha1/zz_gameserverconfig_terraformed.go b/apis/gameservices/v1alpha1/zz_gameserverconfig_terraformed.go new file mode 100755 index 00000000..4fb285bf --- /dev/null +++ b/apis/gameservices/v1alpha1/zz_gameserverconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this GameServerConfig +func (mg *GameServerConfig) GetTerraformResourceType() string { + return "google_game_services_game_server_config" +} + +// GetConnectionDetailsMapping for this GameServerConfig +func (tr *GameServerConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this GameServerConfig +func (tr *GameServerConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this GameServerConfig +func (tr *GameServerConfig) SetObservation(obs map[string]interface{}) 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 GameServerConfig +func (tr *GameServerConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this GameServerConfig +func (tr *GameServerConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this GameServerConfig +func (tr *GameServerConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this GameServerConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *GameServerConfig) LateInitialize(attrs []byte) (bool, error) { + params := &GameServerConfigParameters{} + 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 *GameServerConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/gameservices/v1alpha1/zz_gameserverconfig_types.go b/apis/gameservices/v1alpha1/zz_gameserverconfig_types.go new file mode 100755 index 00000000..a1705c87 --- /dev/null +++ b/apis/gameservices/v1alpha1/zz_gameserverconfig_types.go @@ -0,0 +1,206 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FleetConfigsObservation struct { +} + +type FleetConfigsParameters struct { + + // The fleet spec, which is sent to Agones to configure fleet. + // The spec can be passed as inline json but it is recommended to use a file reference + // instead. File references can contain the json or yaml format of the fleet spec. Eg: + // + // * fleet_spec = jsonencode(yamldecode(file("fleet_configs.yaml"))) + // * fleet_spec = file("fleet_configs.json") + // + // The format of the spec can be found : + // 'https://agones.dev/site/docs/reference/fleet/'. + // +kubebuilder:validation:Required + FleetSpec *string `json:"fleetSpec" tf:"fleet_spec,omitempty"` + + // The name of the FleetConfig. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type GameServerConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type GameServerConfigParameters struct { + + // A unique id for the deployment config. + // +kubebuilder:validation:Required + ConfigID *string `json:"configId" tf:"config_id,omitempty"` + + // A unique id for the deployment. + // +kubebuilder:validation:Required + DeploymentID *string `json:"deploymentId" tf:"deployment_id,omitempty"` + + // The description of the game server config. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The fleet config contains list of fleet specs. In the Single Cloud, there + // will be only one. + // +kubebuilder:validation:Required + FleetConfigs []FleetConfigsParameters `json:"fleetConfigs" tf:"fleet_configs,omitempty"` + + // The labels associated with this game server config. Each label is a + // key-value pair. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Location of the Deployment. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Optional. This contains the autoscaling settings. + // +kubebuilder:validation:Optional + ScalingConfigs []ScalingConfigsParameters `json:"scalingConfigs,omitempty" tf:"scaling_configs,omitempty"` +} + +type ScalingConfigsObservation struct { +} + +type ScalingConfigsParameters struct { + + // Fleet autoscaler spec, which is sent to Agones. + // Example spec can be found : + // https://agones.dev/site/docs/reference/fleetautoscaler/ + // +kubebuilder:validation:Required + FleetAutoscalerSpec *string `json:"fleetAutoscalerSpec" tf:"fleet_autoscaler_spec,omitempty"` + + // The name of the ScalingConfig + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The schedules to which this scaling config applies. + // +kubebuilder:validation:Optional + Schedules []SchedulesParameters `json:"schedules,omitempty" tf:"schedules,omitempty"` + + // Labels used to identify the clusters to which this scaling config + // applies. A cluster is subject to this scaling config if its labels match + // any of the selector entries. + // +kubebuilder:validation:Optional + Selectors []SelectorsParameters `json:"selectors,omitempty" tf:"selectors,omitempty"` +} + +type SchedulesObservation struct { +} + +type SchedulesParameters struct { + + // The duration for the cron job event. The duration of the event is effective + // after the cron job's start time. + // + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + CronJobDuration *string `json:"cronJobDuration,omitempty" tf:"cron_job_duration,omitempty"` + + // The cron definition of the scheduled event. See + // https://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as + // defined by the realm. + // +kubebuilder:validation:Optional + CronSpec *string `json:"cronSpec,omitempty" tf:"cron_spec,omitempty"` + + // The end time of the event. + // + // A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". + // +kubebuilder:validation:Optional + EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"` + + // The start time of the event. + // + // A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". + // +kubebuilder:validation:Optional + StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"` +} + +type SelectorsObservation struct { +} + +type SelectorsParameters struct { + + // Set of labels to group by. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` +} + +// GameServerConfigSpec defines the desired state of GameServerConfig +type GameServerConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider GameServerConfigParameters `json:"forProvider"` +} + +// GameServerConfigStatus defines the observed state of GameServerConfig. +type GameServerConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider GameServerConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// GameServerConfig is the Schema for the GameServerConfigs 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,gcpjet} +type GameServerConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec GameServerConfigSpec `json:"spec"` + Status GameServerConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// GameServerConfigList contains a list of GameServerConfigs +type GameServerConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GameServerConfig `json:"items"` +} + +// Repository type metadata. +var ( + GameServerConfig_Kind = "GameServerConfig" + GameServerConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: GameServerConfig_Kind}.String() + GameServerConfig_KindAPIVersion = GameServerConfig_Kind + "." + CRDGroupVersion.String() + GameServerConfig_GroupVersionKind = CRDGroupVersion.WithKind(GameServerConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&GameServerConfig{}, &GameServerConfigList{}) +} diff --git a/apis/gameservices/v1alpha1/zz_gameserverdeployment_terraformed.go b/apis/gameservices/v1alpha1/zz_gameserverdeployment_terraformed.go new file mode 100755 index 00000000..6ee5e7c5 --- /dev/null +++ b/apis/gameservices/v1alpha1/zz_gameserverdeployment_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this GameServerDeployment +func (mg *GameServerDeployment) GetTerraformResourceType() string { + return "google_game_services_game_server_deployment" +} + +// GetConnectionDetailsMapping for this GameServerDeployment +func (tr *GameServerDeployment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this GameServerDeployment +func (tr *GameServerDeployment) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this GameServerDeployment +func (tr *GameServerDeployment) SetObservation(obs map[string]interface{}) 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 GameServerDeployment +func (tr *GameServerDeployment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this GameServerDeployment +func (tr *GameServerDeployment) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this GameServerDeployment +func (tr *GameServerDeployment) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this GameServerDeployment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *GameServerDeployment) LateInitialize(attrs []byte) (bool, error) { + params := &GameServerDeploymentParameters{} + 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 *GameServerDeployment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/gameservices/v1alpha1/zz_gameserverdeployment_types.go b/apis/gameservices/v1alpha1/zz_gameserverdeployment_types.go new file mode 100755 index 00000000..95c05363 --- /dev/null +++ b/apis/gameservices/v1alpha1/zz_gameserverdeployment_types.go @@ -0,0 +1,104 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 GameServerDeploymentObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type GameServerDeploymentParameters struct { + + // A unique id for the deployment. + // +kubebuilder:validation:Required + DeploymentID *string `json:"deploymentId" tf:"deployment_id,omitempty"` + + // Human readable description of the game server deployment. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The labels associated with this game server deployment. Each label is a + // key-value pair. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Location of the Deployment. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// GameServerDeploymentSpec defines the desired state of GameServerDeployment +type GameServerDeploymentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider GameServerDeploymentParameters `json:"forProvider"` +} + +// GameServerDeploymentStatus defines the observed state of GameServerDeployment. +type GameServerDeploymentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider GameServerDeploymentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// GameServerDeployment is the Schema for the GameServerDeployments 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,gcpjet} +type GameServerDeployment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec GameServerDeploymentSpec `json:"spec"` + Status GameServerDeploymentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// GameServerDeploymentList contains a list of GameServerDeployments +type GameServerDeploymentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GameServerDeployment `json:"items"` +} + +// Repository type metadata. +var ( + GameServerDeployment_Kind = "GameServerDeployment" + GameServerDeployment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: GameServerDeployment_Kind}.String() + GameServerDeployment_KindAPIVersion = GameServerDeployment_Kind + "." + CRDGroupVersion.String() + GameServerDeployment_GroupVersionKind = CRDGroupVersion.WithKind(GameServerDeployment_Kind) +) + +func init() { + SchemeBuilder.Register(&GameServerDeployment{}, &GameServerDeploymentList{}) +} diff --git a/apis/gameservices/v1alpha1/zz_gameserverdeploymentrollout_terraformed.go b/apis/gameservices/v1alpha1/zz_gameserverdeploymentrollout_terraformed.go new file mode 100755 index 00000000..033d4545 --- /dev/null +++ b/apis/gameservices/v1alpha1/zz_gameserverdeploymentrollout_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this GameServerDeploymentRollout +func (mg *GameServerDeploymentRollout) GetTerraformResourceType() string { + return "google_game_services_game_server_deployment_rollout" +} + +// GetConnectionDetailsMapping for this GameServerDeploymentRollout +func (tr *GameServerDeploymentRollout) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this GameServerDeploymentRollout +func (tr *GameServerDeploymentRollout) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this GameServerDeploymentRollout +func (tr *GameServerDeploymentRollout) SetObservation(obs map[string]interface{}) 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 GameServerDeploymentRollout +func (tr *GameServerDeploymentRollout) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this GameServerDeploymentRollout +func (tr *GameServerDeploymentRollout) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this GameServerDeploymentRollout +func (tr *GameServerDeploymentRollout) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this GameServerDeploymentRollout using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *GameServerDeploymentRollout) LateInitialize(attrs []byte) (bool, error) { + params := &GameServerDeploymentRolloutParameters{} + 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 *GameServerDeploymentRollout) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/gameservices/v1alpha1/zz_gameserverdeploymentrollout_types.go b/apis/gameservices/v1alpha1/zz_gameserverdeploymentrollout_types.go new file mode 100755 index 00000000..21f2c876 --- /dev/null +++ b/apis/gameservices/v1alpha1/zz_gameserverdeploymentrollout_types.go @@ -0,0 +1,129 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 GameServerConfigOverridesObservation struct { +} + +type GameServerConfigOverridesParameters struct { + + // Version of the configuration. + // +kubebuilder:validation:Optional + ConfigVersion *string `json:"configVersion,omitempty" tf:"config_version,omitempty"` + + // Selection by realms. + // +kubebuilder:validation:Optional + RealmsSelector []RealmsSelectorParameters `json:"realmsSelector,omitempty" tf:"realms_selector,omitempty"` +} + +type GameServerDeploymentRolloutObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type GameServerDeploymentRolloutParameters struct { + + // This field points to the game server config that is + // applied by default to all realms and clusters. For example, + // + // 'projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config'. + // +kubebuilder:validation:Required + DefaultGameServerConfig *string `json:"defaultGameServerConfig" tf:"default_game_server_config,omitempty"` + + // The deployment to rollout the new config to. Only 1 rollout must be associated with each deployment. + // +kubebuilder:validation:Required + DeploymentID *string `json:"deploymentId" tf:"deployment_id,omitempty"` + + // The game_server_config_overrides contains the per game server config + // overrides. The overrides are processed in the order they are listed. As + // soon as a match is found for a cluster, the rest of the list is not + // processed. + // +kubebuilder:validation:Optional + GameServerConfigOverrides []GameServerConfigOverridesParameters `json:"gameServerConfigOverrides,omitempty" tf:"game_server_config_overrides,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +type RealmsSelectorObservation struct { +} + +type RealmsSelectorParameters struct { + + // List of realms to match against. + // +kubebuilder:validation:Optional + Realms []*string `json:"realms,omitempty" tf:"realms,omitempty"` +} + +// GameServerDeploymentRolloutSpec defines the desired state of GameServerDeploymentRollout +type GameServerDeploymentRolloutSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider GameServerDeploymentRolloutParameters `json:"forProvider"` +} + +// GameServerDeploymentRolloutStatus defines the observed state of GameServerDeploymentRollout. +type GameServerDeploymentRolloutStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider GameServerDeploymentRolloutObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// GameServerDeploymentRollout is the Schema for the GameServerDeploymentRollouts 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,gcpjet} +type GameServerDeploymentRollout struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec GameServerDeploymentRolloutSpec `json:"spec"` + Status GameServerDeploymentRolloutStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// GameServerDeploymentRolloutList contains a list of GameServerDeploymentRollouts +type GameServerDeploymentRolloutList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []GameServerDeploymentRollout `json:"items"` +} + +// Repository type metadata. +var ( + GameServerDeploymentRollout_Kind = "GameServerDeploymentRollout" + GameServerDeploymentRollout_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: GameServerDeploymentRollout_Kind}.String() + GameServerDeploymentRollout_KindAPIVersion = GameServerDeploymentRollout_Kind + "." + CRDGroupVersion.String() + GameServerDeploymentRollout_GroupVersionKind = CRDGroupVersion.WithKind(GameServerDeploymentRollout_Kind) +) + +func init() { + SchemeBuilder.Register(&GameServerDeploymentRollout{}, &GameServerDeploymentRolloutList{}) +} diff --git a/apis/gameservices/v1alpha1/zz_generated.deepcopy.go b/apis/gameservices/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..ee90bab6 --- /dev/null +++ b/apis/gameservices/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1242 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectionInfoObservation) DeepCopyInto(out *ConnectionInfoObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionInfoObservation. +func (in *ConnectionInfoObservation) DeepCopy() *ConnectionInfoObservation { + if in == nil { + return nil + } + out := new(ConnectionInfoObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectionInfoParameters) DeepCopyInto(out *ConnectionInfoParameters) { + *out = *in + if in.GkeClusterReference != nil { + in, out := &in.GkeClusterReference, &out.GkeClusterReference + *out = make([]GkeClusterReferenceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionInfoParameters. +func (in *ConnectionInfoParameters) DeepCopy() *ConnectionInfoParameters { + if in == nil { + return nil + } + out := new(ConnectionInfoParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FleetConfigsObservation) DeepCopyInto(out *FleetConfigsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FleetConfigsObservation. +func (in *FleetConfigsObservation) DeepCopy() *FleetConfigsObservation { + if in == nil { + return nil + } + out := new(FleetConfigsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FleetConfigsParameters) DeepCopyInto(out *FleetConfigsParameters) { + *out = *in + if in.FleetSpec != nil { + in, out := &in.FleetSpec, &out.FleetSpec + *out = new(string) + **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 FleetConfigsParameters. +func (in *FleetConfigsParameters) DeepCopy() *FleetConfigsParameters { + if in == nil { + return nil + } + out := new(FleetConfigsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerCluster) DeepCopyInto(out *GameServerCluster) { + *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 GameServerCluster. +func (in *GameServerCluster) DeepCopy() *GameServerCluster { + if in == nil { + return nil + } + out := new(GameServerCluster) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GameServerCluster) 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 *GameServerClusterList) DeepCopyInto(out *GameServerClusterList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GameServerCluster, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerClusterList. +func (in *GameServerClusterList) DeepCopy() *GameServerClusterList { + if in == nil { + return nil + } + out := new(GameServerClusterList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GameServerClusterList) 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 *GameServerClusterObservation) DeepCopyInto(out *GameServerClusterObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerClusterObservation. +func (in *GameServerClusterObservation) DeepCopy() *GameServerClusterObservation { + if in == nil { + return nil + } + out := new(GameServerClusterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerClusterParameters) DeepCopyInto(out *GameServerClusterParameters) { + *out = *in + if in.ClusterID != nil { + in, out := &in.ClusterID, &out.ClusterID + *out = new(string) + **out = **in + } + if in.ConnectionInfo != nil { + in, out := &in.ConnectionInfo, &out.ConnectionInfo + *out = make([]ConnectionInfoParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RealmID != nil { + in, out := &in.RealmID, &out.RealmID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerClusterParameters. +func (in *GameServerClusterParameters) DeepCopy() *GameServerClusterParameters { + if in == nil { + return nil + } + out := new(GameServerClusterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerClusterSpec) DeepCopyInto(out *GameServerClusterSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerClusterSpec. +func (in *GameServerClusterSpec) DeepCopy() *GameServerClusterSpec { + if in == nil { + return nil + } + out := new(GameServerClusterSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerClusterStatus) DeepCopyInto(out *GameServerClusterStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerClusterStatus. +func (in *GameServerClusterStatus) DeepCopy() *GameServerClusterStatus { + if in == nil { + return nil + } + out := new(GameServerClusterStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerConfig) DeepCopyInto(out *GameServerConfig) { + *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 GameServerConfig. +func (in *GameServerConfig) DeepCopy() *GameServerConfig { + if in == nil { + return nil + } + out := new(GameServerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GameServerConfig) 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 *GameServerConfigList) DeepCopyInto(out *GameServerConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GameServerConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerConfigList. +func (in *GameServerConfigList) DeepCopy() *GameServerConfigList { + if in == nil { + return nil + } + out := new(GameServerConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GameServerConfigList) 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 *GameServerConfigObservation) DeepCopyInto(out *GameServerConfigObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerConfigObservation. +func (in *GameServerConfigObservation) DeepCopy() *GameServerConfigObservation { + if in == nil { + return nil + } + out := new(GameServerConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerConfigOverridesObservation) DeepCopyInto(out *GameServerConfigOverridesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerConfigOverridesObservation. +func (in *GameServerConfigOverridesObservation) DeepCopy() *GameServerConfigOverridesObservation { + if in == nil { + return nil + } + out := new(GameServerConfigOverridesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerConfigOverridesParameters) DeepCopyInto(out *GameServerConfigOverridesParameters) { + *out = *in + if in.ConfigVersion != nil { + in, out := &in.ConfigVersion, &out.ConfigVersion + *out = new(string) + **out = **in + } + if in.RealmsSelector != nil { + in, out := &in.RealmsSelector, &out.RealmsSelector + *out = make([]RealmsSelectorParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerConfigOverridesParameters. +func (in *GameServerConfigOverridesParameters) DeepCopy() *GameServerConfigOverridesParameters { + if in == nil { + return nil + } + out := new(GameServerConfigOverridesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerConfigParameters) DeepCopyInto(out *GameServerConfigParameters) { + *out = *in + if in.ConfigID != nil { + in, out := &in.ConfigID, &out.ConfigID + *out = new(string) + **out = **in + } + if in.DeploymentID != nil { + in, out := &in.DeploymentID, &out.DeploymentID + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.FleetConfigs != nil { + in, out := &in.FleetConfigs, &out.FleetConfigs + *out = make([]FleetConfigsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ScalingConfigs != nil { + in, out := &in.ScalingConfigs, &out.ScalingConfigs + *out = make([]ScalingConfigsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerConfigParameters. +func (in *GameServerConfigParameters) DeepCopy() *GameServerConfigParameters { + if in == nil { + return nil + } + out := new(GameServerConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerConfigSpec) DeepCopyInto(out *GameServerConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerConfigSpec. +func (in *GameServerConfigSpec) DeepCopy() *GameServerConfigSpec { + if in == nil { + return nil + } + out := new(GameServerConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerConfigStatus) DeepCopyInto(out *GameServerConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerConfigStatus. +func (in *GameServerConfigStatus) DeepCopy() *GameServerConfigStatus { + if in == nil { + return nil + } + out := new(GameServerConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerDeployment) DeepCopyInto(out *GameServerDeployment) { + *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 GameServerDeployment. +func (in *GameServerDeployment) DeepCopy() *GameServerDeployment { + if in == nil { + return nil + } + out := new(GameServerDeployment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GameServerDeployment) 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 *GameServerDeploymentList) DeepCopyInto(out *GameServerDeploymentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GameServerDeployment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerDeploymentList. +func (in *GameServerDeploymentList) DeepCopy() *GameServerDeploymentList { + if in == nil { + return nil + } + out := new(GameServerDeploymentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GameServerDeploymentList) 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 *GameServerDeploymentObservation) DeepCopyInto(out *GameServerDeploymentObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerDeploymentObservation. +func (in *GameServerDeploymentObservation) DeepCopy() *GameServerDeploymentObservation { + if in == nil { + return nil + } + out := new(GameServerDeploymentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerDeploymentParameters) DeepCopyInto(out *GameServerDeploymentParameters) { + *out = *in + if in.DeploymentID != nil { + in, out := &in.DeploymentID, &out.DeploymentID + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerDeploymentParameters. +func (in *GameServerDeploymentParameters) DeepCopy() *GameServerDeploymentParameters { + if in == nil { + return nil + } + out := new(GameServerDeploymentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerDeploymentRollout) DeepCopyInto(out *GameServerDeploymentRollout) { + *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 GameServerDeploymentRollout. +func (in *GameServerDeploymentRollout) DeepCopy() *GameServerDeploymentRollout { + if in == nil { + return nil + } + out := new(GameServerDeploymentRollout) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GameServerDeploymentRollout) 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 *GameServerDeploymentRolloutList) DeepCopyInto(out *GameServerDeploymentRolloutList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]GameServerDeploymentRollout, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerDeploymentRolloutList. +func (in *GameServerDeploymentRolloutList) DeepCopy() *GameServerDeploymentRolloutList { + if in == nil { + return nil + } + out := new(GameServerDeploymentRolloutList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GameServerDeploymentRolloutList) 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 *GameServerDeploymentRolloutObservation) DeepCopyInto(out *GameServerDeploymentRolloutObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerDeploymentRolloutObservation. +func (in *GameServerDeploymentRolloutObservation) DeepCopy() *GameServerDeploymentRolloutObservation { + if in == nil { + return nil + } + out := new(GameServerDeploymentRolloutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerDeploymentRolloutParameters) DeepCopyInto(out *GameServerDeploymentRolloutParameters) { + *out = *in + if in.DefaultGameServerConfig != nil { + in, out := &in.DefaultGameServerConfig, &out.DefaultGameServerConfig + *out = new(string) + **out = **in + } + if in.DeploymentID != nil { + in, out := &in.DeploymentID, &out.DeploymentID + *out = new(string) + **out = **in + } + if in.GameServerConfigOverrides != nil { + in, out := &in.GameServerConfigOverrides, &out.GameServerConfigOverrides + *out = make([]GameServerConfigOverridesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerDeploymentRolloutParameters. +func (in *GameServerDeploymentRolloutParameters) DeepCopy() *GameServerDeploymentRolloutParameters { + if in == nil { + return nil + } + out := new(GameServerDeploymentRolloutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerDeploymentRolloutSpec) DeepCopyInto(out *GameServerDeploymentRolloutSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerDeploymentRolloutSpec. +func (in *GameServerDeploymentRolloutSpec) DeepCopy() *GameServerDeploymentRolloutSpec { + if in == nil { + return nil + } + out := new(GameServerDeploymentRolloutSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerDeploymentRolloutStatus) DeepCopyInto(out *GameServerDeploymentRolloutStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerDeploymentRolloutStatus. +func (in *GameServerDeploymentRolloutStatus) DeepCopy() *GameServerDeploymentRolloutStatus { + if in == nil { + return nil + } + out := new(GameServerDeploymentRolloutStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerDeploymentSpec) DeepCopyInto(out *GameServerDeploymentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerDeploymentSpec. +func (in *GameServerDeploymentSpec) DeepCopy() *GameServerDeploymentSpec { + if in == nil { + return nil + } + out := new(GameServerDeploymentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GameServerDeploymentStatus) DeepCopyInto(out *GameServerDeploymentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GameServerDeploymentStatus. +func (in *GameServerDeploymentStatus) DeepCopy() *GameServerDeploymentStatus { + if in == nil { + return nil + } + out := new(GameServerDeploymentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GkeClusterReferenceObservation) DeepCopyInto(out *GkeClusterReferenceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GkeClusterReferenceObservation. +func (in *GkeClusterReferenceObservation) DeepCopy() *GkeClusterReferenceObservation { + if in == nil { + return nil + } + out := new(GkeClusterReferenceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GkeClusterReferenceParameters) DeepCopyInto(out *GkeClusterReferenceParameters) { + *out = *in + if in.Cluster != nil { + in, out := &in.Cluster, &out.Cluster + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GkeClusterReferenceParameters. +func (in *GkeClusterReferenceParameters) DeepCopy() *GkeClusterReferenceParameters { + if in == nil { + return nil + } + out := new(GkeClusterReferenceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Realm) DeepCopyInto(out *Realm) { + *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 Realm. +func (in *Realm) DeepCopy() *Realm { + if in == nil { + return nil + } + out := new(Realm) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Realm) 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 *RealmList) DeepCopyInto(out *RealmList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Realm, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RealmList. +func (in *RealmList) DeepCopy() *RealmList { + if in == nil { + return nil + } + out := new(RealmList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RealmList) 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 *RealmObservation) DeepCopyInto(out *RealmObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RealmObservation. +func (in *RealmObservation) DeepCopy() *RealmObservation { + if in == nil { + return nil + } + out := new(RealmObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RealmParameters) DeepCopyInto(out *RealmParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RealmID != nil { + in, out := &in.RealmID, &out.RealmID + *out = new(string) + **out = **in + } + if in.TimeZone != nil { + in, out := &in.TimeZone, &out.TimeZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RealmParameters. +func (in *RealmParameters) DeepCopy() *RealmParameters { + if in == nil { + return nil + } + out := new(RealmParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RealmSpec) DeepCopyInto(out *RealmSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RealmSpec. +func (in *RealmSpec) DeepCopy() *RealmSpec { + if in == nil { + return nil + } + out := new(RealmSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RealmStatus) DeepCopyInto(out *RealmStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RealmStatus. +func (in *RealmStatus) DeepCopy() *RealmStatus { + if in == nil { + return nil + } + out := new(RealmStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RealmsSelectorObservation) DeepCopyInto(out *RealmsSelectorObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RealmsSelectorObservation. +func (in *RealmsSelectorObservation) DeepCopy() *RealmsSelectorObservation { + if in == nil { + return nil + } + out := new(RealmsSelectorObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RealmsSelectorParameters) DeepCopyInto(out *RealmsSelectorParameters) { + *out = *in + if in.Realms != nil { + in, out := &in.Realms, &out.Realms + *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 RealmsSelectorParameters. +func (in *RealmsSelectorParameters) DeepCopy() *RealmsSelectorParameters { + if in == nil { + return nil + } + out := new(RealmsSelectorParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScalingConfigsObservation) DeepCopyInto(out *ScalingConfigsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingConfigsObservation. +func (in *ScalingConfigsObservation) DeepCopy() *ScalingConfigsObservation { + if in == nil { + return nil + } + out := new(ScalingConfigsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScalingConfigsParameters) DeepCopyInto(out *ScalingConfigsParameters) { + *out = *in + if in.FleetAutoscalerSpec != nil { + in, out := &in.FleetAutoscalerSpec, &out.FleetAutoscalerSpec + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Schedules != nil { + in, out := &in.Schedules, &out.Schedules + *out = make([]SchedulesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Selectors != nil { + in, out := &in.Selectors, &out.Selectors + *out = make([]SelectorsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingConfigsParameters. +func (in *ScalingConfigsParameters) DeepCopy() *ScalingConfigsParameters { + if in == nil { + return nil + } + out := new(ScalingConfigsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchedulesObservation) DeepCopyInto(out *SchedulesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulesObservation. +func (in *SchedulesObservation) DeepCopy() *SchedulesObservation { + if in == nil { + return nil + } + out := new(SchedulesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchedulesParameters) DeepCopyInto(out *SchedulesParameters) { + *out = *in + if in.CronJobDuration != nil { + in, out := &in.CronJobDuration, &out.CronJobDuration + *out = new(string) + **out = **in + } + if in.CronSpec != nil { + in, out := &in.CronSpec, &out.CronSpec + *out = new(string) + **out = **in + } + if in.EndTime != nil { + in, out := &in.EndTime, &out.EndTime + *out = new(string) + **out = **in + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulesParameters. +func (in *SchedulesParameters) DeepCopy() *SchedulesParameters { + if in == nil { + return nil + } + out := new(SchedulesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SelectorsObservation) DeepCopyInto(out *SelectorsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectorsObservation. +func (in *SelectorsObservation) DeepCopy() *SelectorsObservation { + if in == nil { + return nil + } + out := new(SelectorsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SelectorsParameters) DeepCopyInto(out *SelectorsParameters) { + *out = *in + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectorsParameters. +func (in *SelectorsParameters) DeepCopy() *SelectorsParameters { + if in == nil { + return nil + } + out := new(SelectorsParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/gameservices/v1alpha1/zz_generated.managed.go b/apis/gameservices/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..eb32c31d --- /dev/null +++ b/apis/gameservices/v1alpha1/zz_generated.managed.go @@ -0,0 +1,300 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this GameServerCluster. +func (mg *GameServerCluster) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this GameServerCluster. +func (mg *GameServerCluster) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this GameServerCluster. +func (mg *GameServerCluster) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this GameServerCluster. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *GameServerCluster) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this GameServerCluster. +func (mg *GameServerCluster) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this GameServerCluster. +func (mg *GameServerCluster) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this GameServerCluster. +func (mg *GameServerCluster) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this GameServerCluster. +func (mg *GameServerCluster) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this GameServerCluster. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *GameServerCluster) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this GameServerCluster. +func (mg *GameServerCluster) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this GameServerConfig. +func (mg *GameServerConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this GameServerConfig. +func (mg *GameServerConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this GameServerConfig. +func (mg *GameServerConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this GameServerConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *GameServerConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this GameServerConfig. +func (mg *GameServerConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this GameServerConfig. +func (mg *GameServerConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this GameServerConfig. +func (mg *GameServerConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this GameServerConfig. +func (mg *GameServerConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this GameServerConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *GameServerConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this GameServerConfig. +func (mg *GameServerConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this GameServerDeployment. +func (mg *GameServerDeployment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this GameServerDeployment. +func (mg *GameServerDeployment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this GameServerDeployment. +func (mg *GameServerDeployment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this GameServerDeployment. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *GameServerDeployment) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this GameServerDeployment. +func (mg *GameServerDeployment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this GameServerDeployment. +func (mg *GameServerDeployment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this GameServerDeployment. +func (mg *GameServerDeployment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this GameServerDeployment. +func (mg *GameServerDeployment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this GameServerDeployment. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *GameServerDeployment) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this GameServerDeployment. +func (mg *GameServerDeployment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this GameServerDeploymentRollout. +func (mg *GameServerDeploymentRollout) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this GameServerDeploymentRollout. +func (mg *GameServerDeploymentRollout) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this GameServerDeploymentRollout. +func (mg *GameServerDeploymentRollout) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this GameServerDeploymentRollout. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *GameServerDeploymentRollout) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this GameServerDeploymentRollout. +func (mg *GameServerDeploymentRollout) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this GameServerDeploymentRollout. +func (mg *GameServerDeploymentRollout) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this GameServerDeploymentRollout. +func (mg *GameServerDeploymentRollout) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this GameServerDeploymentRollout. +func (mg *GameServerDeploymentRollout) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this GameServerDeploymentRollout. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *GameServerDeploymentRollout) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this GameServerDeploymentRollout. +func (mg *GameServerDeploymentRollout) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Realm. +func (mg *Realm) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Realm. +func (mg *Realm) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Realm. +func (mg *Realm) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Realm. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Realm) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Realm. +func (mg *Realm) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Realm. +func (mg *Realm) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Realm. +func (mg *Realm) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Realm. +func (mg *Realm) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Realm. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Realm) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Realm. +func (mg *Realm) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/gameservices/v1alpha1/zz_generated.managedlist.go b/apis/gameservices/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..e1d68887 --- /dev/null +++ b/apis/gameservices/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,65 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this GameServerClusterList. +func (l *GameServerClusterList) 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 GameServerConfigList. +func (l *GameServerConfigList) 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 GameServerDeploymentList. +func (l *GameServerDeploymentList) 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 GameServerDeploymentRolloutList. +func (l *GameServerDeploymentRolloutList) 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 RealmList. +func (l *RealmList) 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/gameservices/v1alpha1/zz_groupversion_info.go b/apis/gameservices/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..2c21502a --- /dev/null +++ b/apis/gameservices/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=gameservices.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "gameservices.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/gameservices/v1alpha1/zz_realm_terraformed.go b/apis/gameservices/v1alpha1/zz_realm_terraformed.go new file mode 100755 index 00000000..65d64448 --- /dev/null +++ b/apis/gameservices/v1alpha1/zz_realm_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Realm +func (mg *Realm) GetTerraformResourceType() string { + return "google_game_services_realm" +} + +// GetConnectionDetailsMapping for this Realm +func (tr *Realm) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Realm +func (tr *Realm) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Realm +func (tr *Realm) SetObservation(obs map[string]interface{}) 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 Realm +func (tr *Realm) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Realm +func (tr *Realm) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Realm +func (tr *Realm) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Realm using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Realm) LateInitialize(attrs []byte) (bool, error) { + params := &RealmParameters{} + 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 *Realm) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/gameservices/v1alpha1/zz_realm_types.go b/apis/gameservices/v1alpha1/zz_realm_types.go new file mode 100755 index 00000000..cade4912 --- /dev/null +++ b/apis/gameservices/v1alpha1/zz_realm_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RealmObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type RealmParameters struct { + + // Human readable description of the realm. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The labels associated with this realm. Each label is a key-value pair. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Location of the Realm. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // GCP region of the Realm. + // +kubebuilder:validation:Required + RealmID *string `json:"realmId" tf:"realm_id,omitempty"` + + // Required. Time zone where all realm-specific policies are evaluated. The value of + // this field must be from the IANA time zone database: + // https://www.iana.org/time-zones. + // +kubebuilder:validation:Required + TimeZone *string `json:"timeZone" tf:"time_zone,omitempty"` +} + +// RealmSpec defines the desired state of Realm +type RealmSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RealmParameters `json:"forProvider"` +} + +// RealmStatus defines the observed state of Realm. +type RealmStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RealmObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Realm is the Schema for the Realms 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,gcpjet} +type Realm struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RealmSpec `json:"spec"` + Status RealmStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RealmList contains a list of Realms +type RealmList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Realm `json:"items"` +} + +// Repository type metadata. +var ( + Realm_Kind = "Realm" + Realm_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Realm_Kind}.String() + Realm_KindAPIVersion = Realm_Kind + "." + CRDGroupVersion.String() + Realm_GroupVersionKind = CRDGroupVersion.WithKind(Realm_Kind) +) + +func init() { + SchemeBuilder.Register(&Realm{}, &RealmList{}) +} diff --git a/apis/gkehub/v1alpha1/zz_generated.deepcopy.go b/apis/gkehub/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..a7fa3897 --- /dev/null +++ b/apis/gkehub/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,304 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuthorityObservation) DeepCopyInto(out *AuthorityObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthorityObservation. +func (in *AuthorityObservation) DeepCopy() *AuthorityObservation { + if in == nil { + return nil + } + out := new(AuthorityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuthorityParameters) DeepCopyInto(out *AuthorityParameters) { + *out = *in + if in.Issuer != nil { + in, out := &in.Issuer, &out.Issuer + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthorityParameters. +func (in *AuthorityParameters) DeepCopy() *AuthorityParameters { + if in == nil { + return nil + } + out := new(AuthorityParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EndpointObservation) DeepCopyInto(out *EndpointObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointObservation. +func (in *EndpointObservation) DeepCopy() *EndpointObservation { + if in == nil { + return nil + } + out := new(EndpointObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EndpointParameters) DeepCopyInto(out *EndpointParameters) { + *out = *in + if in.GkeCluster != nil { + in, out := &in.GkeCluster, &out.GkeCluster + *out = make([]GkeClusterParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointParameters. +func (in *EndpointParameters) DeepCopy() *EndpointParameters { + if in == nil { + return nil + } + out := new(EndpointParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GkeClusterObservation) DeepCopyInto(out *GkeClusterObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GkeClusterObservation. +func (in *GkeClusterObservation) DeepCopy() *GkeClusterObservation { + if in == nil { + return nil + } + out := new(GkeClusterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GkeClusterParameters) DeepCopyInto(out *GkeClusterParameters) { + *out = *in + if in.ResourceLink != nil { + in, out := &in.ResourceLink, &out.ResourceLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GkeClusterParameters. +func (in *GkeClusterParameters) DeepCopy() *GkeClusterParameters { + if in == nil { + return nil + } + out := new(GkeClusterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Membership) DeepCopyInto(out *Membership) { + *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 Membership. +func (in *Membership) DeepCopy() *Membership { + if in == nil { + return nil + } + out := new(Membership) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Membership) 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 *MembershipList) DeepCopyInto(out *MembershipList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Membership, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MembershipList. +func (in *MembershipList) DeepCopy() *MembershipList { + if in == nil { + return nil + } + out := new(MembershipList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MembershipList) 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 *MembershipObservation) DeepCopyInto(out *MembershipObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MembershipObservation. +func (in *MembershipObservation) DeepCopy() *MembershipObservation { + if in == nil { + return nil + } + out := new(MembershipObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MembershipParameters) DeepCopyInto(out *MembershipParameters) { + *out = *in + if in.Authority != nil { + in, out := &in.Authority, &out.Authority + *out = make([]AuthorityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Endpoint != nil { + in, out := &in.Endpoint, &out.Endpoint + *out = make([]EndpointParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.MembershipID != nil { + in, out := &in.MembershipID, &out.MembershipID + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MembershipParameters. +func (in *MembershipParameters) DeepCopy() *MembershipParameters { + if in == nil { + return nil + } + out := new(MembershipParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MembershipSpec) DeepCopyInto(out *MembershipSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MembershipSpec. +func (in *MembershipSpec) DeepCopy() *MembershipSpec { + if in == nil { + return nil + } + out := new(MembershipSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MembershipStatus) DeepCopyInto(out *MembershipStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MembershipStatus. +func (in *MembershipStatus) DeepCopy() *MembershipStatus { + if in == nil { + return nil + } + out := new(MembershipStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/gkehub/v1alpha1/zz_generated.managed.go b/apis/gkehub/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..7847bf6e --- /dev/null +++ b/apis/gkehub/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Membership. +func (mg *Membership) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Membership. +func (mg *Membership) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Membership. +func (mg *Membership) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Membership. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Membership) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Membership. +func (mg *Membership) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Membership. +func (mg *Membership) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Membership. +func (mg *Membership) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Membership. +func (mg *Membership) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Membership. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Membership) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Membership. +func (mg *Membership) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/gkehub/v1alpha1/zz_generated.managedlist.go b/apis/gkehub/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..f845f0c5 --- /dev/null +++ b/apis/gkehub/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this MembershipList. +func (l *MembershipList) 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/gkehub/v1alpha1/zz_groupversion_info.go b/apis/gkehub/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..aa4c4db6 --- /dev/null +++ b/apis/gkehub/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=gkehub.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "gkehub.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/gkehub/v1alpha1/zz_membership_terraformed.go b/apis/gkehub/v1alpha1/zz_membership_terraformed.go new file mode 100755 index 00000000..90fbad70 --- /dev/null +++ b/apis/gkehub/v1alpha1/zz_membership_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Membership +func (mg *Membership) GetTerraformResourceType() string { + return "google_gke_hub_membership" +} + +// GetConnectionDetailsMapping for this Membership +func (tr *Membership) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Membership +func (tr *Membership) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Membership +func (tr *Membership) SetObservation(obs map[string]interface{}) 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 Membership +func (tr *Membership) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Membership +func (tr *Membership) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Membership +func (tr *Membership) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Membership using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Membership) LateInitialize(attrs []byte) (bool, error) { + params := &MembershipParameters{} + 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 *Membership) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/gkehub/v1alpha1/zz_membership_types.go b/apis/gkehub/v1alpha1/zz_membership_types.go new file mode 100755 index 00000000..77f06ca9 --- /dev/null +++ b/apis/gkehub/v1alpha1/zz_membership_types.go @@ -0,0 +1,140 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AuthorityObservation struct { +} + +type AuthorityParameters struct { + + // A JSON Web Token (JWT) issuer URI. 'issuer' must start with 'https://' and // be a valid + // with length <2000 characters. For example: 'https://container.googleapis.com/v1/projects/my-project/locations/us-west1/clusters/my-cluster' (must be 'locations' rather than 'zones'). If the cluster is provisioned with Terraform, this is '"https://container.googleapis.com/v1/${google_container_cluster.my-cluster.id}"'. + // +kubebuilder:validation:Required + Issuer *string `json:"issuer" tf:"issuer,omitempty"` +} + +type EndpointObservation struct { +} + +type EndpointParameters struct { + + // If this Membership is a Kubernetes API server hosted on GKE, this is a self link to its GCP resource. + // +kubebuilder:validation:Optional + GkeCluster []GkeClusterParameters `json:"gkeCluster,omitempty" tf:"gke_cluster,omitempty"` +} + +type GkeClusterObservation struct { +} + +type GkeClusterParameters struct { + + // Self-link of the GCP resource for the GKE cluster. + // For example: '//container.googleapis.com/projects/my-project/zones/us-west1-a/clusters/my-cluster'. + // It can be at the most 1000 characters in length. If the cluster is provisioned with Terraform, + // this can be '"//container.googleapis.com/${google_container_cluster.my-cluster.id}"' or + // 'google_container_cluster.my-cluster.id'. + // +kubebuilder:validation:Required + ResourceLink *string `json:"resourceLink" tf:"resource_link,omitempty"` +} + +type MembershipObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type MembershipParameters struct { + + // Authority encodes how Google will recognize identities from this Membership. + // See the workload identity documentation for more details: + // https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity + // +kubebuilder:validation:Optional + Authority []AuthorityParameters `json:"authority,omitempty" tf:"authority,omitempty"` + + // If this Membership is a Kubernetes API server hosted on GKE, this is a self link to its GCP resource. + // +kubebuilder:validation:Optional + Endpoint []EndpointParameters `json:"endpoint,omitempty" tf:"endpoint,omitempty"` + + // Labels to apply to this membership. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The client-provided identifier of the membership. + // +kubebuilder:validation:Required + MembershipID *string `json:"membershipId" tf:"membership_id,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// MembershipSpec defines the desired state of Membership +type MembershipSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider MembershipParameters `json:"forProvider"` +} + +// MembershipStatus defines the observed state of Membership. +type MembershipStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider MembershipObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Membership is the Schema for the Memberships 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,gcpjet} +type Membership struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec MembershipSpec `json:"spec"` + Status MembershipStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// MembershipList contains a list of Memberships +type MembershipList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Membership `json:"items"` +} + +// Repository type metadata. +var ( + Membership_Kind = "Membership" + Membership_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Membership_Kind}.String() + Membership_KindAPIVersion = Membership_Kind + "." + CRDGroupVersion.String() + Membership_GroupVersionKind = CRDGroupVersion.WithKind(Membership_Kind) +) + +func init() { + SchemeBuilder.Register(&Membership{}, &MembershipList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_consentstore_terraformed.go b/apis/healthcare/v1alpha1/zz_consentstore_terraformed.go new file mode 100755 index 00000000..e0a5057e --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_consentstore_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ConsentStore +func (mg *ConsentStore) GetTerraformResourceType() string { + return "google_healthcare_consent_store" +} + +// GetConnectionDetailsMapping for this ConsentStore +func (tr *ConsentStore) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ConsentStore +func (tr *ConsentStore) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ConsentStore +func (tr *ConsentStore) SetObservation(obs map[string]interface{}) 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 ConsentStore +func (tr *ConsentStore) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ConsentStore +func (tr *ConsentStore) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ConsentStore +func (tr *ConsentStore) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ConsentStore using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ConsentStore) LateInitialize(attrs []byte) (bool, error) { + params := &ConsentStoreParameters{} + 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 *ConsentStore) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_consentstore_types.go b/apis/healthcare/v1alpha1/zz_consentstore_types.go new file mode 100755 index 00000000..78d86467 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_consentstore_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConsentStoreObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ConsentStoreParameters struct { + + // Identifies the dataset addressed by this request. Must be in the format + // 'projects/{project}/locations/{location}/datasets/{dataset}' + // +kubebuilder:validation:Required + Dataset *string `json:"dataset" tf:"dataset,omitempty"` + + // Default time to live for consents in this store. Must be at least 24 hours. Updating this field will not affect the expiration time of existing consents. + // + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + DefaultConsentTTL *string `json:"defaultConsentTtl,omitempty" tf:"default_consent_ttl,omitempty"` + + // If true, [consents.patch] [google.cloud.healthcare.v1.consent.UpdateConsent] creates the consent if it does not already exist. + // +kubebuilder:validation:Optional + EnableConsentCreateOnUpdate *bool `json:"enableConsentCreateOnUpdate,omitempty" tf:"enable_consent_create_on_update,omitempty"` + + // User-supplied key-value pairs used to organize Consent stores. + // + // Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must + // conform to the following PCRE regular expression: '[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}' + // + // Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 + // bytes, and must conform to the following PCRE regular expression: '[\p{Ll}\p{Lo}\p{N}_-]{0,63}' + // + // No more than 64 labels can be associated with a given store. + // + // An object containing a list of "key": value pairs. + // Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The name of this ConsentStore, for example: + // "consent1" + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +// ConsentStoreSpec defines the desired state of ConsentStore +type ConsentStoreSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ConsentStoreParameters `json:"forProvider"` +} + +// ConsentStoreStatus defines the observed state of ConsentStore. +type ConsentStoreStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ConsentStoreObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ConsentStore is the Schema for the ConsentStores 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,gcpjet} +type ConsentStore struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ConsentStoreSpec `json:"spec"` + Status ConsentStoreStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ConsentStoreList contains a list of ConsentStores +type ConsentStoreList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ConsentStore `json:"items"` +} + +// Repository type metadata. +var ( + ConsentStore_Kind = "ConsentStore" + ConsentStore_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ConsentStore_Kind}.String() + ConsentStore_KindAPIVersion = ConsentStore_Kind + "." + CRDGroupVersion.String() + ConsentStore_GroupVersionKind = CRDGroupVersion.WithKind(ConsentStore_Kind) +) + +func init() { + SchemeBuilder.Register(&ConsentStore{}, &ConsentStoreList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_consentstoreiambinding_terraformed.go b/apis/healthcare/v1alpha1/zz_consentstoreiambinding_terraformed.go new file mode 100755 index 00000000..f746ebbc --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_consentstoreiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ConsentStoreIAMBinding +func (mg *ConsentStoreIAMBinding) GetTerraformResourceType() string { + return "google_healthcare_consent_store_iam_binding" +} + +// GetConnectionDetailsMapping for this ConsentStoreIAMBinding +func (tr *ConsentStoreIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ConsentStoreIAMBinding +func (tr *ConsentStoreIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ConsentStoreIAMBinding +func (tr *ConsentStoreIAMBinding) SetObservation(obs map[string]interface{}) 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 ConsentStoreIAMBinding +func (tr *ConsentStoreIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ConsentStoreIAMBinding +func (tr *ConsentStoreIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ConsentStoreIAMBinding +func (tr *ConsentStoreIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ConsentStoreIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ConsentStoreIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &ConsentStoreIAMBindingParameters{} + 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 *ConsentStoreIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_consentstoreiambinding_types.go b/apis/healthcare/v1alpha1/zz_consentstoreiambinding_types.go new file mode 100755 index 00000000..dd37e1d5 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_consentstoreiambinding_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type ConsentStoreIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ConsentStoreIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + ConsentStoreID *string `json:"consentStoreId" tf:"consent_store_id,omitempty"` + + // +kubebuilder:validation:Required + Dataset *string `json:"dataset" tf:"dataset,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// ConsentStoreIAMBindingSpec defines the desired state of ConsentStoreIAMBinding +type ConsentStoreIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ConsentStoreIAMBindingParameters `json:"forProvider"` +} + +// ConsentStoreIAMBindingStatus defines the observed state of ConsentStoreIAMBinding. +type ConsentStoreIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ConsentStoreIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ConsentStoreIAMBinding is the Schema for the ConsentStoreIAMBindings 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,gcpjet} +type ConsentStoreIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ConsentStoreIAMBindingSpec `json:"spec"` + Status ConsentStoreIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ConsentStoreIAMBindingList contains a list of ConsentStoreIAMBindings +type ConsentStoreIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ConsentStoreIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + ConsentStoreIAMBinding_Kind = "ConsentStoreIAMBinding" + ConsentStoreIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ConsentStoreIAMBinding_Kind}.String() + ConsentStoreIAMBinding_KindAPIVersion = ConsentStoreIAMBinding_Kind + "." + CRDGroupVersion.String() + ConsentStoreIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(ConsentStoreIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&ConsentStoreIAMBinding{}, &ConsentStoreIAMBindingList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_consentstoreiammember_terraformed.go b/apis/healthcare/v1alpha1/zz_consentstoreiammember_terraformed.go new file mode 100755 index 00000000..198efb0a --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_consentstoreiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ConsentStoreIAMMember +func (mg *ConsentStoreIAMMember) GetTerraformResourceType() string { + return "google_healthcare_consent_store_iam_member" +} + +// GetConnectionDetailsMapping for this ConsentStoreIAMMember +func (tr *ConsentStoreIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ConsentStoreIAMMember +func (tr *ConsentStoreIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ConsentStoreIAMMember +func (tr *ConsentStoreIAMMember) SetObservation(obs map[string]interface{}) 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 ConsentStoreIAMMember +func (tr *ConsentStoreIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ConsentStoreIAMMember +func (tr *ConsentStoreIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ConsentStoreIAMMember +func (tr *ConsentStoreIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ConsentStoreIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ConsentStoreIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &ConsentStoreIAMMemberParameters{} + 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 *ConsentStoreIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_consentstoreiammember_types.go b/apis/healthcare/v1alpha1/zz_consentstoreiammember_types.go new file mode 100755 index 00000000..1b57426e --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_consentstoreiammember_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConsentStoreIAMMemberConditionObservation struct { +} + +type ConsentStoreIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type ConsentStoreIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ConsentStoreIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConsentStoreIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + ConsentStoreID *string `json:"consentStoreId" tf:"consent_store_id,omitempty"` + + // +kubebuilder:validation:Required + Dataset *string `json:"dataset" tf:"dataset,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// ConsentStoreIAMMemberSpec defines the desired state of ConsentStoreIAMMember +type ConsentStoreIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ConsentStoreIAMMemberParameters `json:"forProvider"` +} + +// ConsentStoreIAMMemberStatus defines the observed state of ConsentStoreIAMMember. +type ConsentStoreIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ConsentStoreIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ConsentStoreIAMMember is the Schema for the ConsentStoreIAMMembers 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,gcpjet} +type ConsentStoreIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ConsentStoreIAMMemberSpec `json:"spec"` + Status ConsentStoreIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ConsentStoreIAMMemberList contains a list of ConsentStoreIAMMembers +type ConsentStoreIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ConsentStoreIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + ConsentStoreIAMMember_Kind = "ConsentStoreIAMMember" + ConsentStoreIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ConsentStoreIAMMember_Kind}.String() + ConsentStoreIAMMember_KindAPIVersion = ConsentStoreIAMMember_Kind + "." + CRDGroupVersion.String() + ConsentStoreIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(ConsentStoreIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&ConsentStoreIAMMember{}, &ConsentStoreIAMMemberList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_consentstoreiampolicy_terraformed.go b/apis/healthcare/v1alpha1/zz_consentstoreiampolicy_terraformed.go new file mode 100755 index 00000000..8eb91d8f --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_consentstoreiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ConsentStoreIAMPolicy +func (mg *ConsentStoreIAMPolicy) GetTerraformResourceType() string { + return "google_healthcare_consent_store_iam_policy" +} + +// GetConnectionDetailsMapping for this ConsentStoreIAMPolicy +func (tr *ConsentStoreIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ConsentStoreIAMPolicy +func (tr *ConsentStoreIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ConsentStoreIAMPolicy +func (tr *ConsentStoreIAMPolicy) SetObservation(obs map[string]interface{}) 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 ConsentStoreIAMPolicy +func (tr *ConsentStoreIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ConsentStoreIAMPolicy +func (tr *ConsentStoreIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ConsentStoreIAMPolicy +func (tr *ConsentStoreIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ConsentStoreIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ConsentStoreIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &ConsentStoreIAMPolicyParameters{} + 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 *ConsentStoreIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_consentstoreiampolicy_types.go b/apis/healthcare/v1alpha1/zz_consentstoreiampolicy_types.go new file mode 100755 index 00000000..acad350a --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_consentstoreiampolicy_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConsentStoreIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ConsentStoreIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + ConsentStoreID *string `json:"consentStoreId" tf:"consent_store_id,omitempty"` + + // +kubebuilder:validation:Required + Dataset *string `json:"dataset" tf:"dataset,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` +} + +// ConsentStoreIAMPolicySpec defines the desired state of ConsentStoreIAMPolicy +type ConsentStoreIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ConsentStoreIAMPolicyParameters `json:"forProvider"` +} + +// ConsentStoreIAMPolicyStatus defines the observed state of ConsentStoreIAMPolicy. +type ConsentStoreIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ConsentStoreIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ConsentStoreIAMPolicy is the Schema for the ConsentStoreIAMPolicys 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,gcpjet} +type ConsentStoreIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ConsentStoreIAMPolicySpec `json:"spec"` + Status ConsentStoreIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ConsentStoreIAMPolicyList contains a list of ConsentStoreIAMPolicys +type ConsentStoreIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ConsentStoreIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + ConsentStoreIAMPolicy_Kind = "ConsentStoreIAMPolicy" + ConsentStoreIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ConsentStoreIAMPolicy_Kind}.String() + ConsentStoreIAMPolicy_KindAPIVersion = ConsentStoreIAMPolicy_Kind + "." + CRDGroupVersion.String() + ConsentStoreIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(ConsentStoreIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&ConsentStoreIAMPolicy{}, &ConsentStoreIAMPolicyList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_dataset_terraformed.go b/apis/healthcare/v1alpha1/zz_dataset_terraformed.go new file mode 100755 index 00000000..d8311743 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_dataset_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Dataset +func (mg *Dataset) GetTerraformResourceType() string { + return "google_healthcare_dataset" +} + +// GetConnectionDetailsMapping for this Dataset +func (tr *Dataset) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Dataset +func (tr *Dataset) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Dataset +func (tr *Dataset) SetObservation(obs map[string]interface{}) 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 Dataset +func (tr *Dataset) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Dataset +func (tr *Dataset) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Dataset +func (tr *Dataset) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Dataset using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Dataset) LateInitialize(attrs []byte) (bool, error) { + params := &DatasetParameters{} + 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 *Dataset) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_dataset_types.go b/apis/healthcare/v1alpha1/zz_dataset_types.go new file mode 100755 index 00000000..788e9161 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_dataset_types.go @@ -0,0 +1,101 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DatasetObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type DatasetParameters struct { + + // The location for the Dataset. + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // The resource name for the Dataset. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The default timezone used by this dataset. Must be a either a valid IANA time zone name such as + // "America/New_York" or empty, which defaults to UTC. This is used for parsing times in resources + // (e.g., HL7 messages) where no explicit timezone is specified. + // +kubebuilder:validation:Optional + TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"` +} + +// DatasetSpec defines the desired state of Dataset +type DatasetSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DatasetParameters `json:"forProvider"` +} + +// DatasetStatus defines the observed state of Dataset. +type DatasetStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DatasetObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Dataset is the Schema for the Datasets 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,gcpjet} +type Dataset struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DatasetSpec `json:"spec"` + Status DatasetStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetList contains a list of Datasets +type DatasetList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Dataset `json:"items"` +} + +// Repository type metadata. +var ( + Dataset_Kind = "Dataset" + Dataset_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Dataset_Kind}.String() + Dataset_KindAPIVersion = Dataset_Kind + "." + CRDGroupVersion.String() + Dataset_GroupVersionKind = CRDGroupVersion.WithKind(Dataset_Kind) +) + +func init() { + SchemeBuilder.Register(&Dataset{}, &DatasetList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_datasetiambinding_terraformed.go b/apis/healthcare/v1alpha1/zz_datasetiambinding_terraformed.go new file mode 100755 index 00000000..305fcf00 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_datasetiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DatasetIAMBinding +func (mg *DatasetIAMBinding) GetTerraformResourceType() string { + return "google_healthcare_dataset_iam_binding" +} + +// GetConnectionDetailsMapping for this DatasetIAMBinding +func (tr *DatasetIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DatasetIAMBinding +func (tr *DatasetIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DatasetIAMBinding +func (tr *DatasetIAMBinding) SetObservation(obs map[string]interface{}) 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 DatasetIAMBinding +func (tr *DatasetIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DatasetIAMBinding +func (tr *DatasetIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DatasetIAMBinding +func (tr *DatasetIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DatasetIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DatasetIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &DatasetIAMBindingParameters{} + 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 *DatasetIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_datasetiambinding_types.go b/apis/healthcare/v1alpha1/zz_datasetiambinding_types.go new file mode 100755 index 00000000..669f6f19 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_datasetiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DatasetIAMBindingConditionObservation struct { +} + +type DatasetIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type DatasetIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DatasetIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []DatasetIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// DatasetIAMBindingSpec defines the desired state of DatasetIAMBinding +type DatasetIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DatasetIAMBindingParameters `json:"forProvider"` +} + +// DatasetIAMBindingStatus defines the observed state of DatasetIAMBinding. +type DatasetIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DatasetIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetIAMBinding is the Schema for the DatasetIAMBindings 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,gcpjet} +type DatasetIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DatasetIAMBindingSpec `json:"spec"` + Status DatasetIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetIAMBindingList contains a list of DatasetIAMBindings +type DatasetIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DatasetIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + DatasetIAMBinding_Kind = "DatasetIAMBinding" + DatasetIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DatasetIAMBinding_Kind}.String() + DatasetIAMBinding_KindAPIVersion = DatasetIAMBinding_Kind + "." + CRDGroupVersion.String() + DatasetIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(DatasetIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&DatasetIAMBinding{}, &DatasetIAMBindingList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_datasetiammember_terraformed.go b/apis/healthcare/v1alpha1/zz_datasetiammember_terraformed.go new file mode 100755 index 00000000..4e8df33c --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_datasetiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DatasetIAMMember +func (mg *DatasetIAMMember) GetTerraformResourceType() string { + return "google_healthcare_dataset_iam_member" +} + +// GetConnectionDetailsMapping for this DatasetIAMMember +func (tr *DatasetIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DatasetIAMMember +func (tr *DatasetIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DatasetIAMMember +func (tr *DatasetIAMMember) SetObservation(obs map[string]interface{}) 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 DatasetIAMMember +func (tr *DatasetIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DatasetIAMMember +func (tr *DatasetIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DatasetIAMMember +func (tr *DatasetIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DatasetIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DatasetIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &DatasetIAMMemberParameters{} + 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 *DatasetIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_datasetiammember_types.go b/apis/healthcare/v1alpha1/zz_datasetiammember_types.go new file mode 100755 index 00000000..69d4cb30 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_datasetiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DatasetIAMMemberConditionObservation struct { +} + +type DatasetIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type DatasetIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DatasetIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []DatasetIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// DatasetIAMMemberSpec defines the desired state of DatasetIAMMember +type DatasetIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DatasetIAMMemberParameters `json:"forProvider"` +} + +// DatasetIAMMemberStatus defines the observed state of DatasetIAMMember. +type DatasetIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DatasetIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetIAMMember is the Schema for the DatasetIAMMembers 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,gcpjet} +type DatasetIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DatasetIAMMemberSpec `json:"spec"` + Status DatasetIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetIAMMemberList contains a list of DatasetIAMMembers +type DatasetIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DatasetIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + DatasetIAMMember_Kind = "DatasetIAMMember" + DatasetIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DatasetIAMMember_Kind}.String() + DatasetIAMMember_KindAPIVersion = DatasetIAMMember_Kind + "." + CRDGroupVersion.String() + DatasetIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(DatasetIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&DatasetIAMMember{}, &DatasetIAMMemberList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_datasetiampolicy_terraformed.go b/apis/healthcare/v1alpha1/zz_datasetiampolicy_terraformed.go new file mode 100755 index 00000000..13eb6b21 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_datasetiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DatasetIAMPolicy +func (mg *DatasetIAMPolicy) GetTerraformResourceType() string { + return "google_healthcare_dataset_iam_policy" +} + +// GetConnectionDetailsMapping for this DatasetIAMPolicy +func (tr *DatasetIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DatasetIAMPolicy +func (tr *DatasetIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DatasetIAMPolicy +func (tr *DatasetIAMPolicy) SetObservation(obs map[string]interface{}) 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 DatasetIAMPolicy +func (tr *DatasetIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DatasetIAMPolicy +func (tr *DatasetIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DatasetIAMPolicy +func (tr *DatasetIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DatasetIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DatasetIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &DatasetIAMPolicyParameters{} + 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 *DatasetIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_datasetiampolicy_types.go b/apis/healthcare/v1alpha1/zz_datasetiampolicy_types.go new file mode 100755 index 00000000..0dde1aa4 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_datasetiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DatasetIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DatasetIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + DatasetID *string `json:"datasetId" tf:"dataset_id,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` +} + +// DatasetIAMPolicySpec defines the desired state of DatasetIAMPolicy +type DatasetIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DatasetIAMPolicyParameters `json:"forProvider"` +} + +// DatasetIAMPolicyStatus defines the observed state of DatasetIAMPolicy. +type DatasetIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DatasetIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetIAMPolicy is the Schema for the DatasetIAMPolicys 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,gcpjet} +type DatasetIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DatasetIAMPolicySpec `json:"spec"` + Status DatasetIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetIAMPolicyList contains a list of DatasetIAMPolicys +type DatasetIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DatasetIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + DatasetIAMPolicy_Kind = "DatasetIAMPolicy" + DatasetIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DatasetIAMPolicy_Kind}.String() + DatasetIAMPolicy_KindAPIVersion = DatasetIAMPolicy_Kind + "." + CRDGroupVersion.String() + DatasetIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(DatasetIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&DatasetIAMPolicy{}, &DatasetIAMPolicyList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_dicomstore_terraformed.go b/apis/healthcare/v1alpha1/zz_dicomstore_terraformed.go new file mode 100755 index 00000000..bd6fbbfc --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_dicomstore_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DICOMStore +func (mg *DICOMStore) GetTerraformResourceType() string { + return "google_healthcare_dicom_store" +} + +// GetConnectionDetailsMapping for this DICOMStore +func (tr *DICOMStore) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DICOMStore +func (tr *DICOMStore) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DICOMStore +func (tr *DICOMStore) SetObservation(obs map[string]interface{}) 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 DICOMStore +func (tr *DICOMStore) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DICOMStore +func (tr *DICOMStore) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DICOMStore +func (tr *DICOMStore) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DICOMStore using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DICOMStore) LateInitialize(attrs []byte) (bool, error) { + params := &DICOMStoreParameters{} + 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 *DICOMStore) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_dicomstore_types.go b/apis/healthcare/v1alpha1/zz_dicomstore_types.go new file mode 100755 index 00000000..a4ff277c --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_dicomstore_types.go @@ -0,0 +1,129 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DICOMStoreObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type DICOMStoreParameters struct { + + // Identifies the dataset addressed by this request. Must be in the format + // 'projects/{project}/locations/{location}/datasets/{dataset}' + // +kubebuilder:validation:Required + Dataset *string `json:"dataset" tf:"dataset,omitempty"` + + // User-supplied key-value pairs used to organize DICOM stores. + // + // Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must + // conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62} + // + // Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 + // bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} + // + // No more than 64 labels can be associated with a given store. + // + // An object containing a list of "key": value pairs. + // Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The resource name for the DicomStore. + // + // ** Changing this property may recreate the Dicom store (removing all data) ** + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + NotificationConfig []NotificationConfigParameters `json:"notificationConfig,omitempty" tf:"notification_config,omitempty"` +} + +type NotificationConfigObservation struct { +} + +type NotificationConfigParameters struct { + + // The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client. + // PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message. + // It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message + // was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a + // project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given + // Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail. + // +kubebuilder:validation:Required + PubsubTopic *string `json:"pubsubTopic" tf:"pubsub_topic,omitempty"` +} + +// DICOMStoreSpec defines the desired state of DICOMStore +type DICOMStoreSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DICOMStoreParameters `json:"forProvider"` +} + +// DICOMStoreStatus defines the observed state of DICOMStore. +type DICOMStoreStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DICOMStoreObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DICOMStore is the Schema for the DICOMStores 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,gcpjet} +type DICOMStore struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DICOMStoreSpec `json:"spec"` + Status DICOMStoreStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DICOMStoreList contains a list of DICOMStores +type DICOMStoreList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DICOMStore `json:"items"` +} + +// Repository type metadata. +var ( + DICOMStore_Kind = "DICOMStore" + DICOMStore_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DICOMStore_Kind}.String() + DICOMStore_KindAPIVersion = DICOMStore_Kind + "." + CRDGroupVersion.String() + DICOMStore_GroupVersionKind = CRDGroupVersion.WithKind(DICOMStore_Kind) +) + +func init() { + SchemeBuilder.Register(&DICOMStore{}, &DICOMStoreList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_dicomstoreiambinding_terraformed.go b/apis/healthcare/v1alpha1/zz_dicomstoreiambinding_terraformed.go new file mode 100755 index 00000000..25cc8680 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_dicomstoreiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DICOMStoreIAMBinding +func (mg *DICOMStoreIAMBinding) GetTerraformResourceType() string { + return "google_healthcare_dicom_store_iam_binding" +} + +// GetConnectionDetailsMapping for this DICOMStoreIAMBinding +func (tr *DICOMStoreIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DICOMStoreIAMBinding +func (tr *DICOMStoreIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DICOMStoreIAMBinding +func (tr *DICOMStoreIAMBinding) SetObservation(obs map[string]interface{}) 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 DICOMStoreIAMBinding +func (tr *DICOMStoreIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DICOMStoreIAMBinding +func (tr *DICOMStoreIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DICOMStoreIAMBinding +func (tr *DICOMStoreIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DICOMStoreIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DICOMStoreIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &DICOMStoreIAMBindingParameters{} + 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 *DICOMStoreIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_dicomstoreiambinding_types.go b/apis/healthcare/v1alpha1/zz_dicomstoreiambinding_types.go new file mode 100755 index 00000000..8de91fc7 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_dicomstoreiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DICOMStoreIAMBindingConditionObservation struct { +} + +type DICOMStoreIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type DICOMStoreIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DICOMStoreIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []DICOMStoreIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + DICOMStoreID *string `json:"dicomStoreId" tf:"dicom_store_id,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// DICOMStoreIAMBindingSpec defines the desired state of DICOMStoreIAMBinding +type DICOMStoreIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DICOMStoreIAMBindingParameters `json:"forProvider"` +} + +// DICOMStoreIAMBindingStatus defines the observed state of DICOMStoreIAMBinding. +type DICOMStoreIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DICOMStoreIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DICOMStoreIAMBinding is the Schema for the DICOMStoreIAMBindings 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,gcpjet} +type DICOMStoreIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DICOMStoreIAMBindingSpec `json:"spec"` + Status DICOMStoreIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DICOMStoreIAMBindingList contains a list of DICOMStoreIAMBindings +type DICOMStoreIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DICOMStoreIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + DICOMStoreIAMBinding_Kind = "DICOMStoreIAMBinding" + DICOMStoreIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DICOMStoreIAMBinding_Kind}.String() + DICOMStoreIAMBinding_KindAPIVersion = DICOMStoreIAMBinding_Kind + "." + CRDGroupVersion.String() + DICOMStoreIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(DICOMStoreIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&DICOMStoreIAMBinding{}, &DICOMStoreIAMBindingList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_dicomstoreiammember_terraformed.go b/apis/healthcare/v1alpha1/zz_dicomstoreiammember_terraformed.go new file mode 100755 index 00000000..0ee2ba45 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_dicomstoreiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DICOMStoreIAMMember +func (mg *DICOMStoreIAMMember) GetTerraformResourceType() string { + return "google_healthcare_dicom_store_iam_member" +} + +// GetConnectionDetailsMapping for this DICOMStoreIAMMember +func (tr *DICOMStoreIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DICOMStoreIAMMember +func (tr *DICOMStoreIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DICOMStoreIAMMember +func (tr *DICOMStoreIAMMember) SetObservation(obs map[string]interface{}) 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 DICOMStoreIAMMember +func (tr *DICOMStoreIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DICOMStoreIAMMember +func (tr *DICOMStoreIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DICOMStoreIAMMember +func (tr *DICOMStoreIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DICOMStoreIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DICOMStoreIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &DICOMStoreIAMMemberParameters{} + 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 *DICOMStoreIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_dicomstoreiammember_types.go b/apis/healthcare/v1alpha1/zz_dicomstoreiammember_types.go new file mode 100755 index 00000000..419ddee2 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_dicomstoreiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DICOMStoreIAMMemberConditionObservation struct { +} + +type DICOMStoreIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type DICOMStoreIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DICOMStoreIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []DICOMStoreIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + DICOMStoreID *string `json:"dicomStoreId" tf:"dicom_store_id,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// DICOMStoreIAMMemberSpec defines the desired state of DICOMStoreIAMMember +type DICOMStoreIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DICOMStoreIAMMemberParameters `json:"forProvider"` +} + +// DICOMStoreIAMMemberStatus defines the observed state of DICOMStoreIAMMember. +type DICOMStoreIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DICOMStoreIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DICOMStoreIAMMember is the Schema for the DICOMStoreIAMMembers 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,gcpjet} +type DICOMStoreIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DICOMStoreIAMMemberSpec `json:"spec"` + Status DICOMStoreIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DICOMStoreIAMMemberList contains a list of DICOMStoreIAMMembers +type DICOMStoreIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DICOMStoreIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + DICOMStoreIAMMember_Kind = "DICOMStoreIAMMember" + DICOMStoreIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DICOMStoreIAMMember_Kind}.String() + DICOMStoreIAMMember_KindAPIVersion = DICOMStoreIAMMember_Kind + "." + CRDGroupVersion.String() + DICOMStoreIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(DICOMStoreIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&DICOMStoreIAMMember{}, &DICOMStoreIAMMemberList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_dicomstoreiampolicy_terraformed.go b/apis/healthcare/v1alpha1/zz_dicomstoreiampolicy_terraformed.go new file mode 100755 index 00000000..d40d2018 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_dicomstoreiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DICOMStoreIAMPolicy +func (mg *DICOMStoreIAMPolicy) GetTerraformResourceType() string { + return "google_healthcare_dicom_store_iam_policy" +} + +// GetConnectionDetailsMapping for this DICOMStoreIAMPolicy +func (tr *DICOMStoreIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DICOMStoreIAMPolicy +func (tr *DICOMStoreIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DICOMStoreIAMPolicy +func (tr *DICOMStoreIAMPolicy) SetObservation(obs map[string]interface{}) 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 DICOMStoreIAMPolicy +func (tr *DICOMStoreIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DICOMStoreIAMPolicy +func (tr *DICOMStoreIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DICOMStoreIAMPolicy +func (tr *DICOMStoreIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DICOMStoreIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DICOMStoreIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &DICOMStoreIAMPolicyParameters{} + 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 *DICOMStoreIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_dicomstoreiampolicy_types.go b/apis/healthcare/v1alpha1/zz_dicomstoreiampolicy_types.go new file mode 100755 index 00000000..24a8bf3e --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_dicomstoreiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DICOMStoreIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DICOMStoreIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + DICOMStoreID *string `json:"dicomStoreId" tf:"dicom_store_id,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` +} + +// DICOMStoreIAMPolicySpec defines the desired state of DICOMStoreIAMPolicy +type DICOMStoreIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DICOMStoreIAMPolicyParameters `json:"forProvider"` +} + +// DICOMStoreIAMPolicyStatus defines the observed state of DICOMStoreIAMPolicy. +type DICOMStoreIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DICOMStoreIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DICOMStoreIAMPolicy is the Schema for the DICOMStoreIAMPolicys 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,gcpjet} +type DICOMStoreIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DICOMStoreIAMPolicySpec `json:"spec"` + Status DICOMStoreIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DICOMStoreIAMPolicyList contains a list of DICOMStoreIAMPolicys +type DICOMStoreIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DICOMStoreIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + DICOMStoreIAMPolicy_Kind = "DICOMStoreIAMPolicy" + DICOMStoreIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DICOMStoreIAMPolicy_Kind}.String() + DICOMStoreIAMPolicy_KindAPIVersion = DICOMStoreIAMPolicy_Kind + "." + CRDGroupVersion.String() + DICOMStoreIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(DICOMStoreIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&DICOMStoreIAMPolicy{}, &DICOMStoreIAMPolicyList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_fhirstore_terraformed.go b/apis/healthcare/v1alpha1/zz_fhirstore_terraformed.go new file mode 100755 index 00000000..293e80d9 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_fhirstore_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FHIRStore +func (mg *FHIRStore) GetTerraformResourceType() string { + return "google_healthcare_fhir_store" +} + +// GetConnectionDetailsMapping for this FHIRStore +func (tr *FHIRStore) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FHIRStore +func (tr *FHIRStore) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FHIRStore +func (tr *FHIRStore) SetObservation(obs map[string]interface{}) 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 FHIRStore +func (tr *FHIRStore) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FHIRStore +func (tr *FHIRStore) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FHIRStore +func (tr *FHIRStore) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FHIRStore using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FHIRStore) LateInitialize(attrs []byte) (bool, error) { + params := &FHIRStoreParameters{} + 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 *FHIRStore) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_fhirstore_types.go b/apis/healthcare/v1alpha1/zz_fhirstore_types.go new file mode 100755 index 00000000..94c15c75 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_fhirstore_types.go @@ -0,0 +1,235 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BigqueryDestinationObservation struct { +} + +type BigqueryDestinationParameters struct { + + // BigQuery URI to a dataset, up to 2000 characters long, in the format bq://projectId.bqDatasetId + // +kubebuilder:validation:Required + DatasetURI *string `json:"datasetUri" tf:"dataset_uri,omitempty"` + + // The configuration for the exported BigQuery schema. + // +kubebuilder:validation:Required + SchemaConfig []SchemaConfigParameters `json:"schemaConfig" tf:"schema_config,omitempty"` +} + +type FHIRStoreNotificationConfigObservation struct { +} + +type FHIRStoreNotificationConfigParameters struct { + + // The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client. + // PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message. + // It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message + // was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a + // project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given + // Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail. + // +kubebuilder:validation:Required + PubsubTopic *string `json:"pubsubTopic" tf:"pubsub_topic,omitempty"` +} + +type FHIRStoreObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type FHIRStoreParameters struct { + + // Identifies the dataset addressed by this request. Must be in the format + // 'projects/{project}/locations/{location}/datasets/{dataset}' + // +kubebuilder:validation:Required + Dataset *string `json:"dataset" tf:"dataset,omitempty"` + + // Whether to disable referential integrity in this FHIR store. This field is immutable after FHIR store + // creation. The default value is false, meaning that the API will enforce referential integrity and fail the + // requests that will result in inconsistent state in the FHIR store. When this field is set to true, the API + // will skip referential integrity check. Consequently, operations that rely on references, such as + // Patient.get$everything, will not return all the results if broken references exist. + // + // ** Changing this property may recreate the FHIR store (removing all data) ** + // +kubebuilder:validation:Optional + DisableReferentialIntegrity *bool `json:"disableReferentialIntegrity,omitempty" tf:"disable_referential_integrity,omitempty"` + + // Whether to disable resource versioning for this FHIR store. This field can not be changed after the creation + // of FHIR store. If set to false, which is the default behavior, all write operations will cause historical + // versions to be recorded automatically. The historical versions can be fetched through the history APIs, but + // cannot be updated. If set to true, no historical versions will be kept. The server will send back errors for + // attempts to read the historical versions. + // + // ** Changing this property may recreate the FHIR store (removing all data) ** + // +kubebuilder:validation:Optional + DisableResourceVersioning *bool `json:"disableResourceVersioning,omitempty" tf:"disable_resource_versioning,omitempty"` + + // Whether to allow the bulk import API to accept history bundles and directly insert historical resource + // versions into the FHIR store. Importing resource histories creates resource interactions that appear to have + // occurred in the past, which clients may not want to allow. If set to false, history bundles within an import + // will fail with an error. + // + // ** Changing this property may recreate the FHIR store (removing all data) ** + // + // ** This property can be changed manually in the Google Cloud Healthcare admin console without recreating the FHIR store ** + // +kubebuilder:validation:Optional + EnableHistoryImport *bool `json:"enableHistoryImport,omitempty" tf:"enable_history_import,omitempty"` + + // Whether this FHIR store has the updateCreate capability. This determines if the client can use an Update + // operation to create a new resource with a client-specified ID. If false, all IDs are server-assigned through + // the Create operation and attempts to Update a non-existent resource will return errors. Please treat the audit + // logs with appropriate levels of care if client-specified resource IDs contain sensitive data such as patient + // identifiers, those IDs will be part of the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub + // notifications. + // +kubebuilder:validation:Optional + EnableUpdateCreate *bool `json:"enableUpdateCreate,omitempty" tf:"enable_update_create,omitempty"` + + // User-supplied key-value pairs used to organize FHIR stores. + // + // Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must + // conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62} + // + // Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 + // bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} + // + // No more than 64 labels can be associated with a given store. + // + // An object containing a list of "key": value pairs. + // Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The resource name for the FhirStore. + // + // ** Changing this property may recreate the FHIR store (removing all data) ** + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + NotificationConfig []FHIRStoreNotificationConfigParameters `json:"notificationConfig,omitempty" tf:"notification_config,omitempty"` + + // A list of streaming configs that configure the destinations of streaming export for every resource mutation in + // this FHIR store. Each store is allowed to have up to 10 streaming configs. After a new config is added, the next + // resource mutation is streamed to the new location in addition to the existing ones. When a location is removed + // from the list, the server stops streaming to that location. Before adding a new config, you must add the required + // bigquery.dataEditor role to your project's Cloud Healthcare Service Agent service account. Some lag (typically on + // the order of dozens of seconds) is expected before the results show up in the streaming destination. + // +kubebuilder:validation:Optional + StreamConfigs []StreamConfigsParameters `json:"streamConfigs,omitempty" tf:"stream_configs,omitempty"` + + // The FHIR specification version. Possible values: ["DSTU2", "STU3", "R4"] + // +kubebuilder:validation:Required + Version *string `json:"version" tf:"version,omitempty"` +} + +type SchemaConfigObservation struct { +} + +type SchemaConfigParameters struct { + + // The depth for all recursive structures in the output analytics schema. For example, concept in the CodeSystem + // resource is a recursive structure; when the depth is 2, the CodeSystem table will have a column called + // concept.concept but not concept.concept.concept. If not specified or set to 0, the server will use the default + // value 2. The maximum depth allowed is 5. + // +kubebuilder:validation:Required + RecursiveStructureDepth *int64 `json:"recursiveStructureDepth" tf:"recursive_structure_depth,omitempty"` + + // Specifies the output schema type. Only ANALYTICS is supported at this time. + // * ANALYTICS: Analytics schema defined by the FHIR community. + // See https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md. Default value: "ANALYTICS" Possible values: ["ANALYTICS"] + // +kubebuilder:validation:Optional + SchemaType *string `json:"schemaType,omitempty" tf:"schema_type,omitempty"` +} + +type StreamConfigsObservation struct { +} + +type StreamConfigsParameters struct { + + // The destination BigQuery structure that contains both the dataset location and corresponding schema config. + // The output is organized in one table per resource type. The server reuses the existing tables (if any) that + // are named after the resource types, e.g. "Patient", "Observation". When there is no existing table for a given + // resource type, the server attempts to create one. + // See the [streaming config reference](https://cloud.google.com/healthcare/docs/reference/rest/v1beta1/projects.locations.datasets.fhirStores#streamconfig) for more details. + // +kubebuilder:validation:Required + BigqueryDestination []BigqueryDestinationParameters `json:"bigqueryDestination" tf:"bigquery_destination,omitempty"` + + // Supply a FHIR resource type (such as "Patient" or "Observation"). See + // https://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats + // an empty list as an intent to stream all the supported resource types in this FHIR store. + // +kubebuilder:validation:Optional + ResourceTypes []*string `json:"resourceTypes,omitempty" tf:"resource_types,omitempty"` +} + +// FHIRStoreSpec defines the desired state of FHIRStore +type FHIRStoreSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FHIRStoreParameters `json:"forProvider"` +} + +// FHIRStoreStatus defines the observed state of FHIRStore. +type FHIRStoreStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FHIRStoreObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FHIRStore is the Schema for the FHIRStores 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,gcpjet} +type FHIRStore struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FHIRStoreSpec `json:"spec"` + Status FHIRStoreStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FHIRStoreList contains a list of FHIRStores +type FHIRStoreList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FHIRStore `json:"items"` +} + +// Repository type metadata. +var ( + FHIRStore_Kind = "FHIRStore" + FHIRStore_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FHIRStore_Kind}.String() + FHIRStore_KindAPIVersion = FHIRStore_Kind + "." + CRDGroupVersion.String() + FHIRStore_GroupVersionKind = CRDGroupVersion.WithKind(FHIRStore_Kind) +) + +func init() { + SchemeBuilder.Register(&FHIRStore{}, &FHIRStoreList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_fhirstoreiambinding_terraformed.go b/apis/healthcare/v1alpha1/zz_fhirstoreiambinding_terraformed.go new file mode 100755 index 00000000..020e4f9c --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_fhirstoreiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FHIRStoreIAMBinding +func (mg *FHIRStoreIAMBinding) GetTerraformResourceType() string { + return "google_healthcare_fhir_store_iam_binding" +} + +// GetConnectionDetailsMapping for this FHIRStoreIAMBinding +func (tr *FHIRStoreIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FHIRStoreIAMBinding +func (tr *FHIRStoreIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FHIRStoreIAMBinding +func (tr *FHIRStoreIAMBinding) SetObservation(obs map[string]interface{}) 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 FHIRStoreIAMBinding +func (tr *FHIRStoreIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FHIRStoreIAMBinding +func (tr *FHIRStoreIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FHIRStoreIAMBinding +func (tr *FHIRStoreIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FHIRStoreIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FHIRStoreIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &FHIRStoreIAMBindingParameters{} + 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 *FHIRStoreIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_fhirstoreiambinding_types.go b/apis/healthcare/v1alpha1/zz_fhirstoreiambinding_types.go new file mode 100755 index 00000000..f42c4235 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_fhirstoreiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FHIRStoreIAMBindingConditionObservation struct { +} + +type FHIRStoreIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type FHIRStoreIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type FHIRStoreIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []FHIRStoreIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + FHIRStoreID *string `json:"fhirStoreId" tf:"fhir_store_id,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// FHIRStoreIAMBindingSpec defines the desired state of FHIRStoreIAMBinding +type FHIRStoreIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FHIRStoreIAMBindingParameters `json:"forProvider"` +} + +// FHIRStoreIAMBindingStatus defines the observed state of FHIRStoreIAMBinding. +type FHIRStoreIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FHIRStoreIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FHIRStoreIAMBinding is the Schema for the FHIRStoreIAMBindings 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,gcpjet} +type FHIRStoreIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FHIRStoreIAMBindingSpec `json:"spec"` + Status FHIRStoreIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FHIRStoreIAMBindingList contains a list of FHIRStoreIAMBindings +type FHIRStoreIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FHIRStoreIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + FHIRStoreIAMBinding_Kind = "FHIRStoreIAMBinding" + FHIRStoreIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FHIRStoreIAMBinding_Kind}.String() + FHIRStoreIAMBinding_KindAPIVersion = FHIRStoreIAMBinding_Kind + "." + CRDGroupVersion.String() + FHIRStoreIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(FHIRStoreIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&FHIRStoreIAMBinding{}, &FHIRStoreIAMBindingList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_fhirstoreiammember_terraformed.go b/apis/healthcare/v1alpha1/zz_fhirstoreiammember_terraformed.go new file mode 100755 index 00000000..5b207565 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_fhirstoreiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FHIRStoreIAMMember +func (mg *FHIRStoreIAMMember) GetTerraformResourceType() string { + return "google_healthcare_fhir_store_iam_member" +} + +// GetConnectionDetailsMapping for this FHIRStoreIAMMember +func (tr *FHIRStoreIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FHIRStoreIAMMember +func (tr *FHIRStoreIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FHIRStoreIAMMember +func (tr *FHIRStoreIAMMember) SetObservation(obs map[string]interface{}) 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 FHIRStoreIAMMember +func (tr *FHIRStoreIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FHIRStoreIAMMember +func (tr *FHIRStoreIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FHIRStoreIAMMember +func (tr *FHIRStoreIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FHIRStoreIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FHIRStoreIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &FHIRStoreIAMMemberParameters{} + 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 *FHIRStoreIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_fhirstoreiammember_types.go b/apis/healthcare/v1alpha1/zz_fhirstoreiammember_types.go new file mode 100755 index 00000000..d1afb995 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_fhirstoreiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FHIRStoreIAMMemberConditionObservation struct { +} + +type FHIRStoreIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type FHIRStoreIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type FHIRStoreIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []FHIRStoreIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + FHIRStoreID *string `json:"fhirStoreId" tf:"fhir_store_id,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// FHIRStoreIAMMemberSpec defines the desired state of FHIRStoreIAMMember +type FHIRStoreIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FHIRStoreIAMMemberParameters `json:"forProvider"` +} + +// FHIRStoreIAMMemberStatus defines the observed state of FHIRStoreIAMMember. +type FHIRStoreIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FHIRStoreIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FHIRStoreIAMMember is the Schema for the FHIRStoreIAMMembers 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,gcpjet} +type FHIRStoreIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FHIRStoreIAMMemberSpec `json:"spec"` + Status FHIRStoreIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FHIRStoreIAMMemberList contains a list of FHIRStoreIAMMembers +type FHIRStoreIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FHIRStoreIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + FHIRStoreIAMMember_Kind = "FHIRStoreIAMMember" + FHIRStoreIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FHIRStoreIAMMember_Kind}.String() + FHIRStoreIAMMember_KindAPIVersion = FHIRStoreIAMMember_Kind + "." + CRDGroupVersion.String() + FHIRStoreIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(FHIRStoreIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&FHIRStoreIAMMember{}, &FHIRStoreIAMMemberList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_fhirstoreiampolicy_terraformed.go b/apis/healthcare/v1alpha1/zz_fhirstoreiampolicy_terraformed.go new file mode 100755 index 00000000..75aa2a48 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_fhirstoreiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FHIRStoreIAMPolicy +func (mg *FHIRStoreIAMPolicy) GetTerraformResourceType() string { + return "google_healthcare_fhir_store_iam_policy" +} + +// GetConnectionDetailsMapping for this FHIRStoreIAMPolicy +func (tr *FHIRStoreIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FHIRStoreIAMPolicy +func (tr *FHIRStoreIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FHIRStoreIAMPolicy +func (tr *FHIRStoreIAMPolicy) SetObservation(obs map[string]interface{}) 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 FHIRStoreIAMPolicy +func (tr *FHIRStoreIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FHIRStoreIAMPolicy +func (tr *FHIRStoreIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FHIRStoreIAMPolicy +func (tr *FHIRStoreIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FHIRStoreIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FHIRStoreIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &FHIRStoreIAMPolicyParameters{} + 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 *FHIRStoreIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_fhirstoreiampolicy_types.go b/apis/healthcare/v1alpha1/zz_fhirstoreiampolicy_types.go new file mode 100755 index 00000000..59a76e14 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_fhirstoreiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FHIRStoreIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type FHIRStoreIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + FHIRStoreID *string `json:"fhirStoreId" tf:"fhir_store_id,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` +} + +// FHIRStoreIAMPolicySpec defines the desired state of FHIRStoreIAMPolicy +type FHIRStoreIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FHIRStoreIAMPolicyParameters `json:"forProvider"` +} + +// FHIRStoreIAMPolicyStatus defines the observed state of FHIRStoreIAMPolicy. +type FHIRStoreIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FHIRStoreIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FHIRStoreIAMPolicy is the Schema for the FHIRStoreIAMPolicys 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,gcpjet} +type FHIRStoreIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FHIRStoreIAMPolicySpec `json:"spec"` + Status FHIRStoreIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FHIRStoreIAMPolicyList contains a list of FHIRStoreIAMPolicys +type FHIRStoreIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FHIRStoreIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + FHIRStoreIAMPolicy_Kind = "FHIRStoreIAMPolicy" + FHIRStoreIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FHIRStoreIAMPolicy_Kind}.String() + FHIRStoreIAMPolicy_KindAPIVersion = FHIRStoreIAMPolicy_Kind + "." + CRDGroupVersion.String() + FHIRStoreIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(FHIRStoreIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&FHIRStoreIAMPolicy{}, &FHIRStoreIAMPolicyList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_generated.deepcopy.go b/apis/healthcare/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..e01eec08 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,3967 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BigqueryDestinationObservation) DeepCopyInto(out *BigqueryDestinationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigqueryDestinationObservation. +func (in *BigqueryDestinationObservation) DeepCopy() *BigqueryDestinationObservation { + if in == nil { + return nil + } + out := new(BigqueryDestinationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BigqueryDestinationParameters) DeepCopyInto(out *BigqueryDestinationParameters) { + *out = *in + if in.DatasetURI != nil { + in, out := &in.DatasetURI, &out.DatasetURI + *out = new(string) + **out = **in + } + if in.SchemaConfig != nil { + in, out := &in.SchemaConfig, &out.SchemaConfig + *out = make([]SchemaConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigqueryDestinationParameters. +func (in *BigqueryDestinationParameters) DeepCopy() *BigqueryDestinationParameters { + if in == nil { + return nil + } + out := new(BigqueryDestinationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStore) DeepCopyInto(out *ConsentStore) { + *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 ConsentStore. +func (in *ConsentStore) DeepCopy() *ConsentStore { + if in == nil { + return nil + } + out := new(ConsentStore) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ConsentStore) 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 *ConsentStoreIAMBinding) DeepCopyInto(out *ConsentStoreIAMBinding) { + *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 ConsentStoreIAMBinding. +func (in *ConsentStoreIAMBinding) DeepCopy() *ConsentStoreIAMBinding { + if in == nil { + return nil + } + out := new(ConsentStoreIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ConsentStoreIAMBinding) 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 *ConsentStoreIAMBindingList) DeepCopyInto(out *ConsentStoreIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ConsentStoreIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMBindingList. +func (in *ConsentStoreIAMBindingList) DeepCopy() *ConsentStoreIAMBindingList { + if in == nil { + return nil + } + out := new(ConsentStoreIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ConsentStoreIAMBindingList) 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 *ConsentStoreIAMBindingObservation) DeepCopyInto(out *ConsentStoreIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMBindingObservation. +func (in *ConsentStoreIAMBindingObservation) DeepCopy() *ConsentStoreIAMBindingObservation { + if in == nil { + return nil + } + out := new(ConsentStoreIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreIAMBindingParameters) DeepCopyInto(out *ConsentStoreIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ConsentStoreID != nil { + in, out := &in.ConsentStoreID, &out.ConsentStoreID + *out = new(string) + **out = **in + } + if in.Dataset != nil { + in, out := &in.Dataset, &out.Dataset + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMBindingParameters. +func (in *ConsentStoreIAMBindingParameters) DeepCopy() *ConsentStoreIAMBindingParameters { + if in == nil { + return nil + } + out := new(ConsentStoreIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreIAMBindingSpec) DeepCopyInto(out *ConsentStoreIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMBindingSpec. +func (in *ConsentStoreIAMBindingSpec) DeepCopy() *ConsentStoreIAMBindingSpec { + if in == nil { + return nil + } + out := new(ConsentStoreIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreIAMBindingStatus) DeepCopyInto(out *ConsentStoreIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMBindingStatus. +func (in *ConsentStoreIAMBindingStatus) DeepCopy() *ConsentStoreIAMBindingStatus { + if in == nil { + return nil + } + out := new(ConsentStoreIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreIAMMember) DeepCopyInto(out *ConsentStoreIAMMember) { + *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 ConsentStoreIAMMember. +func (in *ConsentStoreIAMMember) DeepCopy() *ConsentStoreIAMMember { + if in == nil { + return nil + } + out := new(ConsentStoreIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ConsentStoreIAMMember) 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 *ConsentStoreIAMMemberConditionObservation) DeepCopyInto(out *ConsentStoreIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMMemberConditionObservation. +func (in *ConsentStoreIAMMemberConditionObservation) DeepCopy() *ConsentStoreIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(ConsentStoreIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreIAMMemberConditionParameters) DeepCopyInto(out *ConsentStoreIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMMemberConditionParameters. +func (in *ConsentStoreIAMMemberConditionParameters) DeepCopy() *ConsentStoreIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(ConsentStoreIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreIAMMemberList) DeepCopyInto(out *ConsentStoreIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ConsentStoreIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMMemberList. +func (in *ConsentStoreIAMMemberList) DeepCopy() *ConsentStoreIAMMemberList { + if in == nil { + return nil + } + out := new(ConsentStoreIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ConsentStoreIAMMemberList) 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 *ConsentStoreIAMMemberObservation) DeepCopyInto(out *ConsentStoreIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMMemberObservation. +func (in *ConsentStoreIAMMemberObservation) DeepCopy() *ConsentStoreIAMMemberObservation { + if in == nil { + return nil + } + out := new(ConsentStoreIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreIAMMemberParameters) DeepCopyInto(out *ConsentStoreIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConsentStoreIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ConsentStoreID != nil { + in, out := &in.ConsentStoreID, &out.ConsentStoreID + *out = new(string) + **out = **in + } + if in.Dataset != nil { + in, out := &in.Dataset, &out.Dataset + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMMemberParameters. +func (in *ConsentStoreIAMMemberParameters) DeepCopy() *ConsentStoreIAMMemberParameters { + if in == nil { + return nil + } + out := new(ConsentStoreIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreIAMMemberSpec) DeepCopyInto(out *ConsentStoreIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMMemberSpec. +func (in *ConsentStoreIAMMemberSpec) DeepCopy() *ConsentStoreIAMMemberSpec { + if in == nil { + return nil + } + out := new(ConsentStoreIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreIAMMemberStatus) DeepCopyInto(out *ConsentStoreIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMMemberStatus. +func (in *ConsentStoreIAMMemberStatus) DeepCopy() *ConsentStoreIAMMemberStatus { + if in == nil { + return nil + } + out := new(ConsentStoreIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreIAMPolicy) DeepCopyInto(out *ConsentStoreIAMPolicy) { + *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 ConsentStoreIAMPolicy. +func (in *ConsentStoreIAMPolicy) DeepCopy() *ConsentStoreIAMPolicy { + if in == nil { + return nil + } + out := new(ConsentStoreIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ConsentStoreIAMPolicy) 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 *ConsentStoreIAMPolicyList) DeepCopyInto(out *ConsentStoreIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ConsentStoreIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMPolicyList. +func (in *ConsentStoreIAMPolicyList) DeepCopy() *ConsentStoreIAMPolicyList { + if in == nil { + return nil + } + out := new(ConsentStoreIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ConsentStoreIAMPolicyList) 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 *ConsentStoreIAMPolicyObservation) DeepCopyInto(out *ConsentStoreIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMPolicyObservation. +func (in *ConsentStoreIAMPolicyObservation) DeepCopy() *ConsentStoreIAMPolicyObservation { + if in == nil { + return nil + } + out := new(ConsentStoreIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreIAMPolicyParameters) DeepCopyInto(out *ConsentStoreIAMPolicyParameters) { + *out = *in + if in.ConsentStoreID != nil { + in, out := &in.ConsentStoreID, &out.ConsentStoreID + *out = new(string) + **out = **in + } + if in.Dataset != nil { + in, out := &in.Dataset, &out.Dataset + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMPolicyParameters. +func (in *ConsentStoreIAMPolicyParameters) DeepCopy() *ConsentStoreIAMPolicyParameters { + if in == nil { + return nil + } + out := new(ConsentStoreIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreIAMPolicySpec) DeepCopyInto(out *ConsentStoreIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMPolicySpec. +func (in *ConsentStoreIAMPolicySpec) DeepCopy() *ConsentStoreIAMPolicySpec { + if in == nil { + return nil + } + out := new(ConsentStoreIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreIAMPolicyStatus) DeepCopyInto(out *ConsentStoreIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreIAMPolicyStatus. +func (in *ConsentStoreIAMPolicyStatus) DeepCopy() *ConsentStoreIAMPolicyStatus { + if in == nil { + return nil + } + out := new(ConsentStoreIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreList) DeepCopyInto(out *ConsentStoreList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ConsentStore, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreList. +func (in *ConsentStoreList) DeepCopy() *ConsentStoreList { + if in == nil { + return nil + } + out := new(ConsentStoreList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ConsentStoreList) 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 *ConsentStoreObservation) DeepCopyInto(out *ConsentStoreObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreObservation. +func (in *ConsentStoreObservation) DeepCopy() *ConsentStoreObservation { + if in == nil { + return nil + } + out := new(ConsentStoreObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreParameters) DeepCopyInto(out *ConsentStoreParameters) { + *out = *in + if in.Dataset != nil { + in, out := &in.Dataset, &out.Dataset + *out = new(string) + **out = **in + } + if in.DefaultConsentTTL != nil { + in, out := &in.DefaultConsentTTL, &out.DefaultConsentTTL + *out = new(string) + **out = **in + } + if in.EnableConsentCreateOnUpdate != nil { + in, out := &in.EnableConsentCreateOnUpdate, &out.EnableConsentCreateOnUpdate + *out = new(bool) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreParameters. +func (in *ConsentStoreParameters) DeepCopy() *ConsentStoreParameters { + if in == nil { + return nil + } + out := new(ConsentStoreParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreSpec) DeepCopyInto(out *ConsentStoreSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreSpec. +func (in *ConsentStoreSpec) DeepCopy() *ConsentStoreSpec { + if in == nil { + return nil + } + out := new(ConsentStoreSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsentStoreStatus) DeepCopyInto(out *ConsentStoreStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsentStoreStatus. +func (in *ConsentStoreStatus) DeepCopy() *ConsentStoreStatus { + if in == nil { + return nil + } + out := new(ConsentStoreStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStore) DeepCopyInto(out *DICOMStore) { + *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 DICOMStore. +func (in *DICOMStore) DeepCopy() *DICOMStore { + if in == nil { + return nil + } + out := new(DICOMStore) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DICOMStore) 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 *DICOMStoreIAMBinding) DeepCopyInto(out *DICOMStoreIAMBinding) { + *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 DICOMStoreIAMBinding. +func (in *DICOMStoreIAMBinding) DeepCopy() *DICOMStoreIAMBinding { + if in == nil { + return nil + } + out := new(DICOMStoreIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DICOMStoreIAMBinding) 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 *DICOMStoreIAMBindingConditionObservation) DeepCopyInto(out *DICOMStoreIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMBindingConditionObservation. +func (in *DICOMStoreIAMBindingConditionObservation) DeepCopy() *DICOMStoreIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(DICOMStoreIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMBindingConditionParameters) DeepCopyInto(out *DICOMStoreIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMBindingConditionParameters. +func (in *DICOMStoreIAMBindingConditionParameters) DeepCopy() *DICOMStoreIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(DICOMStoreIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMBindingList) DeepCopyInto(out *DICOMStoreIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DICOMStoreIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMBindingList. +func (in *DICOMStoreIAMBindingList) DeepCopy() *DICOMStoreIAMBindingList { + if in == nil { + return nil + } + out := new(DICOMStoreIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DICOMStoreIAMBindingList) 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 *DICOMStoreIAMBindingObservation) DeepCopyInto(out *DICOMStoreIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMBindingObservation. +func (in *DICOMStoreIAMBindingObservation) DeepCopy() *DICOMStoreIAMBindingObservation { + if in == nil { + return nil + } + out := new(DICOMStoreIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMBindingParameters) DeepCopyInto(out *DICOMStoreIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]DICOMStoreIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DICOMStoreID != nil { + in, out := &in.DICOMStoreID, &out.DICOMStoreID + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMBindingParameters. +func (in *DICOMStoreIAMBindingParameters) DeepCopy() *DICOMStoreIAMBindingParameters { + if in == nil { + return nil + } + out := new(DICOMStoreIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMBindingSpec) DeepCopyInto(out *DICOMStoreIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMBindingSpec. +func (in *DICOMStoreIAMBindingSpec) DeepCopy() *DICOMStoreIAMBindingSpec { + if in == nil { + return nil + } + out := new(DICOMStoreIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMBindingStatus) DeepCopyInto(out *DICOMStoreIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMBindingStatus. +func (in *DICOMStoreIAMBindingStatus) DeepCopy() *DICOMStoreIAMBindingStatus { + if in == nil { + return nil + } + out := new(DICOMStoreIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMMember) DeepCopyInto(out *DICOMStoreIAMMember) { + *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 DICOMStoreIAMMember. +func (in *DICOMStoreIAMMember) DeepCopy() *DICOMStoreIAMMember { + if in == nil { + return nil + } + out := new(DICOMStoreIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DICOMStoreIAMMember) 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 *DICOMStoreIAMMemberConditionObservation) DeepCopyInto(out *DICOMStoreIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMMemberConditionObservation. +func (in *DICOMStoreIAMMemberConditionObservation) DeepCopy() *DICOMStoreIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(DICOMStoreIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMMemberConditionParameters) DeepCopyInto(out *DICOMStoreIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMMemberConditionParameters. +func (in *DICOMStoreIAMMemberConditionParameters) DeepCopy() *DICOMStoreIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(DICOMStoreIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMMemberList) DeepCopyInto(out *DICOMStoreIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DICOMStoreIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMMemberList. +func (in *DICOMStoreIAMMemberList) DeepCopy() *DICOMStoreIAMMemberList { + if in == nil { + return nil + } + out := new(DICOMStoreIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DICOMStoreIAMMemberList) 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 *DICOMStoreIAMMemberObservation) DeepCopyInto(out *DICOMStoreIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMMemberObservation. +func (in *DICOMStoreIAMMemberObservation) DeepCopy() *DICOMStoreIAMMemberObservation { + if in == nil { + return nil + } + out := new(DICOMStoreIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMMemberParameters) DeepCopyInto(out *DICOMStoreIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]DICOMStoreIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DICOMStoreID != nil { + in, out := &in.DICOMStoreID, &out.DICOMStoreID + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMMemberParameters. +func (in *DICOMStoreIAMMemberParameters) DeepCopy() *DICOMStoreIAMMemberParameters { + if in == nil { + return nil + } + out := new(DICOMStoreIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMMemberSpec) DeepCopyInto(out *DICOMStoreIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMMemberSpec. +func (in *DICOMStoreIAMMemberSpec) DeepCopy() *DICOMStoreIAMMemberSpec { + if in == nil { + return nil + } + out := new(DICOMStoreIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMMemberStatus) DeepCopyInto(out *DICOMStoreIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMMemberStatus. +func (in *DICOMStoreIAMMemberStatus) DeepCopy() *DICOMStoreIAMMemberStatus { + if in == nil { + return nil + } + out := new(DICOMStoreIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMPolicy) DeepCopyInto(out *DICOMStoreIAMPolicy) { + *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 DICOMStoreIAMPolicy. +func (in *DICOMStoreIAMPolicy) DeepCopy() *DICOMStoreIAMPolicy { + if in == nil { + return nil + } + out := new(DICOMStoreIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DICOMStoreIAMPolicy) 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 *DICOMStoreIAMPolicyList) DeepCopyInto(out *DICOMStoreIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DICOMStoreIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMPolicyList. +func (in *DICOMStoreIAMPolicyList) DeepCopy() *DICOMStoreIAMPolicyList { + if in == nil { + return nil + } + out := new(DICOMStoreIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DICOMStoreIAMPolicyList) 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 *DICOMStoreIAMPolicyObservation) DeepCopyInto(out *DICOMStoreIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMPolicyObservation. +func (in *DICOMStoreIAMPolicyObservation) DeepCopy() *DICOMStoreIAMPolicyObservation { + if in == nil { + return nil + } + out := new(DICOMStoreIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMPolicyParameters) DeepCopyInto(out *DICOMStoreIAMPolicyParameters) { + *out = *in + if in.DICOMStoreID != nil { + in, out := &in.DICOMStoreID, &out.DICOMStoreID + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMPolicyParameters. +func (in *DICOMStoreIAMPolicyParameters) DeepCopy() *DICOMStoreIAMPolicyParameters { + if in == nil { + return nil + } + out := new(DICOMStoreIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMPolicySpec) DeepCopyInto(out *DICOMStoreIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMPolicySpec. +func (in *DICOMStoreIAMPolicySpec) DeepCopy() *DICOMStoreIAMPolicySpec { + if in == nil { + return nil + } + out := new(DICOMStoreIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreIAMPolicyStatus) DeepCopyInto(out *DICOMStoreIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreIAMPolicyStatus. +func (in *DICOMStoreIAMPolicyStatus) DeepCopy() *DICOMStoreIAMPolicyStatus { + if in == nil { + return nil + } + out := new(DICOMStoreIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreList) DeepCopyInto(out *DICOMStoreList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DICOMStore, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreList. +func (in *DICOMStoreList) DeepCopy() *DICOMStoreList { + if in == nil { + return nil + } + out := new(DICOMStoreList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DICOMStoreList) 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 *DICOMStoreObservation) DeepCopyInto(out *DICOMStoreObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreObservation. +func (in *DICOMStoreObservation) DeepCopy() *DICOMStoreObservation { + if in == nil { + return nil + } + out := new(DICOMStoreObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreParameters) DeepCopyInto(out *DICOMStoreParameters) { + *out = *in + if in.Dataset != nil { + in, out := &in.Dataset, &out.Dataset + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.NotificationConfig != nil { + in, out := &in.NotificationConfig, &out.NotificationConfig + *out = make([]NotificationConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreParameters. +func (in *DICOMStoreParameters) DeepCopy() *DICOMStoreParameters { + if in == nil { + return nil + } + out := new(DICOMStoreParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreSpec) DeepCopyInto(out *DICOMStoreSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreSpec. +func (in *DICOMStoreSpec) DeepCopy() *DICOMStoreSpec { + if in == nil { + return nil + } + out := new(DICOMStoreSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DICOMStoreStatus) DeepCopyInto(out *DICOMStoreStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DICOMStoreStatus. +func (in *DICOMStoreStatus) DeepCopy() *DICOMStoreStatus { + if in == nil { + return nil + } + out := new(DICOMStoreStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Dataset) DeepCopyInto(out *Dataset) { + *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 Dataset. +func (in *Dataset) DeepCopy() *Dataset { + if in == nil { + return nil + } + out := new(Dataset) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Dataset) 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 *DatasetIAMBinding) DeepCopyInto(out *DatasetIAMBinding) { + *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 DatasetIAMBinding. +func (in *DatasetIAMBinding) DeepCopy() *DatasetIAMBinding { + if in == nil { + return nil + } + out := new(DatasetIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetIAMBinding) 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 *DatasetIAMBindingConditionObservation) DeepCopyInto(out *DatasetIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMBindingConditionObservation. +func (in *DatasetIAMBindingConditionObservation) DeepCopy() *DatasetIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(DatasetIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMBindingConditionParameters) DeepCopyInto(out *DatasetIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMBindingConditionParameters. +func (in *DatasetIAMBindingConditionParameters) DeepCopy() *DatasetIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(DatasetIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMBindingList) DeepCopyInto(out *DatasetIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DatasetIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMBindingList. +func (in *DatasetIAMBindingList) DeepCopy() *DatasetIAMBindingList { + if in == nil { + return nil + } + out := new(DatasetIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetIAMBindingList) 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 *DatasetIAMBindingObservation) DeepCopyInto(out *DatasetIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMBindingObservation. +func (in *DatasetIAMBindingObservation) DeepCopy() *DatasetIAMBindingObservation { + if in == nil { + return nil + } + out := new(DatasetIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMBindingParameters) DeepCopyInto(out *DatasetIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]DatasetIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMBindingParameters. +func (in *DatasetIAMBindingParameters) DeepCopy() *DatasetIAMBindingParameters { + if in == nil { + return nil + } + out := new(DatasetIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMBindingSpec) DeepCopyInto(out *DatasetIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMBindingSpec. +func (in *DatasetIAMBindingSpec) DeepCopy() *DatasetIAMBindingSpec { + if in == nil { + return nil + } + out := new(DatasetIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMBindingStatus) DeepCopyInto(out *DatasetIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMBindingStatus. +func (in *DatasetIAMBindingStatus) DeepCopy() *DatasetIAMBindingStatus { + if in == nil { + return nil + } + out := new(DatasetIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMMember) DeepCopyInto(out *DatasetIAMMember) { + *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 DatasetIAMMember. +func (in *DatasetIAMMember) DeepCopy() *DatasetIAMMember { + if in == nil { + return nil + } + out := new(DatasetIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetIAMMember) 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 *DatasetIAMMemberConditionObservation) DeepCopyInto(out *DatasetIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMMemberConditionObservation. +func (in *DatasetIAMMemberConditionObservation) DeepCopy() *DatasetIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(DatasetIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMMemberConditionParameters) DeepCopyInto(out *DatasetIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMMemberConditionParameters. +func (in *DatasetIAMMemberConditionParameters) DeepCopy() *DatasetIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(DatasetIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMMemberList) DeepCopyInto(out *DatasetIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DatasetIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMMemberList. +func (in *DatasetIAMMemberList) DeepCopy() *DatasetIAMMemberList { + if in == nil { + return nil + } + out := new(DatasetIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetIAMMemberList) 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 *DatasetIAMMemberObservation) DeepCopyInto(out *DatasetIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMMemberObservation. +func (in *DatasetIAMMemberObservation) DeepCopy() *DatasetIAMMemberObservation { + if in == nil { + return nil + } + out := new(DatasetIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMMemberParameters) DeepCopyInto(out *DatasetIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]DatasetIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMMemberParameters. +func (in *DatasetIAMMemberParameters) DeepCopy() *DatasetIAMMemberParameters { + if in == nil { + return nil + } + out := new(DatasetIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMMemberSpec) DeepCopyInto(out *DatasetIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMMemberSpec. +func (in *DatasetIAMMemberSpec) DeepCopy() *DatasetIAMMemberSpec { + if in == nil { + return nil + } + out := new(DatasetIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMMemberStatus) DeepCopyInto(out *DatasetIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMMemberStatus. +func (in *DatasetIAMMemberStatus) DeepCopy() *DatasetIAMMemberStatus { + if in == nil { + return nil + } + out := new(DatasetIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMPolicy) DeepCopyInto(out *DatasetIAMPolicy) { + *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 DatasetIAMPolicy. +func (in *DatasetIAMPolicy) DeepCopy() *DatasetIAMPolicy { + if in == nil { + return nil + } + out := new(DatasetIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetIAMPolicy) 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 *DatasetIAMPolicyList) DeepCopyInto(out *DatasetIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DatasetIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMPolicyList. +func (in *DatasetIAMPolicyList) DeepCopy() *DatasetIAMPolicyList { + if in == nil { + return nil + } + out := new(DatasetIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetIAMPolicyList) 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 *DatasetIAMPolicyObservation) DeepCopyInto(out *DatasetIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMPolicyObservation. +func (in *DatasetIAMPolicyObservation) DeepCopy() *DatasetIAMPolicyObservation { + if in == nil { + return nil + } + out := new(DatasetIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMPolicyParameters) DeepCopyInto(out *DatasetIAMPolicyParameters) { + *out = *in + if in.DatasetID != nil { + in, out := &in.DatasetID, &out.DatasetID + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMPolicyParameters. +func (in *DatasetIAMPolicyParameters) DeepCopy() *DatasetIAMPolicyParameters { + if in == nil { + return nil + } + out := new(DatasetIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMPolicySpec) DeepCopyInto(out *DatasetIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMPolicySpec. +func (in *DatasetIAMPolicySpec) DeepCopy() *DatasetIAMPolicySpec { + if in == nil { + return nil + } + out := new(DatasetIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetIAMPolicyStatus) DeepCopyInto(out *DatasetIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetIAMPolicyStatus. +func (in *DatasetIAMPolicyStatus) DeepCopy() *DatasetIAMPolicyStatus { + if in == nil { + return nil + } + out := new(DatasetIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetList) DeepCopyInto(out *DatasetList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Dataset, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetList. +func (in *DatasetList) DeepCopy() *DatasetList { + if in == nil { + return nil + } + out := new(DatasetList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetList) 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 *DatasetObservation) DeepCopyInto(out *DatasetObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetObservation. +func (in *DatasetObservation) DeepCopy() *DatasetObservation { + if in == nil { + return nil + } + out := new(DatasetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetParameters) DeepCopyInto(out *DatasetParameters) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.TimeZone != nil { + in, out := &in.TimeZone, &out.TimeZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetParameters. +func (in *DatasetParameters) DeepCopy() *DatasetParameters { + if in == nil { + return nil + } + out := new(DatasetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetSpec) DeepCopyInto(out *DatasetSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetSpec. +func (in *DatasetSpec) DeepCopy() *DatasetSpec { + if in == nil { + return nil + } + out := new(DatasetSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetStatus) DeepCopyInto(out *DatasetStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetStatus. +func (in *DatasetStatus) DeepCopy() *DatasetStatus { + if in == nil { + return nil + } + out := new(DatasetStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStore) DeepCopyInto(out *FHIRStore) { + *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 FHIRStore. +func (in *FHIRStore) DeepCopy() *FHIRStore { + if in == nil { + return nil + } + out := new(FHIRStore) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FHIRStore) 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 *FHIRStoreIAMBinding) DeepCopyInto(out *FHIRStoreIAMBinding) { + *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 FHIRStoreIAMBinding. +func (in *FHIRStoreIAMBinding) DeepCopy() *FHIRStoreIAMBinding { + if in == nil { + return nil + } + out := new(FHIRStoreIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FHIRStoreIAMBinding) 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 *FHIRStoreIAMBindingConditionObservation) DeepCopyInto(out *FHIRStoreIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMBindingConditionObservation. +func (in *FHIRStoreIAMBindingConditionObservation) DeepCopy() *FHIRStoreIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(FHIRStoreIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMBindingConditionParameters) DeepCopyInto(out *FHIRStoreIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMBindingConditionParameters. +func (in *FHIRStoreIAMBindingConditionParameters) DeepCopy() *FHIRStoreIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(FHIRStoreIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMBindingList) DeepCopyInto(out *FHIRStoreIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FHIRStoreIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMBindingList. +func (in *FHIRStoreIAMBindingList) DeepCopy() *FHIRStoreIAMBindingList { + if in == nil { + return nil + } + out := new(FHIRStoreIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FHIRStoreIAMBindingList) 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 *FHIRStoreIAMBindingObservation) DeepCopyInto(out *FHIRStoreIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMBindingObservation. +func (in *FHIRStoreIAMBindingObservation) DeepCopy() *FHIRStoreIAMBindingObservation { + if in == nil { + return nil + } + out := new(FHIRStoreIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMBindingParameters) DeepCopyInto(out *FHIRStoreIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]FHIRStoreIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FHIRStoreID != nil { + in, out := &in.FHIRStoreID, &out.FHIRStoreID + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMBindingParameters. +func (in *FHIRStoreIAMBindingParameters) DeepCopy() *FHIRStoreIAMBindingParameters { + if in == nil { + return nil + } + out := new(FHIRStoreIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMBindingSpec) DeepCopyInto(out *FHIRStoreIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMBindingSpec. +func (in *FHIRStoreIAMBindingSpec) DeepCopy() *FHIRStoreIAMBindingSpec { + if in == nil { + return nil + } + out := new(FHIRStoreIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMBindingStatus) DeepCopyInto(out *FHIRStoreIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMBindingStatus. +func (in *FHIRStoreIAMBindingStatus) DeepCopy() *FHIRStoreIAMBindingStatus { + if in == nil { + return nil + } + out := new(FHIRStoreIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMMember) DeepCopyInto(out *FHIRStoreIAMMember) { + *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 FHIRStoreIAMMember. +func (in *FHIRStoreIAMMember) DeepCopy() *FHIRStoreIAMMember { + if in == nil { + return nil + } + out := new(FHIRStoreIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FHIRStoreIAMMember) 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 *FHIRStoreIAMMemberConditionObservation) DeepCopyInto(out *FHIRStoreIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMMemberConditionObservation. +func (in *FHIRStoreIAMMemberConditionObservation) DeepCopy() *FHIRStoreIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(FHIRStoreIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMMemberConditionParameters) DeepCopyInto(out *FHIRStoreIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMMemberConditionParameters. +func (in *FHIRStoreIAMMemberConditionParameters) DeepCopy() *FHIRStoreIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(FHIRStoreIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMMemberList) DeepCopyInto(out *FHIRStoreIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FHIRStoreIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMMemberList. +func (in *FHIRStoreIAMMemberList) DeepCopy() *FHIRStoreIAMMemberList { + if in == nil { + return nil + } + out := new(FHIRStoreIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FHIRStoreIAMMemberList) 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 *FHIRStoreIAMMemberObservation) DeepCopyInto(out *FHIRStoreIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMMemberObservation. +func (in *FHIRStoreIAMMemberObservation) DeepCopy() *FHIRStoreIAMMemberObservation { + if in == nil { + return nil + } + out := new(FHIRStoreIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMMemberParameters) DeepCopyInto(out *FHIRStoreIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]FHIRStoreIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.FHIRStoreID != nil { + in, out := &in.FHIRStoreID, &out.FHIRStoreID + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMMemberParameters. +func (in *FHIRStoreIAMMemberParameters) DeepCopy() *FHIRStoreIAMMemberParameters { + if in == nil { + return nil + } + out := new(FHIRStoreIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMMemberSpec) DeepCopyInto(out *FHIRStoreIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMMemberSpec. +func (in *FHIRStoreIAMMemberSpec) DeepCopy() *FHIRStoreIAMMemberSpec { + if in == nil { + return nil + } + out := new(FHIRStoreIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMMemberStatus) DeepCopyInto(out *FHIRStoreIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMMemberStatus. +func (in *FHIRStoreIAMMemberStatus) DeepCopy() *FHIRStoreIAMMemberStatus { + if in == nil { + return nil + } + out := new(FHIRStoreIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMPolicy) DeepCopyInto(out *FHIRStoreIAMPolicy) { + *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 FHIRStoreIAMPolicy. +func (in *FHIRStoreIAMPolicy) DeepCopy() *FHIRStoreIAMPolicy { + if in == nil { + return nil + } + out := new(FHIRStoreIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FHIRStoreIAMPolicy) 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 *FHIRStoreIAMPolicyList) DeepCopyInto(out *FHIRStoreIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FHIRStoreIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMPolicyList. +func (in *FHIRStoreIAMPolicyList) DeepCopy() *FHIRStoreIAMPolicyList { + if in == nil { + return nil + } + out := new(FHIRStoreIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FHIRStoreIAMPolicyList) 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 *FHIRStoreIAMPolicyObservation) DeepCopyInto(out *FHIRStoreIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMPolicyObservation. +func (in *FHIRStoreIAMPolicyObservation) DeepCopy() *FHIRStoreIAMPolicyObservation { + if in == nil { + return nil + } + out := new(FHIRStoreIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMPolicyParameters) DeepCopyInto(out *FHIRStoreIAMPolicyParameters) { + *out = *in + if in.FHIRStoreID != nil { + in, out := &in.FHIRStoreID, &out.FHIRStoreID + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMPolicyParameters. +func (in *FHIRStoreIAMPolicyParameters) DeepCopy() *FHIRStoreIAMPolicyParameters { + if in == nil { + return nil + } + out := new(FHIRStoreIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMPolicySpec) DeepCopyInto(out *FHIRStoreIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMPolicySpec. +func (in *FHIRStoreIAMPolicySpec) DeepCopy() *FHIRStoreIAMPolicySpec { + if in == nil { + return nil + } + out := new(FHIRStoreIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreIAMPolicyStatus) DeepCopyInto(out *FHIRStoreIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreIAMPolicyStatus. +func (in *FHIRStoreIAMPolicyStatus) DeepCopy() *FHIRStoreIAMPolicyStatus { + if in == nil { + return nil + } + out := new(FHIRStoreIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreList) DeepCopyInto(out *FHIRStoreList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FHIRStore, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreList. +func (in *FHIRStoreList) DeepCopy() *FHIRStoreList { + if in == nil { + return nil + } + out := new(FHIRStoreList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FHIRStoreList) 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 *FHIRStoreNotificationConfigObservation) DeepCopyInto(out *FHIRStoreNotificationConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreNotificationConfigObservation. +func (in *FHIRStoreNotificationConfigObservation) DeepCopy() *FHIRStoreNotificationConfigObservation { + if in == nil { + return nil + } + out := new(FHIRStoreNotificationConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreNotificationConfigParameters) DeepCopyInto(out *FHIRStoreNotificationConfigParameters) { + *out = *in + if in.PubsubTopic != nil { + in, out := &in.PubsubTopic, &out.PubsubTopic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreNotificationConfigParameters. +func (in *FHIRStoreNotificationConfigParameters) DeepCopy() *FHIRStoreNotificationConfigParameters { + if in == nil { + return nil + } + out := new(FHIRStoreNotificationConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreObservation) DeepCopyInto(out *FHIRStoreObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreObservation. +func (in *FHIRStoreObservation) DeepCopy() *FHIRStoreObservation { + if in == nil { + return nil + } + out := new(FHIRStoreObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreParameters) DeepCopyInto(out *FHIRStoreParameters) { + *out = *in + if in.Dataset != nil { + in, out := &in.Dataset, &out.Dataset + *out = new(string) + **out = **in + } + if in.DisableReferentialIntegrity != nil { + in, out := &in.DisableReferentialIntegrity, &out.DisableReferentialIntegrity + *out = new(bool) + **out = **in + } + if in.DisableResourceVersioning != nil { + in, out := &in.DisableResourceVersioning, &out.DisableResourceVersioning + *out = new(bool) + **out = **in + } + if in.EnableHistoryImport != nil { + in, out := &in.EnableHistoryImport, &out.EnableHistoryImport + *out = new(bool) + **out = **in + } + if in.EnableUpdateCreate != nil { + in, out := &in.EnableUpdateCreate, &out.EnableUpdateCreate + *out = new(bool) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.NotificationConfig != nil { + in, out := &in.NotificationConfig, &out.NotificationConfig + *out = make([]FHIRStoreNotificationConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StreamConfigs != nil { + in, out := &in.StreamConfigs, &out.StreamConfigs + *out = make([]StreamConfigsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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 FHIRStoreParameters. +func (in *FHIRStoreParameters) DeepCopy() *FHIRStoreParameters { + if in == nil { + return nil + } + out := new(FHIRStoreParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreSpec) DeepCopyInto(out *FHIRStoreSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreSpec. +func (in *FHIRStoreSpec) DeepCopy() *FHIRStoreSpec { + if in == nil { + return nil + } + out := new(FHIRStoreSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FHIRStoreStatus) DeepCopyInto(out *FHIRStoreStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FHIRStoreStatus. +func (in *FHIRStoreStatus) DeepCopy() *FHIRStoreStatus { + if in == nil { + return nil + } + out := new(FHIRStoreStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2Store) DeepCopyInto(out *HL7V2Store) { + *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 HL7V2Store. +func (in *HL7V2Store) DeepCopy() *HL7V2Store { + if in == nil { + return nil + } + out := new(HL7V2Store) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HL7V2Store) 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 *HL7V2StoreIAMBinding) DeepCopyInto(out *HL7V2StoreIAMBinding) { + *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 HL7V2StoreIAMBinding. +func (in *HL7V2StoreIAMBinding) DeepCopy() *HL7V2StoreIAMBinding { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HL7V2StoreIAMBinding) 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 *HL7V2StoreIAMBindingConditionObservation) DeepCopyInto(out *HL7V2StoreIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMBindingConditionObservation. +func (in *HL7V2StoreIAMBindingConditionObservation) DeepCopy() *HL7V2StoreIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMBindingConditionParameters) DeepCopyInto(out *HL7V2StoreIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMBindingConditionParameters. +func (in *HL7V2StoreIAMBindingConditionParameters) DeepCopy() *HL7V2StoreIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMBindingList) DeepCopyInto(out *HL7V2StoreIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HL7V2StoreIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMBindingList. +func (in *HL7V2StoreIAMBindingList) DeepCopy() *HL7V2StoreIAMBindingList { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HL7V2StoreIAMBindingList) 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 *HL7V2StoreIAMBindingObservation) DeepCopyInto(out *HL7V2StoreIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMBindingObservation. +func (in *HL7V2StoreIAMBindingObservation) DeepCopy() *HL7V2StoreIAMBindingObservation { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMBindingParameters) DeepCopyInto(out *HL7V2StoreIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]HL7V2StoreIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HL7V2StoreID != nil { + in, out := &in.HL7V2StoreID, &out.HL7V2StoreID + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMBindingParameters. +func (in *HL7V2StoreIAMBindingParameters) DeepCopy() *HL7V2StoreIAMBindingParameters { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMBindingSpec) DeepCopyInto(out *HL7V2StoreIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMBindingSpec. +func (in *HL7V2StoreIAMBindingSpec) DeepCopy() *HL7V2StoreIAMBindingSpec { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMBindingStatus) DeepCopyInto(out *HL7V2StoreIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMBindingStatus. +func (in *HL7V2StoreIAMBindingStatus) DeepCopy() *HL7V2StoreIAMBindingStatus { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMMember) DeepCopyInto(out *HL7V2StoreIAMMember) { + *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 HL7V2StoreIAMMember. +func (in *HL7V2StoreIAMMember) DeepCopy() *HL7V2StoreIAMMember { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HL7V2StoreIAMMember) 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 *HL7V2StoreIAMMemberConditionObservation) DeepCopyInto(out *HL7V2StoreIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMMemberConditionObservation. +func (in *HL7V2StoreIAMMemberConditionObservation) DeepCopy() *HL7V2StoreIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMMemberConditionParameters) DeepCopyInto(out *HL7V2StoreIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMMemberConditionParameters. +func (in *HL7V2StoreIAMMemberConditionParameters) DeepCopy() *HL7V2StoreIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMMemberList) DeepCopyInto(out *HL7V2StoreIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HL7V2StoreIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMMemberList. +func (in *HL7V2StoreIAMMemberList) DeepCopy() *HL7V2StoreIAMMemberList { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HL7V2StoreIAMMemberList) 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 *HL7V2StoreIAMMemberObservation) DeepCopyInto(out *HL7V2StoreIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMMemberObservation. +func (in *HL7V2StoreIAMMemberObservation) DeepCopy() *HL7V2StoreIAMMemberObservation { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMMemberParameters) DeepCopyInto(out *HL7V2StoreIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]HL7V2StoreIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HL7V2StoreID != nil { + in, out := &in.HL7V2StoreID, &out.HL7V2StoreID + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMMemberParameters. +func (in *HL7V2StoreIAMMemberParameters) DeepCopy() *HL7V2StoreIAMMemberParameters { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMMemberSpec) DeepCopyInto(out *HL7V2StoreIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMMemberSpec. +func (in *HL7V2StoreIAMMemberSpec) DeepCopy() *HL7V2StoreIAMMemberSpec { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMMemberStatus) DeepCopyInto(out *HL7V2StoreIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMMemberStatus. +func (in *HL7V2StoreIAMMemberStatus) DeepCopy() *HL7V2StoreIAMMemberStatus { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMPolicy) DeepCopyInto(out *HL7V2StoreIAMPolicy) { + *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 HL7V2StoreIAMPolicy. +func (in *HL7V2StoreIAMPolicy) DeepCopy() *HL7V2StoreIAMPolicy { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HL7V2StoreIAMPolicy) 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 *HL7V2StoreIAMPolicyList) DeepCopyInto(out *HL7V2StoreIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HL7V2StoreIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMPolicyList. +func (in *HL7V2StoreIAMPolicyList) DeepCopy() *HL7V2StoreIAMPolicyList { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HL7V2StoreIAMPolicyList) 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 *HL7V2StoreIAMPolicyObservation) DeepCopyInto(out *HL7V2StoreIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMPolicyObservation. +func (in *HL7V2StoreIAMPolicyObservation) DeepCopy() *HL7V2StoreIAMPolicyObservation { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMPolicyParameters) DeepCopyInto(out *HL7V2StoreIAMPolicyParameters) { + *out = *in + if in.HL7V2StoreID != nil { + in, out := &in.HL7V2StoreID, &out.HL7V2StoreID + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMPolicyParameters. +func (in *HL7V2StoreIAMPolicyParameters) DeepCopy() *HL7V2StoreIAMPolicyParameters { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMPolicySpec) DeepCopyInto(out *HL7V2StoreIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMPolicySpec. +func (in *HL7V2StoreIAMPolicySpec) DeepCopy() *HL7V2StoreIAMPolicySpec { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreIAMPolicyStatus) DeepCopyInto(out *HL7V2StoreIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreIAMPolicyStatus. +func (in *HL7V2StoreIAMPolicyStatus) DeepCopy() *HL7V2StoreIAMPolicyStatus { + if in == nil { + return nil + } + out := new(HL7V2StoreIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreList) DeepCopyInto(out *HL7V2StoreList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HL7V2Store, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreList. +func (in *HL7V2StoreList) DeepCopy() *HL7V2StoreList { + if in == nil { + return nil + } + out := new(HL7V2StoreList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HL7V2StoreList) 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 *HL7V2StoreNotificationConfigObservation) DeepCopyInto(out *HL7V2StoreNotificationConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreNotificationConfigObservation. +func (in *HL7V2StoreNotificationConfigObservation) DeepCopy() *HL7V2StoreNotificationConfigObservation { + if in == nil { + return nil + } + out := new(HL7V2StoreNotificationConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreNotificationConfigParameters) DeepCopyInto(out *HL7V2StoreNotificationConfigParameters) { + *out = *in + if in.PubsubTopic != nil { + in, out := &in.PubsubTopic, &out.PubsubTopic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreNotificationConfigParameters. +func (in *HL7V2StoreNotificationConfigParameters) DeepCopy() *HL7V2StoreNotificationConfigParameters { + if in == nil { + return nil + } + out := new(HL7V2StoreNotificationConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreObservation) DeepCopyInto(out *HL7V2StoreObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreObservation. +func (in *HL7V2StoreObservation) DeepCopy() *HL7V2StoreObservation { + if in == nil { + return nil + } + out := new(HL7V2StoreObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreParameters) DeepCopyInto(out *HL7V2StoreParameters) { + *out = *in + if in.Dataset != nil { + in, out := &in.Dataset, &out.Dataset + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.NotificationConfig != nil { + in, out := &in.NotificationConfig, &out.NotificationConfig + *out = make([]HL7V2StoreNotificationConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NotificationConfigs != nil { + in, out := &in.NotificationConfigs, &out.NotificationConfigs + *out = make([]NotificationConfigsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ParserConfig != nil { + in, out := &in.ParserConfig, &out.ParserConfig + *out = make([]ParserConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreParameters. +func (in *HL7V2StoreParameters) DeepCopy() *HL7V2StoreParameters { + if in == nil { + return nil + } + out := new(HL7V2StoreParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreSpec) DeepCopyInto(out *HL7V2StoreSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreSpec. +func (in *HL7V2StoreSpec) DeepCopy() *HL7V2StoreSpec { + if in == nil { + return nil + } + out := new(HL7V2StoreSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HL7V2StoreStatus) DeepCopyInto(out *HL7V2StoreStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HL7V2StoreStatus. +func (in *HL7V2StoreStatus) DeepCopy() *HL7V2StoreStatus { + if in == nil { + return nil + } + out := new(HL7V2StoreStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NotificationConfigObservation) DeepCopyInto(out *NotificationConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationConfigObservation. +func (in *NotificationConfigObservation) DeepCopy() *NotificationConfigObservation { + if in == nil { + return nil + } + out := new(NotificationConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NotificationConfigParameters) DeepCopyInto(out *NotificationConfigParameters) { + *out = *in + if in.PubsubTopic != nil { + in, out := &in.PubsubTopic, &out.PubsubTopic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationConfigParameters. +func (in *NotificationConfigParameters) DeepCopy() *NotificationConfigParameters { + if in == nil { + return nil + } + out := new(NotificationConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NotificationConfigsObservation) DeepCopyInto(out *NotificationConfigsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationConfigsObservation. +func (in *NotificationConfigsObservation) DeepCopy() *NotificationConfigsObservation { + if in == nil { + return nil + } + out := new(NotificationConfigsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NotificationConfigsParameters) DeepCopyInto(out *NotificationConfigsParameters) { + *out = *in + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **out = **in + } + if in.PubsubTopic != nil { + in, out := &in.PubsubTopic, &out.PubsubTopic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationConfigsParameters. +func (in *NotificationConfigsParameters) DeepCopy() *NotificationConfigsParameters { + if in == nil { + return nil + } + out := new(NotificationConfigsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ParserConfigObservation) DeepCopyInto(out *ParserConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParserConfigObservation. +func (in *ParserConfigObservation) DeepCopy() *ParserConfigObservation { + if in == nil { + return nil + } + out := new(ParserConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ParserConfigParameters) DeepCopyInto(out *ParserConfigParameters) { + *out = *in + if in.AllowNullHeader != nil { + in, out := &in.AllowNullHeader, &out.AllowNullHeader + *out = new(bool) + **out = **in + } + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(string) + **out = **in + } + if in.SegmentTerminator != nil { + in, out := &in.SegmentTerminator, &out.SegmentTerminator + *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 ParserConfigParameters. +func (in *ParserConfigParameters) DeepCopy() *ParserConfigParameters { + if in == nil { + return nil + } + out := new(ParserConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchemaConfigObservation) DeepCopyInto(out *SchemaConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchemaConfigObservation. +func (in *SchemaConfigObservation) DeepCopy() *SchemaConfigObservation { + if in == nil { + return nil + } + out := new(SchemaConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchemaConfigParameters) DeepCopyInto(out *SchemaConfigParameters) { + *out = *in + if in.RecursiveStructureDepth != nil { + in, out := &in.RecursiveStructureDepth, &out.RecursiveStructureDepth + *out = new(int64) + **out = **in + } + if in.SchemaType != nil { + in, out := &in.SchemaType, &out.SchemaType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchemaConfigParameters. +func (in *SchemaConfigParameters) DeepCopy() *SchemaConfigParameters { + if in == nil { + return nil + } + out := new(SchemaConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StreamConfigsObservation) DeepCopyInto(out *StreamConfigsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamConfigsObservation. +func (in *StreamConfigsObservation) DeepCopy() *StreamConfigsObservation { + if in == nil { + return nil + } + out := new(StreamConfigsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StreamConfigsParameters) DeepCopyInto(out *StreamConfigsParameters) { + *out = *in + if in.BigqueryDestination != nil { + in, out := &in.BigqueryDestination, &out.BigqueryDestination + *out = make([]BigqueryDestinationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResourceTypes != nil { + in, out := &in.ResourceTypes, &out.ResourceTypes + *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 StreamConfigsParameters. +func (in *StreamConfigsParameters) DeepCopy() *StreamConfigsParameters { + if in == nil { + return nil + } + out := new(StreamConfigsParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/healthcare/v1alpha1/zz_generated.managed.go b/apis/healthcare/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..70a9fb63 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_generated.managed.go @@ -0,0 +1,1140 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this ConsentStore. +func (mg *ConsentStore) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ConsentStore. +func (mg *ConsentStore) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ConsentStore. +func (mg *ConsentStore) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ConsentStore. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ConsentStore) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ConsentStore. +func (mg *ConsentStore) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ConsentStore. +func (mg *ConsentStore) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ConsentStore. +func (mg *ConsentStore) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ConsentStore. +func (mg *ConsentStore) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ConsentStore. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ConsentStore) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ConsentStore. +func (mg *ConsentStore) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ConsentStoreIAMBinding. +func (mg *ConsentStoreIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ConsentStoreIAMBinding. +func (mg *ConsentStoreIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ConsentStoreIAMBinding. +func (mg *ConsentStoreIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ConsentStoreIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ConsentStoreIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ConsentStoreIAMBinding. +func (mg *ConsentStoreIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ConsentStoreIAMBinding. +func (mg *ConsentStoreIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ConsentStoreIAMBinding. +func (mg *ConsentStoreIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ConsentStoreIAMBinding. +func (mg *ConsentStoreIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ConsentStoreIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ConsentStoreIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ConsentStoreIAMBinding. +func (mg *ConsentStoreIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ConsentStoreIAMMember. +func (mg *ConsentStoreIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ConsentStoreIAMMember. +func (mg *ConsentStoreIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ConsentStoreIAMMember. +func (mg *ConsentStoreIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ConsentStoreIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ConsentStoreIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ConsentStoreIAMMember. +func (mg *ConsentStoreIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ConsentStoreIAMMember. +func (mg *ConsentStoreIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ConsentStoreIAMMember. +func (mg *ConsentStoreIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ConsentStoreIAMMember. +func (mg *ConsentStoreIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ConsentStoreIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ConsentStoreIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ConsentStoreIAMMember. +func (mg *ConsentStoreIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ConsentStoreIAMPolicy. +func (mg *ConsentStoreIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ConsentStoreIAMPolicy. +func (mg *ConsentStoreIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ConsentStoreIAMPolicy. +func (mg *ConsentStoreIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ConsentStoreIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ConsentStoreIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ConsentStoreIAMPolicy. +func (mg *ConsentStoreIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ConsentStoreIAMPolicy. +func (mg *ConsentStoreIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ConsentStoreIAMPolicy. +func (mg *ConsentStoreIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ConsentStoreIAMPolicy. +func (mg *ConsentStoreIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ConsentStoreIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ConsentStoreIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ConsentStoreIAMPolicy. +func (mg *ConsentStoreIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DICOMStore. +func (mg *DICOMStore) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DICOMStore. +func (mg *DICOMStore) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DICOMStore. +func (mg *DICOMStore) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DICOMStore. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DICOMStore) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DICOMStore. +func (mg *DICOMStore) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DICOMStore. +func (mg *DICOMStore) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DICOMStore. +func (mg *DICOMStore) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DICOMStore. +func (mg *DICOMStore) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DICOMStore. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DICOMStore) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DICOMStore. +func (mg *DICOMStore) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DICOMStoreIAMBinding. +func (mg *DICOMStoreIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DICOMStoreIAMBinding. +func (mg *DICOMStoreIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DICOMStoreIAMBinding. +func (mg *DICOMStoreIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DICOMStoreIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DICOMStoreIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DICOMStoreIAMBinding. +func (mg *DICOMStoreIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DICOMStoreIAMBinding. +func (mg *DICOMStoreIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DICOMStoreIAMBinding. +func (mg *DICOMStoreIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DICOMStoreIAMBinding. +func (mg *DICOMStoreIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DICOMStoreIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DICOMStoreIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DICOMStoreIAMBinding. +func (mg *DICOMStoreIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DICOMStoreIAMMember. +func (mg *DICOMStoreIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DICOMStoreIAMMember. +func (mg *DICOMStoreIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DICOMStoreIAMMember. +func (mg *DICOMStoreIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DICOMStoreIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DICOMStoreIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DICOMStoreIAMMember. +func (mg *DICOMStoreIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DICOMStoreIAMMember. +func (mg *DICOMStoreIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DICOMStoreIAMMember. +func (mg *DICOMStoreIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DICOMStoreIAMMember. +func (mg *DICOMStoreIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DICOMStoreIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DICOMStoreIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DICOMStoreIAMMember. +func (mg *DICOMStoreIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DICOMStoreIAMPolicy. +func (mg *DICOMStoreIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DICOMStoreIAMPolicy. +func (mg *DICOMStoreIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DICOMStoreIAMPolicy. +func (mg *DICOMStoreIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DICOMStoreIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DICOMStoreIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DICOMStoreIAMPolicy. +func (mg *DICOMStoreIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DICOMStoreIAMPolicy. +func (mg *DICOMStoreIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DICOMStoreIAMPolicy. +func (mg *DICOMStoreIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DICOMStoreIAMPolicy. +func (mg *DICOMStoreIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DICOMStoreIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DICOMStoreIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DICOMStoreIAMPolicy. +func (mg *DICOMStoreIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Dataset. +func (mg *Dataset) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Dataset. +func (mg *Dataset) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Dataset. +func (mg *Dataset) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Dataset. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Dataset) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Dataset. +func (mg *Dataset) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Dataset. +func (mg *Dataset) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Dataset. +func (mg *Dataset) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Dataset. +func (mg *Dataset) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Dataset. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Dataset) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Dataset. +func (mg *Dataset) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DatasetIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DatasetIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DatasetIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DatasetIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DatasetIAMBinding. +func (mg *DatasetIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DatasetIAMMember. +func (mg *DatasetIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DatasetIAMMember. +func (mg *DatasetIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DatasetIAMMember. +func (mg *DatasetIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DatasetIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DatasetIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DatasetIAMMember. +func (mg *DatasetIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DatasetIAMMember. +func (mg *DatasetIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DatasetIAMMember. +func (mg *DatasetIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DatasetIAMMember. +func (mg *DatasetIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DatasetIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DatasetIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DatasetIAMMember. +func (mg *DatasetIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DatasetIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DatasetIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DatasetIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DatasetIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DatasetIAMPolicy. +func (mg *DatasetIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FHIRStore. +func (mg *FHIRStore) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FHIRStore. +func (mg *FHIRStore) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FHIRStore. +func (mg *FHIRStore) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FHIRStore. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FHIRStore) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FHIRStore. +func (mg *FHIRStore) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FHIRStore. +func (mg *FHIRStore) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FHIRStore. +func (mg *FHIRStore) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FHIRStore. +func (mg *FHIRStore) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FHIRStore. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FHIRStore) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FHIRStore. +func (mg *FHIRStore) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FHIRStoreIAMBinding. +func (mg *FHIRStoreIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FHIRStoreIAMBinding. +func (mg *FHIRStoreIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FHIRStoreIAMBinding. +func (mg *FHIRStoreIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FHIRStoreIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FHIRStoreIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FHIRStoreIAMBinding. +func (mg *FHIRStoreIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FHIRStoreIAMBinding. +func (mg *FHIRStoreIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FHIRStoreIAMBinding. +func (mg *FHIRStoreIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FHIRStoreIAMBinding. +func (mg *FHIRStoreIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FHIRStoreIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FHIRStoreIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FHIRStoreIAMBinding. +func (mg *FHIRStoreIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FHIRStoreIAMMember. +func (mg *FHIRStoreIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FHIRStoreIAMMember. +func (mg *FHIRStoreIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FHIRStoreIAMMember. +func (mg *FHIRStoreIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FHIRStoreIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FHIRStoreIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FHIRStoreIAMMember. +func (mg *FHIRStoreIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FHIRStoreIAMMember. +func (mg *FHIRStoreIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FHIRStoreIAMMember. +func (mg *FHIRStoreIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FHIRStoreIAMMember. +func (mg *FHIRStoreIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FHIRStoreIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FHIRStoreIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FHIRStoreIAMMember. +func (mg *FHIRStoreIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FHIRStoreIAMPolicy. +func (mg *FHIRStoreIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FHIRStoreIAMPolicy. +func (mg *FHIRStoreIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FHIRStoreIAMPolicy. +func (mg *FHIRStoreIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FHIRStoreIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FHIRStoreIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FHIRStoreIAMPolicy. +func (mg *FHIRStoreIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FHIRStoreIAMPolicy. +func (mg *FHIRStoreIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FHIRStoreIAMPolicy. +func (mg *FHIRStoreIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FHIRStoreIAMPolicy. +func (mg *FHIRStoreIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FHIRStoreIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FHIRStoreIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FHIRStoreIAMPolicy. +func (mg *FHIRStoreIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this HL7V2Store. +func (mg *HL7V2Store) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this HL7V2Store. +func (mg *HL7V2Store) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this HL7V2Store. +func (mg *HL7V2Store) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this HL7V2Store. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *HL7V2Store) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this HL7V2Store. +func (mg *HL7V2Store) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this HL7V2Store. +func (mg *HL7V2Store) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this HL7V2Store. +func (mg *HL7V2Store) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this HL7V2Store. +func (mg *HL7V2Store) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this HL7V2Store. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *HL7V2Store) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this HL7V2Store. +func (mg *HL7V2Store) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this HL7V2StoreIAMBinding. +func (mg *HL7V2StoreIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this HL7V2StoreIAMBinding. +func (mg *HL7V2StoreIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this HL7V2StoreIAMBinding. +func (mg *HL7V2StoreIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this HL7V2StoreIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *HL7V2StoreIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this HL7V2StoreIAMBinding. +func (mg *HL7V2StoreIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this HL7V2StoreIAMBinding. +func (mg *HL7V2StoreIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this HL7V2StoreIAMBinding. +func (mg *HL7V2StoreIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this HL7V2StoreIAMBinding. +func (mg *HL7V2StoreIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this HL7V2StoreIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *HL7V2StoreIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this HL7V2StoreIAMBinding. +func (mg *HL7V2StoreIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this HL7V2StoreIAMMember. +func (mg *HL7V2StoreIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this HL7V2StoreIAMMember. +func (mg *HL7V2StoreIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this HL7V2StoreIAMMember. +func (mg *HL7V2StoreIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this HL7V2StoreIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *HL7V2StoreIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this HL7V2StoreIAMMember. +func (mg *HL7V2StoreIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this HL7V2StoreIAMMember. +func (mg *HL7V2StoreIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this HL7V2StoreIAMMember. +func (mg *HL7V2StoreIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this HL7V2StoreIAMMember. +func (mg *HL7V2StoreIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this HL7V2StoreIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *HL7V2StoreIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this HL7V2StoreIAMMember. +func (mg *HL7V2StoreIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this HL7V2StoreIAMPolicy. +func (mg *HL7V2StoreIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this HL7V2StoreIAMPolicy. +func (mg *HL7V2StoreIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this HL7V2StoreIAMPolicy. +func (mg *HL7V2StoreIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this HL7V2StoreIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *HL7V2StoreIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this HL7V2StoreIAMPolicy. +func (mg *HL7V2StoreIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this HL7V2StoreIAMPolicy. +func (mg *HL7V2StoreIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this HL7V2StoreIAMPolicy. +func (mg *HL7V2StoreIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this HL7V2StoreIAMPolicy. +func (mg *HL7V2StoreIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this HL7V2StoreIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *HL7V2StoreIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this HL7V2StoreIAMPolicy. +func (mg *HL7V2StoreIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/healthcare/v1alpha1/zz_generated.managedlist.go b/apis/healthcare/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..c07140af --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,200 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this ConsentStoreIAMBindingList. +func (l *ConsentStoreIAMBindingList) 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 ConsentStoreIAMMemberList. +func (l *ConsentStoreIAMMemberList) 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 ConsentStoreIAMPolicyList. +func (l *ConsentStoreIAMPolicyList) 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 ConsentStoreList. +func (l *ConsentStoreList) 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 DICOMStoreIAMBindingList. +func (l *DICOMStoreIAMBindingList) 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 DICOMStoreIAMMemberList. +func (l *DICOMStoreIAMMemberList) 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 DICOMStoreIAMPolicyList. +func (l *DICOMStoreIAMPolicyList) 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 DICOMStoreList. +func (l *DICOMStoreList) 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 DatasetIAMBindingList. +func (l *DatasetIAMBindingList) 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 DatasetIAMMemberList. +func (l *DatasetIAMMemberList) 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 DatasetIAMPolicyList. +func (l *DatasetIAMPolicyList) 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 DatasetList. +func (l *DatasetList) 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 FHIRStoreIAMBindingList. +func (l *FHIRStoreIAMBindingList) 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 FHIRStoreIAMMemberList. +func (l *FHIRStoreIAMMemberList) 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 FHIRStoreIAMPolicyList. +func (l *FHIRStoreIAMPolicyList) 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 FHIRStoreList. +func (l *FHIRStoreList) 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 HL7V2StoreIAMBindingList. +func (l *HL7V2StoreIAMBindingList) 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 HL7V2StoreIAMMemberList. +func (l *HL7V2StoreIAMMemberList) 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 HL7V2StoreIAMPolicyList. +func (l *HL7V2StoreIAMPolicyList) 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 HL7V2StoreList. +func (l *HL7V2StoreList) 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/healthcare/v1alpha1/zz_groupversion_info.go b/apis/healthcare/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..2ed5aeff --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=healthcare.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "healthcare.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/healthcare/v1alpha1/zz_hl7v2store_terraformed.go b/apis/healthcare/v1alpha1/zz_hl7v2store_terraformed.go new file mode 100755 index 00000000..e250b630 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_hl7v2store_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this HL7V2Store +func (mg *HL7V2Store) GetTerraformResourceType() string { + return "google_healthcare_hl7_v2_store" +} + +// GetConnectionDetailsMapping for this HL7V2Store +func (tr *HL7V2Store) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this HL7V2Store +func (tr *HL7V2Store) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this HL7V2Store +func (tr *HL7V2Store) SetObservation(obs map[string]interface{}) 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 HL7V2Store +func (tr *HL7V2Store) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this HL7V2Store +func (tr *HL7V2Store) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this HL7V2Store +func (tr *HL7V2Store) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this HL7V2Store using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *HL7V2Store) LateInitialize(attrs []byte) (bool, error) { + params := &HL7V2StoreParameters{} + 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 *HL7V2Store) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_hl7v2store_types.go b/apis/healthcare/v1alpha1/zz_hl7v2store_types.go new file mode 100755 index 00000000..00f395bc --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_hl7v2store_types.go @@ -0,0 +1,195 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 HL7V2StoreNotificationConfigObservation struct { +} + +type HL7V2StoreNotificationConfigParameters struct { + + // The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client. + // PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message. + // It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message + // was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a + // project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given + // Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail. + // +kubebuilder:validation:Required + PubsubTopic *string `json:"pubsubTopic" tf:"pubsub_topic,omitempty"` +} + +type HL7V2StoreObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type HL7V2StoreParameters struct { + + // Identifies the dataset addressed by this request. Must be in the format + // 'projects/{project}/locations/{location}/datasets/{dataset}' + // +kubebuilder:validation:Required + Dataset *string `json:"dataset" tf:"dataset,omitempty"` + + // User-supplied key-value pairs used to organize HL7v2 stores. + // + // Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must + // conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62} + // + // Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 + // bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} + // + // No more than 64 labels can be associated with a given store. + // + // An object containing a list of "key": value pairs. + // Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The resource name for the Hl7V2Store. + // + // ** Changing this property may recreate the Hl7v2 store (removing all data) ** + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + NotificationConfig []HL7V2StoreNotificationConfigParameters `json:"notificationConfig,omitempty" tf:"notification_config,omitempty"` + + // A list of notification configs. Each configuration uses a filter to determine whether to publish a + // message (both Ingest & Create) on the corresponding notification destination. Only the message name + // is sent as part of the notification. Supplied by the client. + // +kubebuilder:validation:Optional + NotificationConfigs []NotificationConfigsParameters `json:"notificationConfigs,omitempty" tf:"notification_configs,omitempty"` + + // A nested object resource + // +kubebuilder:validation:Optional + ParserConfig []ParserConfigParameters `json:"parserConfig,omitempty" tf:"parser_config,omitempty"` +} + +type NotificationConfigsObservation struct { +} + +type NotificationConfigsParameters struct { + + // Restricts notifications sent for messages matching a filter. If this is empty, all messages + // are matched. Syntax: https://cloud.google.com/appengine/docs/standard/python/search/query_strings + // + // Fields/functions available for filtering are: + // + // * messageType, from the MSH-9.1 field. For example, NOT messageType = "ADT". + // * send_date or sendDate, the YYYY-MM-DD date the message was sent in the dataset's timeZone, from the MSH-7 segment. For example, send_date < "2017-01-02". + // * sendTime, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, sendTime < "2017-01-02T00:00:00-05:00". + // * sendFacility, the care center that the message came from, from the MSH-4 segment. For example, sendFacility = "ABC". + // * PatientId(value, type), which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, PatientId("123456", "MRN"). + // * labels.x, a string value of the label with key x as set using the Message.labels map. For example, labels."priority"="high". The operator :* can be used to assert the existence of a label. For example, labels."priority":*. + // +kubebuilder:validation:Optional + Filter *string `json:"filter,omitempty" tf:"filter,omitempty"` + + // The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client. + // PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message. + // It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message + // was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a + // project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given + // Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail. + // + // If a notification cannot be published to Cloud Pub/Sub, errors will be logged to Stackdriver + // +kubebuilder:validation:Required + PubsubTopic *string `json:"pubsubTopic" tf:"pubsub_topic,omitempty"` +} + +type ParserConfigObservation struct { +} + +type ParserConfigParameters struct { + + // Determines whether messages with no header are allowed. + // +kubebuilder:validation:Optional + AllowNullHeader *bool `json:"allowNullHeader,omitempty" tf:"allow_null_header,omitempty"` + + // JSON encoded string for schemas used to parse messages in this + // store if schematized parsing is desired. + // +kubebuilder:validation:Optional + Schema *string `json:"schema,omitempty" tf:"schema,omitempty"` + + // Byte(s) to be used as the segment terminator. If this is unset, '\r' will be used as segment terminator. + // + // A base64-encoded string. + // +kubebuilder:validation:Optional + SegmentTerminator *string `json:"segmentTerminator,omitempty" tf:"segment_terminator,omitempty"` + + // The version of the unschematized parser to be used when a custom 'schema' is not set. Default value: "V1" Possible values: ["V1", "V2"] + // +kubebuilder:validation:Optional + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +// HL7V2StoreSpec defines the desired state of HL7V2Store +type HL7V2StoreSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider HL7V2StoreParameters `json:"forProvider"` +} + +// HL7V2StoreStatus defines the observed state of HL7V2Store. +type HL7V2StoreStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider HL7V2StoreObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// HL7V2Store is the Schema for the HL7V2Stores 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,gcpjet} +type HL7V2Store struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HL7V2StoreSpec `json:"spec"` + Status HL7V2StoreStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// HL7V2StoreList contains a list of HL7V2Stores +type HL7V2StoreList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HL7V2Store `json:"items"` +} + +// Repository type metadata. +var ( + HL7V2Store_Kind = "HL7V2Store" + HL7V2Store_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: HL7V2Store_Kind}.String() + HL7V2Store_KindAPIVersion = HL7V2Store_Kind + "." + CRDGroupVersion.String() + HL7V2Store_GroupVersionKind = CRDGroupVersion.WithKind(HL7V2Store_Kind) +) + +func init() { + SchemeBuilder.Register(&HL7V2Store{}, &HL7V2StoreList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_hl7v2storeiambinding_terraformed.go b/apis/healthcare/v1alpha1/zz_hl7v2storeiambinding_terraformed.go new file mode 100755 index 00000000..5af72e11 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_hl7v2storeiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this HL7V2StoreIAMBinding +func (mg *HL7V2StoreIAMBinding) GetTerraformResourceType() string { + return "google_healthcare_hl7_v2_store_iam_binding" +} + +// GetConnectionDetailsMapping for this HL7V2StoreIAMBinding +func (tr *HL7V2StoreIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this HL7V2StoreIAMBinding +func (tr *HL7V2StoreIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this HL7V2StoreIAMBinding +func (tr *HL7V2StoreIAMBinding) SetObservation(obs map[string]interface{}) 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 HL7V2StoreIAMBinding +func (tr *HL7V2StoreIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this HL7V2StoreIAMBinding +func (tr *HL7V2StoreIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this HL7V2StoreIAMBinding +func (tr *HL7V2StoreIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this HL7V2StoreIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *HL7V2StoreIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &HL7V2StoreIAMBindingParameters{} + 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 *HL7V2StoreIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_hl7v2storeiambinding_types.go b/apis/healthcare/v1alpha1/zz_hl7v2storeiambinding_types.go new file mode 100755 index 00000000..d7d9509b --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_hl7v2storeiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 HL7V2StoreIAMBindingConditionObservation struct { +} + +type HL7V2StoreIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type HL7V2StoreIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type HL7V2StoreIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []HL7V2StoreIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + HL7V2StoreID *string `json:"hl7V2StoreId" tf:"hl7_v2_store_id,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// HL7V2StoreIAMBindingSpec defines the desired state of HL7V2StoreIAMBinding +type HL7V2StoreIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider HL7V2StoreIAMBindingParameters `json:"forProvider"` +} + +// HL7V2StoreIAMBindingStatus defines the observed state of HL7V2StoreIAMBinding. +type HL7V2StoreIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider HL7V2StoreIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// HL7V2StoreIAMBinding is the Schema for the HL7V2StoreIAMBindings 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,gcpjet} +type HL7V2StoreIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HL7V2StoreIAMBindingSpec `json:"spec"` + Status HL7V2StoreIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// HL7V2StoreIAMBindingList contains a list of HL7V2StoreIAMBindings +type HL7V2StoreIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HL7V2StoreIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + HL7V2StoreIAMBinding_Kind = "HL7V2StoreIAMBinding" + HL7V2StoreIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: HL7V2StoreIAMBinding_Kind}.String() + HL7V2StoreIAMBinding_KindAPIVersion = HL7V2StoreIAMBinding_Kind + "." + CRDGroupVersion.String() + HL7V2StoreIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(HL7V2StoreIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&HL7V2StoreIAMBinding{}, &HL7V2StoreIAMBindingList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_hl7v2storeiammember_terraformed.go b/apis/healthcare/v1alpha1/zz_hl7v2storeiammember_terraformed.go new file mode 100755 index 00000000..de8941b3 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_hl7v2storeiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this HL7V2StoreIAMMember +func (mg *HL7V2StoreIAMMember) GetTerraformResourceType() string { + return "google_healthcare_hl7_v2_store_iam_member" +} + +// GetConnectionDetailsMapping for this HL7V2StoreIAMMember +func (tr *HL7V2StoreIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this HL7V2StoreIAMMember +func (tr *HL7V2StoreIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this HL7V2StoreIAMMember +func (tr *HL7V2StoreIAMMember) SetObservation(obs map[string]interface{}) 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 HL7V2StoreIAMMember +func (tr *HL7V2StoreIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this HL7V2StoreIAMMember +func (tr *HL7V2StoreIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this HL7V2StoreIAMMember +func (tr *HL7V2StoreIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this HL7V2StoreIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *HL7V2StoreIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &HL7V2StoreIAMMemberParameters{} + 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 *HL7V2StoreIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_hl7v2storeiammember_types.go b/apis/healthcare/v1alpha1/zz_hl7v2storeiammember_types.go new file mode 100755 index 00000000..9c386894 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_hl7v2storeiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 HL7V2StoreIAMMemberConditionObservation struct { +} + +type HL7V2StoreIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type HL7V2StoreIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type HL7V2StoreIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []HL7V2StoreIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + HL7V2StoreID *string `json:"hl7V2StoreId" tf:"hl7_v2_store_id,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// HL7V2StoreIAMMemberSpec defines the desired state of HL7V2StoreIAMMember +type HL7V2StoreIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider HL7V2StoreIAMMemberParameters `json:"forProvider"` +} + +// HL7V2StoreIAMMemberStatus defines the observed state of HL7V2StoreIAMMember. +type HL7V2StoreIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider HL7V2StoreIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// HL7V2StoreIAMMember is the Schema for the HL7V2StoreIAMMembers 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,gcpjet} +type HL7V2StoreIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HL7V2StoreIAMMemberSpec `json:"spec"` + Status HL7V2StoreIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// HL7V2StoreIAMMemberList contains a list of HL7V2StoreIAMMembers +type HL7V2StoreIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HL7V2StoreIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + HL7V2StoreIAMMember_Kind = "HL7V2StoreIAMMember" + HL7V2StoreIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: HL7V2StoreIAMMember_Kind}.String() + HL7V2StoreIAMMember_KindAPIVersion = HL7V2StoreIAMMember_Kind + "." + CRDGroupVersion.String() + HL7V2StoreIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(HL7V2StoreIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&HL7V2StoreIAMMember{}, &HL7V2StoreIAMMemberList{}) +} diff --git a/apis/healthcare/v1alpha1/zz_hl7v2storeiampolicy_terraformed.go b/apis/healthcare/v1alpha1/zz_hl7v2storeiampolicy_terraformed.go new file mode 100755 index 00000000..2e268725 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_hl7v2storeiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this HL7V2StoreIAMPolicy +func (mg *HL7V2StoreIAMPolicy) GetTerraformResourceType() string { + return "google_healthcare_hl7_v2_store_iam_policy" +} + +// GetConnectionDetailsMapping for this HL7V2StoreIAMPolicy +func (tr *HL7V2StoreIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this HL7V2StoreIAMPolicy +func (tr *HL7V2StoreIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this HL7V2StoreIAMPolicy +func (tr *HL7V2StoreIAMPolicy) SetObservation(obs map[string]interface{}) 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 HL7V2StoreIAMPolicy +func (tr *HL7V2StoreIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this HL7V2StoreIAMPolicy +func (tr *HL7V2StoreIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this HL7V2StoreIAMPolicy +func (tr *HL7V2StoreIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this HL7V2StoreIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *HL7V2StoreIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &HL7V2StoreIAMPolicyParameters{} + 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 *HL7V2StoreIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/healthcare/v1alpha1/zz_hl7v2storeiampolicy_types.go b/apis/healthcare/v1alpha1/zz_hl7v2storeiampolicy_types.go new file mode 100755 index 00000000..6a726ce5 --- /dev/null +++ b/apis/healthcare/v1alpha1/zz_hl7v2storeiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 HL7V2StoreIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type HL7V2StoreIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + HL7V2StoreID *string `json:"hl7V2StoreId" tf:"hl7_v2_store_id,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` +} + +// HL7V2StoreIAMPolicySpec defines the desired state of HL7V2StoreIAMPolicy +type HL7V2StoreIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider HL7V2StoreIAMPolicyParameters `json:"forProvider"` +} + +// HL7V2StoreIAMPolicyStatus defines the observed state of HL7V2StoreIAMPolicy. +type HL7V2StoreIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider HL7V2StoreIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// HL7V2StoreIAMPolicy is the Schema for the HL7V2StoreIAMPolicys 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,gcpjet} +type HL7V2StoreIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HL7V2StoreIAMPolicySpec `json:"spec"` + Status HL7V2StoreIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// HL7V2StoreIAMPolicyList contains a list of HL7V2StoreIAMPolicys +type HL7V2StoreIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HL7V2StoreIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + HL7V2StoreIAMPolicy_Kind = "HL7V2StoreIAMPolicy" + HL7V2StoreIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: HL7V2StoreIAMPolicy_Kind}.String() + HL7V2StoreIAMPolicy_KindAPIVersion = HL7V2StoreIAMPolicy_Kind + "." + CRDGroupVersion.String() + HL7V2StoreIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(HL7V2StoreIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&HL7V2StoreIAMPolicy{}, &HL7V2StoreIAMPolicyList{}) +} diff --git a/apis/iap/v1alpha1/zz_appengineserviceiambinding_terraformed.go b/apis/iap/v1alpha1/zz_appengineserviceiambinding_terraformed.go new file mode 100755 index 00000000..6133ec03 --- /dev/null +++ b/apis/iap/v1alpha1/zz_appengineserviceiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AppEngineServiceIAMBinding +func (mg *AppEngineServiceIAMBinding) GetTerraformResourceType() string { + return "google_iap_app_engine_service_iam_binding" +} + +// GetConnectionDetailsMapping for this AppEngineServiceIAMBinding +func (tr *AppEngineServiceIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AppEngineServiceIAMBinding +func (tr *AppEngineServiceIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AppEngineServiceIAMBinding +func (tr *AppEngineServiceIAMBinding) SetObservation(obs map[string]interface{}) 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 AppEngineServiceIAMBinding +func (tr *AppEngineServiceIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AppEngineServiceIAMBinding +func (tr *AppEngineServiceIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AppEngineServiceIAMBinding +func (tr *AppEngineServiceIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AppEngineServiceIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AppEngineServiceIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &AppEngineServiceIAMBindingParameters{} + 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 *AppEngineServiceIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_appengineserviceiambinding_types.go b/apis/iap/v1alpha1/zz_appengineserviceiambinding_types.go new file mode 100755 index 00000000..d528f65f --- /dev/null +++ b/apis/iap/v1alpha1/zz_appengineserviceiambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AppEngineServiceIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AppEngineServiceIAMBindingParameters struct { + + // +kubebuilder:validation:Required + AppID *string `json:"appId" tf:"app_id,omitempty"` + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +type ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +// AppEngineServiceIAMBindingSpec defines the desired state of AppEngineServiceIAMBinding +type AppEngineServiceIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AppEngineServiceIAMBindingParameters `json:"forProvider"` +} + +// AppEngineServiceIAMBindingStatus defines the observed state of AppEngineServiceIAMBinding. +type AppEngineServiceIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AppEngineServiceIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AppEngineServiceIAMBinding is the Schema for the AppEngineServiceIAMBindings 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,gcpjet} +type AppEngineServiceIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AppEngineServiceIAMBindingSpec `json:"spec"` + Status AppEngineServiceIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AppEngineServiceIAMBindingList contains a list of AppEngineServiceIAMBindings +type AppEngineServiceIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AppEngineServiceIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + AppEngineServiceIAMBinding_Kind = "AppEngineServiceIAMBinding" + AppEngineServiceIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AppEngineServiceIAMBinding_Kind}.String() + AppEngineServiceIAMBinding_KindAPIVersion = AppEngineServiceIAMBinding_Kind + "." + CRDGroupVersion.String() + AppEngineServiceIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(AppEngineServiceIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&AppEngineServiceIAMBinding{}, &AppEngineServiceIAMBindingList{}) +} diff --git a/apis/iap/v1alpha1/zz_appengineserviceiammember_terraformed.go b/apis/iap/v1alpha1/zz_appengineserviceiammember_terraformed.go new file mode 100755 index 00000000..800b9905 --- /dev/null +++ b/apis/iap/v1alpha1/zz_appengineserviceiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AppEngineServiceIAMMember +func (mg *AppEngineServiceIAMMember) GetTerraformResourceType() string { + return "google_iap_app_engine_service_iam_member" +} + +// GetConnectionDetailsMapping for this AppEngineServiceIAMMember +func (tr *AppEngineServiceIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AppEngineServiceIAMMember +func (tr *AppEngineServiceIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AppEngineServiceIAMMember +func (tr *AppEngineServiceIAMMember) SetObservation(obs map[string]interface{}) 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 AppEngineServiceIAMMember +func (tr *AppEngineServiceIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AppEngineServiceIAMMember +func (tr *AppEngineServiceIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AppEngineServiceIAMMember +func (tr *AppEngineServiceIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AppEngineServiceIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AppEngineServiceIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &AppEngineServiceIAMMemberParameters{} + 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 *AppEngineServiceIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_appengineserviceiammember_types.go b/apis/iap/v1alpha1/zz_appengineserviceiammember_types.go new file mode 100755 index 00000000..0103d313 --- /dev/null +++ b/apis/iap/v1alpha1/zz_appengineserviceiammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AppEngineServiceIAMMemberConditionObservation struct { +} + +type AppEngineServiceIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type AppEngineServiceIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AppEngineServiceIAMMemberParameters struct { + + // +kubebuilder:validation:Required + AppID *string `json:"appId" tf:"app_id,omitempty"` + + // +kubebuilder:validation:Optional + Condition []AppEngineServiceIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +// AppEngineServiceIAMMemberSpec defines the desired state of AppEngineServiceIAMMember +type AppEngineServiceIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AppEngineServiceIAMMemberParameters `json:"forProvider"` +} + +// AppEngineServiceIAMMemberStatus defines the observed state of AppEngineServiceIAMMember. +type AppEngineServiceIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AppEngineServiceIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AppEngineServiceIAMMember is the Schema for the AppEngineServiceIAMMembers 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,gcpjet} +type AppEngineServiceIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AppEngineServiceIAMMemberSpec `json:"spec"` + Status AppEngineServiceIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AppEngineServiceIAMMemberList contains a list of AppEngineServiceIAMMembers +type AppEngineServiceIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AppEngineServiceIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + AppEngineServiceIAMMember_Kind = "AppEngineServiceIAMMember" + AppEngineServiceIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AppEngineServiceIAMMember_Kind}.String() + AppEngineServiceIAMMember_KindAPIVersion = AppEngineServiceIAMMember_Kind + "." + CRDGroupVersion.String() + AppEngineServiceIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(AppEngineServiceIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&AppEngineServiceIAMMember{}, &AppEngineServiceIAMMemberList{}) +} diff --git a/apis/iap/v1alpha1/zz_appengineserviceiampolicy_terraformed.go b/apis/iap/v1alpha1/zz_appengineserviceiampolicy_terraformed.go new file mode 100755 index 00000000..663e61ee --- /dev/null +++ b/apis/iap/v1alpha1/zz_appengineserviceiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AppEngineServiceIAMPolicy +func (mg *AppEngineServiceIAMPolicy) GetTerraformResourceType() string { + return "google_iap_app_engine_service_iam_policy" +} + +// GetConnectionDetailsMapping for this AppEngineServiceIAMPolicy +func (tr *AppEngineServiceIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AppEngineServiceIAMPolicy +func (tr *AppEngineServiceIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AppEngineServiceIAMPolicy +func (tr *AppEngineServiceIAMPolicy) SetObservation(obs map[string]interface{}) 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 AppEngineServiceIAMPolicy +func (tr *AppEngineServiceIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AppEngineServiceIAMPolicy +func (tr *AppEngineServiceIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AppEngineServiceIAMPolicy +func (tr *AppEngineServiceIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AppEngineServiceIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AppEngineServiceIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &AppEngineServiceIAMPolicyParameters{} + 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 *AppEngineServiceIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_appengineserviceiampolicy_types.go b/apis/iap/v1alpha1/zz_appengineserviceiampolicy_types.go new file mode 100755 index 00000000..c6e83aa3 --- /dev/null +++ b/apis/iap/v1alpha1/zz_appengineserviceiampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AppEngineServiceIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AppEngineServiceIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + AppID *string `json:"appId" tf:"app_id,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +// AppEngineServiceIAMPolicySpec defines the desired state of AppEngineServiceIAMPolicy +type AppEngineServiceIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AppEngineServiceIAMPolicyParameters `json:"forProvider"` +} + +// AppEngineServiceIAMPolicyStatus defines the observed state of AppEngineServiceIAMPolicy. +type AppEngineServiceIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AppEngineServiceIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AppEngineServiceIAMPolicy is the Schema for the AppEngineServiceIAMPolicys 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,gcpjet} +type AppEngineServiceIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AppEngineServiceIAMPolicySpec `json:"spec"` + Status AppEngineServiceIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AppEngineServiceIAMPolicyList contains a list of AppEngineServiceIAMPolicys +type AppEngineServiceIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AppEngineServiceIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + AppEngineServiceIAMPolicy_Kind = "AppEngineServiceIAMPolicy" + AppEngineServiceIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AppEngineServiceIAMPolicy_Kind}.String() + AppEngineServiceIAMPolicy_KindAPIVersion = AppEngineServiceIAMPolicy_Kind + "." + CRDGroupVersion.String() + AppEngineServiceIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(AppEngineServiceIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&AppEngineServiceIAMPolicy{}, &AppEngineServiceIAMPolicyList{}) +} diff --git a/apis/iap/v1alpha1/zz_appengineversioniambinding_terraformed.go b/apis/iap/v1alpha1/zz_appengineversioniambinding_terraformed.go new file mode 100755 index 00000000..a7b66efe --- /dev/null +++ b/apis/iap/v1alpha1/zz_appengineversioniambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AppEngineVersionIAMBinding +func (mg *AppEngineVersionIAMBinding) GetTerraformResourceType() string { + return "google_iap_app_engine_version_iam_binding" +} + +// GetConnectionDetailsMapping for this AppEngineVersionIAMBinding +func (tr *AppEngineVersionIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AppEngineVersionIAMBinding +func (tr *AppEngineVersionIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AppEngineVersionIAMBinding +func (tr *AppEngineVersionIAMBinding) SetObservation(obs map[string]interface{}) 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 AppEngineVersionIAMBinding +func (tr *AppEngineVersionIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AppEngineVersionIAMBinding +func (tr *AppEngineVersionIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AppEngineVersionIAMBinding +func (tr *AppEngineVersionIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AppEngineVersionIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AppEngineVersionIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &AppEngineVersionIAMBindingParameters{} + 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 *AppEngineVersionIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_appengineversioniambinding_types.go b/apis/iap/v1alpha1/zz_appengineversioniambinding_types.go new file mode 100755 index 00000000..f6c59fc7 --- /dev/null +++ b/apis/iap/v1alpha1/zz_appengineversioniambinding_types.go @@ -0,0 +1,120 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AppEngineVersionIAMBindingConditionObservation struct { +} + +type AppEngineVersionIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type AppEngineVersionIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AppEngineVersionIAMBindingParameters struct { + + // +kubebuilder:validation:Required + AppID *string `json:"appId" tf:"app_id,omitempty"` + + // +kubebuilder:validation:Optional + Condition []AppEngineVersionIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` + + // +kubebuilder:validation:Required + VersionID *string `json:"versionId" tf:"version_id,omitempty"` +} + +// AppEngineVersionIAMBindingSpec defines the desired state of AppEngineVersionIAMBinding +type AppEngineVersionIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AppEngineVersionIAMBindingParameters `json:"forProvider"` +} + +// AppEngineVersionIAMBindingStatus defines the observed state of AppEngineVersionIAMBinding. +type AppEngineVersionIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AppEngineVersionIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AppEngineVersionIAMBinding is the Schema for the AppEngineVersionIAMBindings 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,gcpjet} +type AppEngineVersionIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AppEngineVersionIAMBindingSpec `json:"spec"` + Status AppEngineVersionIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AppEngineVersionIAMBindingList contains a list of AppEngineVersionIAMBindings +type AppEngineVersionIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AppEngineVersionIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + AppEngineVersionIAMBinding_Kind = "AppEngineVersionIAMBinding" + AppEngineVersionIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AppEngineVersionIAMBinding_Kind}.String() + AppEngineVersionIAMBinding_KindAPIVersion = AppEngineVersionIAMBinding_Kind + "." + CRDGroupVersion.String() + AppEngineVersionIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(AppEngineVersionIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&AppEngineVersionIAMBinding{}, &AppEngineVersionIAMBindingList{}) +} diff --git a/apis/iap/v1alpha1/zz_appengineversioniammember_terraformed.go b/apis/iap/v1alpha1/zz_appengineversioniammember_terraformed.go new file mode 100755 index 00000000..1239c9db --- /dev/null +++ b/apis/iap/v1alpha1/zz_appengineversioniammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AppEngineVersionIAMMember +func (mg *AppEngineVersionIAMMember) GetTerraformResourceType() string { + return "google_iap_app_engine_version_iam_member" +} + +// GetConnectionDetailsMapping for this AppEngineVersionIAMMember +func (tr *AppEngineVersionIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AppEngineVersionIAMMember +func (tr *AppEngineVersionIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AppEngineVersionIAMMember +func (tr *AppEngineVersionIAMMember) SetObservation(obs map[string]interface{}) 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 AppEngineVersionIAMMember +func (tr *AppEngineVersionIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AppEngineVersionIAMMember +func (tr *AppEngineVersionIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AppEngineVersionIAMMember +func (tr *AppEngineVersionIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AppEngineVersionIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AppEngineVersionIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &AppEngineVersionIAMMemberParameters{} + 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 *AppEngineVersionIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_appengineversioniammember_types.go b/apis/iap/v1alpha1/zz_appengineversioniammember_types.go new file mode 100755 index 00000000..e764ea09 --- /dev/null +++ b/apis/iap/v1alpha1/zz_appengineversioniammember_types.go @@ -0,0 +1,120 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AppEngineVersionIAMMemberConditionObservation struct { +} + +type AppEngineVersionIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type AppEngineVersionIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AppEngineVersionIAMMemberParameters struct { + + // +kubebuilder:validation:Required + AppID *string `json:"appId" tf:"app_id,omitempty"` + + // +kubebuilder:validation:Optional + Condition []AppEngineVersionIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` + + // +kubebuilder:validation:Required + VersionID *string `json:"versionId" tf:"version_id,omitempty"` +} + +// AppEngineVersionIAMMemberSpec defines the desired state of AppEngineVersionIAMMember +type AppEngineVersionIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AppEngineVersionIAMMemberParameters `json:"forProvider"` +} + +// AppEngineVersionIAMMemberStatus defines the observed state of AppEngineVersionIAMMember. +type AppEngineVersionIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AppEngineVersionIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AppEngineVersionIAMMember is the Schema for the AppEngineVersionIAMMembers 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,gcpjet} +type AppEngineVersionIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AppEngineVersionIAMMemberSpec `json:"spec"` + Status AppEngineVersionIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AppEngineVersionIAMMemberList contains a list of AppEngineVersionIAMMembers +type AppEngineVersionIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AppEngineVersionIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + AppEngineVersionIAMMember_Kind = "AppEngineVersionIAMMember" + AppEngineVersionIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AppEngineVersionIAMMember_Kind}.String() + AppEngineVersionIAMMember_KindAPIVersion = AppEngineVersionIAMMember_Kind + "." + CRDGroupVersion.String() + AppEngineVersionIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(AppEngineVersionIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&AppEngineVersionIAMMember{}, &AppEngineVersionIAMMemberList{}) +} diff --git a/apis/iap/v1alpha1/zz_appengineversioniampolicy_terraformed.go b/apis/iap/v1alpha1/zz_appengineversioniampolicy_terraformed.go new file mode 100755 index 00000000..3ed43823 --- /dev/null +++ b/apis/iap/v1alpha1/zz_appengineversioniampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AppEngineVersionIAMPolicy +func (mg *AppEngineVersionIAMPolicy) GetTerraformResourceType() string { + return "google_iap_app_engine_version_iam_policy" +} + +// GetConnectionDetailsMapping for this AppEngineVersionIAMPolicy +func (tr *AppEngineVersionIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AppEngineVersionIAMPolicy +func (tr *AppEngineVersionIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AppEngineVersionIAMPolicy +func (tr *AppEngineVersionIAMPolicy) SetObservation(obs map[string]interface{}) 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 AppEngineVersionIAMPolicy +func (tr *AppEngineVersionIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AppEngineVersionIAMPolicy +func (tr *AppEngineVersionIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AppEngineVersionIAMPolicy +func (tr *AppEngineVersionIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this AppEngineVersionIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AppEngineVersionIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &AppEngineVersionIAMPolicyParameters{} + 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 *AppEngineVersionIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_appengineversioniampolicy_types.go b/apis/iap/v1alpha1/zz_appengineversioniampolicy_types.go new file mode 100755 index 00000000..e28f5490 --- /dev/null +++ b/apis/iap/v1alpha1/zz_appengineversioniampolicy_types.go @@ -0,0 +1,99 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AppEngineVersionIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type AppEngineVersionIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + AppID *string `json:"appId" tf:"app_id,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` + + // +kubebuilder:validation:Required + VersionID *string `json:"versionId" tf:"version_id,omitempty"` +} + +// AppEngineVersionIAMPolicySpec defines the desired state of AppEngineVersionIAMPolicy +type AppEngineVersionIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AppEngineVersionIAMPolicyParameters `json:"forProvider"` +} + +// AppEngineVersionIAMPolicyStatus defines the observed state of AppEngineVersionIAMPolicy. +type AppEngineVersionIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AppEngineVersionIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// AppEngineVersionIAMPolicy is the Schema for the AppEngineVersionIAMPolicys 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,gcpjet} +type AppEngineVersionIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AppEngineVersionIAMPolicySpec `json:"spec"` + Status AppEngineVersionIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AppEngineVersionIAMPolicyList contains a list of AppEngineVersionIAMPolicys +type AppEngineVersionIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AppEngineVersionIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + AppEngineVersionIAMPolicy_Kind = "AppEngineVersionIAMPolicy" + AppEngineVersionIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AppEngineVersionIAMPolicy_Kind}.String() + AppEngineVersionIAMPolicy_KindAPIVersion = AppEngineVersionIAMPolicy_Kind + "." + CRDGroupVersion.String() + AppEngineVersionIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(AppEngineVersionIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&AppEngineVersionIAMPolicy{}, &AppEngineVersionIAMPolicyList{}) +} diff --git a/apis/iap/v1alpha1/zz_brand_terraformed.go b/apis/iap/v1alpha1/zz_brand_terraformed.go new file mode 100755 index 00000000..8c9b83eb --- /dev/null +++ b/apis/iap/v1alpha1/zz_brand_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Brand +func (mg *Brand) GetTerraformResourceType() string { + return "google_iap_brand" +} + +// GetConnectionDetailsMapping for this Brand +func (tr *Brand) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Brand +func (tr *Brand) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Brand +func (tr *Brand) SetObservation(obs map[string]interface{}) 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 Brand +func (tr *Brand) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Brand +func (tr *Brand) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Brand +func (tr *Brand) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Brand using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Brand) LateInitialize(attrs []byte) (bool, error) { + params := &BrandParameters{} + 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 *Brand) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_brand_types.go b/apis/iap/v1alpha1/zz_brand_types.go new file mode 100755 index 00000000..b0f672ff --- /dev/null +++ b/apis/iap/v1alpha1/zz_brand_types.go @@ -0,0 +1,101 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BrandObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + OrgInternalOnly *bool `json:"orgInternalOnly,omitempty" tf:"org_internal_only,omitempty"` +} + +type BrandParameters struct { + + // Application name displayed on OAuth consent screen. + // +kubebuilder:validation:Required + ApplicationTitle *string `json:"applicationTitle" tf:"application_title,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Support email displayed on the OAuth consent screen. Can be either a + // user or group email. When a user email is specified, the caller must + // be the user with the associated email address. When a group email is + // specified, the caller can be either a user or a service account which + // is an owner of the specified group in Cloud Identity. + // +kubebuilder:validation:Required + SupportEmail *string `json:"supportEmail" tf:"support_email,omitempty"` +} + +// BrandSpec defines the desired state of Brand +type BrandSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BrandParameters `json:"forProvider"` +} + +// BrandStatus defines the observed state of Brand. +type BrandStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BrandObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Brand is the Schema for the Brands 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,gcpjet} +type Brand struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BrandSpec `json:"spec"` + Status BrandStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BrandList contains a list of Brands +type BrandList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Brand `json:"items"` +} + +// Repository type metadata. +var ( + Brand_Kind = "Brand" + Brand_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Brand_Kind}.String() + Brand_KindAPIVersion = Brand_Kind + "." + CRDGroupVersion.String() + Brand_GroupVersionKind = CRDGroupVersion.WithKind(Brand_Kind) +) + +func init() { + SchemeBuilder.Register(&Brand{}, &BrandList{}) +} diff --git a/apis/iap/v1alpha1/zz_client_terraformed.go b/apis/iap/v1alpha1/zz_client_terraformed.go new file mode 100755 index 00000000..587822d2 --- /dev/null +++ b/apis/iap/v1alpha1/zz_client_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Client +func (mg *Client) GetTerraformResourceType() string { + return "google_iap_client" +} + +// GetConnectionDetailsMapping for this Client +func (tr *Client) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"secret": "status.atProvider.secret"} +} + +// GetObservation of this Client +func (tr *Client) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Client +func (tr *Client) SetObservation(obs map[string]interface{}) 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 Client +func (tr *Client) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Client +func (tr *Client) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Client +func (tr *Client) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Client using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Client) LateInitialize(attrs []byte) (bool, error) { + params := &ClientParameters{} + 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 *Client) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_client_types.go b/apis/iap/v1alpha1/zz_client_types.go new file mode 100755 index 00000000..846566be --- /dev/null +++ b/apis/iap/v1alpha1/zz_client_types.go @@ -0,0 +1,94 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ClientObservation struct { + ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ClientParameters struct { + + // Identifier of the brand to which this client + // is attached to. The format is + // 'projects/{project_number}/brands/{brand_id}/identityAwareProxyClients/{client_id}'. + // +kubebuilder:validation:Required + Brand *string `json:"brand" tf:"brand,omitempty"` + + // Human-friendly name given to the OAuth client. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` +} + +// ClientSpec defines the desired state of Client +type ClientSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ClientParameters `json:"forProvider"` +} + +// ClientStatus defines the observed state of Client. +type ClientStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ClientObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Client is the Schema for the Clients 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,gcpjet} +type Client struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ClientSpec `json:"spec"` + Status ClientStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ClientList contains a list of Clients +type ClientList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Client `json:"items"` +} + +// Repository type metadata. +var ( + Client_Kind = "Client" + Client_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Client_Kind}.String() + Client_KindAPIVersion = Client_Kind + "." + CRDGroupVersion.String() + Client_GroupVersionKind = CRDGroupVersion.WithKind(Client_Kind) +) + +func init() { + SchemeBuilder.Register(&Client{}, &ClientList{}) +} diff --git a/apis/iap/v1alpha1/zz_generated.deepcopy.go b/apis/iap/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..25110e9b --- /dev/null +++ b/apis/iap/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,4848 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineServiceIAMBinding) DeepCopyInto(out *AppEngineServiceIAMBinding) { + *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 AppEngineServiceIAMBinding. +func (in *AppEngineServiceIAMBinding) DeepCopy() *AppEngineServiceIAMBinding { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppEngineServiceIAMBinding) 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 *AppEngineServiceIAMBindingList) DeepCopyInto(out *AppEngineServiceIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AppEngineServiceIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMBindingList. +func (in *AppEngineServiceIAMBindingList) DeepCopy() *AppEngineServiceIAMBindingList { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppEngineServiceIAMBindingList) 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 *AppEngineServiceIAMBindingObservation) DeepCopyInto(out *AppEngineServiceIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMBindingObservation. +func (in *AppEngineServiceIAMBindingObservation) DeepCopy() *AppEngineServiceIAMBindingObservation { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineServiceIAMBindingParameters) DeepCopyInto(out *AppEngineServiceIAMBindingParameters) { + *out = *in + if in.AppID != nil { + in, out := &in.AppID, &out.AppID + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMBindingParameters. +func (in *AppEngineServiceIAMBindingParameters) DeepCopy() *AppEngineServiceIAMBindingParameters { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineServiceIAMBindingSpec) DeepCopyInto(out *AppEngineServiceIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMBindingSpec. +func (in *AppEngineServiceIAMBindingSpec) DeepCopy() *AppEngineServiceIAMBindingSpec { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineServiceIAMBindingStatus) DeepCopyInto(out *AppEngineServiceIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMBindingStatus. +func (in *AppEngineServiceIAMBindingStatus) DeepCopy() *AppEngineServiceIAMBindingStatus { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineServiceIAMMember) DeepCopyInto(out *AppEngineServiceIAMMember) { + *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 AppEngineServiceIAMMember. +func (in *AppEngineServiceIAMMember) DeepCopy() *AppEngineServiceIAMMember { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppEngineServiceIAMMember) 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 *AppEngineServiceIAMMemberConditionObservation) DeepCopyInto(out *AppEngineServiceIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMMemberConditionObservation. +func (in *AppEngineServiceIAMMemberConditionObservation) DeepCopy() *AppEngineServiceIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineServiceIAMMemberConditionParameters) DeepCopyInto(out *AppEngineServiceIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMMemberConditionParameters. +func (in *AppEngineServiceIAMMemberConditionParameters) DeepCopy() *AppEngineServiceIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineServiceIAMMemberList) DeepCopyInto(out *AppEngineServiceIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AppEngineServiceIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMMemberList. +func (in *AppEngineServiceIAMMemberList) DeepCopy() *AppEngineServiceIAMMemberList { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppEngineServiceIAMMemberList) 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 *AppEngineServiceIAMMemberObservation) DeepCopyInto(out *AppEngineServiceIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMMemberObservation. +func (in *AppEngineServiceIAMMemberObservation) DeepCopy() *AppEngineServiceIAMMemberObservation { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineServiceIAMMemberParameters) DeepCopyInto(out *AppEngineServiceIAMMemberParameters) { + *out = *in + if in.AppID != nil { + in, out := &in.AppID, &out.AppID + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]AppEngineServiceIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMMemberParameters. +func (in *AppEngineServiceIAMMemberParameters) DeepCopy() *AppEngineServiceIAMMemberParameters { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineServiceIAMMemberSpec) DeepCopyInto(out *AppEngineServiceIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMMemberSpec. +func (in *AppEngineServiceIAMMemberSpec) DeepCopy() *AppEngineServiceIAMMemberSpec { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineServiceIAMMemberStatus) DeepCopyInto(out *AppEngineServiceIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMMemberStatus. +func (in *AppEngineServiceIAMMemberStatus) DeepCopy() *AppEngineServiceIAMMemberStatus { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineServiceIAMPolicy) DeepCopyInto(out *AppEngineServiceIAMPolicy) { + *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 AppEngineServiceIAMPolicy. +func (in *AppEngineServiceIAMPolicy) DeepCopy() *AppEngineServiceIAMPolicy { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppEngineServiceIAMPolicy) 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 *AppEngineServiceIAMPolicyList) DeepCopyInto(out *AppEngineServiceIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AppEngineServiceIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMPolicyList. +func (in *AppEngineServiceIAMPolicyList) DeepCopy() *AppEngineServiceIAMPolicyList { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppEngineServiceIAMPolicyList) 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 *AppEngineServiceIAMPolicyObservation) DeepCopyInto(out *AppEngineServiceIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMPolicyObservation. +func (in *AppEngineServiceIAMPolicyObservation) DeepCopy() *AppEngineServiceIAMPolicyObservation { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineServiceIAMPolicyParameters) DeepCopyInto(out *AppEngineServiceIAMPolicyParameters) { + *out = *in + if in.AppID != nil { + in, out := &in.AppID, &out.AppID + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMPolicyParameters. +func (in *AppEngineServiceIAMPolicyParameters) DeepCopy() *AppEngineServiceIAMPolicyParameters { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineServiceIAMPolicySpec) DeepCopyInto(out *AppEngineServiceIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMPolicySpec. +func (in *AppEngineServiceIAMPolicySpec) DeepCopy() *AppEngineServiceIAMPolicySpec { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineServiceIAMPolicyStatus) DeepCopyInto(out *AppEngineServiceIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineServiceIAMPolicyStatus. +func (in *AppEngineServiceIAMPolicyStatus) DeepCopy() *AppEngineServiceIAMPolicyStatus { + if in == nil { + return nil + } + out := new(AppEngineServiceIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMBinding) DeepCopyInto(out *AppEngineVersionIAMBinding) { + *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 AppEngineVersionIAMBinding. +func (in *AppEngineVersionIAMBinding) DeepCopy() *AppEngineVersionIAMBinding { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppEngineVersionIAMBinding) 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 *AppEngineVersionIAMBindingConditionObservation) DeepCopyInto(out *AppEngineVersionIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMBindingConditionObservation. +func (in *AppEngineVersionIAMBindingConditionObservation) DeepCopy() *AppEngineVersionIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMBindingConditionParameters) DeepCopyInto(out *AppEngineVersionIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMBindingConditionParameters. +func (in *AppEngineVersionIAMBindingConditionParameters) DeepCopy() *AppEngineVersionIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMBindingList) DeepCopyInto(out *AppEngineVersionIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AppEngineVersionIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMBindingList. +func (in *AppEngineVersionIAMBindingList) DeepCopy() *AppEngineVersionIAMBindingList { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppEngineVersionIAMBindingList) 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 *AppEngineVersionIAMBindingObservation) DeepCopyInto(out *AppEngineVersionIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMBindingObservation. +func (in *AppEngineVersionIAMBindingObservation) DeepCopy() *AppEngineVersionIAMBindingObservation { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMBindingParameters) DeepCopyInto(out *AppEngineVersionIAMBindingParameters) { + *out = *in + if in.AppID != nil { + in, out := &in.AppID, &out.AppID + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]AppEngineVersionIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.VersionID != nil { + in, out := &in.VersionID, &out.VersionID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMBindingParameters. +func (in *AppEngineVersionIAMBindingParameters) DeepCopy() *AppEngineVersionIAMBindingParameters { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMBindingSpec) DeepCopyInto(out *AppEngineVersionIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMBindingSpec. +func (in *AppEngineVersionIAMBindingSpec) DeepCopy() *AppEngineVersionIAMBindingSpec { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMBindingStatus) DeepCopyInto(out *AppEngineVersionIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMBindingStatus. +func (in *AppEngineVersionIAMBindingStatus) DeepCopy() *AppEngineVersionIAMBindingStatus { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMMember) DeepCopyInto(out *AppEngineVersionIAMMember) { + *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 AppEngineVersionIAMMember. +func (in *AppEngineVersionIAMMember) DeepCopy() *AppEngineVersionIAMMember { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppEngineVersionIAMMember) 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 *AppEngineVersionIAMMemberConditionObservation) DeepCopyInto(out *AppEngineVersionIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMMemberConditionObservation. +func (in *AppEngineVersionIAMMemberConditionObservation) DeepCopy() *AppEngineVersionIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMMemberConditionParameters) DeepCopyInto(out *AppEngineVersionIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMMemberConditionParameters. +func (in *AppEngineVersionIAMMemberConditionParameters) DeepCopy() *AppEngineVersionIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMMemberList) DeepCopyInto(out *AppEngineVersionIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AppEngineVersionIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMMemberList. +func (in *AppEngineVersionIAMMemberList) DeepCopy() *AppEngineVersionIAMMemberList { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppEngineVersionIAMMemberList) 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 *AppEngineVersionIAMMemberObservation) DeepCopyInto(out *AppEngineVersionIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMMemberObservation. +func (in *AppEngineVersionIAMMemberObservation) DeepCopy() *AppEngineVersionIAMMemberObservation { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMMemberParameters) DeepCopyInto(out *AppEngineVersionIAMMemberParameters) { + *out = *in + if in.AppID != nil { + in, out := &in.AppID, &out.AppID + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]AppEngineVersionIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.VersionID != nil { + in, out := &in.VersionID, &out.VersionID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMMemberParameters. +func (in *AppEngineVersionIAMMemberParameters) DeepCopy() *AppEngineVersionIAMMemberParameters { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMMemberSpec) DeepCopyInto(out *AppEngineVersionIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMMemberSpec. +func (in *AppEngineVersionIAMMemberSpec) DeepCopy() *AppEngineVersionIAMMemberSpec { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMMemberStatus) DeepCopyInto(out *AppEngineVersionIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMMemberStatus. +func (in *AppEngineVersionIAMMemberStatus) DeepCopy() *AppEngineVersionIAMMemberStatus { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMPolicy) DeepCopyInto(out *AppEngineVersionIAMPolicy) { + *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 AppEngineVersionIAMPolicy. +func (in *AppEngineVersionIAMPolicy) DeepCopy() *AppEngineVersionIAMPolicy { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppEngineVersionIAMPolicy) 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 *AppEngineVersionIAMPolicyList) DeepCopyInto(out *AppEngineVersionIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AppEngineVersionIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMPolicyList. +func (in *AppEngineVersionIAMPolicyList) DeepCopy() *AppEngineVersionIAMPolicyList { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppEngineVersionIAMPolicyList) 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 *AppEngineVersionIAMPolicyObservation) DeepCopyInto(out *AppEngineVersionIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMPolicyObservation. +func (in *AppEngineVersionIAMPolicyObservation) DeepCopy() *AppEngineVersionIAMPolicyObservation { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMPolicyParameters) DeepCopyInto(out *AppEngineVersionIAMPolicyParameters) { + *out = *in + if in.AppID != nil { + in, out := &in.AppID, &out.AppID + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.VersionID != nil { + in, out := &in.VersionID, &out.VersionID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMPolicyParameters. +func (in *AppEngineVersionIAMPolicyParameters) DeepCopy() *AppEngineVersionIAMPolicyParameters { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMPolicySpec) DeepCopyInto(out *AppEngineVersionIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMPolicySpec. +func (in *AppEngineVersionIAMPolicySpec) DeepCopy() *AppEngineVersionIAMPolicySpec { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppEngineVersionIAMPolicyStatus) DeepCopyInto(out *AppEngineVersionIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppEngineVersionIAMPolicyStatus. +func (in *AppEngineVersionIAMPolicyStatus) DeepCopy() *AppEngineVersionIAMPolicyStatus { + if in == nil { + return nil + } + out := new(AppEngineVersionIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Brand) DeepCopyInto(out *Brand) { + *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 Brand. +func (in *Brand) DeepCopy() *Brand { + if in == nil { + return nil + } + out := new(Brand) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Brand) 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 *BrandList) DeepCopyInto(out *BrandList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Brand, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrandList. +func (in *BrandList) DeepCopy() *BrandList { + if in == nil { + return nil + } + out := new(BrandList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BrandList) 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 *BrandObservation) DeepCopyInto(out *BrandObservation) { + *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.OrgInternalOnly != nil { + in, out := &in.OrgInternalOnly, &out.OrgInternalOnly + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrandObservation. +func (in *BrandObservation) DeepCopy() *BrandObservation { + if in == nil { + return nil + } + out := new(BrandObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BrandParameters) DeepCopyInto(out *BrandParameters) { + *out = *in + if in.ApplicationTitle != nil { + in, out := &in.ApplicationTitle, &out.ApplicationTitle + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SupportEmail != nil { + in, out := &in.SupportEmail, &out.SupportEmail + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrandParameters. +func (in *BrandParameters) DeepCopy() *BrandParameters { + if in == nil { + return nil + } + out := new(BrandParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BrandSpec) DeepCopyInto(out *BrandSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrandSpec. +func (in *BrandSpec) DeepCopy() *BrandSpec { + if in == nil { + return nil + } + out := new(BrandSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BrandStatus) DeepCopyInto(out *BrandStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrandStatus. +func (in *BrandStatus) DeepCopy() *BrandStatus { + if in == nil { + return nil + } + out := new(BrandStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Client) DeepCopyInto(out *Client) { + *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 Client. +func (in *Client) DeepCopy() *Client { + if in == nil { + return nil + } + out := new(Client) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Client) 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 *ClientList) DeepCopyInto(out *ClientList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Client, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientList. +func (in *ClientList) DeepCopy() *ClientList { + if in == nil { + return nil + } + out := new(ClientList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClientList) 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 *ClientObservation) DeepCopyInto(out *ClientObservation) { + *out = *in + if in.ClientID != nil { + in, out := &in.ClientID, &out.ClientID + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientObservation. +func (in *ClientObservation) DeepCopy() *ClientObservation { + if in == nil { + return nil + } + out := new(ClientObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientParameters) DeepCopyInto(out *ClientParameters) { + *out = *in + if in.Brand != nil { + in, out := &in.Brand, &out.Brand + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientParameters. +func (in *ClientParameters) DeepCopy() *ClientParameters { + if in == nil { + return nil + } + out := new(ClientParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientSpec) DeepCopyInto(out *ClientSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientSpec. +func (in *ClientSpec) DeepCopy() *ClientSpec { + if in == nil { + return nil + } + out := new(ClientSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientStatus) DeepCopyInto(out *ClientStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientStatus. +func (in *ClientStatus) DeepCopy() *ClientStatus { + if in == nil { + return nil + } + out := new(ClientStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMBinding) DeepCopyInto(out *TunnelIAMBinding) { + *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 TunnelIAMBinding. +func (in *TunnelIAMBinding) DeepCopy() *TunnelIAMBinding { + if in == nil { + return nil + } + out := new(TunnelIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TunnelIAMBinding) 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 *TunnelIAMBindingConditionObservation) DeepCopyInto(out *TunnelIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMBindingConditionObservation. +func (in *TunnelIAMBindingConditionObservation) DeepCopy() *TunnelIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(TunnelIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMBindingConditionParameters) DeepCopyInto(out *TunnelIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMBindingConditionParameters. +func (in *TunnelIAMBindingConditionParameters) DeepCopy() *TunnelIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(TunnelIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMBindingList) DeepCopyInto(out *TunnelIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TunnelIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMBindingList. +func (in *TunnelIAMBindingList) DeepCopy() *TunnelIAMBindingList { + if in == nil { + return nil + } + out := new(TunnelIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TunnelIAMBindingList) 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 *TunnelIAMBindingObservation) DeepCopyInto(out *TunnelIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMBindingObservation. +func (in *TunnelIAMBindingObservation) DeepCopy() *TunnelIAMBindingObservation { + if in == nil { + return nil + } + out := new(TunnelIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMBindingParameters) DeepCopyInto(out *TunnelIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TunnelIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMBindingParameters. +func (in *TunnelIAMBindingParameters) DeepCopy() *TunnelIAMBindingParameters { + if in == nil { + return nil + } + out := new(TunnelIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMBindingSpec) DeepCopyInto(out *TunnelIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMBindingSpec. +func (in *TunnelIAMBindingSpec) DeepCopy() *TunnelIAMBindingSpec { + if in == nil { + return nil + } + out := new(TunnelIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMBindingStatus) DeepCopyInto(out *TunnelIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMBindingStatus. +func (in *TunnelIAMBindingStatus) DeepCopy() *TunnelIAMBindingStatus { + if in == nil { + return nil + } + out := new(TunnelIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMMember) DeepCopyInto(out *TunnelIAMMember) { + *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 TunnelIAMMember. +func (in *TunnelIAMMember) DeepCopy() *TunnelIAMMember { + if in == nil { + return nil + } + out := new(TunnelIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TunnelIAMMember) 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 *TunnelIAMMemberConditionObservation) DeepCopyInto(out *TunnelIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMMemberConditionObservation. +func (in *TunnelIAMMemberConditionObservation) DeepCopy() *TunnelIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(TunnelIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMMemberConditionParameters) DeepCopyInto(out *TunnelIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMMemberConditionParameters. +func (in *TunnelIAMMemberConditionParameters) DeepCopy() *TunnelIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(TunnelIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMMemberList) DeepCopyInto(out *TunnelIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TunnelIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMMemberList. +func (in *TunnelIAMMemberList) DeepCopy() *TunnelIAMMemberList { + if in == nil { + return nil + } + out := new(TunnelIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TunnelIAMMemberList) 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 *TunnelIAMMemberObservation) DeepCopyInto(out *TunnelIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMMemberObservation. +func (in *TunnelIAMMemberObservation) DeepCopy() *TunnelIAMMemberObservation { + if in == nil { + return nil + } + out := new(TunnelIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMMemberParameters) DeepCopyInto(out *TunnelIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TunnelIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMMemberParameters. +func (in *TunnelIAMMemberParameters) DeepCopy() *TunnelIAMMemberParameters { + if in == nil { + return nil + } + out := new(TunnelIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMMemberSpec) DeepCopyInto(out *TunnelIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMMemberSpec. +func (in *TunnelIAMMemberSpec) DeepCopy() *TunnelIAMMemberSpec { + if in == nil { + return nil + } + out := new(TunnelIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMMemberStatus) DeepCopyInto(out *TunnelIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMMemberStatus. +func (in *TunnelIAMMemberStatus) DeepCopy() *TunnelIAMMemberStatus { + if in == nil { + return nil + } + out := new(TunnelIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMPolicy) DeepCopyInto(out *TunnelIAMPolicy) { + *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 TunnelIAMPolicy. +func (in *TunnelIAMPolicy) DeepCopy() *TunnelIAMPolicy { + if in == nil { + return nil + } + out := new(TunnelIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TunnelIAMPolicy) 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 *TunnelIAMPolicyList) DeepCopyInto(out *TunnelIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TunnelIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMPolicyList. +func (in *TunnelIAMPolicyList) DeepCopy() *TunnelIAMPolicyList { + if in == nil { + return nil + } + out := new(TunnelIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TunnelIAMPolicyList) 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 *TunnelIAMPolicyObservation) DeepCopyInto(out *TunnelIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMPolicyObservation. +func (in *TunnelIAMPolicyObservation) DeepCopy() *TunnelIAMPolicyObservation { + if in == nil { + return nil + } + out := new(TunnelIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMPolicyParameters) DeepCopyInto(out *TunnelIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMPolicyParameters. +func (in *TunnelIAMPolicyParameters) DeepCopy() *TunnelIAMPolicyParameters { + if in == nil { + return nil + } + out := new(TunnelIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMPolicySpec) DeepCopyInto(out *TunnelIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMPolicySpec. +func (in *TunnelIAMPolicySpec) DeepCopy() *TunnelIAMPolicySpec { + if in == nil { + return nil + } + out := new(TunnelIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelIAMPolicyStatus) DeepCopyInto(out *TunnelIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelIAMPolicyStatus. +func (in *TunnelIAMPolicyStatus) DeepCopy() *TunnelIAMPolicyStatus { + if in == nil { + return nil + } + out := new(TunnelIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMBinding) DeepCopyInto(out *TunnelInstanceIAMBinding) { + *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 TunnelInstanceIAMBinding. +func (in *TunnelInstanceIAMBinding) DeepCopy() *TunnelInstanceIAMBinding { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TunnelInstanceIAMBinding) 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 *TunnelInstanceIAMBindingConditionObservation) DeepCopyInto(out *TunnelInstanceIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMBindingConditionObservation. +func (in *TunnelInstanceIAMBindingConditionObservation) DeepCopy() *TunnelInstanceIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMBindingConditionParameters) DeepCopyInto(out *TunnelInstanceIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMBindingConditionParameters. +func (in *TunnelInstanceIAMBindingConditionParameters) DeepCopy() *TunnelInstanceIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMBindingList) DeepCopyInto(out *TunnelInstanceIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TunnelInstanceIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMBindingList. +func (in *TunnelInstanceIAMBindingList) DeepCopy() *TunnelInstanceIAMBindingList { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TunnelInstanceIAMBindingList) 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 *TunnelInstanceIAMBindingObservation) DeepCopyInto(out *TunnelInstanceIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMBindingObservation. +func (in *TunnelInstanceIAMBindingObservation) DeepCopy() *TunnelInstanceIAMBindingObservation { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMBindingParameters) DeepCopyInto(out *TunnelInstanceIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TunnelInstanceIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMBindingParameters. +func (in *TunnelInstanceIAMBindingParameters) DeepCopy() *TunnelInstanceIAMBindingParameters { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMBindingSpec) DeepCopyInto(out *TunnelInstanceIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMBindingSpec. +func (in *TunnelInstanceIAMBindingSpec) DeepCopy() *TunnelInstanceIAMBindingSpec { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMBindingStatus) DeepCopyInto(out *TunnelInstanceIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMBindingStatus. +func (in *TunnelInstanceIAMBindingStatus) DeepCopy() *TunnelInstanceIAMBindingStatus { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMMember) DeepCopyInto(out *TunnelInstanceIAMMember) { + *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 TunnelInstanceIAMMember. +func (in *TunnelInstanceIAMMember) DeepCopy() *TunnelInstanceIAMMember { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TunnelInstanceIAMMember) 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 *TunnelInstanceIAMMemberConditionObservation) DeepCopyInto(out *TunnelInstanceIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMMemberConditionObservation. +func (in *TunnelInstanceIAMMemberConditionObservation) DeepCopy() *TunnelInstanceIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMMemberConditionParameters) DeepCopyInto(out *TunnelInstanceIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMMemberConditionParameters. +func (in *TunnelInstanceIAMMemberConditionParameters) DeepCopy() *TunnelInstanceIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMMemberList) DeepCopyInto(out *TunnelInstanceIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TunnelInstanceIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMMemberList. +func (in *TunnelInstanceIAMMemberList) DeepCopy() *TunnelInstanceIAMMemberList { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TunnelInstanceIAMMemberList) 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 *TunnelInstanceIAMMemberObservation) DeepCopyInto(out *TunnelInstanceIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMMemberObservation. +func (in *TunnelInstanceIAMMemberObservation) DeepCopy() *TunnelInstanceIAMMemberObservation { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMMemberParameters) DeepCopyInto(out *TunnelInstanceIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TunnelInstanceIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMMemberParameters. +func (in *TunnelInstanceIAMMemberParameters) DeepCopy() *TunnelInstanceIAMMemberParameters { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMMemberSpec) DeepCopyInto(out *TunnelInstanceIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMMemberSpec. +func (in *TunnelInstanceIAMMemberSpec) DeepCopy() *TunnelInstanceIAMMemberSpec { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMMemberStatus) DeepCopyInto(out *TunnelInstanceIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMMemberStatus. +func (in *TunnelInstanceIAMMemberStatus) DeepCopy() *TunnelInstanceIAMMemberStatus { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMPolicy) DeepCopyInto(out *TunnelInstanceIAMPolicy) { + *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 TunnelInstanceIAMPolicy. +func (in *TunnelInstanceIAMPolicy) DeepCopy() *TunnelInstanceIAMPolicy { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TunnelInstanceIAMPolicy) 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 *TunnelInstanceIAMPolicyList) DeepCopyInto(out *TunnelInstanceIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TunnelInstanceIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMPolicyList. +func (in *TunnelInstanceIAMPolicyList) DeepCopy() *TunnelInstanceIAMPolicyList { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TunnelInstanceIAMPolicyList) 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 *TunnelInstanceIAMPolicyObservation) DeepCopyInto(out *TunnelInstanceIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMPolicyObservation. +func (in *TunnelInstanceIAMPolicyObservation) DeepCopy() *TunnelInstanceIAMPolicyObservation { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMPolicyParameters) DeepCopyInto(out *TunnelInstanceIAMPolicyParameters) { + *out = *in + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMPolicyParameters. +func (in *TunnelInstanceIAMPolicyParameters) DeepCopy() *TunnelInstanceIAMPolicyParameters { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMPolicySpec) DeepCopyInto(out *TunnelInstanceIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMPolicySpec. +func (in *TunnelInstanceIAMPolicySpec) DeepCopy() *TunnelInstanceIAMPolicySpec { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TunnelInstanceIAMPolicyStatus) DeepCopyInto(out *TunnelInstanceIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TunnelInstanceIAMPolicyStatus. +func (in *TunnelInstanceIAMPolicyStatus) DeepCopy() *TunnelInstanceIAMPolicyStatus { + if in == nil { + return nil + } + out := new(TunnelInstanceIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMBinding) DeepCopyInto(out *WebBackendServiceIAMBinding) { + *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 WebBackendServiceIAMBinding. +func (in *WebBackendServiceIAMBinding) DeepCopy() *WebBackendServiceIAMBinding { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebBackendServiceIAMBinding) 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 *WebBackendServiceIAMBindingConditionObservation) DeepCopyInto(out *WebBackendServiceIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMBindingConditionObservation. +func (in *WebBackendServiceIAMBindingConditionObservation) DeepCopy() *WebBackendServiceIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMBindingConditionParameters) DeepCopyInto(out *WebBackendServiceIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMBindingConditionParameters. +func (in *WebBackendServiceIAMBindingConditionParameters) DeepCopy() *WebBackendServiceIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMBindingList) DeepCopyInto(out *WebBackendServiceIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WebBackendServiceIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMBindingList. +func (in *WebBackendServiceIAMBindingList) DeepCopy() *WebBackendServiceIAMBindingList { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebBackendServiceIAMBindingList) 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 *WebBackendServiceIAMBindingObservation) DeepCopyInto(out *WebBackendServiceIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMBindingObservation. +func (in *WebBackendServiceIAMBindingObservation) DeepCopy() *WebBackendServiceIAMBindingObservation { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMBindingParameters) DeepCopyInto(out *WebBackendServiceIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]WebBackendServiceIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.WebBackendService != nil { + in, out := &in.WebBackendService, &out.WebBackendService + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMBindingParameters. +func (in *WebBackendServiceIAMBindingParameters) DeepCopy() *WebBackendServiceIAMBindingParameters { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMBindingSpec) DeepCopyInto(out *WebBackendServiceIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMBindingSpec. +func (in *WebBackendServiceIAMBindingSpec) DeepCopy() *WebBackendServiceIAMBindingSpec { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMBindingStatus) DeepCopyInto(out *WebBackendServiceIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMBindingStatus. +func (in *WebBackendServiceIAMBindingStatus) DeepCopy() *WebBackendServiceIAMBindingStatus { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMMember) DeepCopyInto(out *WebBackendServiceIAMMember) { + *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 WebBackendServiceIAMMember. +func (in *WebBackendServiceIAMMember) DeepCopy() *WebBackendServiceIAMMember { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebBackendServiceIAMMember) 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 *WebBackendServiceIAMMemberConditionObservation) DeepCopyInto(out *WebBackendServiceIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMMemberConditionObservation. +func (in *WebBackendServiceIAMMemberConditionObservation) DeepCopy() *WebBackendServiceIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMMemberConditionParameters) DeepCopyInto(out *WebBackendServiceIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMMemberConditionParameters. +func (in *WebBackendServiceIAMMemberConditionParameters) DeepCopy() *WebBackendServiceIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMMemberList) DeepCopyInto(out *WebBackendServiceIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WebBackendServiceIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMMemberList. +func (in *WebBackendServiceIAMMemberList) DeepCopy() *WebBackendServiceIAMMemberList { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebBackendServiceIAMMemberList) 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 *WebBackendServiceIAMMemberObservation) DeepCopyInto(out *WebBackendServiceIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMMemberObservation. +func (in *WebBackendServiceIAMMemberObservation) DeepCopy() *WebBackendServiceIAMMemberObservation { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMMemberParameters) DeepCopyInto(out *WebBackendServiceIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]WebBackendServiceIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.WebBackendService != nil { + in, out := &in.WebBackendService, &out.WebBackendService + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMMemberParameters. +func (in *WebBackendServiceIAMMemberParameters) DeepCopy() *WebBackendServiceIAMMemberParameters { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMMemberSpec) DeepCopyInto(out *WebBackendServiceIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMMemberSpec. +func (in *WebBackendServiceIAMMemberSpec) DeepCopy() *WebBackendServiceIAMMemberSpec { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMMemberStatus) DeepCopyInto(out *WebBackendServiceIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMMemberStatus. +func (in *WebBackendServiceIAMMemberStatus) DeepCopy() *WebBackendServiceIAMMemberStatus { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMPolicy) DeepCopyInto(out *WebBackendServiceIAMPolicy) { + *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 WebBackendServiceIAMPolicy. +func (in *WebBackendServiceIAMPolicy) DeepCopy() *WebBackendServiceIAMPolicy { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebBackendServiceIAMPolicy) 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 *WebBackendServiceIAMPolicyList) DeepCopyInto(out *WebBackendServiceIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WebBackendServiceIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMPolicyList. +func (in *WebBackendServiceIAMPolicyList) DeepCopy() *WebBackendServiceIAMPolicyList { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebBackendServiceIAMPolicyList) 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 *WebBackendServiceIAMPolicyObservation) DeepCopyInto(out *WebBackendServiceIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMPolicyObservation. +func (in *WebBackendServiceIAMPolicyObservation) DeepCopy() *WebBackendServiceIAMPolicyObservation { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMPolicyParameters) DeepCopyInto(out *WebBackendServiceIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.WebBackendService != nil { + in, out := &in.WebBackendService, &out.WebBackendService + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMPolicyParameters. +func (in *WebBackendServiceIAMPolicyParameters) DeepCopy() *WebBackendServiceIAMPolicyParameters { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMPolicySpec) DeepCopyInto(out *WebBackendServiceIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMPolicySpec. +func (in *WebBackendServiceIAMPolicySpec) DeepCopy() *WebBackendServiceIAMPolicySpec { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebBackendServiceIAMPolicyStatus) DeepCopyInto(out *WebBackendServiceIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebBackendServiceIAMPolicyStatus. +func (in *WebBackendServiceIAMPolicyStatus) DeepCopy() *WebBackendServiceIAMPolicyStatus { + if in == nil { + return nil + } + out := new(WebBackendServiceIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMBinding) DeepCopyInto(out *WebIAMBinding) { + *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 WebIAMBinding. +func (in *WebIAMBinding) DeepCopy() *WebIAMBinding { + if in == nil { + return nil + } + out := new(WebIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebIAMBinding) 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 *WebIAMBindingConditionObservation) DeepCopyInto(out *WebIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMBindingConditionObservation. +func (in *WebIAMBindingConditionObservation) DeepCopy() *WebIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(WebIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMBindingConditionParameters) DeepCopyInto(out *WebIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMBindingConditionParameters. +func (in *WebIAMBindingConditionParameters) DeepCopy() *WebIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(WebIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMBindingList) DeepCopyInto(out *WebIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WebIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMBindingList. +func (in *WebIAMBindingList) DeepCopy() *WebIAMBindingList { + if in == nil { + return nil + } + out := new(WebIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebIAMBindingList) 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 *WebIAMBindingObservation) DeepCopyInto(out *WebIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMBindingObservation. +func (in *WebIAMBindingObservation) DeepCopy() *WebIAMBindingObservation { + if in == nil { + return nil + } + out := new(WebIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMBindingParameters) DeepCopyInto(out *WebIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]WebIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMBindingParameters. +func (in *WebIAMBindingParameters) DeepCopy() *WebIAMBindingParameters { + if in == nil { + return nil + } + out := new(WebIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMBindingSpec) DeepCopyInto(out *WebIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMBindingSpec. +func (in *WebIAMBindingSpec) DeepCopy() *WebIAMBindingSpec { + if in == nil { + return nil + } + out := new(WebIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMBindingStatus) DeepCopyInto(out *WebIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMBindingStatus. +func (in *WebIAMBindingStatus) DeepCopy() *WebIAMBindingStatus { + if in == nil { + return nil + } + out := new(WebIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMMember) DeepCopyInto(out *WebIAMMember) { + *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 WebIAMMember. +func (in *WebIAMMember) DeepCopy() *WebIAMMember { + if in == nil { + return nil + } + out := new(WebIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebIAMMember) 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 *WebIAMMemberConditionObservation) DeepCopyInto(out *WebIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMMemberConditionObservation. +func (in *WebIAMMemberConditionObservation) DeepCopy() *WebIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(WebIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMMemberConditionParameters) DeepCopyInto(out *WebIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMMemberConditionParameters. +func (in *WebIAMMemberConditionParameters) DeepCopy() *WebIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(WebIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMMemberList) DeepCopyInto(out *WebIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WebIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMMemberList. +func (in *WebIAMMemberList) DeepCopy() *WebIAMMemberList { + if in == nil { + return nil + } + out := new(WebIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebIAMMemberList) 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 *WebIAMMemberObservation) DeepCopyInto(out *WebIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMMemberObservation. +func (in *WebIAMMemberObservation) DeepCopy() *WebIAMMemberObservation { + if in == nil { + return nil + } + out := new(WebIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMMemberParameters) DeepCopyInto(out *WebIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]WebIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMMemberParameters. +func (in *WebIAMMemberParameters) DeepCopy() *WebIAMMemberParameters { + if in == nil { + return nil + } + out := new(WebIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMMemberSpec) DeepCopyInto(out *WebIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMMemberSpec. +func (in *WebIAMMemberSpec) DeepCopy() *WebIAMMemberSpec { + if in == nil { + return nil + } + out := new(WebIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMMemberStatus) DeepCopyInto(out *WebIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMMemberStatus. +func (in *WebIAMMemberStatus) DeepCopy() *WebIAMMemberStatus { + if in == nil { + return nil + } + out := new(WebIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMPolicy) DeepCopyInto(out *WebIAMPolicy) { + *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 WebIAMPolicy. +func (in *WebIAMPolicy) DeepCopy() *WebIAMPolicy { + if in == nil { + return nil + } + out := new(WebIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebIAMPolicy) 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 *WebIAMPolicyList) DeepCopyInto(out *WebIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WebIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMPolicyList. +func (in *WebIAMPolicyList) DeepCopy() *WebIAMPolicyList { + if in == nil { + return nil + } + out := new(WebIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebIAMPolicyList) 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 *WebIAMPolicyObservation) DeepCopyInto(out *WebIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMPolicyObservation. +func (in *WebIAMPolicyObservation) DeepCopy() *WebIAMPolicyObservation { + if in == nil { + return nil + } + out := new(WebIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMPolicyParameters) DeepCopyInto(out *WebIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMPolicyParameters. +func (in *WebIAMPolicyParameters) DeepCopy() *WebIAMPolicyParameters { + if in == nil { + return nil + } + out := new(WebIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMPolicySpec) DeepCopyInto(out *WebIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMPolicySpec. +func (in *WebIAMPolicySpec) DeepCopy() *WebIAMPolicySpec { + if in == nil { + return nil + } + out := new(WebIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebIAMPolicyStatus) DeepCopyInto(out *WebIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebIAMPolicyStatus. +func (in *WebIAMPolicyStatus) DeepCopy() *WebIAMPolicyStatus { + if in == nil { + return nil + } + out := new(WebIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMBinding) DeepCopyInto(out *WebTypeAppEngineIAMBinding) { + *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 WebTypeAppEngineIAMBinding. +func (in *WebTypeAppEngineIAMBinding) DeepCopy() *WebTypeAppEngineIAMBinding { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebTypeAppEngineIAMBinding) 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 *WebTypeAppEngineIAMBindingConditionObservation) DeepCopyInto(out *WebTypeAppEngineIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMBindingConditionObservation. +func (in *WebTypeAppEngineIAMBindingConditionObservation) DeepCopy() *WebTypeAppEngineIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMBindingConditionParameters) DeepCopyInto(out *WebTypeAppEngineIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMBindingConditionParameters. +func (in *WebTypeAppEngineIAMBindingConditionParameters) DeepCopy() *WebTypeAppEngineIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMBindingList) DeepCopyInto(out *WebTypeAppEngineIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WebTypeAppEngineIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMBindingList. +func (in *WebTypeAppEngineIAMBindingList) DeepCopy() *WebTypeAppEngineIAMBindingList { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebTypeAppEngineIAMBindingList) 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 *WebTypeAppEngineIAMBindingObservation) DeepCopyInto(out *WebTypeAppEngineIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMBindingObservation. +func (in *WebTypeAppEngineIAMBindingObservation) DeepCopy() *WebTypeAppEngineIAMBindingObservation { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMBindingParameters) DeepCopyInto(out *WebTypeAppEngineIAMBindingParameters) { + *out = *in + if in.AppID != nil { + in, out := &in.AppID, &out.AppID + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]WebTypeAppEngineIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMBindingParameters. +func (in *WebTypeAppEngineIAMBindingParameters) DeepCopy() *WebTypeAppEngineIAMBindingParameters { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMBindingSpec) DeepCopyInto(out *WebTypeAppEngineIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMBindingSpec. +func (in *WebTypeAppEngineIAMBindingSpec) DeepCopy() *WebTypeAppEngineIAMBindingSpec { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMBindingStatus) DeepCopyInto(out *WebTypeAppEngineIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMBindingStatus. +func (in *WebTypeAppEngineIAMBindingStatus) DeepCopy() *WebTypeAppEngineIAMBindingStatus { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMMember) DeepCopyInto(out *WebTypeAppEngineIAMMember) { + *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 WebTypeAppEngineIAMMember. +func (in *WebTypeAppEngineIAMMember) DeepCopy() *WebTypeAppEngineIAMMember { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebTypeAppEngineIAMMember) 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 *WebTypeAppEngineIAMMemberConditionObservation) DeepCopyInto(out *WebTypeAppEngineIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMMemberConditionObservation. +func (in *WebTypeAppEngineIAMMemberConditionObservation) DeepCopy() *WebTypeAppEngineIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMMemberConditionParameters) DeepCopyInto(out *WebTypeAppEngineIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMMemberConditionParameters. +func (in *WebTypeAppEngineIAMMemberConditionParameters) DeepCopy() *WebTypeAppEngineIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMMemberList) DeepCopyInto(out *WebTypeAppEngineIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WebTypeAppEngineIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMMemberList. +func (in *WebTypeAppEngineIAMMemberList) DeepCopy() *WebTypeAppEngineIAMMemberList { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebTypeAppEngineIAMMemberList) 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 *WebTypeAppEngineIAMMemberObservation) DeepCopyInto(out *WebTypeAppEngineIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMMemberObservation. +func (in *WebTypeAppEngineIAMMemberObservation) DeepCopy() *WebTypeAppEngineIAMMemberObservation { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMMemberParameters) DeepCopyInto(out *WebTypeAppEngineIAMMemberParameters) { + *out = *in + if in.AppID != nil { + in, out := &in.AppID, &out.AppID + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]WebTypeAppEngineIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMMemberParameters. +func (in *WebTypeAppEngineIAMMemberParameters) DeepCopy() *WebTypeAppEngineIAMMemberParameters { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMMemberSpec) DeepCopyInto(out *WebTypeAppEngineIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMMemberSpec. +func (in *WebTypeAppEngineIAMMemberSpec) DeepCopy() *WebTypeAppEngineIAMMemberSpec { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMMemberStatus) DeepCopyInto(out *WebTypeAppEngineIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMMemberStatus. +func (in *WebTypeAppEngineIAMMemberStatus) DeepCopy() *WebTypeAppEngineIAMMemberStatus { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMPolicy) DeepCopyInto(out *WebTypeAppEngineIAMPolicy) { + *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 WebTypeAppEngineIAMPolicy. +func (in *WebTypeAppEngineIAMPolicy) DeepCopy() *WebTypeAppEngineIAMPolicy { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebTypeAppEngineIAMPolicy) 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 *WebTypeAppEngineIAMPolicyList) DeepCopyInto(out *WebTypeAppEngineIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WebTypeAppEngineIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMPolicyList. +func (in *WebTypeAppEngineIAMPolicyList) DeepCopy() *WebTypeAppEngineIAMPolicyList { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebTypeAppEngineIAMPolicyList) 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 *WebTypeAppEngineIAMPolicyObservation) DeepCopyInto(out *WebTypeAppEngineIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMPolicyObservation. +func (in *WebTypeAppEngineIAMPolicyObservation) DeepCopy() *WebTypeAppEngineIAMPolicyObservation { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMPolicyParameters) DeepCopyInto(out *WebTypeAppEngineIAMPolicyParameters) { + *out = *in + if in.AppID != nil { + in, out := &in.AppID, &out.AppID + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMPolicyParameters. +func (in *WebTypeAppEngineIAMPolicyParameters) DeepCopy() *WebTypeAppEngineIAMPolicyParameters { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMPolicySpec) DeepCopyInto(out *WebTypeAppEngineIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMPolicySpec. +func (in *WebTypeAppEngineIAMPolicySpec) DeepCopy() *WebTypeAppEngineIAMPolicySpec { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeAppEngineIAMPolicyStatus) DeepCopyInto(out *WebTypeAppEngineIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeAppEngineIAMPolicyStatus. +func (in *WebTypeAppEngineIAMPolicyStatus) DeepCopy() *WebTypeAppEngineIAMPolicyStatus { + if in == nil { + return nil + } + out := new(WebTypeAppEngineIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMBinding) DeepCopyInto(out *WebTypeComputeIAMBinding) { + *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 WebTypeComputeIAMBinding. +func (in *WebTypeComputeIAMBinding) DeepCopy() *WebTypeComputeIAMBinding { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebTypeComputeIAMBinding) 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 *WebTypeComputeIAMBindingConditionObservation) DeepCopyInto(out *WebTypeComputeIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMBindingConditionObservation. +func (in *WebTypeComputeIAMBindingConditionObservation) DeepCopy() *WebTypeComputeIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMBindingConditionParameters) DeepCopyInto(out *WebTypeComputeIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMBindingConditionParameters. +func (in *WebTypeComputeIAMBindingConditionParameters) DeepCopy() *WebTypeComputeIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMBindingList) DeepCopyInto(out *WebTypeComputeIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WebTypeComputeIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMBindingList. +func (in *WebTypeComputeIAMBindingList) DeepCopy() *WebTypeComputeIAMBindingList { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebTypeComputeIAMBindingList) 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 *WebTypeComputeIAMBindingObservation) DeepCopyInto(out *WebTypeComputeIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMBindingObservation. +func (in *WebTypeComputeIAMBindingObservation) DeepCopy() *WebTypeComputeIAMBindingObservation { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMBindingParameters) DeepCopyInto(out *WebTypeComputeIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]WebTypeComputeIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMBindingParameters. +func (in *WebTypeComputeIAMBindingParameters) DeepCopy() *WebTypeComputeIAMBindingParameters { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMBindingSpec) DeepCopyInto(out *WebTypeComputeIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMBindingSpec. +func (in *WebTypeComputeIAMBindingSpec) DeepCopy() *WebTypeComputeIAMBindingSpec { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMBindingStatus) DeepCopyInto(out *WebTypeComputeIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMBindingStatus. +func (in *WebTypeComputeIAMBindingStatus) DeepCopy() *WebTypeComputeIAMBindingStatus { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMMember) DeepCopyInto(out *WebTypeComputeIAMMember) { + *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 WebTypeComputeIAMMember. +func (in *WebTypeComputeIAMMember) DeepCopy() *WebTypeComputeIAMMember { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebTypeComputeIAMMember) 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 *WebTypeComputeIAMMemberConditionObservation) DeepCopyInto(out *WebTypeComputeIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMMemberConditionObservation. +func (in *WebTypeComputeIAMMemberConditionObservation) DeepCopy() *WebTypeComputeIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMMemberConditionParameters) DeepCopyInto(out *WebTypeComputeIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMMemberConditionParameters. +func (in *WebTypeComputeIAMMemberConditionParameters) DeepCopy() *WebTypeComputeIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMMemberList) DeepCopyInto(out *WebTypeComputeIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WebTypeComputeIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMMemberList. +func (in *WebTypeComputeIAMMemberList) DeepCopy() *WebTypeComputeIAMMemberList { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebTypeComputeIAMMemberList) 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 *WebTypeComputeIAMMemberObservation) DeepCopyInto(out *WebTypeComputeIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMMemberObservation. +func (in *WebTypeComputeIAMMemberObservation) DeepCopy() *WebTypeComputeIAMMemberObservation { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMMemberParameters) DeepCopyInto(out *WebTypeComputeIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]WebTypeComputeIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMMemberParameters. +func (in *WebTypeComputeIAMMemberParameters) DeepCopy() *WebTypeComputeIAMMemberParameters { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMMemberSpec) DeepCopyInto(out *WebTypeComputeIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMMemberSpec. +func (in *WebTypeComputeIAMMemberSpec) DeepCopy() *WebTypeComputeIAMMemberSpec { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMMemberStatus) DeepCopyInto(out *WebTypeComputeIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMMemberStatus. +func (in *WebTypeComputeIAMMemberStatus) DeepCopy() *WebTypeComputeIAMMemberStatus { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMPolicy) DeepCopyInto(out *WebTypeComputeIAMPolicy) { + *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 WebTypeComputeIAMPolicy. +func (in *WebTypeComputeIAMPolicy) DeepCopy() *WebTypeComputeIAMPolicy { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebTypeComputeIAMPolicy) 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 *WebTypeComputeIAMPolicyList) DeepCopyInto(out *WebTypeComputeIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]WebTypeComputeIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMPolicyList. +func (in *WebTypeComputeIAMPolicyList) DeepCopy() *WebTypeComputeIAMPolicyList { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebTypeComputeIAMPolicyList) 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 *WebTypeComputeIAMPolicyObservation) DeepCopyInto(out *WebTypeComputeIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMPolicyObservation. +func (in *WebTypeComputeIAMPolicyObservation) DeepCopy() *WebTypeComputeIAMPolicyObservation { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMPolicyParameters) DeepCopyInto(out *WebTypeComputeIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMPolicyParameters. +func (in *WebTypeComputeIAMPolicyParameters) DeepCopy() *WebTypeComputeIAMPolicyParameters { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMPolicySpec) DeepCopyInto(out *WebTypeComputeIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMPolicySpec. +func (in *WebTypeComputeIAMPolicySpec) DeepCopy() *WebTypeComputeIAMPolicySpec { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebTypeComputeIAMPolicyStatus) DeepCopyInto(out *WebTypeComputeIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebTypeComputeIAMPolicyStatus. +func (in *WebTypeComputeIAMPolicyStatus) DeepCopy() *WebTypeComputeIAMPolicyStatus { + if in == nil { + return nil + } + out := new(WebTypeComputeIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/iap/v1alpha1/zz_generated.managed.go b/apis/iap/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..73f8f850 --- /dev/null +++ b/apis/iap/v1alpha1/zz_generated.managed.go @@ -0,0 +1,1476 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this AppEngineServiceIAMBinding. +func (mg *AppEngineServiceIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AppEngineServiceIAMBinding. +func (mg *AppEngineServiceIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AppEngineServiceIAMBinding. +func (mg *AppEngineServiceIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AppEngineServiceIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AppEngineServiceIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AppEngineServiceIAMBinding. +func (mg *AppEngineServiceIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AppEngineServiceIAMBinding. +func (mg *AppEngineServiceIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AppEngineServiceIAMBinding. +func (mg *AppEngineServiceIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AppEngineServiceIAMBinding. +func (mg *AppEngineServiceIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AppEngineServiceIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AppEngineServiceIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AppEngineServiceIAMBinding. +func (mg *AppEngineServiceIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this AppEngineServiceIAMMember. +func (mg *AppEngineServiceIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AppEngineServiceIAMMember. +func (mg *AppEngineServiceIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AppEngineServiceIAMMember. +func (mg *AppEngineServiceIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AppEngineServiceIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AppEngineServiceIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AppEngineServiceIAMMember. +func (mg *AppEngineServiceIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AppEngineServiceIAMMember. +func (mg *AppEngineServiceIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AppEngineServiceIAMMember. +func (mg *AppEngineServiceIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AppEngineServiceIAMMember. +func (mg *AppEngineServiceIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AppEngineServiceIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AppEngineServiceIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AppEngineServiceIAMMember. +func (mg *AppEngineServiceIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this AppEngineServiceIAMPolicy. +func (mg *AppEngineServiceIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AppEngineServiceIAMPolicy. +func (mg *AppEngineServiceIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AppEngineServiceIAMPolicy. +func (mg *AppEngineServiceIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AppEngineServiceIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AppEngineServiceIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AppEngineServiceIAMPolicy. +func (mg *AppEngineServiceIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AppEngineServiceIAMPolicy. +func (mg *AppEngineServiceIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AppEngineServiceIAMPolicy. +func (mg *AppEngineServiceIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AppEngineServiceIAMPolicy. +func (mg *AppEngineServiceIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AppEngineServiceIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AppEngineServiceIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AppEngineServiceIAMPolicy. +func (mg *AppEngineServiceIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this AppEngineVersionIAMBinding. +func (mg *AppEngineVersionIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AppEngineVersionIAMBinding. +func (mg *AppEngineVersionIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AppEngineVersionIAMBinding. +func (mg *AppEngineVersionIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AppEngineVersionIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AppEngineVersionIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AppEngineVersionIAMBinding. +func (mg *AppEngineVersionIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AppEngineVersionIAMBinding. +func (mg *AppEngineVersionIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AppEngineVersionIAMBinding. +func (mg *AppEngineVersionIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AppEngineVersionIAMBinding. +func (mg *AppEngineVersionIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AppEngineVersionIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AppEngineVersionIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AppEngineVersionIAMBinding. +func (mg *AppEngineVersionIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this AppEngineVersionIAMMember. +func (mg *AppEngineVersionIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AppEngineVersionIAMMember. +func (mg *AppEngineVersionIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AppEngineVersionIAMMember. +func (mg *AppEngineVersionIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AppEngineVersionIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AppEngineVersionIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AppEngineVersionIAMMember. +func (mg *AppEngineVersionIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AppEngineVersionIAMMember. +func (mg *AppEngineVersionIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AppEngineVersionIAMMember. +func (mg *AppEngineVersionIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AppEngineVersionIAMMember. +func (mg *AppEngineVersionIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AppEngineVersionIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AppEngineVersionIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AppEngineVersionIAMMember. +func (mg *AppEngineVersionIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this AppEngineVersionIAMPolicy. +func (mg *AppEngineVersionIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AppEngineVersionIAMPolicy. +func (mg *AppEngineVersionIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this AppEngineVersionIAMPolicy. +func (mg *AppEngineVersionIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this AppEngineVersionIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *AppEngineVersionIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this AppEngineVersionIAMPolicy. +func (mg *AppEngineVersionIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AppEngineVersionIAMPolicy. +func (mg *AppEngineVersionIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AppEngineVersionIAMPolicy. +func (mg *AppEngineVersionIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this AppEngineVersionIAMPolicy. +func (mg *AppEngineVersionIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this AppEngineVersionIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *AppEngineVersionIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this AppEngineVersionIAMPolicy. +func (mg *AppEngineVersionIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Brand. +func (mg *Brand) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Brand. +func (mg *Brand) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Brand. +func (mg *Brand) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Brand. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Brand) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Brand. +func (mg *Brand) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Brand. +func (mg *Brand) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Brand. +func (mg *Brand) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Brand. +func (mg *Brand) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Brand. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Brand) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Brand. +func (mg *Brand) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Client. +func (mg *Client) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Client. +func (mg *Client) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Client. +func (mg *Client) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Client. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Client) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Client. +func (mg *Client) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Client. +func (mg *Client) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Client. +func (mg *Client) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Client. +func (mg *Client) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Client. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Client) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Client. +func (mg *Client) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TunnelIAMBinding. +func (mg *TunnelIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TunnelIAMBinding. +func (mg *TunnelIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TunnelIAMBinding. +func (mg *TunnelIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TunnelIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TunnelIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TunnelIAMBinding. +func (mg *TunnelIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TunnelIAMBinding. +func (mg *TunnelIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TunnelIAMBinding. +func (mg *TunnelIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TunnelIAMBinding. +func (mg *TunnelIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TunnelIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TunnelIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TunnelIAMBinding. +func (mg *TunnelIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TunnelIAMMember. +func (mg *TunnelIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TunnelIAMMember. +func (mg *TunnelIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TunnelIAMMember. +func (mg *TunnelIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TunnelIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TunnelIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TunnelIAMMember. +func (mg *TunnelIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TunnelIAMMember. +func (mg *TunnelIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TunnelIAMMember. +func (mg *TunnelIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TunnelIAMMember. +func (mg *TunnelIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TunnelIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TunnelIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TunnelIAMMember. +func (mg *TunnelIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TunnelIAMPolicy. +func (mg *TunnelIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TunnelIAMPolicy. +func (mg *TunnelIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TunnelIAMPolicy. +func (mg *TunnelIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TunnelIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TunnelIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TunnelIAMPolicy. +func (mg *TunnelIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TunnelIAMPolicy. +func (mg *TunnelIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TunnelIAMPolicy. +func (mg *TunnelIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TunnelIAMPolicy. +func (mg *TunnelIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TunnelIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TunnelIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TunnelIAMPolicy. +func (mg *TunnelIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TunnelInstanceIAMBinding. +func (mg *TunnelInstanceIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TunnelInstanceIAMBinding. +func (mg *TunnelInstanceIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TunnelInstanceIAMBinding. +func (mg *TunnelInstanceIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TunnelInstanceIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TunnelInstanceIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TunnelInstanceIAMBinding. +func (mg *TunnelInstanceIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TunnelInstanceIAMBinding. +func (mg *TunnelInstanceIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TunnelInstanceIAMBinding. +func (mg *TunnelInstanceIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TunnelInstanceIAMBinding. +func (mg *TunnelInstanceIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TunnelInstanceIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TunnelInstanceIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TunnelInstanceIAMBinding. +func (mg *TunnelInstanceIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TunnelInstanceIAMMember. +func (mg *TunnelInstanceIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TunnelInstanceIAMMember. +func (mg *TunnelInstanceIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TunnelInstanceIAMMember. +func (mg *TunnelInstanceIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TunnelInstanceIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TunnelInstanceIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TunnelInstanceIAMMember. +func (mg *TunnelInstanceIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TunnelInstanceIAMMember. +func (mg *TunnelInstanceIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TunnelInstanceIAMMember. +func (mg *TunnelInstanceIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TunnelInstanceIAMMember. +func (mg *TunnelInstanceIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TunnelInstanceIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TunnelInstanceIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TunnelInstanceIAMMember. +func (mg *TunnelInstanceIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TunnelInstanceIAMPolicy. +func (mg *TunnelInstanceIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TunnelInstanceIAMPolicy. +func (mg *TunnelInstanceIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TunnelInstanceIAMPolicy. +func (mg *TunnelInstanceIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TunnelInstanceIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TunnelInstanceIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TunnelInstanceIAMPolicy. +func (mg *TunnelInstanceIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TunnelInstanceIAMPolicy. +func (mg *TunnelInstanceIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TunnelInstanceIAMPolicy. +func (mg *TunnelInstanceIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TunnelInstanceIAMPolicy. +func (mg *TunnelInstanceIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TunnelInstanceIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TunnelInstanceIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TunnelInstanceIAMPolicy. +func (mg *TunnelInstanceIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this WebBackendServiceIAMBinding. +func (mg *WebBackendServiceIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this WebBackendServiceIAMBinding. +func (mg *WebBackendServiceIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this WebBackendServiceIAMBinding. +func (mg *WebBackendServiceIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this WebBackendServiceIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *WebBackendServiceIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this WebBackendServiceIAMBinding. +func (mg *WebBackendServiceIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this WebBackendServiceIAMBinding. +func (mg *WebBackendServiceIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this WebBackendServiceIAMBinding. +func (mg *WebBackendServiceIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this WebBackendServiceIAMBinding. +func (mg *WebBackendServiceIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this WebBackendServiceIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *WebBackendServiceIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this WebBackendServiceIAMBinding. +func (mg *WebBackendServiceIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this WebBackendServiceIAMMember. +func (mg *WebBackendServiceIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this WebBackendServiceIAMMember. +func (mg *WebBackendServiceIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this WebBackendServiceIAMMember. +func (mg *WebBackendServiceIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this WebBackendServiceIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *WebBackendServiceIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this WebBackendServiceIAMMember. +func (mg *WebBackendServiceIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this WebBackendServiceIAMMember. +func (mg *WebBackendServiceIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this WebBackendServiceIAMMember. +func (mg *WebBackendServiceIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this WebBackendServiceIAMMember. +func (mg *WebBackendServiceIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this WebBackendServiceIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *WebBackendServiceIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this WebBackendServiceIAMMember. +func (mg *WebBackendServiceIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this WebBackendServiceIAMPolicy. +func (mg *WebBackendServiceIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this WebBackendServiceIAMPolicy. +func (mg *WebBackendServiceIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this WebBackendServiceIAMPolicy. +func (mg *WebBackendServiceIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this WebBackendServiceIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *WebBackendServiceIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this WebBackendServiceIAMPolicy. +func (mg *WebBackendServiceIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this WebBackendServiceIAMPolicy. +func (mg *WebBackendServiceIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this WebBackendServiceIAMPolicy. +func (mg *WebBackendServiceIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this WebBackendServiceIAMPolicy. +func (mg *WebBackendServiceIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this WebBackendServiceIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *WebBackendServiceIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this WebBackendServiceIAMPolicy. +func (mg *WebBackendServiceIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this WebIAMBinding. +func (mg *WebIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this WebIAMBinding. +func (mg *WebIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this WebIAMBinding. +func (mg *WebIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this WebIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *WebIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this WebIAMBinding. +func (mg *WebIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this WebIAMBinding. +func (mg *WebIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this WebIAMBinding. +func (mg *WebIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this WebIAMBinding. +func (mg *WebIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this WebIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *WebIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this WebIAMBinding. +func (mg *WebIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this WebIAMMember. +func (mg *WebIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this WebIAMMember. +func (mg *WebIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this WebIAMMember. +func (mg *WebIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this WebIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *WebIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this WebIAMMember. +func (mg *WebIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this WebIAMMember. +func (mg *WebIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this WebIAMMember. +func (mg *WebIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this WebIAMMember. +func (mg *WebIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this WebIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *WebIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this WebIAMMember. +func (mg *WebIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this WebIAMPolicy. +func (mg *WebIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this WebIAMPolicy. +func (mg *WebIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this WebIAMPolicy. +func (mg *WebIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this WebIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *WebIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this WebIAMPolicy. +func (mg *WebIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this WebIAMPolicy. +func (mg *WebIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this WebIAMPolicy. +func (mg *WebIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this WebIAMPolicy. +func (mg *WebIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this WebIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *WebIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this WebIAMPolicy. +func (mg *WebIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this WebTypeAppEngineIAMBinding. +func (mg *WebTypeAppEngineIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this WebTypeAppEngineIAMBinding. +func (mg *WebTypeAppEngineIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this WebTypeAppEngineIAMBinding. +func (mg *WebTypeAppEngineIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this WebTypeAppEngineIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *WebTypeAppEngineIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this WebTypeAppEngineIAMBinding. +func (mg *WebTypeAppEngineIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this WebTypeAppEngineIAMBinding. +func (mg *WebTypeAppEngineIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this WebTypeAppEngineIAMBinding. +func (mg *WebTypeAppEngineIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this WebTypeAppEngineIAMBinding. +func (mg *WebTypeAppEngineIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this WebTypeAppEngineIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *WebTypeAppEngineIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this WebTypeAppEngineIAMBinding. +func (mg *WebTypeAppEngineIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this WebTypeAppEngineIAMMember. +func (mg *WebTypeAppEngineIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this WebTypeAppEngineIAMMember. +func (mg *WebTypeAppEngineIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this WebTypeAppEngineIAMMember. +func (mg *WebTypeAppEngineIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this WebTypeAppEngineIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *WebTypeAppEngineIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this WebTypeAppEngineIAMMember. +func (mg *WebTypeAppEngineIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this WebTypeAppEngineIAMMember. +func (mg *WebTypeAppEngineIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this WebTypeAppEngineIAMMember. +func (mg *WebTypeAppEngineIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this WebTypeAppEngineIAMMember. +func (mg *WebTypeAppEngineIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this WebTypeAppEngineIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *WebTypeAppEngineIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this WebTypeAppEngineIAMMember. +func (mg *WebTypeAppEngineIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this WebTypeAppEngineIAMPolicy. +func (mg *WebTypeAppEngineIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this WebTypeAppEngineIAMPolicy. +func (mg *WebTypeAppEngineIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this WebTypeAppEngineIAMPolicy. +func (mg *WebTypeAppEngineIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this WebTypeAppEngineIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *WebTypeAppEngineIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this WebTypeAppEngineIAMPolicy. +func (mg *WebTypeAppEngineIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this WebTypeAppEngineIAMPolicy. +func (mg *WebTypeAppEngineIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this WebTypeAppEngineIAMPolicy. +func (mg *WebTypeAppEngineIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this WebTypeAppEngineIAMPolicy. +func (mg *WebTypeAppEngineIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this WebTypeAppEngineIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *WebTypeAppEngineIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this WebTypeAppEngineIAMPolicy. +func (mg *WebTypeAppEngineIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this WebTypeComputeIAMBinding. +func (mg *WebTypeComputeIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this WebTypeComputeIAMBinding. +func (mg *WebTypeComputeIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this WebTypeComputeIAMBinding. +func (mg *WebTypeComputeIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this WebTypeComputeIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *WebTypeComputeIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this WebTypeComputeIAMBinding. +func (mg *WebTypeComputeIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this WebTypeComputeIAMBinding. +func (mg *WebTypeComputeIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this WebTypeComputeIAMBinding. +func (mg *WebTypeComputeIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this WebTypeComputeIAMBinding. +func (mg *WebTypeComputeIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this WebTypeComputeIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *WebTypeComputeIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this WebTypeComputeIAMBinding. +func (mg *WebTypeComputeIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this WebTypeComputeIAMMember. +func (mg *WebTypeComputeIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this WebTypeComputeIAMMember. +func (mg *WebTypeComputeIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this WebTypeComputeIAMMember. +func (mg *WebTypeComputeIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this WebTypeComputeIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *WebTypeComputeIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this WebTypeComputeIAMMember. +func (mg *WebTypeComputeIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this WebTypeComputeIAMMember. +func (mg *WebTypeComputeIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this WebTypeComputeIAMMember. +func (mg *WebTypeComputeIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this WebTypeComputeIAMMember. +func (mg *WebTypeComputeIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this WebTypeComputeIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *WebTypeComputeIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this WebTypeComputeIAMMember. +func (mg *WebTypeComputeIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this WebTypeComputeIAMPolicy. +func (mg *WebTypeComputeIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this WebTypeComputeIAMPolicy. +func (mg *WebTypeComputeIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this WebTypeComputeIAMPolicy. +func (mg *WebTypeComputeIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this WebTypeComputeIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *WebTypeComputeIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this WebTypeComputeIAMPolicy. +func (mg *WebTypeComputeIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this WebTypeComputeIAMPolicy. +func (mg *WebTypeComputeIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this WebTypeComputeIAMPolicy. +func (mg *WebTypeComputeIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this WebTypeComputeIAMPolicy. +func (mg *WebTypeComputeIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this WebTypeComputeIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *WebTypeComputeIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this WebTypeComputeIAMPolicy. +func (mg *WebTypeComputeIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/iap/v1alpha1/zz_generated.managedlist.go b/apis/iap/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..dbddaa82 --- /dev/null +++ b/apis/iap/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,254 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this AppEngineServiceIAMBindingList. +func (l *AppEngineServiceIAMBindingList) 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 AppEngineServiceIAMMemberList. +func (l *AppEngineServiceIAMMemberList) 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 AppEngineServiceIAMPolicyList. +func (l *AppEngineServiceIAMPolicyList) 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 AppEngineVersionIAMBindingList. +func (l *AppEngineVersionIAMBindingList) 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 AppEngineVersionIAMMemberList. +func (l *AppEngineVersionIAMMemberList) 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 AppEngineVersionIAMPolicyList. +func (l *AppEngineVersionIAMPolicyList) 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 BrandList. +func (l *BrandList) 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 ClientList. +func (l *ClientList) 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 TunnelIAMBindingList. +func (l *TunnelIAMBindingList) 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 TunnelIAMMemberList. +func (l *TunnelIAMMemberList) 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 TunnelIAMPolicyList. +func (l *TunnelIAMPolicyList) 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 TunnelInstanceIAMBindingList. +func (l *TunnelInstanceIAMBindingList) 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 TunnelInstanceIAMMemberList. +func (l *TunnelInstanceIAMMemberList) 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 TunnelInstanceIAMPolicyList. +func (l *TunnelInstanceIAMPolicyList) 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 WebBackendServiceIAMBindingList. +func (l *WebBackendServiceIAMBindingList) 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 WebBackendServiceIAMMemberList. +func (l *WebBackendServiceIAMMemberList) 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 WebBackendServiceIAMPolicyList. +func (l *WebBackendServiceIAMPolicyList) 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 WebIAMBindingList. +func (l *WebIAMBindingList) 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 WebIAMMemberList. +func (l *WebIAMMemberList) 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 WebIAMPolicyList. +func (l *WebIAMPolicyList) 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 WebTypeAppEngineIAMBindingList. +func (l *WebTypeAppEngineIAMBindingList) 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 WebTypeAppEngineIAMMemberList. +func (l *WebTypeAppEngineIAMMemberList) 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 WebTypeAppEngineIAMPolicyList. +func (l *WebTypeAppEngineIAMPolicyList) 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 WebTypeComputeIAMBindingList. +func (l *WebTypeComputeIAMBindingList) 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 WebTypeComputeIAMMemberList. +func (l *WebTypeComputeIAMMemberList) 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 WebTypeComputeIAMPolicyList. +func (l *WebTypeComputeIAMPolicyList) 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/iap/v1alpha1/zz_groupversion_info.go b/apis/iap/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..9c2be1d8 --- /dev/null +++ b/apis/iap/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=iap.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "iap.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/iap/v1alpha1/zz_tunneliambinding_terraformed.go b/apis/iap/v1alpha1/zz_tunneliambinding_terraformed.go new file mode 100755 index 00000000..22183feb --- /dev/null +++ b/apis/iap/v1alpha1/zz_tunneliambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TunnelIAMBinding +func (mg *TunnelIAMBinding) GetTerraformResourceType() string { + return "google_iap_tunnel_iam_binding" +} + +// GetConnectionDetailsMapping for this TunnelIAMBinding +func (tr *TunnelIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TunnelIAMBinding +func (tr *TunnelIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TunnelIAMBinding +func (tr *TunnelIAMBinding) SetObservation(obs map[string]interface{}) 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 TunnelIAMBinding +func (tr *TunnelIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TunnelIAMBinding +func (tr *TunnelIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TunnelIAMBinding +func (tr *TunnelIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TunnelIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TunnelIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &TunnelIAMBindingParameters{} + 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 *TunnelIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_tunneliambinding_types.go b/apis/iap/v1alpha1/zz_tunneliambinding_types.go new file mode 100755 index 00000000..a601a7d8 --- /dev/null +++ b/apis/iap/v1alpha1/zz_tunneliambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TunnelIAMBindingConditionObservation struct { +} + +type TunnelIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TunnelIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TunnelIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []TunnelIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// TunnelIAMBindingSpec defines the desired state of TunnelIAMBinding +type TunnelIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TunnelIAMBindingParameters `json:"forProvider"` +} + +// TunnelIAMBindingStatus defines the observed state of TunnelIAMBinding. +type TunnelIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TunnelIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TunnelIAMBinding is the Schema for the TunnelIAMBindings 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,gcpjet} +type TunnelIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TunnelIAMBindingSpec `json:"spec"` + Status TunnelIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TunnelIAMBindingList contains a list of TunnelIAMBindings +type TunnelIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TunnelIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + TunnelIAMBinding_Kind = "TunnelIAMBinding" + TunnelIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TunnelIAMBinding_Kind}.String() + TunnelIAMBinding_KindAPIVersion = TunnelIAMBinding_Kind + "." + CRDGroupVersion.String() + TunnelIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(TunnelIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&TunnelIAMBinding{}, &TunnelIAMBindingList{}) +} diff --git a/apis/iap/v1alpha1/zz_tunneliammember_terraformed.go b/apis/iap/v1alpha1/zz_tunneliammember_terraformed.go new file mode 100755 index 00000000..d78160ad --- /dev/null +++ b/apis/iap/v1alpha1/zz_tunneliammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TunnelIAMMember +func (mg *TunnelIAMMember) GetTerraformResourceType() string { + return "google_iap_tunnel_iam_member" +} + +// GetConnectionDetailsMapping for this TunnelIAMMember +func (tr *TunnelIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TunnelIAMMember +func (tr *TunnelIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TunnelIAMMember +func (tr *TunnelIAMMember) SetObservation(obs map[string]interface{}) 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 TunnelIAMMember +func (tr *TunnelIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TunnelIAMMember +func (tr *TunnelIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TunnelIAMMember +func (tr *TunnelIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TunnelIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TunnelIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &TunnelIAMMemberParameters{} + 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 *TunnelIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_tunneliammember_types.go b/apis/iap/v1alpha1/zz_tunneliammember_types.go new file mode 100755 index 00000000..2c19228a --- /dev/null +++ b/apis/iap/v1alpha1/zz_tunneliammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TunnelIAMMemberConditionObservation struct { +} + +type TunnelIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TunnelIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TunnelIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []TunnelIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// TunnelIAMMemberSpec defines the desired state of TunnelIAMMember +type TunnelIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TunnelIAMMemberParameters `json:"forProvider"` +} + +// TunnelIAMMemberStatus defines the observed state of TunnelIAMMember. +type TunnelIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TunnelIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TunnelIAMMember is the Schema for the TunnelIAMMembers 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,gcpjet} +type TunnelIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TunnelIAMMemberSpec `json:"spec"` + Status TunnelIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TunnelIAMMemberList contains a list of TunnelIAMMembers +type TunnelIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TunnelIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + TunnelIAMMember_Kind = "TunnelIAMMember" + TunnelIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TunnelIAMMember_Kind}.String() + TunnelIAMMember_KindAPIVersion = TunnelIAMMember_Kind + "." + CRDGroupVersion.String() + TunnelIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(TunnelIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&TunnelIAMMember{}, &TunnelIAMMemberList{}) +} diff --git a/apis/iap/v1alpha1/zz_tunneliampolicy_terraformed.go b/apis/iap/v1alpha1/zz_tunneliampolicy_terraformed.go new file mode 100755 index 00000000..dddfdb75 --- /dev/null +++ b/apis/iap/v1alpha1/zz_tunneliampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TunnelIAMPolicy +func (mg *TunnelIAMPolicy) GetTerraformResourceType() string { + return "google_iap_tunnel_iam_policy" +} + +// GetConnectionDetailsMapping for this TunnelIAMPolicy +func (tr *TunnelIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TunnelIAMPolicy +func (tr *TunnelIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TunnelIAMPolicy +func (tr *TunnelIAMPolicy) SetObservation(obs map[string]interface{}) 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 TunnelIAMPolicy +func (tr *TunnelIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TunnelIAMPolicy +func (tr *TunnelIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TunnelIAMPolicy +func (tr *TunnelIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TunnelIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TunnelIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &TunnelIAMPolicyParameters{} + 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 *TunnelIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_tunneliampolicy_types.go b/apis/iap/v1alpha1/zz_tunneliampolicy_types.go new file mode 100755 index 00000000..e59a686e --- /dev/null +++ b/apis/iap/v1alpha1/zz_tunneliampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TunnelIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TunnelIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// TunnelIAMPolicySpec defines the desired state of TunnelIAMPolicy +type TunnelIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TunnelIAMPolicyParameters `json:"forProvider"` +} + +// TunnelIAMPolicyStatus defines the observed state of TunnelIAMPolicy. +type TunnelIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TunnelIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TunnelIAMPolicy is the Schema for the TunnelIAMPolicys 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,gcpjet} +type TunnelIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TunnelIAMPolicySpec `json:"spec"` + Status TunnelIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TunnelIAMPolicyList contains a list of TunnelIAMPolicys +type TunnelIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TunnelIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + TunnelIAMPolicy_Kind = "TunnelIAMPolicy" + TunnelIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TunnelIAMPolicy_Kind}.String() + TunnelIAMPolicy_KindAPIVersion = TunnelIAMPolicy_Kind + "." + CRDGroupVersion.String() + TunnelIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(TunnelIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&TunnelIAMPolicy{}, &TunnelIAMPolicyList{}) +} diff --git a/apis/iap/v1alpha1/zz_tunnelinstanceiambinding_terraformed.go b/apis/iap/v1alpha1/zz_tunnelinstanceiambinding_terraformed.go new file mode 100755 index 00000000..91e431ea --- /dev/null +++ b/apis/iap/v1alpha1/zz_tunnelinstanceiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TunnelInstanceIAMBinding +func (mg *TunnelInstanceIAMBinding) GetTerraformResourceType() string { + return "google_iap_tunnel_instance_iam_binding" +} + +// GetConnectionDetailsMapping for this TunnelInstanceIAMBinding +func (tr *TunnelInstanceIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TunnelInstanceIAMBinding +func (tr *TunnelInstanceIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TunnelInstanceIAMBinding +func (tr *TunnelInstanceIAMBinding) SetObservation(obs map[string]interface{}) 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 TunnelInstanceIAMBinding +func (tr *TunnelInstanceIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TunnelInstanceIAMBinding +func (tr *TunnelInstanceIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TunnelInstanceIAMBinding +func (tr *TunnelInstanceIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TunnelInstanceIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TunnelInstanceIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &TunnelInstanceIAMBindingParameters{} + 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 *TunnelInstanceIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_tunnelinstanceiambinding_types.go b/apis/iap/v1alpha1/zz_tunnelinstanceiambinding_types.go new file mode 100755 index 00000000..2b90814f --- /dev/null +++ b/apis/iap/v1alpha1/zz_tunnelinstanceiambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TunnelInstanceIAMBindingConditionObservation struct { +} + +type TunnelInstanceIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TunnelInstanceIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TunnelInstanceIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []TunnelInstanceIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// TunnelInstanceIAMBindingSpec defines the desired state of TunnelInstanceIAMBinding +type TunnelInstanceIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TunnelInstanceIAMBindingParameters `json:"forProvider"` +} + +// TunnelInstanceIAMBindingStatus defines the observed state of TunnelInstanceIAMBinding. +type TunnelInstanceIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TunnelInstanceIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TunnelInstanceIAMBinding is the Schema for the TunnelInstanceIAMBindings 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,gcpjet} +type TunnelInstanceIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TunnelInstanceIAMBindingSpec `json:"spec"` + Status TunnelInstanceIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TunnelInstanceIAMBindingList contains a list of TunnelInstanceIAMBindings +type TunnelInstanceIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TunnelInstanceIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + TunnelInstanceIAMBinding_Kind = "TunnelInstanceIAMBinding" + TunnelInstanceIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TunnelInstanceIAMBinding_Kind}.String() + TunnelInstanceIAMBinding_KindAPIVersion = TunnelInstanceIAMBinding_Kind + "." + CRDGroupVersion.String() + TunnelInstanceIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(TunnelInstanceIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&TunnelInstanceIAMBinding{}, &TunnelInstanceIAMBindingList{}) +} diff --git a/apis/iap/v1alpha1/zz_tunnelinstanceiammember_terraformed.go b/apis/iap/v1alpha1/zz_tunnelinstanceiammember_terraformed.go new file mode 100755 index 00000000..ebbba770 --- /dev/null +++ b/apis/iap/v1alpha1/zz_tunnelinstanceiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TunnelInstanceIAMMember +func (mg *TunnelInstanceIAMMember) GetTerraformResourceType() string { + return "google_iap_tunnel_instance_iam_member" +} + +// GetConnectionDetailsMapping for this TunnelInstanceIAMMember +func (tr *TunnelInstanceIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TunnelInstanceIAMMember +func (tr *TunnelInstanceIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TunnelInstanceIAMMember +func (tr *TunnelInstanceIAMMember) SetObservation(obs map[string]interface{}) 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 TunnelInstanceIAMMember +func (tr *TunnelInstanceIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TunnelInstanceIAMMember +func (tr *TunnelInstanceIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TunnelInstanceIAMMember +func (tr *TunnelInstanceIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TunnelInstanceIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TunnelInstanceIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &TunnelInstanceIAMMemberParameters{} + 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 *TunnelInstanceIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_tunnelinstanceiammember_types.go b/apis/iap/v1alpha1/zz_tunnelinstanceiammember_types.go new file mode 100755 index 00000000..9fcfd61f --- /dev/null +++ b/apis/iap/v1alpha1/zz_tunnelinstanceiammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TunnelInstanceIAMMemberConditionObservation struct { +} + +type TunnelInstanceIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TunnelInstanceIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TunnelInstanceIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []TunnelInstanceIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// TunnelInstanceIAMMemberSpec defines the desired state of TunnelInstanceIAMMember +type TunnelInstanceIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TunnelInstanceIAMMemberParameters `json:"forProvider"` +} + +// TunnelInstanceIAMMemberStatus defines the observed state of TunnelInstanceIAMMember. +type TunnelInstanceIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TunnelInstanceIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TunnelInstanceIAMMember is the Schema for the TunnelInstanceIAMMembers 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,gcpjet} +type TunnelInstanceIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TunnelInstanceIAMMemberSpec `json:"spec"` + Status TunnelInstanceIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TunnelInstanceIAMMemberList contains a list of TunnelInstanceIAMMembers +type TunnelInstanceIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TunnelInstanceIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + TunnelInstanceIAMMember_Kind = "TunnelInstanceIAMMember" + TunnelInstanceIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TunnelInstanceIAMMember_Kind}.String() + TunnelInstanceIAMMember_KindAPIVersion = TunnelInstanceIAMMember_Kind + "." + CRDGroupVersion.String() + TunnelInstanceIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(TunnelInstanceIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&TunnelInstanceIAMMember{}, &TunnelInstanceIAMMemberList{}) +} diff --git a/apis/iap/v1alpha1/zz_tunnelinstanceiampolicy_terraformed.go b/apis/iap/v1alpha1/zz_tunnelinstanceiampolicy_terraformed.go new file mode 100755 index 00000000..eb5afde4 --- /dev/null +++ b/apis/iap/v1alpha1/zz_tunnelinstanceiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TunnelInstanceIAMPolicy +func (mg *TunnelInstanceIAMPolicy) GetTerraformResourceType() string { + return "google_iap_tunnel_instance_iam_policy" +} + +// GetConnectionDetailsMapping for this TunnelInstanceIAMPolicy +func (tr *TunnelInstanceIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TunnelInstanceIAMPolicy +func (tr *TunnelInstanceIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TunnelInstanceIAMPolicy +func (tr *TunnelInstanceIAMPolicy) SetObservation(obs map[string]interface{}) 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 TunnelInstanceIAMPolicy +func (tr *TunnelInstanceIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TunnelInstanceIAMPolicy +func (tr *TunnelInstanceIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TunnelInstanceIAMPolicy +func (tr *TunnelInstanceIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TunnelInstanceIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TunnelInstanceIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &TunnelInstanceIAMPolicyParameters{} + 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 *TunnelInstanceIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_tunnelinstanceiampolicy_types.go b/apis/iap/v1alpha1/zz_tunnelinstanceiampolicy_types.go new file mode 100755 index 00000000..0f49df71 --- /dev/null +++ b/apis/iap/v1alpha1/zz_tunnelinstanceiampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TunnelInstanceIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TunnelInstanceIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// TunnelInstanceIAMPolicySpec defines the desired state of TunnelInstanceIAMPolicy +type TunnelInstanceIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TunnelInstanceIAMPolicyParameters `json:"forProvider"` +} + +// TunnelInstanceIAMPolicyStatus defines the observed state of TunnelInstanceIAMPolicy. +type TunnelInstanceIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TunnelInstanceIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TunnelInstanceIAMPolicy is the Schema for the TunnelInstanceIAMPolicys 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,gcpjet} +type TunnelInstanceIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TunnelInstanceIAMPolicySpec `json:"spec"` + Status TunnelInstanceIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TunnelInstanceIAMPolicyList contains a list of TunnelInstanceIAMPolicys +type TunnelInstanceIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TunnelInstanceIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + TunnelInstanceIAMPolicy_Kind = "TunnelInstanceIAMPolicy" + TunnelInstanceIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TunnelInstanceIAMPolicy_Kind}.String() + TunnelInstanceIAMPolicy_KindAPIVersion = TunnelInstanceIAMPolicy_Kind + "." + CRDGroupVersion.String() + TunnelInstanceIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(TunnelInstanceIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&TunnelInstanceIAMPolicy{}, &TunnelInstanceIAMPolicyList{}) +} diff --git a/apis/iap/v1alpha1/zz_webbackendserviceiambinding_terraformed.go b/apis/iap/v1alpha1/zz_webbackendserviceiambinding_terraformed.go new file mode 100755 index 00000000..d9013c04 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webbackendserviceiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this WebBackendServiceIAMBinding +func (mg *WebBackendServiceIAMBinding) GetTerraformResourceType() string { + return "google_iap_web_backend_service_iam_binding" +} + +// GetConnectionDetailsMapping for this WebBackendServiceIAMBinding +func (tr *WebBackendServiceIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this WebBackendServiceIAMBinding +func (tr *WebBackendServiceIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this WebBackendServiceIAMBinding +func (tr *WebBackendServiceIAMBinding) SetObservation(obs map[string]interface{}) 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 WebBackendServiceIAMBinding +func (tr *WebBackendServiceIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this WebBackendServiceIAMBinding +func (tr *WebBackendServiceIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this WebBackendServiceIAMBinding +func (tr *WebBackendServiceIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this WebBackendServiceIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *WebBackendServiceIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &WebBackendServiceIAMBindingParameters{} + 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 *WebBackendServiceIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_webbackendserviceiambinding_types.go b/apis/iap/v1alpha1/zz_webbackendserviceiambinding_types.go new file mode 100755 index 00000000..7488f3d5 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webbackendserviceiambinding_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 WebBackendServiceIAMBindingConditionObservation struct { +} + +type WebBackendServiceIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type WebBackendServiceIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type WebBackendServiceIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []WebBackendServiceIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + WebBackendService *string `json:"webBackendService" tf:"web_backend_service,omitempty"` +} + +// WebBackendServiceIAMBindingSpec defines the desired state of WebBackendServiceIAMBinding +type WebBackendServiceIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WebBackendServiceIAMBindingParameters `json:"forProvider"` +} + +// WebBackendServiceIAMBindingStatus defines the observed state of WebBackendServiceIAMBinding. +type WebBackendServiceIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WebBackendServiceIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebBackendServiceIAMBinding is the Schema for the WebBackendServiceIAMBindings 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,gcpjet} +type WebBackendServiceIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WebBackendServiceIAMBindingSpec `json:"spec"` + Status WebBackendServiceIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebBackendServiceIAMBindingList contains a list of WebBackendServiceIAMBindings +type WebBackendServiceIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WebBackendServiceIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + WebBackendServiceIAMBinding_Kind = "WebBackendServiceIAMBinding" + WebBackendServiceIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: WebBackendServiceIAMBinding_Kind}.String() + WebBackendServiceIAMBinding_KindAPIVersion = WebBackendServiceIAMBinding_Kind + "." + CRDGroupVersion.String() + WebBackendServiceIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(WebBackendServiceIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&WebBackendServiceIAMBinding{}, &WebBackendServiceIAMBindingList{}) +} diff --git a/apis/iap/v1alpha1/zz_webbackendserviceiammember_terraformed.go b/apis/iap/v1alpha1/zz_webbackendserviceiammember_terraformed.go new file mode 100755 index 00000000..74c22dd1 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webbackendserviceiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this WebBackendServiceIAMMember +func (mg *WebBackendServiceIAMMember) GetTerraformResourceType() string { + return "google_iap_web_backend_service_iam_member" +} + +// GetConnectionDetailsMapping for this WebBackendServiceIAMMember +func (tr *WebBackendServiceIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this WebBackendServiceIAMMember +func (tr *WebBackendServiceIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this WebBackendServiceIAMMember +func (tr *WebBackendServiceIAMMember) SetObservation(obs map[string]interface{}) 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 WebBackendServiceIAMMember +func (tr *WebBackendServiceIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this WebBackendServiceIAMMember +func (tr *WebBackendServiceIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this WebBackendServiceIAMMember +func (tr *WebBackendServiceIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this WebBackendServiceIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *WebBackendServiceIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &WebBackendServiceIAMMemberParameters{} + 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 *WebBackendServiceIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_webbackendserviceiammember_types.go b/apis/iap/v1alpha1/zz_webbackendserviceiammember_types.go new file mode 100755 index 00000000..147ad6ae --- /dev/null +++ b/apis/iap/v1alpha1/zz_webbackendserviceiammember_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 WebBackendServiceIAMMemberConditionObservation struct { +} + +type WebBackendServiceIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type WebBackendServiceIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type WebBackendServiceIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []WebBackendServiceIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + WebBackendService *string `json:"webBackendService" tf:"web_backend_service,omitempty"` +} + +// WebBackendServiceIAMMemberSpec defines the desired state of WebBackendServiceIAMMember +type WebBackendServiceIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WebBackendServiceIAMMemberParameters `json:"forProvider"` +} + +// WebBackendServiceIAMMemberStatus defines the observed state of WebBackendServiceIAMMember. +type WebBackendServiceIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WebBackendServiceIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebBackendServiceIAMMember is the Schema for the WebBackendServiceIAMMembers 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,gcpjet} +type WebBackendServiceIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WebBackendServiceIAMMemberSpec `json:"spec"` + Status WebBackendServiceIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebBackendServiceIAMMemberList contains a list of WebBackendServiceIAMMembers +type WebBackendServiceIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WebBackendServiceIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + WebBackendServiceIAMMember_Kind = "WebBackendServiceIAMMember" + WebBackendServiceIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: WebBackendServiceIAMMember_Kind}.String() + WebBackendServiceIAMMember_KindAPIVersion = WebBackendServiceIAMMember_Kind + "." + CRDGroupVersion.String() + WebBackendServiceIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(WebBackendServiceIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&WebBackendServiceIAMMember{}, &WebBackendServiceIAMMemberList{}) +} diff --git a/apis/iap/v1alpha1/zz_webbackendserviceiampolicy_terraformed.go b/apis/iap/v1alpha1/zz_webbackendserviceiampolicy_terraformed.go new file mode 100755 index 00000000..b018c622 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webbackendserviceiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this WebBackendServiceIAMPolicy +func (mg *WebBackendServiceIAMPolicy) GetTerraformResourceType() string { + return "google_iap_web_backend_service_iam_policy" +} + +// GetConnectionDetailsMapping for this WebBackendServiceIAMPolicy +func (tr *WebBackendServiceIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this WebBackendServiceIAMPolicy +func (tr *WebBackendServiceIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this WebBackendServiceIAMPolicy +func (tr *WebBackendServiceIAMPolicy) SetObservation(obs map[string]interface{}) 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 WebBackendServiceIAMPolicy +func (tr *WebBackendServiceIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this WebBackendServiceIAMPolicy +func (tr *WebBackendServiceIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this WebBackendServiceIAMPolicy +func (tr *WebBackendServiceIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this WebBackendServiceIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *WebBackendServiceIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &WebBackendServiceIAMPolicyParameters{} + 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 *WebBackendServiceIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_webbackendserviceiampolicy_types.go b/apis/iap/v1alpha1/zz_webbackendserviceiampolicy_types.go new file mode 100755 index 00000000..6c5c604e --- /dev/null +++ b/apis/iap/v1alpha1/zz_webbackendserviceiampolicy_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 WebBackendServiceIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type WebBackendServiceIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + WebBackendService *string `json:"webBackendService" tf:"web_backend_service,omitempty"` +} + +// WebBackendServiceIAMPolicySpec defines the desired state of WebBackendServiceIAMPolicy +type WebBackendServiceIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WebBackendServiceIAMPolicyParameters `json:"forProvider"` +} + +// WebBackendServiceIAMPolicyStatus defines the observed state of WebBackendServiceIAMPolicy. +type WebBackendServiceIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WebBackendServiceIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebBackendServiceIAMPolicy is the Schema for the WebBackendServiceIAMPolicys 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,gcpjet} +type WebBackendServiceIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WebBackendServiceIAMPolicySpec `json:"spec"` + Status WebBackendServiceIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebBackendServiceIAMPolicyList contains a list of WebBackendServiceIAMPolicys +type WebBackendServiceIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WebBackendServiceIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + WebBackendServiceIAMPolicy_Kind = "WebBackendServiceIAMPolicy" + WebBackendServiceIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: WebBackendServiceIAMPolicy_Kind}.String() + WebBackendServiceIAMPolicy_KindAPIVersion = WebBackendServiceIAMPolicy_Kind + "." + CRDGroupVersion.String() + WebBackendServiceIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(WebBackendServiceIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&WebBackendServiceIAMPolicy{}, &WebBackendServiceIAMPolicyList{}) +} diff --git a/apis/iap/v1alpha1/zz_webiambinding_terraformed.go b/apis/iap/v1alpha1/zz_webiambinding_terraformed.go new file mode 100755 index 00000000..2ef0fba0 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this WebIAMBinding +func (mg *WebIAMBinding) GetTerraformResourceType() string { + return "google_iap_web_iam_binding" +} + +// GetConnectionDetailsMapping for this WebIAMBinding +func (tr *WebIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this WebIAMBinding +func (tr *WebIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this WebIAMBinding +func (tr *WebIAMBinding) SetObservation(obs map[string]interface{}) 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 WebIAMBinding +func (tr *WebIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this WebIAMBinding +func (tr *WebIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this WebIAMBinding +func (tr *WebIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this WebIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *WebIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &WebIAMBindingParameters{} + 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 *WebIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_webiambinding_types.go b/apis/iap/v1alpha1/zz_webiambinding_types.go new file mode 100755 index 00000000..a4b348bc --- /dev/null +++ b/apis/iap/v1alpha1/zz_webiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 WebIAMBindingConditionObservation struct { +} + +type WebIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type WebIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type WebIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []WebIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// WebIAMBindingSpec defines the desired state of WebIAMBinding +type WebIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WebIAMBindingParameters `json:"forProvider"` +} + +// WebIAMBindingStatus defines the observed state of WebIAMBinding. +type WebIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WebIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebIAMBinding is the Schema for the WebIAMBindings 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,gcpjet} +type WebIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WebIAMBindingSpec `json:"spec"` + Status WebIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebIAMBindingList contains a list of WebIAMBindings +type WebIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WebIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + WebIAMBinding_Kind = "WebIAMBinding" + WebIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: WebIAMBinding_Kind}.String() + WebIAMBinding_KindAPIVersion = WebIAMBinding_Kind + "." + CRDGroupVersion.String() + WebIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(WebIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&WebIAMBinding{}, &WebIAMBindingList{}) +} diff --git a/apis/iap/v1alpha1/zz_webiammember_terraformed.go b/apis/iap/v1alpha1/zz_webiammember_terraformed.go new file mode 100755 index 00000000..7941b0e0 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this WebIAMMember +func (mg *WebIAMMember) GetTerraformResourceType() string { + return "google_iap_web_iam_member" +} + +// GetConnectionDetailsMapping for this WebIAMMember +func (tr *WebIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this WebIAMMember +func (tr *WebIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this WebIAMMember +func (tr *WebIAMMember) SetObservation(obs map[string]interface{}) 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 WebIAMMember +func (tr *WebIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this WebIAMMember +func (tr *WebIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this WebIAMMember +func (tr *WebIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this WebIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *WebIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &WebIAMMemberParameters{} + 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 *WebIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_webiammember_types.go b/apis/iap/v1alpha1/zz_webiammember_types.go new file mode 100755 index 00000000..8d188d7f --- /dev/null +++ b/apis/iap/v1alpha1/zz_webiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 WebIAMMemberConditionObservation struct { +} + +type WebIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type WebIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type WebIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []WebIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// WebIAMMemberSpec defines the desired state of WebIAMMember +type WebIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WebIAMMemberParameters `json:"forProvider"` +} + +// WebIAMMemberStatus defines the observed state of WebIAMMember. +type WebIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WebIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebIAMMember is the Schema for the WebIAMMembers 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,gcpjet} +type WebIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WebIAMMemberSpec `json:"spec"` + Status WebIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebIAMMemberList contains a list of WebIAMMembers +type WebIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WebIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + WebIAMMember_Kind = "WebIAMMember" + WebIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: WebIAMMember_Kind}.String() + WebIAMMember_KindAPIVersion = WebIAMMember_Kind + "." + CRDGroupVersion.String() + WebIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(WebIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&WebIAMMember{}, &WebIAMMemberList{}) +} diff --git a/apis/iap/v1alpha1/zz_webiampolicy_terraformed.go b/apis/iap/v1alpha1/zz_webiampolicy_terraformed.go new file mode 100755 index 00000000..9f828c72 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this WebIAMPolicy +func (mg *WebIAMPolicy) GetTerraformResourceType() string { + return "google_iap_web_iam_policy" +} + +// GetConnectionDetailsMapping for this WebIAMPolicy +func (tr *WebIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this WebIAMPolicy +func (tr *WebIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this WebIAMPolicy +func (tr *WebIAMPolicy) SetObservation(obs map[string]interface{}) 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 WebIAMPolicy +func (tr *WebIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this WebIAMPolicy +func (tr *WebIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this WebIAMPolicy +func (tr *WebIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this WebIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *WebIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &WebIAMPolicyParameters{} + 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 *WebIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_webiampolicy_types.go b/apis/iap/v1alpha1/zz_webiampolicy_types.go new file mode 100755 index 00000000..7baf6ea9 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 WebIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type WebIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// WebIAMPolicySpec defines the desired state of WebIAMPolicy +type WebIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WebIAMPolicyParameters `json:"forProvider"` +} + +// WebIAMPolicyStatus defines the observed state of WebIAMPolicy. +type WebIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WebIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebIAMPolicy is the Schema for the WebIAMPolicys 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,gcpjet} +type WebIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WebIAMPolicySpec `json:"spec"` + Status WebIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebIAMPolicyList contains a list of WebIAMPolicys +type WebIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WebIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + WebIAMPolicy_Kind = "WebIAMPolicy" + WebIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: WebIAMPolicy_Kind}.String() + WebIAMPolicy_KindAPIVersion = WebIAMPolicy_Kind + "." + CRDGroupVersion.String() + WebIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(WebIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&WebIAMPolicy{}, &WebIAMPolicyList{}) +} diff --git a/apis/iap/v1alpha1/zz_webtypeappengineiambinding_terraformed.go b/apis/iap/v1alpha1/zz_webtypeappengineiambinding_terraformed.go new file mode 100755 index 00000000..bc98c9e3 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webtypeappengineiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this WebTypeAppEngineIAMBinding +func (mg *WebTypeAppEngineIAMBinding) GetTerraformResourceType() string { + return "google_iap_web_type_app_engine_iam_binding" +} + +// GetConnectionDetailsMapping for this WebTypeAppEngineIAMBinding +func (tr *WebTypeAppEngineIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this WebTypeAppEngineIAMBinding +func (tr *WebTypeAppEngineIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this WebTypeAppEngineIAMBinding +func (tr *WebTypeAppEngineIAMBinding) SetObservation(obs map[string]interface{}) 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 WebTypeAppEngineIAMBinding +func (tr *WebTypeAppEngineIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this WebTypeAppEngineIAMBinding +func (tr *WebTypeAppEngineIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this WebTypeAppEngineIAMBinding +func (tr *WebTypeAppEngineIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this WebTypeAppEngineIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *WebTypeAppEngineIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &WebTypeAppEngineIAMBindingParameters{} + 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 *WebTypeAppEngineIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_webtypeappengineiambinding_types.go b/apis/iap/v1alpha1/zz_webtypeappengineiambinding_types.go new file mode 100755 index 00000000..a23e2f23 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webtypeappengineiambinding_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 WebTypeAppEngineIAMBindingConditionObservation struct { +} + +type WebTypeAppEngineIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type WebTypeAppEngineIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type WebTypeAppEngineIAMBindingParameters struct { + + // +kubebuilder:validation:Required + AppID *string `json:"appId" tf:"app_id,omitempty"` + + // +kubebuilder:validation:Optional + Condition []WebTypeAppEngineIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// WebTypeAppEngineIAMBindingSpec defines the desired state of WebTypeAppEngineIAMBinding +type WebTypeAppEngineIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WebTypeAppEngineIAMBindingParameters `json:"forProvider"` +} + +// WebTypeAppEngineIAMBindingStatus defines the observed state of WebTypeAppEngineIAMBinding. +type WebTypeAppEngineIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WebTypeAppEngineIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebTypeAppEngineIAMBinding is the Schema for the WebTypeAppEngineIAMBindings 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,gcpjet} +type WebTypeAppEngineIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WebTypeAppEngineIAMBindingSpec `json:"spec"` + Status WebTypeAppEngineIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebTypeAppEngineIAMBindingList contains a list of WebTypeAppEngineIAMBindings +type WebTypeAppEngineIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WebTypeAppEngineIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + WebTypeAppEngineIAMBinding_Kind = "WebTypeAppEngineIAMBinding" + WebTypeAppEngineIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: WebTypeAppEngineIAMBinding_Kind}.String() + WebTypeAppEngineIAMBinding_KindAPIVersion = WebTypeAppEngineIAMBinding_Kind + "." + CRDGroupVersion.String() + WebTypeAppEngineIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(WebTypeAppEngineIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&WebTypeAppEngineIAMBinding{}, &WebTypeAppEngineIAMBindingList{}) +} diff --git a/apis/iap/v1alpha1/zz_webtypeappengineiammember_terraformed.go b/apis/iap/v1alpha1/zz_webtypeappengineiammember_terraformed.go new file mode 100755 index 00000000..579accad --- /dev/null +++ b/apis/iap/v1alpha1/zz_webtypeappengineiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this WebTypeAppEngineIAMMember +func (mg *WebTypeAppEngineIAMMember) GetTerraformResourceType() string { + return "google_iap_web_type_app_engine_iam_member" +} + +// GetConnectionDetailsMapping for this WebTypeAppEngineIAMMember +func (tr *WebTypeAppEngineIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this WebTypeAppEngineIAMMember +func (tr *WebTypeAppEngineIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this WebTypeAppEngineIAMMember +func (tr *WebTypeAppEngineIAMMember) SetObservation(obs map[string]interface{}) 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 WebTypeAppEngineIAMMember +func (tr *WebTypeAppEngineIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this WebTypeAppEngineIAMMember +func (tr *WebTypeAppEngineIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this WebTypeAppEngineIAMMember +func (tr *WebTypeAppEngineIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this WebTypeAppEngineIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *WebTypeAppEngineIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &WebTypeAppEngineIAMMemberParameters{} + 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 *WebTypeAppEngineIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_webtypeappengineiammember_types.go b/apis/iap/v1alpha1/zz_webtypeappengineiammember_types.go new file mode 100755 index 00000000..362e1104 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webtypeappengineiammember_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 WebTypeAppEngineIAMMemberConditionObservation struct { +} + +type WebTypeAppEngineIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type WebTypeAppEngineIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type WebTypeAppEngineIAMMemberParameters struct { + + // +kubebuilder:validation:Required + AppID *string `json:"appId" tf:"app_id,omitempty"` + + // +kubebuilder:validation:Optional + Condition []WebTypeAppEngineIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// WebTypeAppEngineIAMMemberSpec defines the desired state of WebTypeAppEngineIAMMember +type WebTypeAppEngineIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WebTypeAppEngineIAMMemberParameters `json:"forProvider"` +} + +// WebTypeAppEngineIAMMemberStatus defines the observed state of WebTypeAppEngineIAMMember. +type WebTypeAppEngineIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WebTypeAppEngineIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebTypeAppEngineIAMMember is the Schema for the WebTypeAppEngineIAMMembers 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,gcpjet} +type WebTypeAppEngineIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WebTypeAppEngineIAMMemberSpec `json:"spec"` + Status WebTypeAppEngineIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebTypeAppEngineIAMMemberList contains a list of WebTypeAppEngineIAMMembers +type WebTypeAppEngineIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WebTypeAppEngineIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + WebTypeAppEngineIAMMember_Kind = "WebTypeAppEngineIAMMember" + WebTypeAppEngineIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: WebTypeAppEngineIAMMember_Kind}.String() + WebTypeAppEngineIAMMember_KindAPIVersion = WebTypeAppEngineIAMMember_Kind + "." + CRDGroupVersion.String() + WebTypeAppEngineIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(WebTypeAppEngineIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&WebTypeAppEngineIAMMember{}, &WebTypeAppEngineIAMMemberList{}) +} diff --git a/apis/iap/v1alpha1/zz_webtypeappengineiampolicy_terraformed.go b/apis/iap/v1alpha1/zz_webtypeappengineiampolicy_terraformed.go new file mode 100755 index 00000000..8ef38d0b --- /dev/null +++ b/apis/iap/v1alpha1/zz_webtypeappengineiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this WebTypeAppEngineIAMPolicy +func (mg *WebTypeAppEngineIAMPolicy) GetTerraformResourceType() string { + return "google_iap_web_type_app_engine_iam_policy" +} + +// GetConnectionDetailsMapping for this WebTypeAppEngineIAMPolicy +func (tr *WebTypeAppEngineIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this WebTypeAppEngineIAMPolicy +func (tr *WebTypeAppEngineIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this WebTypeAppEngineIAMPolicy +func (tr *WebTypeAppEngineIAMPolicy) SetObservation(obs map[string]interface{}) 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 WebTypeAppEngineIAMPolicy +func (tr *WebTypeAppEngineIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this WebTypeAppEngineIAMPolicy +func (tr *WebTypeAppEngineIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this WebTypeAppEngineIAMPolicy +func (tr *WebTypeAppEngineIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this WebTypeAppEngineIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *WebTypeAppEngineIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &WebTypeAppEngineIAMPolicyParameters{} + 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 *WebTypeAppEngineIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_webtypeappengineiampolicy_types.go b/apis/iap/v1alpha1/zz_webtypeappengineiampolicy_types.go new file mode 100755 index 00000000..124e8c85 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webtypeappengineiampolicy_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 WebTypeAppEngineIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type WebTypeAppEngineIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + AppID *string `json:"appId" tf:"app_id,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// WebTypeAppEngineIAMPolicySpec defines the desired state of WebTypeAppEngineIAMPolicy +type WebTypeAppEngineIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WebTypeAppEngineIAMPolicyParameters `json:"forProvider"` +} + +// WebTypeAppEngineIAMPolicyStatus defines the observed state of WebTypeAppEngineIAMPolicy. +type WebTypeAppEngineIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WebTypeAppEngineIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebTypeAppEngineIAMPolicy is the Schema for the WebTypeAppEngineIAMPolicys 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,gcpjet} +type WebTypeAppEngineIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WebTypeAppEngineIAMPolicySpec `json:"spec"` + Status WebTypeAppEngineIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebTypeAppEngineIAMPolicyList contains a list of WebTypeAppEngineIAMPolicys +type WebTypeAppEngineIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WebTypeAppEngineIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + WebTypeAppEngineIAMPolicy_Kind = "WebTypeAppEngineIAMPolicy" + WebTypeAppEngineIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: WebTypeAppEngineIAMPolicy_Kind}.String() + WebTypeAppEngineIAMPolicy_KindAPIVersion = WebTypeAppEngineIAMPolicy_Kind + "." + CRDGroupVersion.String() + WebTypeAppEngineIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(WebTypeAppEngineIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&WebTypeAppEngineIAMPolicy{}, &WebTypeAppEngineIAMPolicyList{}) +} diff --git a/apis/iap/v1alpha1/zz_webtypecomputeiambinding_terraformed.go b/apis/iap/v1alpha1/zz_webtypecomputeiambinding_terraformed.go new file mode 100755 index 00000000..f275b950 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webtypecomputeiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this WebTypeComputeIAMBinding +func (mg *WebTypeComputeIAMBinding) GetTerraformResourceType() string { + return "google_iap_web_type_compute_iam_binding" +} + +// GetConnectionDetailsMapping for this WebTypeComputeIAMBinding +func (tr *WebTypeComputeIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this WebTypeComputeIAMBinding +func (tr *WebTypeComputeIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this WebTypeComputeIAMBinding +func (tr *WebTypeComputeIAMBinding) SetObservation(obs map[string]interface{}) 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 WebTypeComputeIAMBinding +func (tr *WebTypeComputeIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this WebTypeComputeIAMBinding +func (tr *WebTypeComputeIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this WebTypeComputeIAMBinding +func (tr *WebTypeComputeIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this WebTypeComputeIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *WebTypeComputeIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &WebTypeComputeIAMBindingParameters{} + 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 *WebTypeComputeIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_webtypecomputeiambinding_types.go b/apis/iap/v1alpha1/zz_webtypecomputeiambinding_types.go new file mode 100755 index 00000000..f20086e1 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webtypecomputeiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 WebTypeComputeIAMBindingConditionObservation struct { +} + +type WebTypeComputeIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type WebTypeComputeIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type WebTypeComputeIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []WebTypeComputeIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// WebTypeComputeIAMBindingSpec defines the desired state of WebTypeComputeIAMBinding +type WebTypeComputeIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WebTypeComputeIAMBindingParameters `json:"forProvider"` +} + +// WebTypeComputeIAMBindingStatus defines the observed state of WebTypeComputeIAMBinding. +type WebTypeComputeIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WebTypeComputeIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebTypeComputeIAMBinding is the Schema for the WebTypeComputeIAMBindings 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,gcpjet} +type WebTypeComputeIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WebTypeComputeIAMBindingSpec `json:"spec"` + Status WebTypeComputeIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebTypeComputeIAMBindingList contains a list of WebTypeComputeIAMBindings +type WebTypeComputeIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WebTypeComputeIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + WebTypeComputeIAMBinding_Kind = "WebTypeComputeIAMBinding" + WebTypeComputeIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: WebTypeComputeIAMBinding_Kind}.String() + WebTypeComputeIAMBinding_KindAPIVersion = WebTypeComputeIAMBinding_Kind + "." + CRDGroupVersion.String() + WebTypeComputeIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(WebTypeComputeIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&WebTypeComputeIAMBinding{}, &WebTypeComputeIAMBindingList{}) +} diff --git a/apis/iap/v1alpha1/zz_webtypecomputeiammember_terraformed.go b/apis/iap/v1alpha1/zz_webtypecomputeiammember_terraformed.go new file mode 100755 index 00000000..fc6140bc --- /dev/null +++ b/apis/iap/v1alpha1/zz_webtypecomputeiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this WebTypeComputeIAMMember +func (mg *WebTypeComputeIAMMember) GetTerraformResourceType() string { + return "google_iap_web_type_compute_iam_member" +} + +// GetConnectionDetailsMapping for this WebTypeComputeIAMMember +func (tr *WebTypeComputeIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this WebTypeComputeIAMMember +func (tr *WebTypeComputeIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this WebTypeComputeIAMMember +func (tr *WebTypeComputeIAMMember) SetObservation(obs map[string]interface{}) 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 WebTypeComputeIAMMember +func (tr *WebTypeComputeIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this WebTypeComputeIAMMember +func (tr *WebTypeComputeIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this WebTypeComputeIAMMember +func (tr *WebTypeComputeIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this WebTypeComputeIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *WebTypeComputeIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &WebTypeComputeIAMMemberParameters{} + 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 *WebTypeComputeIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_webtypecomputeiammember_types.go b/apis/iap/v1alpha1/zz_webtypecomputeiammember_types.go new file mode 100755 index 00000000..9a54e8d5 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webtypecomputeiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 WebTypeComputeIAMMemberConditionObservation struct { +} + +type WebTypeComputeIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type WebTypeComputeIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type WebTypeComputeIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []WebTypeComputeIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// WebTypeComputeIAMMemberSpec defines the desired state of WebTypeComputeIAMMember +type WebTypeComputeIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WebTypeComputeIAMMemberParameters `json:"forProvider"` +} + +// WebTypeComputeIAMMemberStatus defines the observed state of WebTypeComputeIAMMember. +type WebTypeComputeIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WebTypeComputeIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebTypeComputeIAMMember is the Schema for the WebTypeComputeIAMMembers 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,gcpjet} +type WebTypeComputeIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WebTypeComputeIAMMemberSpec `json:"spec"` + Status WebTypeComputeIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebTypeComputeIAMMemberList contains a list of WebTypeComputeIAMMembers +type WebTypeComputeIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WebTypeComputeIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + WebTypeComputeIAMMember_Kind = "WebTypeComputeIAMMember" + WebTypeComputeIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: WebTypeComputeIAMMember_Kind}.String() + WebTypeComputeIAMMember_KindAPIVersion = WebTypeComputeIAMMember_Kind + "." + CRDGroupVersion.String() + WebTypeComputeIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(WebTypeComputeIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&WebTypeComputeIAMMember{}, &WebTypeComputeIAMMemberList{}) +} diff --git a/apis/iap/v1alpha1/zz_webtypecomputeiampolicy_terraformed.go b/apis/iap/v1alpha1/zz_webtypecomputeiampolicy_terraformed.go new file mode 100755 index 00000000..876a2efc --- /dev/null +++ b/apis/iap/v1alpha1/zz_webtypecomputeiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this WebTypeComputeIAMPolicy +func (mg *WebTypeComputeIAMPolicy) GetTerraformResourceType() string { + return "google_iap_web_type_compute_iam_policy" +} + +// GetConnectionDetailsMapping for this WebTypeComputeIAMPolicy +func (tr *WebTypeComputeIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this WebTypeComputeIAMPolicy +func (tr *WebTypeComputeIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this WebTypeComputeIAMPolicy +func (tr *WebTypeComputeIAMPolicy) SetObservation(obs map[string]interface{}) 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 WebTypeComputeIAMPolicy +func (tr *WebTypeComputeIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this WebTypeComputeIAMPolicy +func (tr *WebTypeComputeIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this WebTypeComputeIAMPolicy +func (tr *WebTypeComputeIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this WebTypeComputeIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *WebTypeComputeIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &WebTypeComputeIAMPolicyParameters{} + 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 *WebTypeComputeIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/iap/v1alpha1/zz_webtypecomputeiampolicy_types.go b/apis/iap/v1alpha1/zz_webtypecomputeiampolicy_types.go new file mode 100755 index 00000000..f71ddd83 --- /dev/null +++ b/apis/iap/v1alpha1/zz_webtypecomputeiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 WebTypeComputeIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type WebTypeComputeIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// WebTypeComputeIAMPolicySpec defines the desired state of WebTypeComputeIAMPolicy +type WebTypeComputeIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WebTypeComputeIAMPolicyParameters `json:"forProvider"` +} + +// WebTypeComputeIAMPolicyStatus defines the observed state of WebTypeComputeIAMPolicy. +type WebTypeComputeIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WebTypeComputeIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebTypeComputeIAMPolicy is the Schema for the WebTypeComputeIAMPolicys 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,gcpjet} +type WebTypeComputeIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WebTypeComputeIAMPolicySpec `json:"spec"` + Status WebTypeComputeIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WebTypeComputeIAMPolicyList contains a list of WebTypeComputeIAMPolicys +type WebTypeComputeIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []WebTypeComputeIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + WebTypeComputeIAMPolicy_Kind = "WebTypeComputeIAMPolicy" + WebTypeComputeIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: WebTypeComputeIAMPolicy_Kind}.String() + WebTypeComputeIAMPolicy_KindAPIVersion = WebTypeComputeIAMPolicy_Kind + "." + CRDGroupVersion.String() + WebTypeComputeIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(WebTypeComputeIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&WebTypeComputeIAMPolicy{}, &WebTypeComputeIAMPolicyList{}) +} diff --git a/apis/identityplatform/v1alpha1/zz_defaultsupportedidpconfig_terraformed.go b/apis/identityplatform/v1alpha1/zz_defaultsupportedidpconfig_terraformed.go new file mode 100755 index 00000000..79133e05 --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_defaultsupportedidpconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DefaultSupportedIdPConfig +func (mg *DefaultSupportedIdPConfig) GetTerraformResourceType() string { + return "google_identity_platform_default_supported_idp_config" +} + +// GetConnectionDetailsMapping for this DefaultSupportedIdPConfig +func (tr *DefaultSupportedIdPConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DefaultSupportedIdPConfig +func (tr *DefaultSupportedIdPConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DefaultSupportedIdPConfig +func (tr *DefaultSupportedIdPConfig) SetObservation(obs map[string]interface{}) 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 DefaultSupportedIdPConfig +func (tr *DefaultSupportedIdPConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DefaultSupportedIdPConfig +func (tr *DefaultSupportedIdPConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DefaultSupportedIdPConfig +func (tr *DefaultSupportedIdPConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DefaultSupportedIdPConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DefaultSupportedIdPConfig) LateInitialize(attrs []byte) (bool, error) { + params := &DefaultSupportedIdPConfigParameters{} + 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 *DefaultSupportedIdPConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/identityplatform/v1alpha1/zz_defaultsupportedidpconfig_types.go b/apis/identityplatform/v1alpha1/zz_defaultsupportedidpconfig_types.go new file mode 100755 index 00000000..53e7e622 --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_defaultsupportedidpconfig_types.go @@ -0,0 +1,123 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DefaultSupportedIdPConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type DefaultSupportedIdPConfigParameters struct { + + // OAuth client ID + // +kubebuilder:validation:Required + ClientID *string `json:"clientId" tf:"client_id,omitempty"` + + // OAuth client secret + // +kubebuilder:validation:Required + ClientSecret *string `json:"clientSecret" tf:"client_secret,omitempty"` + + // If this IDP allows the user to sign in + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // ID of the IDP. Possible values include: + // + // * 'apple.com' + // + // * 'facebook.com' + // + // * 'gc.apple.com' + // + // * 'github.com' + // + // * 'google.com' + // + // * 'linkedin.com' + // + // * 'microsoft.com' + // + // * 'playgames.google.com' + // + // * 'twitter.com' + // + // * 'yahoo.com' + // +kubebuilder:validation:Required + IdPID *string `json:"idpId" tf:"idp_id,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// DefaultSupportedIdPConfigSpec defines the desired state of DefaultSupportedIdPConfig +type DefaultSupportedIdPConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DefaultSupportedIdPConfigParameters `json:"forProvider"` +} + +// DefaultSupportedIdPConfigStatus defines the observed state of DefaultSupportedIdPConfig. +type DefaultSupportedIdPConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DefaultSupportedIdPConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DefaultSupportedIdPConfig is the Schema for the DefaultSupportedIdPConfigs 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,gcpjet} +type DefaultSupportedIdPConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DefaultSupportedIdPConfigSpec `json:"spec"` + Status DefaultSupportedIdPConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DefaultSupportedIdPConfigList contains a list of DefaultSupportedIdPConfigs +type DefaultSupportedIdPConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DefaultSupportedIdPConfig `json:"items"` +} + +// Repository type metadata. +var ( + DefaultSupportedIdPConfig_Kind = "DefaultSupportedIdPConfig" + DefaultSupportedIdPConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DefaultSupportedIdPConfig_Kind}.String() + DefaultSupportedIdPConfig_KindAPIVersion = DefaultSupportedIdPConfig_Kind + "." + CRDGroupVersion.String() + DefaultSupportedIdPConfig_GroupVersionKind = CRDGroupVersion.WithKind(DefaultSupportedIdPConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&DefaultSupportedIdPConfig{}, &DefaultSupportedIdPConfigList{}) +} diff --git a/apis/identityplatform/v1alpha1/zz_generated.deepcopy.go b/apis/identityplatform/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..083a7513 --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1502 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultSupportedIdPConfig) DeepCopyInto(out *DefaultSupportedIdPConfig) { + *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 DefaultSupportedIdPConfig. +func (in *DefaultSupportedIdPConfig) DeepCopy() *DefaultSupportedIdPConfig { + if in == nil { + return nil + } + out := new(DefaultSupportedIdPConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DefaultSupportedIdPConfig) 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 *DefaultSupportedIdPConfigList) DeepCopyInto(out *DefaultSupportedIdPConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DefaultSupportedIdPConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultSupportedIdPConfigList. +func (in *DefaultSupportedIdPConfigList) DeepCopy() *DefaultSupportedIdPConfigList { + if in == nil { + return nil + } + out := new(DefaultSupportedIdPConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DefaultSupportedIdPConfigList) 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 *DefaultSupportedIdPConfigObservation) DeepCopyInto(out *DefaultSupportedIdPConfigObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultSupportedIdPConfigObservation. +func (in *DefaultSupportedIdPConfigObservation) DeepCopy() *DefaultSupportedIdPConfigObservation { + if in == nil { + return nil + } + out := new(DefaultSupportedIdPConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultSupportedIdPConfigParameters) DeepCopyInto(out *DefaultSupportedIdPConfigParameters) { + *out = *in + if in.ClientID != nil { + in, out := &in.ClientID, &out.ClientID + *out = new(string) + **out = **in + } + if in.ClientSecret != nil { + in, out := &in.ClientSecret, &out.ClientSecret + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IdPID != nil { + in, out := &in.IdPID, &out.IdPID + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultSupportedIdPConfigParameters. +func (in *DefaultSupportedIdPConfigParameters) DeepCopy() *DefaultSupportedIdPConfigParameters { + if in == nil { + return nil + } + out := new(DefaultSupportedIdPConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultSupportedIdPConfigSpec) DeepCopyInto(out *DefaultSupportedIdPConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultSupportedIdPConfigSpec. +func (in *DefaultSupportedIdPConfigSpec) DeepCopy() *DefaultSupportedIdPConfigSpec { + if in == nil { + return nil + } + out := new(DefaultSupportedIdPConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultSupportedIdPConfigStatus) DeepCopyInto(out *DefaultSupportedIdPConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultSupportedIdPConfigStatus. +func (in *DefaultSupportedIdPConfigStatus) DeepCopy() *DefaultSupportedIdPConfigStatus { + if in == nil { + return nil + } + out := new(DefaultSupportedIdPConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdPCertificatesObservation) DeepCopyInto(out *IdPCertificatesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdPCertificatesObservation. +func (in *IdPCertificatesObservation) DeepCopy() *IdPCertificatesObservation { + if in == nil { + return nil + } + out := new(IdPCertificatesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdPCertificatesParameters) DeepCopyInto(out *IdPCertificatesParameters) { + *out = *in + if in.X509Certificate != nil { + in, out := &in.X509Certificate, &out.X509Certificate + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdPCertificatesParameters. +func (in *IdPCertificatesParameters) DeepCopy() *IdPCertificatesParameters { + if in == nil { + return nil + } + out := new(IdPCertificatesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdPConfigIdPCertificatesObservation) DeepCopyInto(out *IdPConfigIdPCertificatesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdPConfigIdPCertificatesObservation. +func (in *IdPConfigIdPCertificatesObservation) DeepCopy() *IdPConfigIdPCertificatesObservation { + if in == nil { + return nil + } + out := new(IdPConfigIdPCertificatesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdPConfigIdPCertificatesParameters) DeepCopyInto(out *IdPConfigIdPCertificatesParameters) { + *out = *in + if in.X509Certificate != nil { + in, out := &in.X509Certificate, &out.X509Certificate + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdPConfigIdPCertificatesParameters. +func (in *IdPConfigIdPCertificatesParameters) DeepCopy() *IdPConfigIdPCertificatesParameters { + if in == nil { + return nil + } + out := new(IdPConfigIdPCertificatesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdPConfigObservation) DeepCopyInto(out *IdPConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdPConfigObservation. +func (in *IdPConfigObservation) DeepCopy() *IdPConfigObservation { + if in == nil { + return nil + } + out := new(IdPConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdPConfigParameters) DeepCopyInto(out *IdPConfigParameters) { + *out = *in + if in.IdPCertificates != nil { + in, out := &in.IdPCertificates, &out.IdPCertificates + *out = make([]IdPCertificatesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdPEntityID != nil { + in, out := &in.IdPEntityID, &out.IdPEntityID + *out = new(string) + **out = **in + } + if in.SignRequest != nil { + in, out := &in.SignRequest, &out.SignRequest + *out = new(bool) + **out = **in + } + if in.SsoURL != nil { + in, out := &in.SsoURL, &out.SsoURL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdPConfigParameters. +func (in *IdPConfigParameters) DeepCopy() *IdPConfigParameters { + if in == nil { + return nil + } + out := new(IdPConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InboundSAMLConfig) DeepCopyInto(out *InboundSAMLConfig) { + *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 InboundSAMLConfig. +func (in *InboundSAMLConfig) DeepCopy() *InboundSAMLConfig { + if in == nil { + return nil + } + out := new(InboundSAMLConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InboundSAMLConfig) 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 *InboundSAMLConfigList) DeepCopyInto(out *InboundSAMLConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InboundSAMLConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InboundSAMLConfigList. +func (in *InboundSAMLConfigList) DeepCopy() *InboundSAMLConfigList { + if in == nil { + return nil + } + out := new(InboundSAMLConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InboundSAMLConfigList) 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 *InboundSAMLConfigObservation) DeepCopyInto(out *InboundSAMLConfigObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InboundSAMLConfigObservation. +func (in *InboundSAMLConfigObservation) DeepCopy() *InboundSAMLConfigObservation { + if in == nil { + return nil + } + out := new(InboundSAMLConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InboundSAMLConfigParameters) DeepCopyInto(out *InboundSAMLConfigParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IdPConfig != nil { + in, out := &in.IdPConfig, &out.IdPConfig + *out = make([]IdPConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SpConfig != nil { + in, out := &in.SpConfig, &out.SpConfig + *out = make([]SpConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InboundSAMLConfigParameters. +func (in *InboundSAMLConfigParameters) DeepCopy() *InboundSAMLConfigParameters { + if in == nil { + return nil + } + out := new(InboundSAMLConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InboundSAMLConfigSpec) DeepCopyInto(out *InboundSAMLConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InboundSAMLConfigSpec. +func (in *InboundSAMLConfigSpec) DeepCopy() *InboundSAMLConfigSpec { + if in == nil { + return nil + } + out := new(InboundSAMLConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InboundSAMLConfigStatus) DeepCopyInto(out *InboundSAMLConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InboundSAMLConfigStatus. +func (in *InboundSAMLConfigStatus) DeepCopy() *InboundSAMLConfigStatus { + if in == nil { + return nil + } + out := new(InboundSAMLConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthIdPConfig) DeepCopyInto(out *OAuthIdPConfig) { + *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 OAuthIdPConfig. +func (in *OAuthIdPConfig) DeepCopy() *OAuthIdPConfig { + if in == nil { + return nil + } + out := new(OAuthIdPConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OAuthIdPConfig) 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 *OAuthIdPConfigList) DeepCopyInto(out *OAuthIdPConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OAuthIdPConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthIdPConfigList. +func (in *OAuthIdPConfigList) DeepCopy() *OAuthIdPConfigList { + if in == nil { + return nil + } + out := new(OAuthIdPConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OAuthIdPConfigList) 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 *OAuthIdPConfigObservation) DeepCopyInto(out *OAuthIdPConfigObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthIdPConfigObservation. +func (in *OAuthIdPConfigObservation) DeepCopy() *OAuthIdPConfigObservation { + if in == nil { + return nil + } + out := new(OAuthIdPConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthIdPConfigParameters) DeepCopyInto(out *OAuthIdPConfigParameters) { + *out = *in + if in.ClientID != nil { + in, out := &in.ClientID, &out.ClientID + *out = new(string) + **out = **in + } + if in.ClientSecret != nil { + in, out := &in.ClientSecret, &out.ClientSecret + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Issuer != nil { + in, out := &in.Issuer, &out.Issuer + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthIdPConfigParameters. +func (in *OAuthIdPConfigParameters) DeepCopy() *OAuthIdPConfigParameters { + if in == nil { + return nil + } + out := new(OAuthIdPConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthIdPConfigSpec) DeepCopyInto(out *OAuthIdPConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthIdPConfigSpec. +func (in *OAuthIdPConfigSpec) DeepCopy() *OAuthIdPConfigSpec { + if in == nil { + return nil + } + out := new(OAuthIdPConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthIdPConfigStatus) DeepCopyInto(out *OAuthIdPConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthIdPConfigStatus. +func (in *OAuthIdPConfigStatus) DeepCopy() *OAuthIdPConfigStatus { + if in == nil { + return nil + } + out := new(OAuthIdPConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpCertificatesObservation) DeepCopyInto(out *SpCertificatesObservation) { + *out = *in + if in.X509Certificate != nil { + in, out := &in.X509Certificate, &out.X509Certificate + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpCertificatesObservation. +func (in *SpCertificatesObservation) DeepCopy() *SpCertificatesObservation { + if in == nil { + return nil + } + out := new(SpCertificatesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpCertificatesParameters) DeepCopyInto(out *SpCertificatesParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpCertificatesParameters. +func (in *SpCertificatesParameters) DeepCopy() *SpCertificatesParameters { + if in == nil { + return nil + } + out := new(SpCertificatesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpConfigObservation) DeepCopyInto(out *SpConfigObservation) { + *out = *in + if in.SpCertificates != nil { + in, out := &in.SpCertificates, &out.SpCertificates + *out = make([]SpCertificatesObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpConfigObservation. +func (in *SpConfigObservation) DeepCopy() *SpConfigObservation { + if in == nil { + return nil + } + out := new(SpConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpConfigParameters) DeepCopyInto(out *SpConfigParameters) { + *out = *in + if in.CallbackURI != nil { + in, out := &in.CallbackURI, &out.CallbackURI + *out = new(string) + **out = **in + } + if in.SpEntityID != nil { + in, out := &in.SpEntityID, &out.SpEntityID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpConfigParameters. +func (in *SpConfigParameters) DeepCopy() *SpConfigParameters { + if in == nil { + return nil + } + out := new(SpConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpConfigSpCertificatesObservation) DeepCopyInto(out *SpConfigSpCertificatesObservation) { + *out = *in + if in.X509Certificate != nil { + in, out := &in.X509Certificate, &out.X509Certificate + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpConfigSpCertificatesObservation. +func (in *SpConfigSpCertificatesObservation) DeepCopy() *SpConfigSpCertificatesObservation { + if in == nil { + return nil + } + out := new(SpConfigSpCertificatesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpConfigSpCertificatesParameters) DeepCopyInto(out *SpConfigSpCertificatesParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpConfigSpCertificatesParameters. +func (in *SpConfigSpCertificatesParameters) DeepCopy() *SpConfigSpCertificatesParameters { + if in == nil { + return nil + } + out := new(SpConfigSpCertificatesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Tenant) DeepCopyInto(out *Tenant) { + *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 Tenant. +func (in *Tenant) DeepCopy() *Tenant { + if in == nil { + return nil + } + out := new(Tenant) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Tenant) 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 *TenantDefaultSupportedIdPConfig) DeepCopyInto(out *TenantDefaultSupportedIdPConfig) { + *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 TenantDefaultSupportedIdPConfig. +func (in *TenantDefaultSupportedIdPConfig) DeepCopy() *TenantDefaultSupportedIdPConfig { + if in == nil { + return nil + } + out := new(TenantDefaultSupportedIdPConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TenantDefaultSupportedIdPConfig) 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 *TenantDefaultSupportedIdPConfigList) DeepCopyInto(out *TenantDefaultSupportedIdPConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TenantDefaultSupportedIdPConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantDefaultSupportedIdPConfigList. +func (in *TenantDefaultSupportedIdPConfigList) DeepCopy() *TenantDefaultSupportedIdPConfigList { + if in == nil { + return nil + } + out := new(TenantDefaultSupportedIdPConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TenantDefaultSupportedIdPConfigList) 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 *TenantDefaultSupportedIdPConfigObservation) DeepCopyInto(out *TenantDefaultSupportedIdPConfigObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantDefaultSupportedIdPConfigObservation. +func (in *TenantDefaultSupportedIdPConfigObservation) DeepCopy() *TenantDefaultSupportedIdPConfigObservation { + if in == nil { + return nil + } + out := new(TenantDefaultSupportedIdPConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantDefaultSupportedIdPConfigParameters) DeepCopyInto(out *TenantDefaultSupportedIdPConfigParameters) { + *out = *in + if in.ClientID != nil { + in, out := &in.ClientID, &out.ClientID + *out = new(string) + **out = **in + } + if in.ClientSecret != nil { + in, out := &in.ClientSecret, &out.ClientSecret + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IdPID != nil { + in, out := &in.IdPID, &out.IdPID + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Tenant != nil { + in, out := &in.Tenant, &out.Tenant + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantDefaultSupportedIdPConfigParameters. +func (in *TenantDefaultSupportedIdPConfigParameters) DeepCopy() *TenantDefaultSupportedIdPConfigParameters { + if in == nil { + return nil + } + out := new(TenantDefaultSupportedIdPConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantDefaultSupportedIdPConfigSpec) DeepCopyInto(out *TenantDefaultSupportedIdPConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantDefaultSupportedIdPConfigSpec. +func (in *TenantDefaultSupportedIdPConfigSpec) DeepCopy() *TenantDefaultSupportedIdPConfigSpec { + if in == nil { + return nil + } + out := new(TenantDefaultSupportedIdPConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantDefaultSupportedIdPConfigStatus) DeepCopyInto(out *TenantDefaultSupportedIdPConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantDefaultSupportedIdPConfigStatus. +func (in *TenantDefaultSupportedIdPConfigStatus) DeepCopy() *TenantDefaultSupportedIdPConfigStatus { + if in == nil { + return nil + } + out := new(TenantDefaultSupportedIdPConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantInboundSAMLConfig) DeepCopyInto(out *TenantInboundSAMLConfig) { + *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 TenantInboundSAMLConfig. +func (in *TenantInboundSAMLConfig) DeepCopy() *TenantInboundSAMLConfig { + if in == nil { + return nil + } + out := new(TenantInboundSAMLConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TenantInboundSAMLConfig) 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 *TenantInboundSAMLConfigIdPConfigObservation) DeepCopyInto(out *TenantInboundSAMLConfigIdPConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantInboundSAMLConfigIdPConfigObservation. +func (in *TenantInboundSAMLConfigIdPConfigObservation) DeepCopy() *TenantInboundSAMLConfigIdPConfigObservation { + if in == nil { + return nil + } + out := new(TenantInboundSAMLConfigIdPConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantInboundSAMLConfigIdPConfigParameters) DeepCopyInto(out *TenantInboundSAMLConfigIdPConfigParameters) { + *out = *in + if in.IdPCertificates != nil { + in, out := &in.IdPCertificates, &out.IdPCertificates + *out = make([]IdPConfigIdPCertificatesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdPEntityID != nil { + in, out := &in.IdPEntityID, &out.IdPEntityID + *out = new(string) + **out = **in + } + if in.SignRequest != nil { + in, out := &in.SignRequest, &out.SignRequest + *out = new(bool) + **out = **in + } + if in.SsoURL != nil { + in, out := &in.SsoURL, &out.SsoURL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantInboundSAMLConfigIdPConfigParameters. +func (in *TenantInboundSAMLConfigIdPConfigParameters) DeepCopy() *TenantInboundSAMLConfigIdPConfigParameters { + if in == nil { + return nil + } + out := new(TenantInboundSAMLConfigIdPConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantInboundSAMLConfigList) DeepCopyInto(out *TenantInboundSAMLConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TenantInboundSAMLConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantInboundSAMLConfigList. +func (in *TenantInboundSAMLConfigList) DeepCopy() *TenantInboundSAMLConfigList { + if in == nil { + return nil + } + out := new(TenantInboundSAMLConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TenantInboundSAMLConfigList) 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 *TenantInboundSAMLConfigObservation) DeepCopyInto(out *TenantInboundSAMLConfigObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantInboundSAMLConfigObservation. +func (in *TenantInboundSAMLConfigObservation) DeepCopy() *TenantInboundSAMLConfigObservation { + if in == nil { + return nil + } + out := new(TenantInboundSAMLConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantInboundSAMLConfigParameters) DeepCopyInto(out *TenantInboundSAMLConfigParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IdPConfig != nil { + in, out := &in.IdPConfig, &out.IdPConfig + *out = make([]TenantInboundSAMLConfigIdPConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SpConfig != nil { + in, out := &in.SpConfig, &out.SpConfig + *out = make([]TenantInboundSAMLConfigSpConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tenant != nil { + in, out := &in.Tenant, &out.Tenant + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantInboundSAMLConfigParameters. +func (in *TenantInboundSAMLConfigParameters) DeepCopy() *TenantInboundSAMLConfigParameters { + if in == nil { + return nil + } + out := new(TenantInboundSAMLConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantInboundSAMLConfigSpConfigObservation) DeepCopyInto(out *TenantInboundSAMLConfigSpConfigObservation) { + *out = *in + if in.SpCertificates != nil { + in, out := &in.SpCertificates, &out.SpCertificates + *out = make([]SpConfigSpCertificatesObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantInboundSAMLConfigSpConfigObservation. +func (in *TenantInboundSAMLConfigSpConfigObservation) DeepCopy() *TenantInboundSAMLConfigSpConfigObservation { + if in == nil { + return nil + } + out := new(TenantInboundSAMLConfigSpConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantInboundSAMLConfigSpConfigParameters) DeepCopyInto(out *TenantInboundSAMLConfigSpConfigParameters) { + *out = *in + if in.CallbackURI != nil { + in, out := &in.CallbackURI, &out.CallbackURI + *out = new(string) + **out = **in + } + if in.SpEntityID != nil { + in, out := &in.SpEntityID, &out.SpEntityID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantInboundSAMLConfigSpConfigParameters. +func (in *TenantInboundSAMLConfigSpConfigParameters) DeepCopy() *TenantInboundSAMLConfigSpConfigParameters { + if in == nil { + return nil + } + out := new(TenantInboundSAMLConfigSpConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantInboundSAMLConfigSpec) DeepCopyInto(out *TenantInboundSAMLConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantInboundSAMLConfigSpec. +func (in *TenantInboundSAMLConfigSpec) DeepCopy() *TenantInboundSAMLConfigSpec { + if in == nil { + return nil + } + out := new(TenantInboundSAMLConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantInboundSAMLConfigStatus) DeepCopyInto(out *TenantInboundSAMLConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantInboundSAMLConfigStatus. +func (in *TenantInboundSAMLConfigStatus) DeepCopy() *TenantInboundSAMLConfigStatus { + if in == nil { + return nil + } + out := new(TenantInboundSAMLConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantList) DeepCopyInto(out *TenantList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Tenant, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantList. +func (in *TenantList) DeepCopy() *TenantList { + if in == nil { + return nil + } + out := new(TenantList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TenantList) 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 *TenantOAuthIdPConfig) DeepCopyInto(out *TenantOAuthIdPConfig) { + *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 TenantOAuthIdPConfig. +func (in *TenantOAuthIdPConfig) DeepCopy() *TenantOAuthIdPConfig { + if in == nil { + return nil + } + out := new(TenantOAuthIdPConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TenantOAuthIdPConfig) 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 *TenantOAuthIdPConfigList) DeepCopyInto(out *TenantOAuthIdPConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TenantOAuthIdPConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantOAuthIdPConfigList. +func (in *TenantOAuthIdPConfigList) DeepCopy() *TenantOAuthIdPConfigList { + if in == nil { + return nil + } + out := new(TenantOAuthIdPConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TenantOAuthIdPConfigList) 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 *TenantOAuthIdPConfigObservation) DeepCopyInto(out *TenantOAuthIdPConfigObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantOAuthIdPConfigObservation. +func (in *TenantOAuthIdPConfigObservation) DeepCopy() *TenantOAuthIdPConfigObservation { + if in == nil { + return nil + } + out := new(TenantOAuthIdPConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantOAuthIdPConfigParameters) DeepCopyInto(out *TenantOAuthIdPConfigParameters) { + *out = *in + if in.ClientID != nil { + in, out := &in.ClientID, &out.ClientID + *out = new(string) + **out = **in + } + if in.ClientSecret != nil { + in, out := &in.ClientSecret, &out.ClientSecret + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Issuer != nil { + in, out := &in.Issuer, &out.Issuer + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Tenant != nil { + in, out := &in.Tenant, &out.Tenant + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantOAuthIdPConfigParameters. +func (in *TenantOAuthIdPConfigParameters) DeepCopy() *TenantOAuthIdPConfigParameters { + if in == nil { + return nil + } + out := new(TenantOAuthIdPConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantOAuthIdPConfigSpec) DeepCopyInto(out *TenantOAuthIdPConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantOAuthIdPConfigSpec. +func (in *TenantOAuthIdPConfigSpec) DeepCopy() *TenantOAuthIdPConfigSpec { + if in == nil { + return nil + } + out := new(TenantOAuthIdPConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantOAuthIdPConfigStatus) DeepCopyInto(out *TenantOAuthIdPConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantOAuthIdPConfigStatus. +func (in *TenantOAuthIdPConfigStatus) DeepCopy() *TenantOAuthIdPConfigStatus { + if in == nil { + return nil + } + out := new(TenantOAuthIdPConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantObservation) DeepCopyInto(out *TenantObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantObservation. +func (in *TenantObservation) DeepCopy() *TenantObservation { + if in == nil { + return nil + } + out := new(TenantObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantParameters) DeepCopyInto(out *TenantParameters) { + *out = *in + if in.AllowPasswordSignup != nil { + in, out := &in.AllowPasswordSignup, &out.AllowPasswordSignup + *out = new(bool) + **out = **in + } + if in.DisableAuth != nil { + in, out := &in.DisableAuth, &out.DisableAuth + *out = new(bool) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.EnableEmailLinkSignin != nil { + in, out := &in.EnableEmailLinkSignin, &out.EnableEmailLinkSignin + *out = new(bool) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantParameters. +func (in *TenantParameters) DeepCopy() *TenantParameters { + if in == nil { + return nil + } + out := new(TenantParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantSpec) DeepCopyInto(out *TenantSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantSpec. +func (in *TenantSpec) DeepCopy() *TenantSpec { + if in == nil { + return nil + } + out := new(TenantSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TenantStatus) DeepCopyInto(out *TenantStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantStatus. +func (in *TenantStatus) DeepCopy() *TenantStatus { + if in == nil { + return nil + } + out := new(TenantStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/identityplatform/v1alpha1/zz_generated.managed.go b/apis/identityplatform/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..b6648655 --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_generated.managed.go @@ -0,0 +1,412 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this DefaultSupportedIdPConfig. +func (mg *DefaultSupportedIdPConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DefaultSupportedIdPConfig. +func (mg *DefaultSupportedIdPConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DefaultSupportedIdPConfig. +func (mg *DefaultSupportedIdPConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DefaultSupportedIdPConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DefaultSupportedIdPConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DefaultSupportedIdPConfig. +func (mg *DefaultSupportedIdPConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DefaultSupportedIdPConfig. +func (mg *DefaultSupportedIdPConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DefaultSupportedIdPConfig. +func (mg *DefaultSupportedIdPConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DefaultSupportedIdPConfig. +func (mg *DefaultSupportedIdPConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DefaultSupportedIdPConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DefaultSupportedIdPConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DefaultSupportedIdPConfig. +func (mg *DefaultSupportedIdPConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InboundSAMLConfig. +func (mg *InboundSAMLConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InboundSAMLConfig. +func (mg *InboundSAMLConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InboundSAMLConfig. +func (mg *InboundSAMLConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InboundSAMLConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InboundSAMLConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InboundSAMLConfig. +func (mg *InboundSAMLConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InboundSAMLConfig. +func (mg *InboundSAMLConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InboundSAMLConfig. +func (mg *InboundSAMLConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InboundSAMLConfig. +func (mg *InboundSAMLConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InboundSAMLConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InboundSAMLConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InboundSAMLConfig. +func (mg *InboundSAMLConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this OAuthIdPConfig. +func (mg *OAuthIdPConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this OAuthIdPConfig. +func (mg *OAuthIdPConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this OAuthIdPConfig. +func (mg *OAuthIdPConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this OAuthIdPConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *OAuthIdPConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this OAuthIdPConfig. +func (mg *OAuthIdPConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this OAuthIdPConfig. +func (mg *OAuthIdPConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this OAuthIdPConfig. +func (mg *OAuthIdPConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this OAuthIdPConfig. +func (mg *OAuthIdPConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this OAuthIdPConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *OAuthIdPConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this OAuthIdPConfig. +func (mg *OAuthIdPConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Tenant. +func (mg *Tenant) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Tenant. +func (mg *Tenant) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Tenant. +func (mg *Tenant) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Tenant. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Tenant) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Tenant. +func (mg *Tenant) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Tenant. +func (mg *Tenant) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Tenant. +func (mg *Tenant) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Tenant. +func (mg *Tenant) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Tenant. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Tenant) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Tenant. +func (mg *Tenant) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TenantDefaultSupportedIdPConfig. +func (mg *TenantDefaultSupportedIdPConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TenantDefaultSupportedIdPConfig. +func (mg *TenantDefaultSupportedIdPConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TenantDefaultSupportedIdPConfig. +func (mg *TenantDefaultSupportedIdPConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TenantDefaultSupportedIdPConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TenantDefaultSupportedIdPConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TenantDefaultSupportedIdPConfig. +func (mg *TenantDefaultSupportedIdPConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TenantDefaultSupportedIdPConfig. +func (mg *TenantDefaultSupportedIdPConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TenantDefaultSupportedIdPConfig. +func (mg *TenantDefaultSupportedIdPConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TenantDefaultSupportedIdPConfig. +func (mg *TenantDefaultSupportedIdPConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TenantDefaultSupportedIdPConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TenantDefaultSupportedIdPConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TenantDefaultSupportedIdPConfig. +func (mg *TenantDefaultSupportedIdPConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TenantInboundSAMLConfig. +func (mg *TenantInboundSAMLConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TenantInboundSAMLConfig. +func (mg *TenantInboundSAMLConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TenantInboundSAMLConfig. +func (mg *TenantInboundSAMLConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TenantInboundSAMLConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TenantInboundSAMLConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TenantInboundSAMLConfig. +func (mg *TenantInboundSAMLConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TenantInboundSAMLConfig. +func (mg *TenantInboundSAMLConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TenantInboundSAMLConfig. +func (mg *TenantInboundSAMLConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TenantInboundSAMLConfig. +func (mg *TenantInboundSAMLConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TenantInboundSAMLConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TenantInboundSAMLConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TenantInboundSAMLConfig. +func (mg *TenantInboundSAMLConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TenantOAuthIdPConfig. +func (mg *TenantOAuthIdPConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TenantOAuthIdPConfig. +func (mg *TenantOAuthIdPConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TenantOAuthIdPConfig. +func (mg *TenantOAuthIdPConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TenantOAuthIdPConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TenantOAuthIdPConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TenantOAuthIdPConfig. +func (mg *TenantOAuthIdPConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TenantOAuthIdPConfig. +func (mg *TenantOAuthIdPConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TenantOAuthIdPConfig. +func (mg *TenantOAuthIdPConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TenantOAuthIdPConfig. +func (mg *TenantOAuthIdPConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TenantOAuthIdPConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TenantOAuthIdPConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TenantOAuthIdPConfig. +func (mg *TenantOAuthIdPConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/identityplatform/v1alpha1/zz_generated.managedlist.go b/apis/identityplatform/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..90888cfe --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,83 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this DefaultSupportedIdPConfigList. +func (l *DefaultSupportedIdPConfigList) 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 InboundSAMLConfigList. +func (l *InboundSAMLConfigList) 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 OAuthIdPConfigList. +func (l *OAuthIdPConfigList) 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 TenantDefaultSupportedIdPConfigList. +func (l *TenantDefaultSupportedIdPConfigList) 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 TenantInboundSAMLConfigList. +func (l *TenantInboundSAMLConfigList) 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 TenantList. +func (l *TenantList) 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 TenantOAuthIdPConfigList. +func (l *TenantOAuthIdPConfigList) 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/identityplatform/v1alpha1/zz_groupversion_info.go b/apis/identityplatform/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..10225ffe --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=identityplatform.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "identityplatform.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/identityplatform/v1alpha1/zz_inboundsamlconfig_terraformed.go b/apis/identityplatform/v1alpha1/zz_inboundsamlconfig_terraformed.go new file mode 100755 index 00000000..3a019854 --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_inboundsamlconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InboundSAMLConfig +func (mg *InboundSAMLConfig) GetTerraformResourceType() string { + return "google_identity_platform_inbound_saml_config" +} + +// GetConnectionDetailsMapping for this InboundSAMLConfig +func (tr *InboundSAMLConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InboundSAMLConfig +func (tr *InboundSAMLConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InboundSAMLConfig +func (tr *InboundSAMLConfig) SetObservation(obs map[string]interface{}) 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 InboundSAMLConfig +func (tr *InboundSAMLConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InboundSAMLConfig +func (tr *InboundSAMLConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InboundSAMLConfig +func (tr *InboundSAMLConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InboundSAMLConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InboundSAMLConfig) LateInitialize(attrs []byte) (bool, error) { + params := &InboundSAMLConfigParameters{} + 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 *InboundSAMLConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/identityplatform/v1alpha1/zz_inboundsamlconfig_types.go b/apis/identityplatform/v1alpha1/zz_inboundsamlconfig_types.go new file mode 100755 index 00000000..6fb521cd --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_inboundsamlconfig_types.go @@ -0,0 +1,162 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 IdPCertificatesObservation struct { +} + +type IdPCertificatesParameters struct { + + // The IdP's x509 certificate. + // +kubebuilder:validation:Optional + X509Certificate *string `json:"x509Certificate,omitempty" tf:"x509_certificate,omitempty"` +} + +type IdPConfigObservation struct { +} + +type IdPConfigParameters struct { + + // The IdP's certificate data to verify the signature in the SAMLResponse issued by the IDP. + // +kubebuilder:validation:Required + IdPCertificates []IdPCertificatesParameters `json:"idpCertificates" tf:"idp_certificates,omitempty"` + + // Unique identifier for all SAML entities + // +kubebuilder:validation:Required + IdPEntityID *string `json:"idpEntityId" tf:"idp_entity_id,omitempty"` + + // Indicates if outbounding SAMLRequest should be signed. + // +kubebuilder:validation:Optional + SignRequest *bool `json:"signRequest,omitempty" tf:"sign_request,omitempty"` + + // URL to send Authentication request to. + // +kubebuilder:validation:Required + SsoURL *string `json:"ssoUrl" tf:"sso_url,omitempty"` +} + +type InboundSAMLConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InboundSAMLConfigParameters struct { + + // Human friendly display name. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // If this config allows users to sign in with the provider. + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // SAML IdP configuration when the project acts as the relying party + // +kubebuilder:validation:Required + IdPConfig []IdPConfigParameters `json:"idpConfig" tf:"idp_config,omitempty"` + + // The name of the InboundSamlConfig resource. Must start with 'saml.' and can only have alphanumeric characters, + // hyphens, underscores or periods. The part after 'saml.' must also start with a lowercase letter, end with an + // alphanumeric character, and have at least 2 characters. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // SAML SP (Service Provider) configuration when the project acts as the relying party to receive + // and accept an authentication assertion issued by a SAML identity provider. + // +kubebuilder:validation:Required + SpConfig []SpConfigParameters `json:"spConfig" tf:"sp_config,omitempty"` +} + +type SpCertificatesObservation struct { + X509Certificate *string `json:"x509Certificate,omitempty" tf:"x509_certificate,omitempty"` +} + +type SpCertificatesParameters struct { +} + +type SpConfigObservation struct { + SpCertificates []SpCertificatesObservation `json:"spCertificates,omitempty" tf:"sp_certificates,omitempty"` +} + +type SpConfigParameters struct { + + // Callback URI where responses from IDP are handled. Must start with 'https://'. + // +kubebuilder:validation:Optional + CallbackURI *string `json:"callbackUri,omitempty" tf:"callback_uri,omitempty"` + + // Unique identifier for all SAML entities. + // +kubebuilder:validation:Optional + SpEntityID *string `json:"spEntityId,omitempty" tf:"sp_entity_id,omitempty"` +} + +// InboundSAMLConfigSpec defines the desired state of InboundSAMLConfig +type InboundSAMLConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InboundSAMLConfigParameters `json:"forProvider"` +} + +// InboundSAMLConfigStatus defines the observed state of InboundSAMLConfig. +type InboundSAMLConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InboundSAMLConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InboundSAMLConfig is the Schema for the InboundSAMLConfigs 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,gcpjet} +type InboundSAMLConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InboundSAMLConfigSpec `json:"spec"` + Status InboundSAMLConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InboundSAMLConfigList contains a list of InboundSAMLConfigs +type InboundSAMLConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InboundSAMLConfig `json:"items"` +} + +// Repository type metadata. +var ( + InboundSAMLConfig_Kind = "InboundSAMLConfig" + InboundSAMLConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InboundSAMLConfig_Kind}.String() + InboundSAMLConfig_KindAPIVersion = InboundSAMLConfig_Kind + "." + CRDGroupVersion.String() + InboundSAMLConfig_GroupVersionKind = CRDGroupVersion.WithKind(InboundSAMLConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&InboundSAMLConfig{}, &InboundSAMLConfigList{}) +} diff --git a/apis/identityplatform/v1alpha1/zz_oauthidpconfig_terraformed.go b/apis/identityplatform/v1alpha1/zz_oauthidpconfig_terraformed.go new file mode 100755 index 00000000..1e44169c --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_oauthidpconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this OAuthIdPConfig +func (mg *OAuthIdPConfig) GetTerraformResourceType() string { + return "google_identity_platform_oauth_idp_config" +} + +// GetConnectionDetailsMapping for this OAuthIdPConfig +func (tr *OAuthIdPConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this OAuthIdPConfig +func (tr *OAuthIdPConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this OAuthIdPConfig +func (tr *OAuthIdPConfig) SetObservation(obs map[string]interface{}) 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 OAuthIdPConfig +func (tr *OAuthIdPConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this OAuthIdPConfig +func (tr *OAuthIdPConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this OAuthIdPConfig +func (tr *OAuthIdPConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this OAuthIdPConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *OAuthIdPConfig) LateInitialize(attrs []byte) (bool, error) { + params := &OAuthIdPConfigParameters{} + 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 *OAuthIdPConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/identityplatform/v1alpha1/zz_oauthidpconfig_types.go b/apis/identityplatform/v1alpha1/zz_oauthidpconfig_types.go new file mode 100755 index 00000000..cd44e0e6 --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_oauthidpconfig_types.go @@ -0,0 +1,109 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 OAuthIdPConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type OAuthIdPConfigParameters struct { + + // The client id of an OAuth client. + // +kubebuilder:validation:Required + ClientID *string `json:"clientId" tf:"client_id,omitempty"` + + // The client secret of the OAuth client, to enable OIDC code flow. + // +kubebuilder:validation:Optional + ClientSecret *string `json:"clientSecret,omitempty" tf:"client_secret,omitempty"` + + // Human friendly display name. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // If this config allows users to sign in with the provider. + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // For OIDC Idps, the issuer identifier. + // +kubebuilder:validation:Required + Issuer *string `json:"issuer" tf:"issuer,omitempty"` + + // The name of the OauthIdpConfig. Must start with 'oidc.'. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// OAuthIdPConfigSpec defines the desired state of OAuthIdPConfig +type OAuthIdPConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider OAuthIdPConfigParameters `json:"forProvider"` +} + +// OAuthIdPConfigStatus defines the observed state of OAuthIdPConfig. +type OAuthIdPConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider OAuthIdPConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// OAuthIdPConfig is the Schema for the OAuthIdPConfigs 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,gcpjet} +type OAuthIdPConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec OAuthIdPConfigSpec `json:"spec"` + Status OAuthIdPConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// OAuthIdPConfigList contains a list of OAuthIdPConfigs +type OAuthIdPConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []OAuthIdPConfig `json:"items"` +} + +// Repository type metadata. +var ( + OAuthIdPConfig_Kind = "OAuthIdPConfig" + OAuthIdPConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: OAuthIdPConfig_Kind}.String() + OAuthIdPConfig_KindAPIVersion = OAuthIdPConfig_Kind + "." + CRDGroupVersion.String() + OAuthIdPConfig_GroupVersionKind = CRDGroupVersion.WithKind(OAuthIdPConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&OAuthIdPConfig{}, &OAuthIdPConfigList{}) +} diff --git a/apis/identityplatform/v1alpha1/zz_tenant_terraformed.go b/apis/identityplatform/v1alpha1/zz_tenant_terraformed.go new file mode 100755 index 00000000..421bd556 --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_tenant_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Tenant +func (mg *Tenant) GetTerraformResourceType() string { + return "google_identity_platform_tenant" +} + +// GetConnectionDetailsMapping for this Tenant +func (tr *Tenant) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Tenant +func (tr *Tenant) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Tenant +func (tr *Tenant) SetObservation(obs map[string]interface{}) 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 Tenant +func (tr *Tenant) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Tenant +func (tr *Tenant) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Tenant +func (tr *Tenant) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Tenant using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Tenant) LateInitialize(attrs []byte) (bool, error) { + params := &TenantParameters{} + 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 *Tenant) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/identityplatform/v1alpha1/zz_tenant_types.go b/apis/identityplatform/v1alpha1/zz_tenant_types.go new file mode 100755 index 00000000..2a3cd2fd --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_tenant_types.go @@ -0,0 +1,105 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TenantObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type TenantParameters struct { + + // Whether to allow email/password user authentication. + // +kubebuilder:validation:Optional + AllowPasswordSignup *bool `json:"allowPasswordSignup,omitempty" tf:"allow_password_signup,omitempty"` + + // Whether authentication is disabled for the tenant. If true, the users under + // the disabled tenant are not allowed to sign-in. Admins of the disabled tenant + // are not able to manage its users. + // +kubebuilder:validation:Optional + DisableAuth *bool `json:"disableAuth,omitempty" tf:"disable_auth,omitempty"` + + // Human friendly display name of the tenant. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // Whether to enable email link user authentication. + // +kubebuilder:validation:Optional + EnableEmailLinkSignin *bool `json:"enableEmailLinkSignin,omitempty" tf:"enable_email_link_signin,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// TenantSpec defines the desired state of Tenant +type TenantSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TenantParameters `json:"forProvider"` +} + +// TenantStatus defines the observed state of Tenant. +type TenantStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TenantObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Tenant is the Schema for the Tenants 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,gcpjet} +type Tenant struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TenantSpec `json:"spec"` + Status TenantStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TenantList contains a list of Tenants +type TenantList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Tenant `json:"items"` +} + +// Repository type metadata. +var ( + Tenant_Kind = "Tenant" + Tenant_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Tenant_Kind}.String() + Tenant_KindAPIVersion = Tenant_Kind + "." + CRDGroupVersion.String() + Tenant_GroupVersionKind = CRDGroupVersion.WithKind(Tenant_Kind) +) + +func init() { + SchemeBuilder.Register(&Tenant{}, &TenantList{}) +} diff --git a/apis/identityplatform/v1alpha1/zz_tenantdefaultsupportedidpconfig_terraformed.go b/apis/identityplatform/v1alpha1/zz_tenantdefaultsupportedidpconfig_terraformed.go new file mode 100755 index 00000000..31f9eb60 --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_tenantdefaultsupportedidpconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TenantDefaultSupportedIdPConfig +func (mg *TenantDefaultSupportedIdPConfig) GetTerraformResourceType() string { + return "google_identity_platform_tenant_default_supported_idp_config" +} + +// GetConnectionDetailsMapping for this TenantDefaultSupportedIdPConfig +func (tr *TenantDefaultSupportedIdPConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TenantDefaultSupportedIdPConfig +func (tr *TenantDefaultSupportedIdPConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TenantDefaultSupportedIdPConfig +func (tr *TenantDefaultSupportedIdPConfig) SetObservation(obs map[string]interface{}) 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 TenantDefaultSupportedIdPConfig +func (tr *TenantDefaultSupportedIdPConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TenantDefaultSupportedIdPConfig +func (tr *TenantDefaultSupportedIdPConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TenantDefaultSupportedIdPConfig +func (tr *TenantDefaultSupportedIdPConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TenantDefaultSupportedIdPConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TenantDefaultSupportedIdPConfig) LateInitialize(attrs []byte) (bool, error) { + params := &TenantDefaultSupportedIdPConfigParameters{} + 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 *TenantDefaultSupportedIdPConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/identityplatform/v1alpha1/zz_tenantdefaultsupportedidpconfig_types.go b/apis/identityplatform/v1alpha1/zz_tenantdefaultsupportedidpconfig_types.go new file mode 100755 index 00000000..ee95d37f --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_tenantdefaultsupportedidpconfig_types.go @@ -0,0 +1,127 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TenantDefaultSupportedIdPConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type TenantDefaultSupportedIdPConfigParameters struct { + + // OAuth client ID + // +kubebuilder:validation:Required + ClientID *string `json:"clientId" tf:"client_id,omitempty"` + + // OAuth client secret + // +kubebuilder:validation:Required + ClientSecret *string `json:"clientSecret" tf:"client_secret,omitempty"` + + // If this IDP allows the user to sign in + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // ID of the IDP. Possible values include: + // + // * 'apple.com' + // + // * 'facebook.com' + // + // * 'gc.apple.com' + // + // * 'github.com' + // + // * 'google.com' + // + // * 'linkedin.com' + // + // * 'microsoft.com' + // + // * 'playgames.google.com' + // + // * 'twitter.com' + // + // * 'yahoo.com' + // +kubebuilder:validation:Required + IdPID *string `json:"idpId" tf:"idp_id,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The name of the tenant where this DefaultSupportedIdpConfig resource exists + // +kubebuilder:validation:Required + Tenant *string `json:"tenant" tf:"tenant,omitempty"` +} + +// TenantDefaultSupportedIdPConfigSpec defines the desired state of TenantDefaultSupportedIdPConfig +type TenantDefaultSupportedIdPConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TenantDefaultSupportedIdPConfigParameters `json:"forProvider"` +} + +// TenantDefaultSupportedIdPConfigStatus defines the observed state of TenantDefaultSupportedIdPConfig. +type TenantDefaultSupportedIdPConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TenantDefaultSupportedIdPConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TenantDefaultSupportedIdPConfig is the Schema for the TenantDefaultSupportedIdPConfigs 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,gcpjet} +type TenantDefaultSupportedIdPConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TenantDefaultSupportedIdPConfigSpec `json:"spec"` + Status TenantDefaultSupportedIdPConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TenantDefaultSupportedIdPConfigList contains a list of TenantDefaultSupportedIdPConfigs +type TenantDefaultSupportedIdPConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TenantDefaultSupportedIdPConfig `json:"items"` +} + +// Repository type metadata. +var ( + TenantDefaultSupportedIdPConfig_Kind = "TenantDefaultSupportedIdPConfig" + TenantDefaultSupportedIdPConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TenantDefaultSupportedIdPConfig_Kind}.String() + TenantDefaultSupportedIdPConfig_KindAPIVersion = TenantDefaultSupportedIdPConfig_Kind + "." + CRDGroupVersion.String() + TenantDefaultSupportedIdPConfig_GroupVersionKind = CRDGroupVersion.WithKind(TenantDefaultSupportedIdPConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&TenantDefaultSupportedIdPConfig{}, &TenantDefaultSupportedIdPConfigList{}) +} diff --git a/apis/identityplatform/v1alpha1/zz_tenantinboundsamlconfig_terraformed.go b/apis/identityplatform/v1alpha1/zz_tenantinboundsamlconfig_terraformed.go new file mode 100755 index 00000000..47871706 --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_tenantinboundsamlconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TenantInboundSAMLConfig +func (mg *TenantInboundSAMLConfig) GetTerraformResourceType() string { + return "google_identity_platform_tenant_inbound_saml_config" +} + +// GetConnectionDetailsMapping for this TenantInboundSAMLConfig +func (tr *TenantInboundSAMLConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TenantInboundSAMLConfig +func (tr *TenantInboundSAMLConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TenantInboundSAMLConfig +func (tr *TenantInboundSAMLConfig) SetObservation(obs map[string]interface{}) 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 TenantInboundSAMLConfig +func (tr *TenantInboundSAMLConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TenantInboundSAMLConfig +func (tr *TenantInboundSAMLConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TenantInboundSAMLConfig +func (tr *TenantInboundSAMLConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TenantInboundSAMLConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TenantInboundSAMLConfig) LateInitialize(attrs []byte) (bool, error) { + params := &TenantInboundSAMLConfigParameters{} + 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 *TenantInboundSAMLConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/identityplatform/v1alpha1/zz_tenantinboundsamlconfig_types.go b/apis/identityplatform/v1alpha1/zz_tenantinboundsamlconfig_types.go new file mode 100755 index 00000000..4da5a2e1 --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_tenantinboundsamlconfig_types.go @@ -0,0 +1,166 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 IdPConfigIdPCertificatesObservation struct { +} + +type IdPConfigIdPCertificatesParameters struct { + + // The x509 certificate + // +kubebuilder:validation:Optional + X509Certificate *string `json:"x509Certificate,omitempty" tf:"x509_certificate,omitempty"` +} + +type SpConfigSpCertificatesObservation struct { + X509Certificate *string `json:"x509Certificate,omitempty" tf:"x509_certificate,omitempty"` +} + +type SpConfigSpCertificatesParameters struct { +} + +type TenantInboundSAMLConfigIdPConfigObservation struct { +} + +type TenantInboundSAMLConfigIdPConfigParameters struct { + + // The IDP's certificate data to verify the signature in the SAMLResponse issued by the IDP. + // +kubebuilder:validation:Required + IdPCertificates []IdPConfigIdPCertificatesParameters `json:"idpCertificates" tf:"idp_certificates,omitempty"` + + // Unique identifier for all SAML entities + // +kubebuilder:validation:Required + IdPEntityID *string `json:"idpEntityId" tf:"idp_entity_id,omitempty"` + + // Indicates if outbounding SAMLRequest should be signed. + // +kubebuilder:validation:Optional + SignRequest *bool `json:"signRequest,omitempty" tf:"sign_request,omitempty"` + + // URL to send Authentication request to. + // +kubebuilder:validation:Required + SsoURL *string `json:"ssoUrl" tf:"sso_url,omitempty"` +} + +type TenantInboundSAMLConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TenantInboundSAMLConfigParameters struct { + + // Human friendly display name. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // If this config allows users to sign in with the provider. + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // SAML IdP configuration when the project acts as the relying party + // +kubebuilder:validation:Required + IdPConfig []TenantInboundSAMLConfigIdPConfigParameters `json:"idpConfig" tf:"idp_config,omitempty"` + + // The name of the InboundSamlConfig resource. Must start with 'saml.' and can only have alphanumeric characters, + // hyphens, underscores or periods. The part after 'saml.' must also start with a lowercase letter, end with an + // alphanumeric character, and have at least 2 characters. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // SAML SP (Service Provider) configuration when the project acts as the relying party to receive + // and accept an authentication assertion issued by a SAML identity provider. + // +kubebuilder:validation:Required + SpConfig []TenantInboundSAMLConfigSpConfigParameters `json:"spConfig" tf:"sp_config,omitempty"` + + // The name of the tenant where this inbound SAML config resource exists + // +kubebuilder:validation:Required + Tenant *string `json:"tenant" tf:"tenant,omitempty"` +} + +type TenantInboundSAMLConfigSpConfigObservation struct { + SpCertificates []SpConfigSpCertificatesObservation `json:"spCertificates,omitempty" tf:"sp_certificates,omitempty"` +} + +type TenantInboundSAMLConfigSpConfigParameters struct { + + // Callback URI where responses from IDP are handled. Must start with 'https://'. + // +kubebuilder:validation:Required + CallbackURI *string `json:"callbackUri" tf:"callback_uri,omitempty"` + + // Unique identifier for all SAML entities. + // +kubebuilder:validation:Required + SpEntityID *string `json:"spEntityId" tf:"sp_entity_id,omitempty"` +} + +// TenantInboundSAMLConfigSpec defines the desired state of TenantInboundSAMLConfig +type TenantInboundSAMLConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TenantInboundSAMLConfigParameters `json:"forProvider"` +} + +// TenantInboundSAMLConfigStatus defines the observed state of TenantInboundSAMLConfig. +type TenantInboundSAMLConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TenantInboundSAMLConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TenantInboundSAMLConfig is the Schema for the TenantInboundSAMLConfigs 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,gcpjet} +type TenantInboundSAMLConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TenantInboundSAMLConfigSpec `json:"spec"` + Status TenantInboundSAMLConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TenantInboundSAMLConfigList contains a list of TenantInboundSAMLConfigs +type TenantInboundSAMLConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TenantInboundSAMLConfig `json:"items"` +} + +// Repository type metadata. +var ( + TenantInboundSAMLConfig_Kind = "TenantInboundSAMLConfig" + TenantInboundSAMLConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TenantInboundSAMLConfig_Kind}.String() + TenantInboundSAMLConfig_KindAPIVersion = TenantInboundSAMLConfig_Kind + "." + CRDGroupVersion.String() + TenantInboundSAMLConfig_GroupVersionKind = CRDGroupVersion.WithKind(TenantInboundSAMLConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&TenantInboundSAMLConfig{}, &TenantInboundSAMLConfigList{}) +} diff --git a/apis/identityplatform/v1alpha1/zz_tenantoauthidpconfig_terraformed.go b/apis/identityplatform/v1alpha1/zz_tenantoauthidpconfig_terraformed.go new file mode 100755 index 00000000..161aa4e9 --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_tenantoauthidpconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TenantOAuthIdPConfig +func (mg *TenantOAuthIdPConfig) GetTerraformResourceType() string { + return "google_identity_platform_tenant_oauth_idp_config" +} + +// GetConnectionDetailsMapping for this TenantOAuthIdPConfig +func (tr *TenantOAuthIdPConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TenantOAuthIdPConfig +func (tr *TenantOAuthIdPConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TenantOAuthIdPConfig +func (tr *TenantOAuthIdPConfig) SetObservation(obs map[string]interface{}) 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 TenantOAuthIdPConfig +func (tr *TenantOAuthIdPConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TenantOAuthIdPConfig +func (tr *TenantOAuthIdPConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TenantOAuthIdPConfig +func (tr *TenantOAuthIdPConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TenantOAuthIdPConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TenantOAuthIdPConfig) LateInitialize(attrs []byte) (bool, error) { + params := &TenantOAuthIdPConfigParameters{} + 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 *TenantOAuthIdPConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/identityplatform/v1alpha1/zz_tenantoauthidpconfig_types.go b/apis/identityplatform/v1alpha1/zz_tenantoauthidpconfig_types.go new file mode 100755 index 00000000..f323882b --- /dev/null +++ b/apis/identityplatform/v1alpha1/zz_tenantoauthidpconfig_types.go @@ -0,0 +1,113 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TenantOAuthIdPConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TenantOAuthIdPConfigParameters struct { + + // The client id of an OAuth client. + // +kubebuilder:validation:Required + ClientID *string `json:"clientId" tf:"client_id,omitempty"` + + // The client secret of the OAuth client, to enable OIDC code flow. + // +kubebuilder:validation:Optional + ClientSecret *string `json:"clientSecret,omitempty" tf:"client_secret,omitempty"` + + // Human friendly display name. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // If this config allows users to sign in with the provider. + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // For OIDC Idps, the issuer identifier. + // +kubebuilder:validation:Required + Issuer *string `json:"issuer" tf:"issuer,omitempty"` + + // The name of the OauthIdpConfig. Must start with 'oidc.'. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The name of the tenant where this OIDC IDP configuration resource exists + // +kubebuilder:validation:Required + Tenant *string `json:"tenant" tf:"tenant,omitempty"` +} + +// TenantOAuthIdPConfigSpec defines the desired state of TenantOAuthIdPConfig +type TenantOAuthIdPConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TenantOAuthIdPConfigParameters `json:"forProvider"` +} + +// TenantOAuthIdPConfigStatus defines the observed state of TenantOAuthIdPConfig. +type TenantOAuthIdPConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TenantOAuthIdPConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TenantOAuthIdPConfig is the Schema for the TenantOAuthIdPConfigs 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,gcpjet} +type TenantOAuthIdPConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TenantOAuthIdPConfigSpec `json:"spec"` + Status TenantOAuthIdPConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TenantOAuthIdPConfigList contains a list of TenantOAuthIdPConfigs +type TenantOAuthIdPConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TenantOAuthIdPConfig `json:"items"` +} + +// Repository type metadata. +var ( + TenantOAuthIdPConfig_Kind = "TenantOAuthIdPConfig" + TenantOAuthIdPConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TenantOAuthIdPConfig_Kind}.String() + TenantOAuthIdPConfig_KindAPIVersion = TenantOAuthIdPConfig_Kind + "." + CRDGroupVersion.String() + TenantOAuthIdPConfig_GroupVersionKind = CRDGroupVersion.WithKind(TenantOAuthIdPConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&TenantOAuthIdPConfig{}, &TenantOAuthIdPConfigList{}) +} diff --git a/apis/kms/v1alpha1/zz_cryptokey_terraformed.go b/apis/kms/v1alpha1/zz_cryptokey_terraformed.go new file mode 100755 index 00000000..7ef0d4c6 --- /dev/null +++ b/apis/kms/v1alpha1/zz_cryptokey_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this CryptoKey +func (mg *CryptoKey) GetTerraformResourceType() string { + return "google_kms_crypto_key" +} + +// GetConnectionDetailsMapping for this CryptoKey +func (tr *CryptoKey) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this CryptoKey +func (tr *CryptoKey) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this CryptoKey +func (tr *CryptoKey) SetObservation(obs map[string]interface{}) 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 CryptoKey +func (tr *CryptoKey) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this CryptoKey +func (tr *CryptoKey) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this CryptoKey +func (tr *CryptoKey) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this CryptoKey using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *CryptoKey) LateInitialize(attrs []byte) (bool, error) { + params := &CryptoKeyParameters{} + 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 *CryptoKey) GetTerraformSchemaVersion() int { + return 1 +} diff --git a/apis/kms/v1alpha1/zz_cryptokey_types.go b/apis/kms/v1alpha1/zz_cryptokey_types.go new file mode 100755 index 00000000..8d27f21b --- /dev/null +++ b/apis/kms/v1alpha1/zz_cryptokey_types.go @@ -0,0 +1,141 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CryptoKeyObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type CryptoKeyParameters struct { + + // The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. + // If not specified at creation time, the default duration is 24 hours. + // +kubebuilder:validation:Optional + DestroyScheduledDuration *string `json:"destroyScheduledDuration,omitempty" tf:"destroy_scheduled_duration,omitempty"` + + // Whether this key may contain imported versions only. + // +kubebuilder:validation:Optional + ImportOnly *bool `json:"importOnly,omitempty" tf:"import_only,omitempty"` + + // The KeyRing that this key belongs to. + // Format: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}''. + // +kubebuilder:validation:Required + KeyRing *string `json:"keyRing" tf:"key_ring,omitempty"` + + // Labels with user-defined metadata to apply to this resource. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The resource name for the CryptoKey. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The immutable purpose of this CryptoKey. See the + // [purpose reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys#CryptoKeyPurpose) + // for possible inputs. Default value: "ENCRYPT_DECRYPT" Possible values: ["ENCRYPT_DECRYPT", "ASYMMETRIC_SIGN", "ASYMMETRIC_DECRYPT"] + // +kubebuilder:validation:Optional + Purpose *string `json:"purpose,omitempty" tf:"purpose,omitempty"` + + // Every time this period passes, generate a new CryptoKeyVersion and set it as the primary. + // The first rotation will take place after the specified period. The rotation period has + // the format of a decimal number with up to 9 fractional digits, followed by the + // letter 's' (seconds). It must be greater than a day (ie, 86400). + // +kubebuilder:validation:Optional + RotationPeriod *string `json:"rotationPeriod,omitempty" tf:"rotation_period,omitempty"` + + // If set to true, the request will create a CryptoKey without any CryptoKeyVersions. + // You must use the 'google_kms_key_ring_import_job' resource to import the CryptoKeyVersion. + // +kubebuilder:validation:Optional + SkipInitialVersionCreation *bool `json:"skipInitialVersionCreation,omitempty" tf:"skip_initial_version_creation,omitempty"` + + // A template describing settings for new crypto key versions. + // +kubebuilder:validation:Optional + VersionTemplate []VersionTemplateParameters `json:"versionTemplate,omitempty" tf:"version_template,omitempty"` +} + +type VersionTemplateObservation struct { +} + +type VersionTemplateParameters struct { + + // The algorithm to use when creating a version based on this template. + // See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) for possible inputs. + // +kubebuilder:validation:Required + Algorithm *string `json:"algorithm" tf:"algorithm,omitempty"` + + // The protection level to use when creating a version based on this template. Possible values include "SOFTWARE", "HSM", "EXTERNAL". Defaults to "SOFTWARE". + // +kubebuilder:validation:Optional + ProtectionLevel *string `json:"protectionLevel,omitempty" tf:"protection_level,omitempty"` +} + +// CryptoKeySpec defines the desired state of CryptoKey +type CryptoKeySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider CryptoKeyParameters `json:"forProvider"` +} + +// CryptoKeyStatus defines the observed state of CryptoKey. +type CryptoKeyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider CryptoKeyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// CryptoKey is the Schema for the CryptoKeys 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,gcpjet} +type CryptoKey struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec CryptoKeySpec `json:"spec"` + Status CryptoKeyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// CryptoKeyList contains a list of CryptoKeys +type CryptoKeyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CryptoKey `json:"items"` +} + +// Repository type metadata. +var ( + CryptoKey_Kind = "CryptoKey" + CryptoKey_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: CryptoKey_Kind}.String() + CryptoKey_KindAPIVersion = CryptoKey_Kind + "." + CRDGroupVersion.String() + CryptoKey_GroupVersionKind = CRDGroupVersion.WithKind(CryptoKey_Kind) +) + +func init() { + SchemeBuilder.Register(&CryptoKey{}, &CryptoKeyList{}) +} diff --git a/apis/kms/v1alpha1/zz_cryptokeyiambinding_terraformed.go b/apis/kms/v1alpha1/zz_cryptokeyiambinding_terraformed.go new file mode 100755 index 00000000..4aa2f095 --- /dev/null +++ b/apis/kms/v1alpha1/zz_cryptokeyiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this CryptoKeyIAMBinding +func (mg *CryptoKeyIAMBinding) GetTerraformResourceType() string { + return "google_kms_crypto_key_iam_binding" +} + +// GetConnectionDetailsMapping for this CryptoKeyIAMBinding +func (tr *CryptoKeyIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this CryptoKeyIAMBinding +func (tr *CryptoKeyIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this CryptoKeyIAMBinding +func (tr *CryptoKeyIAMBinding) SetObservation(obs map[string]interface{}) 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 CryptoKeyIAMBinding +func (tr *CryptoKeyIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this CryptoKeyIAMBinding +func (tr *CryptoKeyIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this CryptoKeyIAMBinding +func (tr *CryptoKeyIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this CryptoKeyIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *CryptoKeyIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &CryptoKeyIAMBindingParameters{} + 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 *CryptoKeyIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/kms/v1alpha1/zz_cryptokeyiambinding_types.go b/apis/kms/v1alpha1/zz_cryptokeyiambinding_types.go new file mode 100755 index 00000000..81a00ff0 --- /dev/null +++ b/apis/kms/v1alpha1/zz_cryptokeyiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type CryptoKeyIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type CryptoKeyIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + CryptoKeyID *string `json:"cryptoKeyId" tf:"crypto_key_id,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// CryptoKeyIAMBindingSpec defines the desired state of CryptoKeyIAMBinding +type CryptoKeyIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider CryptoKeyIAMBindingParameters `json:"forProvider"` +} + +// CryptoKeyIAMBindingStatus defines the observed state of CryptoKeyIAMBinding. +type CryptoKeyIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider CryptoKeyIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// CryptoKeyIAMBinding is the Schema for the CryptoKeyIAMBindings 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,gcpjet} +type CryptoKeyIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec CryptoKeyIAMBindingSpec `json:"spec"` + Status CryptoKeyIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// CryptoKeyIAMBindingList contains a list of CryptoKeyIAMBindings +type CryptoKeyIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CryptoKeyIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + CryptoKeyIAMBinding_Kind = "CryptoKeyIAMBinding" + CryptoKeyIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: CryptoKeyIAMBinding_Kind}.String() + CryptoKeyIAMBinding_KindAPIVersion = CryptoKeyIAMBinding_Kind + "." + CRDGroupVersion.String() + CryptoKeyIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(CryptoKeyIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&CryptoKeyIAMBinding{}, &CryptoKeyIAMBindingList{}) +} diff --git a/apis/kms/v1alpha1/zz_cryptokeyiammember_terraformed.go b/apis/kms/v1alpha1/zz_cryptokeyiammember_terraformed.go new file mode 100755 index 00000000..177ec083 --- /dev/null +++ b/apis/kms/v1alpha1/zz_cryptokeyiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this CryptoKeyIAMMember +func (mg *CryptoKeyIAMMember) GetTerraformResourceType() string { + return "google_kms_crypto_key_iam_member" +} + +// GetConnectionDetailsMapping for this CryptoKeyIAMMember +func (tr *CryptoKeyIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this CryptoKeyIAMMember +func (tr *CryptoKeyIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this CryptoKeyIAMMember +func (tr *CryptoKeyIAMMember) SetObservation(obs map[string]interface{}) 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 CryptoKeyIAMMember +func (tr *CryptoKeyIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this CryptoKeyIAMMember +func (tr *CryptoKeyIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this CryptoKeyIAMMember +func (tr *CryptoKeyIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this CryptoKeyIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *CryptoKeyIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &CryptoKeyIAMMemberParameters{} + 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 *CryptoKeyIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/kms/v1alpha1/zz_cryptokeyiammember_types.go b/apis/kms/v1alpha1/zz_cryptokeyiammember_types.go new file mode 100755 index 00000000..3c9e033d --- /dev/null +++ b/apis/kms/v1alpha1/zz_cryptokeyiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CryptoKeyIAMMemberConditionObservation struct { +} + +type CryptoKeyIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type CryptoKeyIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type CryptoKeyIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []CryptoKeyIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + CryptoKeyID *string `json:"cryptoKeyId" tf:"crypto_key_id,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// CryptoKeyIAMMemberSpec defines the desired state of CryptoKeyIAMMember +type CryptoKeyIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider CryptoKeyIAMMemberParameters `json:"forProvider"` +} + +// CryptoKeyIAMMemberStatus defines the observed state of CryptoKeyIAMMember. +type CryptoKeyIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider CryptoKeyIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// CryptoKeyIAMMember is the Schema for the CryptoKeyIAMMembers 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,gcpjet} +type CryptoKeyIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec CryptoKeyIAMMemberSpec `json:"spec"` + Status CryptoKeyIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// CryptoKeyIAMMemberList contains a list of CryptoKeyIAMMembers +type CryptoKeyIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CryptoKeyIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + CryptoKeyIAMMember_Kind = "CryptoKeyIAMMember" + CryptoKeyIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: CryptoKeyIAMMember_Kind}.String() + CryptoKeyIAMMember_KindAPIVersion = CryptoKeyIAMMember_Kind + "." + CRDGroupVersion.String() + CryptoKeyIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(CryptoKeyIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&CryptoKeyIAMMember{}, &CryptoKeyIAMMemberList{}) +} diff --git a/apis/kms/v1alpha1/zz_cryptokeyiampolicy_terraformed.go b/apis/kms/v1alpha1/zz_cryptokeyiampolicy_terraformed.go new file mode 100755 index 00000000..af3875f9 --- /dev/null +++ b/apis/kms/v1alpha1/zz_cryptokeyiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this CryptoKeyIAMPolicy +func (mg *CryptoKeyIAMPolicy) GetTerraformResourceType() string { + return "google_kms_crypto_key_iam_policy" +} + +// GetConnectionDetailsMapping for this CryptoKeyIAMPolicy +func (tr *CryptoKeyIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this CryptoKeyIAMPolicy +func (tr *CryptoKeyIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this CryptoKeyIAMPolicy +func (tr *CryptoKeyIAMPolicy) SetObservation(obs map[string]interface{}) 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 CryptoKeyIAMPolicy +func (tr *CryptoKeyIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this CryptoKeyIAMPolicy +func (tr *CryptoKeyIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this CryptoKeyIAMPolicy +func (tr *CryptoKeyIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this CryptoKeyIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *CryptoKeyIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &CryptoKeyIAMPolicyParameters{} + 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 *CryptoKeyIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/kms/v1alpha1/zz_cryptokeyiampolicy_types.go b/apis/kms/v1alpha1/zz_cryptokeyiampolicy_types.go new file mode 100755 index 00000000..91dce86d --- /dev/null +++ b/apis/kms/v1alpha1/zz_cryptokeyiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CryptoKeyIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type CryptoKeyIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + CryptoKeyID *string `json:"cryptoKeyId" tf:"crypto_key_id,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` +} + +// CryptoKeyIAMPolicySpec defines the desired state of CryptoKeyIAMPolicy +type CryptoKeyIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider CryptoKeyIAMPolicyParameters `json:"forProvider"` +} + +// CryptoKeyIAMPolicyStatus defines the observed state of CryptoKeyIAMPolicy. +type CryptoKeyIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider CryptoKeyIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// CryptoKeyIAMPolicy is the Schema for the CryptoKeyIAMPolicys 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,gcpjet} +type CryptoKeyIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec CryptoKeyIAMPolicySpec `json:"spec"` + Status CryptoKeyIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// CryptoKeyIAMPolicyList contains a list of CryptoKeyIAMPolicys +type CryptoKeyIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CryptoKeyIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + CryptoKeyIAMPolicy_Kind = "CryptoKeyIAMPolicy" + CryptoKeyIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: CryptoKeyIAMPolicy_Kind}.String() + CryptoKeyIAMPolicy_KindAPIVersion = CryptoKeyIAMPolicy_Kind + "." + CRDGroupVersion.String() + CryptoKeyIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(CryptoKeyIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&CryptoKeyIAMPolicy{}, &CryptoKeyIAMPolicyList{}) +} diff --git a/apis/kms/v1alpha1/zz_generated.deepcopy.go b/apis/kms/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..fd20eefc --- /dev/null +++ b/apis/kms/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1888 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/crossplane/crossplane-runtime/apis/common/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestationObservation) DeepCopyInto(out *AttestationObservation) { + *out = *in + if in.Content != nil { + in, out := &in.Content, &out.Content + *out = new(string) + **out = **in + } + if in.Format != nil { + in, out := &in.Format, &out.Format + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestationObservation. +func (in *AttestationObservation) DeepCopy() *AttestationObservation { + if in == nil { + return nil + } + out := new(AttestationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttestationParameters) DeepCopyInto(out *AttestationParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttestationParameters. +func (in *AttestationParameters) DeepCopy() *AttestationParameters { + if in == nil { + return nil + } + out := new(AttestationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKey) DeepCopyInto(out *CryptoKey) { + *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 CryptoKey. +func (in *CryptoKey) DeepCopy() *CryptoKey { + if in == nil { + return nil + } + out := new(CryptoKey) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CryptoKey) 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 *CryptoKeyIAMBinding) DeepCopyInto(out *CryptoKeyIAMBinding) { + *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 CryptoKeyIAMBinding. +func (in *CryptoKeyIAMBinding) DeepCopy() *CryptoKeyIAMBinding { + if in == nil { + return nil + } + out := new(CryptoKeyIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CryptoKeyIAMBinding) 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 *CryptoKeyIAMBindingList) DeepCopyInto(out *CryptoKeyIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CryptoKeyIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMBindingList. +func (in *CryptoKeyIAMBindingList) DeepCopy() *CryptoKeyIAMBindingList { + if in == nil { + return nil + } + out := new(CryptoKeyIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CryptoKeyIAMBindingList) 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 *CryptoKeyIAMBindingObservation) DeepCopyInto(out *CryptoKeyIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMBindingObservation. +func (in *CryptoKeyIAMBindingObservation) DeepCopy() *CryptoKeyIAMBindingObservation { + if in == nil { + return nil + } + out := new(CryptoKeyIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyIAMBindingParameters) DeepCopyInto(out *CryptoKeyIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CryptoKeyID != nil { + in, out := &in.CryptoKeyID, &out.CryptoKeyID + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMBindingParameters. +func (in *CryptoKeyIAMBindingParameters) DeepCopy() *CryptoKeyIAMBindingParameters { + if in == nil { + return nil + } + out := new(CryptoKeyIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyIAMBindingSpec) DeepCopyInto(out *CryptoKeyIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMBindingSpec. +func (in *CryptoKeyIAMBindingSpec) DeepCopy() *CryptoKeyIAMBindingSpec { + if in == nil { + return nil + } + out := new(CryptoKeyIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyIAMBindingStatus) DeepCopyInto(out *CryptoKeyIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMBindingStatus. +func (in *CryptoKeyIAMBindingStatus) DeepCopy() *CryptoKeyIAMBindingStatus { + if in == nil { + return nil + } + out := new(CryptoKeyIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyIAMMember) DeepCopyInto(out *CryptoKeyIAMMember) { + *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 CryptoKeyIAMMember. +func (in *CryptoKeyIAMMember) DeepCopy() *CryptoKeyIAMMember { + if in == nil { + return nil + } + out := new(CryptoKeyIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CryptoKeyIAMMember) 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 *CryptoKeyIAMMemberConditionObservation) DeepCopyInto(out *CryptoKeyIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMMemberConditionObservation. +func (in *CryptoKeyIAMMemberConditionObservation) DeepCopy() *CryptoKeyIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(CryptoKeyIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyIAMMemberConditionParameters) DeepCopyInto(out *CryptoKeyIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMMemberConditionParameters. +func (in *CryptoKeyIAMMemberConditionParameters) DeepCopy() *CryptoKeyIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(CryptoKeyIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyIAMMemberList) DeepCopyInto(out *CryptoKeyIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CryptoKeyIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMMemberList. +func (in *CryptoKeyIAMMemberList) DeepCopy() *CryptoKeyIAMMemberList { + if in == nil { + return nil + } + out := new(CryptoKeyIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CryptoKeyIAMMemberList) 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 *CryptoKeyIAMMemberObservation) DeepCopyInto(out *CryptoKeyIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMMemberObservation. +func (in *CryptoKeyIAMMemberObservation) DeepCopy() *CryptoKeyIAMMemberObservation { + if in == nil { + return nil + } + out := new(CryptoKeyIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyIAMMemberParameters) DeepCopyInto(out *CryptoKeyIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]CryptoKeyIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CryptoKeyID != nil { + in, out := &in.CryptoKeyID, &out.CryptoKeyID + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMMemberParameters. +func (in *CryptoKeyIAMMemberParameters) DeepCopy() *CryptoKeyIAMMemberParameters { + if in == nil { + return nil + } + out := new(CryptoKeyIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyIAMMemberSpec) DeepCopyInto(out *CryptoKeyIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMMemberSpec. +func (in *CryptoKeyIAMMemberSpec) DeepCopy() *CryptoKeyIAMMemberSpec { + if in == nil { + return nil + } + out := new(CryptoKeyIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyIAMMemberStatus) DeepCopyInto(out *CryptoKeyIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMMemberStatus. +func (in *CryptoKeyIAMMemberStatus) DeepCopy() *CryptoKeyIAMMemberStatus { + if in == nil { + return nil + } + out := new(CryptoKeyIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyIAMPolicy) DeepCopyInto(out *CryptoKeyIAMPolicy) { + *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 CryptoKeyIAMPolicy. +func (in *CryptoKeyIAMPolicy) DeepCopy() *CryptoKeyIAMPolicy { + if in == nil { + return nil + } + out := new(CryptoKeyIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CryptoKeyIAMPolicy) 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 *CryptoKeyIAMPolicyList) DeepCopyInto(out *CryptoKeyIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CryptoKeyIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMPolicyList. +func (in *CryptoKeyIAMPolicyList) DeepCopy() *CryptoKeyIAMPolicyList { + if in == nil { + return nil + } + out := new(CryptoKeyIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CryptoKeyIAMPolicyList) 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 *CryptoKeyIAMPolicyObservation) DeepCopyInto(out *CryptoKeyIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMPolicyObservation. +func (in *CryptoKeyIAMPolicyObservation) DeepCopy() *CryptoKeyIAMPolicyObservation { + if in == nil { + return nil + } + out := new(CryptoKeyIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyIAMPolicyParameters) DeepCopyInto(out *CryptoKeyIAMPolicyParameters) { + *out = *in + if in.CryptoKeyID != nil { + in, out := &in.CryptoKeyID, &out.CryptoKeyID + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMPolicyParameters. +func (in *CryptoKeyIAMPolicyParameters) DeepCopy() *CryptoKeyIAMPolicyParameters { + if in == nil { + return nil + } + out := new(CryptoKeyIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyIAMPolicySpec) DeepCopyInto(out *CryptoKeyIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMPolicySpec. +func (in *CryptoKeyIAMPolicySpec) DeepCopy() *CryptoKeyIAMPolicySpec { + if in == nil { + return nil + } + out := new(CryptoKeyIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyIAMPolicyStatus) DeepCopyInto(out *CryptoKeyIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyIAMPolicyStatus. +func (in *CryptoKeyIAMPolicyStatus) DeepCopy() *CryptoKeyIAMPolicyStatus { + if in == nil { + return nil + } + out := new(CryptoKeyIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyList) DeepCopyInto(out *CryptoKeyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CryptoKey, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyList. +func (in *CryptoKeyList) DeepCopy() *CryptoKeyList { + if in == nil { + return nil + } + out := new(CryptoKeyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CryptoKeyList) 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 *CryptoKeyObservation) DeepCopyInto(out *CryptoKeyObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyObservation. +func (in *CryptoKeyObservation) DeepCopy() *CryptoKeyObservation { + if in == nil { + return nil + } + out := new(CryptoKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyParameters) DeepCopyInto(out *CryptoKeyParameters) { + *out = *in + if in.DestroyScheduledDuration != nil { + in, out := &in.DestroyScheduledDuration, &out.DestroyScheduledDuration + *out = new(string) + **out = **in + } + if in.ImportOnly != nil { + in, out := &in.ImportOnly, &out.ImportOnly + *out = new(bool) + **out = **in + } + if in.KeyRing != nil { + in, out := &in.KeyRing, &out.KeyRing + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Purpose != nil { + in, out := &in.Purpose, &out.Purpose + *out = new(string) + **out = **in + } + if in.RotationPeriod != nil { + in, out := &in.RotationPeriod, &out.RotationPeriod + *out = new(string) + **out = **in + } + if in.SkipInitialVersionCreation != nil { + in, out := &in.SkipInitialVersionCreation, &out.SkipInitialVersionCreation + *out = new(bool) + **out = **in + } + if in.VersionTemplate != nil { + in, out := &in.VersionTemplate, &out.VersionTemplate + *out = make([]VersionTemplateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyParameters. +func (in *CryptoKeyParameters) DeepCopy() *CryptoKeyParameters { + if in == nil { + return nil + } + out := new(CryptoKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeySpec) DeepCopyInto(out *CryptoKeySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeySpec. +func (in *CryptoKeySpec) DeepCopy() *CryptoKeySpec { + if in == nil { + return nil + } + out := new(CryptoKeySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CryptoKeyStatus) DeepCopyInto(out *CryptoKeyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CryptoKeyStatus. +func (in *CryptoKeyStatus) DeepCopy() *CryptoKeyStatus { + if in == nil { + return nil + } + out := new(CryptoKeyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRing) DeepCopyInto(out *KeyRing) { + *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 KeyRing. +func (in *KeyRing) DeepCopy() *KeyRing { + if in == nil { + return nil + } + out := new(KeyRing) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KeyRing) 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 *KeyRingIAMBinding) DeepCopyInto(out *KeyRingIAMBinding) { + *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 KeyRingIAMBinding. +func (in *KeyRingIAMBinding) DeepCopy() *KeyRingIAMBinding { + if in == nil { + return nil + } + out := new(KeyRingIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KeyRingIAMBinding) 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 *KeyRingIAMBindingConditionObservation) DeepCopyInto(out *KeyRingIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMBindingConditionObservation. +func (in *KeyRingIAMBindingConditionObservation) DeepCopy() *KeyRingIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(KeyRingIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMBindingConditionParameters) DeepCopyInto(out *KeyRingIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMBindingConditionParameters. +func (in *KeyRingIAMBindingConditionParameters) DeepCopy() *KeyRingIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(KeyRingIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMBindingList) DeepCopyInto(out *KeyRingIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KeyRingIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMBindingList. +func (in *KeyRingIAMBindingList) DeepCopy() *KeyRingIAMBindingList { + if in == nil { + return nil + } + out := new(KeyRingIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KeyRingIAMBindingList) 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 *KeyRingIAMBindingObservation) DeepCopyInto(out *KeyRingIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMBindingObservation. +func (in *KeyRingIAMBindingObservation) DeepCopy() *KeyRingIAMBindingObservation { + if in == nil { + return nil + } + out := new(KeyRingIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMBindingParameters) DeepCopyInto(out *KeyRingIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]KeyRingIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.KeyRingID != nil { + in, out := &in.KeyRingID, &out.KeyRingID + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMBindingParameters. +func (in *KeyRingIAMBindingParameters) DeepCopy() *KeyRingIAMBindingParameters { + if in == nil { + return nil + } + out := new(KeyRingIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMBindingSpec) DeepCopyInto(out *KeyRingIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMBindingSpec. +func (in *KeyRingIAMBindingSpec) DeepCopy() *KeyRingIAMBindingSpec { + if in == nil { + return nil + } + out := new(KeyRingIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMBindingStatus) DeepCopyInto(out *KeyRingIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMBindingStatus. +func (in *KeyRingIAMBindingStatus) DeepCopy() *KeyRingIAMBindingStatus { + if in == nil { + return nil + } + out := new(KeyRingIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMMember) DeepCopyInto(out *KeyRingIAMMember) { + *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 KeyRingIAMMember. +func (in *KeyRingIAMMember) DeepCopy() *KeyRingIAMMember { + if in == nil { + return nil + } + out := new(KeyRingIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KeyRingIAMMember) 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 *KeyRingIAMMemberConditionObservation) DeepCopyInto(out *KeyRingIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMMemberConditionObservation. +func (in *KeyRingIAMMemberConditionObservation) DeepCopy() *KeyRingIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(KeyRingIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMMemberConditionParameters) DeepCopyInto(out *KeyRingIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMMemberConditionParameters. +func (in *KeyRingIAMMemberConditionParameters) DeepCopy() *KeyRingIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(KeyRingIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMMemberList) DeepCopyInto(out *KeyRingIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KeyRingIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMMemberList. +func (in *KeyRingIAMMemberList) DeepCopy() *KeyRingIAMMemberList { + if in == nil { + return nil + } + out := new(KeyRingIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KeyRingIAMMemberList) 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 *KeyRingIAMMemberObservation) DeepCopyInto(out *KeyRingIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMMemberObservation. +func (in *KeyRingIAMMemberObservation) DeepCopy() *KeyRingIAMMemberObservation { + if in == nil { + return nil + } + out := new(KeyRingIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMMemberParameters) DeepCopyInto(out *KeyRingIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]KeyRingIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.KeyRingID != nil { + in, out := &in.KeyRingID, &out.KeyRingID + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMMemberParameters. +func (in *KeyRingIAMMemberParameters) DeepCopy() *KeyRingIAMMemberParameters { + if in == nil { + return nil + } + out := new(KeyRingIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMMemberSpec) DeepCopyInto(out *KeyRingIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMMemberSpec. +func (in *KeyRingIAMMemberSpec) DeepCopy() *KeyRingIAMMemberSpec { + if in == nil { + return nil + } + out := new(KeyRingIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMMemberStatus) DeepCopyInto(out *KeyRingIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMMemberStatus. +func (in *KeyRingIAMMemberStatus) DeepCopy() *KeyRingIAMMemberStatus { + if in == nil { + return nil + } + out := new(KeyRingIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMPolicy) DeepCopyInto(out *KeyRingIAMPolicy) { + *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 KeyRingIAMPolicy. +func (in *KeyRingIAMPolicy) DeepCopy() *KeyRingIAMPolicy { + if in == nil { + return nil + } + out := new(KeyRingIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KeyRingIAMPolicy) 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 *KeyRingIAMPolicyList) DeepCopyInto(out *KeyRingIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KeyRingIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMPolicyList. +func (in *KeyRingIAMPolicyList) DeepCopy() *KeyRingIAMPolicyList { + if in == nil { + return nil + } + out := new(KeyRingIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KeyRingIAMPolicyList) 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 *KeyRingIAMPolicyObservation) DeepCopyInto(out *KeyRingIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMPolicyObservation. +func (in *KeyRingIAMPolicyObservation) DeepCopy() *KeyRingIAMPolicyObservation { + if in == nil { + return nil + } + out := new(KeyRingIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMPolicyParameters) DeepCopyInto(out *KeyRingIAMPolicyParameters) { + *out = *in + if in.KeyRingID != nil { + in, out := &in.KeyRingID, &out.KeyRingID + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMPolicyParameters. +func (in *KeyRingIAMPolicyParameters) DeepCopy() *KeyRingIAMPolicyParameters { + if in == nil { + return nil + } + out := new(KeyRingIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMPolicySpec) DeepCopyInto(out *KeyRingIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMPolicySpec. +func (in *KeyRingIAMPolicySpec) DeepCopy() *KeyRingIAMPolicySpec { + if in == nil { + return nil + } + out := new(KeyRingIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingIAMPolicyStatus) DeepCopyInto(out *KeyRingIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingIAMPolicyStatus. +func (in *KeyRingIAMPolicyStatus) DeepCopy() *KeyRingIAMPolicyStatus { + if in == nil { + return nil + } + out := new(KeyRingIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingImportJob) DeepCopyInto(out *KeyRingImportJob) { + *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 KeyRingImportJob. +func (in *KeyRingImportJob) DeepCopy() *KeyRingImportJob { + if in == nil { + return nil + } + out := new(KeyRingImportJob) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KeyRingImportJob) 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 *KeyRingImportJobList) DeepCopyInto(out *KeyRingImportJobList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KeyRingImportJob, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingImportJobList. +func (in *KeyRingImportJobList) DeepCopy() *KeyRingImportJobList { + if in == nil { + return nil + } + out := new(KeyRingImportJobList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KeyRingImportJobList) 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 *KeyRingImportJobObservation) DeepCopyInto(out *KeyRingImportJobObservation) { + *out = *in + if in.Attestation != nil { + in, out := &in.Attestation, &out.Attestation + *out = make([]AttestationObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExpireTime != nil { + in, out := &in.ExpireTime, &out.ExpireTime + *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.PublicKey != nil { + in, out := &in.PublicKey, &out.PublicKey + *out = make([]PublicKeyObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingImportJobObservation. +func (in *KeyRingImportJobObservation) DeepCopy() *KeyRingImportJobObservation { + if in == nil { + return nil + } + out := new(KeyRingImportJobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingImportJobParameters) DeepCopyInto(out *KeyRingImportJobParameters) { + *out = *in + if in.ImportJobID != nil { + in, out := &in.ImportJobID, &out.ImportJobID + *out = new(string) + **out = **in + } + if in.ImportMethod != nil { + in, out := &in.ImportMethod, &out.ImportMethod + *out = new(string) + **out = **in + } + if in.KeyRing != nil { + in, out := &in.KeyRing, &out.KeyRing + *out = new(string) + **out = **in + } + if in.ProtectionLevel != nil { + in, out := &in.ProtectionLevel, &out.ProtectionLevel + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingImportJobParameters. +func (in *KeyRingImportJobParameters) DeepCopy() *KeyRingImportJobParameters { + if in == nil { + return nil + } + out := new(KeyRingImportJobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingImportJobSpec) DeepCopyInto(out *KeyRingImportJobSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingImportJobSpec. +func (in *KeyRingImportJobSpec) DeepCopy() *KeyRingImportJobSpec { + if in == nil { + return nil + } + out := new(KeyRingImportJobSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingImportJobStatus) DeepCopyInto(out *KeyRingImportJobStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingImportJobStatus. +func (in *KeyRingImportJobStatus) DeepCopy() *KeyRingImportJobStatus { + if in == nil { + return nil + } + out := new(KeyRingImportJobStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingList) DeepCopyInto(out *KeyRingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KeyRing, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingList. +func (in *KeyRingList) DeepCopy() *KeyRingList { + if in == nil { + return nil + } + out := new(KeyRingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KeyRingList) 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 *KeyRingObservation) DeepCopyInto(out *KeyRingObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingObservation. +func (in *KeyRingObservation) DeepCopy() *KeyRingObservation { + if in == nil { + return nil + } + out := new(KeyRingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingParameters) DeepCopyInto(out *KeyRingParameters) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingParameters. +func (in *KeyRingParameters) DeepCopy() *KeyRingParameters { + if in == nil { + return nil + } + out := new(KeyRingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingSpec) DeepCopyInto(out *KeyRingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingSpec. +func (in *KeyRingSpec) DeepCopy() *KeyRingSpec { + if in == nil { + return nil + } + out := new(KeyRingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyRingStatus) DeepCopyInto(out *KeyRingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyRingStatus. +func (in *KeyRingStatus) DeepCopy() *KeyRingStatus { + if in == nil { + return nil + } + out := new(KeyRingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublicKeyObservation) DeepCopyInto(out *PublicKeyObservation) { + *out = *in + if in.Pem != nil { + in, out := &in.Pem, &out.Pem + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicKeyObservation. +func (in *PublicKeyObservation) DeepCopy() *PublicKeyObservation { + if in == nil { + return nil + } + out := new(PublicKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublicKeyParameters) DeepCopyInto(out *PublicKeyParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicKeyParameters. +func (in *PublicKeyParameters) DeepCopy() *PublicKeyParameters { + if in == nil { + return nil + } + out := new(PublicKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretCiphertext) DeepCopyInto(out *SecretCiphertext) { + *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 SecretCiphertext. +func (in *SecretCiphertext) DeepCopy() *SecretCiphertext { + if in == nil { + return nil + } + out := new(SecretCiphertext) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecretCiphertext) 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 *SecretCiphertextList) DeepCopyInto(out *SecretCiphertextList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SecretCiphertext, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretCiphertextList. +func (in *SecretCiphertextList) DeepCopy() *SecretCiphertextList { + if in == nil { + return nil + } + out := new(SecretCiphertextList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecretCiphertextList) 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 *SecretCiphertextObservation) DeepCopyInto(out *SecretCiphertextObservation) { + *out = *in + if in.Ciphertext != nil { + in, out := &in.Ciphertext, &out.Ciphertext + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretCiphertextObservation. +func (in *SecretCiphertextObservation) DeepCopy() *SecretCiphertextObservation { + if in == nil { + return nil + } + out := new(SecretCiphertextObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretCiphertextParameters) DeepCopyInto(out *SecretCiphertextParameters) { + *out = *in + if in.AdditionalAuthenticatedDataSecretRef != nil { + in, out := &in.AdditionalAuthenticatedDataSecretRef, &out.AdditionalAuthenticatedDataSecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } + if in.CryptoKey != nil { + in, out := &in.CryptoKey, &out.CryptoKey + *out = new(string) + **out = **in + } + out.PlaintextSecretRef = in.PlaintextSecretRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretCiphertextParameters. +func (in *SecretCiphertextParameters) DeepCopy() *SecretCiphertextParameters { + if in == nil { + return nil + } + out := new(SecretCiphertextParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretCiphertextSpec) DeepCopyInto(out *SecretCiphertextSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretCiphertextSpec. +func (in *SecretCiphertextSpec) DeepCopy() *SecretCiphertextSpec { + if in == nil { + return nil + } + out := new(SecretCiphertextSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretCiphertextStatus) DeepCopyInto(out *SecretCiphertextStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretCiphertextStatus. +func (in *SecretCiphertextStatus) DeepCopy() *SecretCiphertextStatus { + if in == nil { + return nil + } + out := new(SecretCiphertextStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionTemplateObservation) DeepCopyInto(out *VersionTemplateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionTemplateObservation. +func (in *VersionTemplateObservation) DeepCopy() *VersionTemplateObservation { + if in == nil { + return nil + } + out := new(VersionTemplateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionTemplateParameters) DeepCopyInto(out *VersionTemplateParameters) { + *out = *in + if in.Algorithm != nil { + in, out := &in.Algorithm, &out.Algorithm + *out = new(string) + **out = **in + } + if in.ProtectionLevel != nil { + in, out := &in.ProtectionLevel, &out.ProtectionLevel + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionTemplateParameters. +func (in *VersionTemplateParameters) DeepCopy() *VersionTemplateParameters { + if in == nil { + return nil + } + out := new(VersionTemplateParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/kms/v1alpha1/zz_generated.managed.go b/apis/kms/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..a7f9cefe --- /dev/null +++ b/apis/kms/v1alpha1/zz_generated.managed.go @@ -0,0 +1,580 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this CryptoKey. +func (mg *CryptoKey) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this CryptoKey. +func (mg *CryptoKey) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this CryptoKey. +func (mg *CryptoKey) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this CryptoKey. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *CryptoKey) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this CryptoKey. +func (mg *CryptoKey) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this CryptoKey. +func (mg *CryptoKey) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this CryptoKey. +func (mg *CryptoKey) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this CryptoKey. +func (mg *CryptoKey) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this CryptoKey. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *CryptoKey) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this CryptoKey. +func (mg *CryptoKey) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this CryptoKeyIAMBinding. +func (mg *CryptoKeyIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this CryptoKeyIAMBinding. +func (mg *CryptoKeyIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this CryptoKeyIAMBinding. +func (mg *CryptoKeyIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this CryptoKeyIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *CryptoKeyIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this CryptoKeyIAMBinding. +func (mg *CryptoKeyIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this CryptoKeyIAMBinding. +func (mg *CryptoKeyIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this CryptoKeyIAMBinding. +func (mg *CryptoKeyIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this CryptoKeyIAMBinding. +func (mg *CryptoKeyIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this CryptoKeyIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *CryptoKeyIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this CryptoKeyIAMBinding. +func (mg *CryptoKeyIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this CryptoKeyIAMMember. +func (mg *CryptoKeyIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this CryptoKeyIAMMember. +func (mg *CryptoKeyIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this CryptoKeyIAMMember. +func (mg *CryptoKeyIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this CryptoKeyIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *CryptoKeyIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this CryptoKeyIAMMember. +func (mg *CryptoKeyIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this CryptoKeyIAMMember. +func (mg *CryptoKeyIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this CryptoKeyIAMMember. +func (mg *CryptoKeyIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this CryptoKeyIAMMember. +func (mg *CryptoKeyIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this CryptoKeyIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *CryptoKeyIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this CryptoKeyIAMMember. +func (mg *CryptoKeyIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this CryptoKeyIAMPolicy. +func (mg *CryptoKeyIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this CryptoKeyIAMPolicy. +func (mg *CryptoKeyIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this CryptoKeyIAMPolicy. +func (mg *CryptoKeyIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this CryptoKeyIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *CryptoKeyIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this CryptoKeyIAMPolicy. +func (mg *CryptoKeyIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this CryptoKeyIAMPolicy. +func (mg *CryptoKeyIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this CryptoKeyIAMPolicy. +func (mg *CryptoKeyIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this CryptoKeyIAMPolicy. +func (mg *CryptoKeyIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this CryptoKeyIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *CryptoKeyIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this CryptoKeyIAMPolicy. +func (mg *CryptoKeyIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this KeyRing. +func (mg *KeyRing) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this KeyRing. +func (mg *KeyRing) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this KeyRing. +func (mg *KeyRing) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this KeyRing. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *KeyRing) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this KeyRing. +func (mg *KeyRing) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this KeyRing. +func (mg *KeyRing) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this KeyRing. +func (mg *KeyRing) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this KeyRing. +func (mg *KeyRing) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this KeyRing. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *KeyRing) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this KeyRing. +func (mg *KeyRing) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this KeyRingIAMBinding. +func (mg *KeyRingIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this KeyRingIAMBinding. +func (mg *KeyRingIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this KeyRingIAMBinding. +func (mg *KeyRingIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this KeyRingIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *KeyRingIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this KeyRingIAMBinding. +func (mg *KeyRingIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this KeyRingIAMBinding. +func (mg *KeyRingIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this KeyRingIAMBinding. +func (mg *KeyRingIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this KeyRingIAMBinding. +func (mg *KeyRingIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this KeyRingIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *KeyRingIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this KeyRingIAMBinding. +func (mg *KeyRingIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this KeyRingIAMMember. +func (mg *KeyRingIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this KeyRingIAMMember. +func (mg *KeyRingIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this KeyRingIAMMember. +func (mg *KeyRingIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this KeyRingIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *KeyRingIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this KeyRingIAMMember. +func (mg *KeyRingIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this KeyRingIAMMember. +func (mg *KeyRingIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this KeyRingIAMMember. +func (mg *KeyRingIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this KeyRingIAMMember. +func (mg *KeyRingIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this KeyRingIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *KeyRingIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this KeyRingIAMMember. +func (mg *KeyRingIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this KeyRingIAMPolicy. +func (mg *KeyRingIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this KeyRingIAMPolicy. +func (mg *KeyRingIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this KeyRingIAMPolicy. +func (mg *KeyRingIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this KeyRingIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *KeyRingIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this KeyRingIAMPolicy. +func (mg *KeyRingIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this KeyRingIAMPolicy. +func (mg *KeyRingIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this KeyRingIAMPolicy. +func (mg *KeyRingIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this KeyRingIAMPolicy. +func (mg *KeyRingIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this KeyRingIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *KeyRingIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this KeyRingIAMPolicy. +func (mg *KeyRingIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this KeyRingImportJob. +func (mg *KeyRingImportJob) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this KeyRingImportJob. +func (mg *KeyRingImportJob) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this KeyRingImportJob. +func (mg *KeyRingImportJob) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this KeyRingImportJob. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *KeyRingImportJob) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this KeyRingImportJob. +func (mg *KeyRingImportJob) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this KeyRingImportJob. +func (mg *KeyRingImportJob) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this KeyRingImportJob. +func (mg *KeyRingImportJob) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this KeyRingImportJob. +func (mg *KeyRingImportJob) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this KeyRingImportJob. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *KeyRingImportJob) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this KeyRingImportJob. +func (mg *KeyRingImportJob) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SecretCiphertext. +func (mg *SecretCiphertext) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SecretCiphertext. +func (mg *SecretCiphertext) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SecretCiphertext. +func (mg *SecretCiphertext) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SecretCiphertext. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SecretCiphertext) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SecretCiphertext. +func (mg *SecretCiphertext) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SecretCiphertext. +func (mg *SecretCiphertext) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SecretCiphertext. +func (mg *SecretCiphertext) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SecretCiphertext. +func (mg *SecretCiphertext) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SecretCiphertext. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SecretCiphertext) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SecretCiphertext. +func (mg *SecretCiphertext) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/kms/v1alpha1/zz_generated.managedlist.go b/apis/kms/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..741a7568 --- /dev/null +++ b/apis/kms/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,110 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this CryptoKeyIAMBindingList. +func (l *CryptoKeyIAMBindingList) 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 CryptoKeyIAMMemberList. +func (l *CryptoKeyIAMMemberList) 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 CryptoKeyIAMPolicyList. +func (l *CryptoKeyIAMPolicyList) 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 CryptoKeyList. +func (l *CryptoKeyList) 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 KeyRingIAMBindingList. +func (l *KeyRingIAMBindingList) 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 KeyRingIAMMemberList. +func (l *KeyRingIAMMemberList) 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 KeyRingIAMPolicyList. +func (l *KeyRingIAMPolicyList) 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 KeyRingImportJobList. +func (l *KeyRingImportJobList) 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 KeyRingList. +func (l *KeyRingList) 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 SecretCiphertextList. +func (l *SecretCiphertextList) 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/kms/v1alpha1/zz_groupversion_info.go b/apis/kms/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..71c1a97f --- /dev/null +++ b/apis/kms/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=kms.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "kms.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/kms/v1alpha1/zz_keyring_terraformed.go b/apis/kms/v1alpha1/zz_keyring_terraformed.go new file mode 100755 index 00000000..3075d7ee --- /dev/null +++ b/apis/kms/v1alpha1/zz_keyring_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this KeyRing +func (mg *KeyRing) GetTerraformResourceType() string { + return "google_kms_key_ring" +} + +// GetConnectionDetailsMapping for this KeyRing +func (tr *KeyRing) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this KeyRing +func (tr *KeyRing) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this KeyRing +func (tr *KeyRing) SetObservation(obs map[string]interface{}) 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 KeyRing +func (tr *KeyRing) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this KeyRing +func (tr *KeyRing) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this KeyRing +func (tr *KeyRing) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this KeyRing using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *KeyRing) LateInitialize(attrs []byte) (bool, error) { + params := &KeyRingParameters{} + 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 *KeyRing) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/kms/v1alpha1/zz_keyring_types.go b/apis/kms/v1alpha1/zz_keyring_types.go new file mode 100755 index 00000000..e0c9a8b2 --- /dev/null +++ b/apis/kms/v1alpha1/zz_keyring_types.go @@ -0,0 +1,94 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 KeyRingObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type KeyRingParameters struct { + + // The location for the KeyRing. + // A full list of valid locations can be found by running 'gcloud kms locations list'. + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // The resource name for the KeyRing. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// KeyRingSpec defines the desired state of KeyRing +type KeyRingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider KeyRingParameters `json:"forProvider"` +} + +// KeyRingStatus defines the observed state of KeyRing. +type KeyRingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider KeyRingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// KeyRing is the Schema for the KeyRings 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,gcpjet} +type KeyRing struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec KeyRingSpec `json:"spec"` + Status KeyRingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// KeyRingList contains a list of KeyRings +type KeyRingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []KeyRing `json:"items"` +} + +// Repository type metadata. +var ( + KeyRing_Kind = "KeyRing" + KeyRing_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: KeyRing_Kind}.String() + KeyRing_KindAPIVersion = KeyRing_Kind + "." + CRDGroupVersion.String() + KeyRing_GroupVersionKind = CRDGroupVersion.WithKind(KeyRing_Kind) +) + +func init() { + SchemeBuilder.Register(&KeyRing{}, &KeyRingList{}) +} diff --git a/apis/kms/v1alpha1/zz_keyringiambinding_terraformed.go b/apis/kms/v1alpha1/zz_keyringiambinding_terraformed.go new file mode 100755 index 00000000..527918ab --- /dev/null +++ b/apis/kms/v1alpha1/zz_keyringiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this KeyRingIAMBinding +func (mg *KeyRingIAMBinding) GetTerraformResourceType() string { + return "google_kms_key_ring_iam_binding" +} + +// GetConnectionDetailsMapping for this KeyRingIAMBinding +func (tr *KeyRingIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this KeyRingIAMBinding +func (tr *KeyRingIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this KeyRingIAMBinding +func (tr *KeyRingIAMBinding) SetObservation(obs map[string]interface{}) 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 KeyRingIAMBinding +func (tr *KeyRingIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this KeyRingIAMBinding +func (tr *KeyRingIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this KeyRingIAMBinding +func (tr *KeyRingIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this KeyRingIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *KeyRingIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &KeyRingIAMBindingParameters{} + 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 *KeyRingIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/kms/v1alpha1/zz_keyringiambinding_types.go b/apis/kms/v1alpha1/zz_keyringiambinding_types.go new file mode 100755 index 00000000..310ea065 --- /dev/null +++ b/apis/kms/v1alpha1/zz_keyringiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 KeyRingIAMBindingConditionObservation struct { +} + +type KeyRingIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type KeyRingIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type KeyRingIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []KeyRingIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + KeyRingID *string `json:"keyRingId" tf:"key_ring_id,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// KeyRingIAMBindingSpec defines the desired state of KeyRingIAMBinding +type KeyRingIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider KeyRingIAMBindingParameters `json:"forProvider"` +} + +// KeyRingIAMBindingStatus defines the observed state of KeyRingIAMBinding. +type KeyRingIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider KeyRingIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// KeyRingIAMBinding is the Schema for the KeyRingIAMBindings 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,gcpjet} +type KeyRingIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec KeyRingIAMBindingSpec `json:"spec"` + Status KeyRingIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// KeyRingIAMBindingList contains a list of KeyRingIAMBindings +type KeyRingIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []KeyRingIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + KeyRingIAMBinding_Kind = "KeyRingIAMBinding" + KeyRingIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: KeyRingIAMBinding_Kind}.String() + KeyRingIAMBinding_KindAPIVersion = KeyRingIAMBinding_Kind + "." + CRDGroupVersion.String() + KeyRingIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(KeyRingIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&KeyRingIAMBinding{}, &KeyRingIAMBindingList{}) +} diff --git a/apis/kms/v1alpha1/zz_keyringiammember_terraformed.go b/apis/kms/v1alpha1/zz_keyringiammember_terraformed.go new file mode 100755 index 00000000..e38cafe0 --- /dev/null +++ b/apis/kms/v1alpha1/zz_keyringiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this KeyRingIAMMember +func (mg *KeyRingIAMMember) GetTerraformResourceType() string { + return "google_kms_key_ring_iam_member" +} + +// GetConnectionDetailsMapping for this KeyRingIAMMember +func (tr *KeyRingIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this KeyRingIAMMember +func (tr *KeyRingIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this KeyRingIAMMember +func (tr *KeyRingIAMMember) SetObservation(obs map[string]interface{}) 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 KeyRingIAMMember +func (tr *KeyRingIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this KeyRingIAMMember +func (tr *KeyRingIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this KeyRingIAMMember +func (tr *KeyRingIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this KeyRingIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *KeyRingIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &KeyRingIAMMemberParameters{} + 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 *KeyRingIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/kms/v1alpha1/zz_keyringiammember_types.go b/apis/kms/v1alpha1/zz_keyringiammember_types.go new file mode 100755 index 00000000..170c005b --- /dev/null +++ b/apis/kms/v1alpha1/zz_keyringiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 KeyRingIAMMemberConditionObservation struct { +} + +type KeyRingIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type KeyRingIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type KeyRingIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []KeyRingIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + KeyRingID *string `json:"keyRingId" tf:"key_ring_id,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// KeyRingIAMMemberSpec defines the desired state of KeyRingIAMMember +type KeyRingIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider KeyRingIAMMemberParameters `json:"forProvider"` +} + +// KeyRingIAMMemberStatus defines the observed state of KeyRingIAMMember. +type KeyRingIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider KeyRingIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// KeyRingIAMMember is the Schema for the KeyRingIAMMembers 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,gcpjet} +type KeyRingIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec KeyRingIAMMemberSpec `json:"spec"` + Status KeyRingIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// KeyRingIAMMemberList contains a list of KeyRingIAMMembers +type KeyRingIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []KeyRingIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + KeyRingIAMMember_Kind = "KeyRingIAMMember" + KeyRingIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: KeyRingIAMMember_Kind}.String() + KeyRingIAMMember_KindAPIVersion = KeyRingIAMMember_Kind + "." + CRDGroupVersion.String() + KeyRingIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(KeyRingIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&KeyRingIAMMember{}, &KeyRingIAMMemberList{}) +} diff --git a/apis/kms/v1alpha1/zz_keyringiampolicy_terraformed.go b/apis/kms/v1alpha1/zz_keyringiampolicy_terraformed.go new file mode 100755 index 00000000..c52ee4cf --- /dev/null +++ b/apis/kms/v1alpha1/zz_keyringiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this KeyRingIAMPolicy +func (mg *KeyRingIAMPolicy) GetTerraformResourceType() string { + return "google_kms_key_ring_iam_policy" +} + +// GetConnectionDetailsMapping for this KeyRingIAMPolicy +func (tr *KeyRingIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this KeyRingIAMPolicy +func (tr *KeyRingIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this KeyRingIAMPolicy +func (tr *KeyRingIAMPolicy) SetObservation(obs map[string]interface{}) 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 KeyRingIAMPolicy +func (tr *KeyRingIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this KeyRingIAMPolicy +func (tr *KeyRingIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this KeyRingIAMPolicy +func (tr *KeyRingIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this KeyRingIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *KeyRingIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &KeyRingIAMPolicyParameters{} + 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 *KeyRingIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/kms/v1alpha1/zz_keyringiampolicy_types.go b/apis/kms/v1alpha1/zz_keyringiampolicy_types.go new file mode 100755 index 00000000..bcfe67e4 --- /dev/null +++ b/apis/kms/v1alpha1/zz_keyringiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 KeyRingIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type KeyRingIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + KeyRingID *string `json:"keyRingId" tf:"key_ring_id,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` +} + +// KeyRingIAMPolicySpec defines the desired state of KeyRingIAMPolicy +type KeyRingIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider KeyRingIAMPolicyParameters `json:"forProvider"` +} + +// KeyRingIAMPolicyStatus defines the observed state of KeyRingIAMPolicy. +type KeyRingIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider KeyRingIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// KeyRingIAMPolicy is the Schema for the KeyRingIAMPolicys 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,gcpjet} +type KeyRingIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec KeyRingIAMPolicySpec `json:"spec"` + Status KeyRingIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// KeyRingIAMPolicyList contains a list of KeyRingIAMPolicys +type KeyRingIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []KeyRingIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + KeyRingIAMPolicy_Kind = "KeyRingIAMPolicy" + KeyRingIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: KeyRingIAMPolicy_Kind}.String() + KeyRingIAMPolicy_KindAPIVersion = KeyRingIAMPolicy_Kind + "." + CRDGroupVersion.String() + KeyRingIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(KeyRingIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&KeyRingIAMPolicy{}, &KeyRingIAMPolicyList{}) +} diff --git a/apis/kms/v1alpha1/zz_keyringimportjob_terraformed.go b/apis/kms/v1alpha1/zz_keyringimportjob_terraformed.go new file mode 100755 index 00000000..64cd0c83 --- /dev/null +++ b/apis/kms/v1alpha1/zz_keyringimportjob_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this KeyRingImportJob +func (mg *KeyRingImportJob) GetTerraformResourceType() string { + return "google_kms_key_ring_import_job" +} + +// GetConnectionDetailsMapping for this KeyRingImportJob +func (tr *KeyRingImportJob) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this KeyRingImportJob +func (tr *KeyRingImportJob) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this KeyRingImportJob +func (tr *KeyRingImportJob) SetObservation(obs map[string]interface{}) 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 KeyRingImportJob +func (tr *KeyRingImportJob) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this KeyRingImportJob +func (tr *KeyRingImportJob) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this KeyRingImportJob +func (tr *KeyRingImportJob) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this KeyRingImportJob using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *KeyRingImportJob) LateInitialize(attrs []byte) (bool, error) { + params := &KeyRingImportJobParameters{} + 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 *KeyRingImportJob) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/kms/v1alpha1/zz_keyringimportjob_types.go b/apis/kms/v1alpha1/zz_keyringimportjob_types.go new file mode 100755 index 00000000..1e12f36b --- /dev/null +++ b/apis/kms/v1alpha1/zz_keyringimportjob_types.go @@ -0,0 +1,126 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AttestationObservation struct { + Content *string `json:"content,omitempty" tf:"content,omitempty"` + + Format *string `json:"format,omitempty" tf:"format,omitempty"` +} + +type AttestationParameters struct { +} + +type KeyRingImportJobObservation struct { + Attestation []AttestationObservation `json:"attestation,omitempty" tf:"attestation,omitempty"` + + ExpireTime *string `json:"expireTime,omitempty" tf:"expire_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + PublicKey []PublicKeyObservation `json:"publicKey,omitempty" tf:"public_key,omitempty"` + + State *string `json:"state,omitempty" tf:"state,omitempty"` +} + +type KeyRingImportJobParameters struct { + + // It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63} + // +kubebuilder:validation:Required + ImportJobID *string `json:"importJobId" tf:"import_job_id,omitempty"` + + // The wrapping method to be used for incoming key material. Possible values: ["RSA_OAEP_3072_SHA1_AES_256", "RSA_OAEP_4096_SHA1_AES_256"] + // +kubebuilder:validation:Required + ImportMethod *string `json:"importMethod" tf:"import_method,omitempty"` + + // The KeyRing that this import job belongs to. + // Format: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}''. + // +kubebuilder:validation:Required + KeyRing *string `json:"keyRing" tf:"key_ring,omitempty"` + + // The protection level of the ImportJob. This must match the protectionLevel of the + // versionTemplate on the CryptoKey you attempt to import into. Possible values: ["SOFTWARE", "HSM", "EXTERNAL"] + // +kubebuilder:validation:Required + ProtectionLevel *string `json:"protectionLevel" tf:"protection_level,omitempty"` +} + +type PublicKeyObservation struct { + Pem *string `json:"pem,omitempty" tf:"pem,omitempty"` +} + +type PublicKeyParameters struct { +} + +// KeyRingImportJobSpec defines the desired state of KeyRingImportJob +type KeyRingImportJobSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider KeyRingImportJobParameters `json:"forProvider"` +} + +// KeyRingImportJobStatus defines the observed state of KeyRingImportJob. +type KeyRingImportJobStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider KeyRingImportJobObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// KeyRingImportJob is the Schema for the KeyRingImportJobs 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,gcpjet} +type KeyRingImportJob struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec KeyRingImportJobSpec `json:"spec"` + Status KeyRingImportJobStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// KeyRingImportJobList contains a list of KeyRingImportJobs +type KeyRingImportJobList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []KeyRingImportJob `json:"items"` +} + +// Repository type metadata. +var ( + KeyRingImportJob_Kind = "KeyRingImportJob" + KeyRingImportJob_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: KeyRingImportJob_Kind}.String() + KeyRingImportJob_KindAPIVersion = KeyRingImportJob_Kind + "." + CRDGroupVersion.String() + KeyRingImportJob_GroupVersionKind = CRDGroupVersion.WithKind(KeyRingImportJob_Kind) +) + +func init() { + SchemeBuilder.Register(&KeyRingImportJob{}, &KeyRingImportJobList{}) +} diff --git a/apis/kms/v1alpha1/zz_secretciphertext_terraformed.go b/apis/kms/v1alpha1/zz_secretciphertext_terraformed.go new file mode 100755 index 00000000..0f0e4df2 --- /dev/null +++ b/apis/kms/v1alpha1/zz_secretciphertext_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SecretCiphertext +func (mg *SecretCiphertext) GetTerraformResourceType() string { + return "google_kms_secret_ciphertext" +} + +// GetConnectionDetailsMapping for this SecretCiphertext +func (tr *SecretCiphertext) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"additional_authenticated_data": "spec.forProvider.additionalAuthenticatedDataSecretRef", "plaintext": "spec.forProvider.plaintextSecretRef"} +} + +// GetObservation of this SecretCiphertext +func (tr *SecretCiphertext) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SecretCiphertext +func (tr *SecretCiphertext) SetObservation(obs map[string]interface{}) 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 SecretCiphertext +func (tr *SecretCiphertext) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SecretCiphertext +func (tr *SecretCiphertext) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SecretCiphertext +func (tr *SecretCiphertext) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SecretCiphertext using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SecretCiphertext) LateInitialize(attrs []byte) (bool, error) { + params := &SecretCiphertextParameters{} + 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 *SecretCiphertext) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/kms/v1alpha1/zz_secretciphertext_types.go b/apis/kms/v1alpha1/zz_secretciphertext_types.go new file mode 100755 index 00000000..5ae3596b --- /dev/null +++ b/apis/kms/v1alpha1/zz_secretciphertext_types.go @@ -0,0 +1,97 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SecretCiphertextObservation struct { + Ciphertext *string `json:"ciphertext,omitempty" tf:"ciphertext,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SecretCiphertextParameters struct { + + // The additional authenticated data used for integrity checks during encryption and decryption. + // +kubebuilder:validation:Optional + AdditionalAuthenticatedDataSecretRef *v1.SecretKeySelector `json:"additionalAuthenticatedDataSecretRef,omitempty" tf:"-"` + + // The full name of the CryptoKey that will be used to encrypt the provided plaintext. + // Format: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}'' + // +kubebuilder:validation:Required + CryptoKey *string `json:"cryptoKey" tf:"crypto_key,omitempty"` + + // The plaintext to be encrypted. + // +kubebuilder:validation:Required + PlaintextSecretRef v1.SecretKeySelector `json:"plaintextSecretRef" tf:"-"` +} + +// SecretCiphertextSpec defines the desired state of SecretCiphertext +type SecretCiphertextSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SecretCiphertextParameters `json:"forProvider"` +} + +// SecretCiphertextStatus defines the observed state of SecretCiphertext. +type SecretCiphertextStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SecretCiphertextObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecretCiphertext is the Schema for the SecretCiphertexts 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,gcpjet} +type SecretCiphertext struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SecretCiphertextSpec `json:"spec"` + Status SecretCiphertextStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecretCiphertextList contains a list of SecretCiphertexts +type SecretCiphertextList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SecretCiphertext `json:"items"` +} + +// Repository type metadata. +var ( + SecretCiphertext_Kind = "SecretCiphertext" + SecretCiphertext_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SecretCiphertext_Kind}.String() + SecretCiphertext_KindAPIVersion = SecretCiphertext_Kind + "." + CRDGroupVersion.String() + SecretCiphertext_GroupVersionKind = CRDGroupVersion.WithKind(SecretCiphertext_Kind) +) + +func init() { + SchemeBuilder.Register(&SecretCiphertext{}, &SecretCiphertextList{}) +} diff --git a/apis/logging/v1alpha1/zz_billingaccountbucketconfig_terraformed.go b/apis/logging/v1alpha1/zz_billingaccountbucketconfig_terraformed.go new file mode 100755 index 00000000..bb2b2bff --- /dev/null +++ b/apis/logging/v1alpha1/zz_billingaccountbucketconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this BillingAccountBucketConfig +func (mg *BillingAccountBucketConfig) GetTerraformResourceType() string { + return "google_logging_billing_account_bucket_config" +} + +// GetConnectionDetailsMapping for this BillingAccountBucketConfig +func (tr *BillingAccountBucketConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this BillingAccountBucketConfig +func (tr *BillingAccountBucketConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this BillingAccountBucketConfig +func (tr *BillingAccountBucketConfig) SetObservation(obs map[string]interface{}) 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 BillingAccountBucketConfig +func (tr *BillingAccountBucketConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this BillingAccountBucketConfig +func (tr *BillingAccountBucketConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this BillingAccountBucketConfig +func (tr *BillingAccountBucketConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this BillingAccountBucketConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *BillingAccountBucketConfig) LateInitialize(attrs []byte) (bool, error) { + params := &BillingAccountBucketConfigParameters{} + 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 *BillingAccountBucketConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/logging/v1alpha1/zz_billingaccountbucketconfig_types.go b/apis/logging/v1alpha1/zz_billingaccountbucketconfig_types.go new file mode 100755 index 00000000..1cabff7a --- /dev/null +++ b/apis/logging/v1alpha1/zz_billingaccountbucketconfig_types.go @@ -0,0 +1,106 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BillingAccountBucketConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LifecycleState *string `json:"lifecycleState,omitempty" tf:"lifecycle_state,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type BillingAccountBucketConfigParameters struct { + + // The parent resource that contains the logging bucket. + // +kubebuilder:validation:Required + BillingAccount *string `json:"billingAccount" tf:"billing_account,omitempty"` + + // The name of the logging bucket. Logging automatically creates two log buckets: _Required and _Default. + // +kubebuilder:validation:Required + BucketID *string `json:"bucketId" tf:"bucket_id,omitempty"` + + // An optional description for this bucket. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The location of the bucket. + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used. + // +kubebuilder:validation:Optional + RetentionDays *int64 `json:"retentionDays,omitempty" tf:"retention_days,omitempty"` +} + +// BillingAccountBucketConfigSpec defines the desired state of BillingAccountBucketConfig +type BillingAccountBucketConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BillingAccountBucketConfigParameters `json:"forProvider"` +} + +// BillingAccountBucketConfigStatus defines the observed state of BillingAccountBucketConfig. +type BillingAccountBucketConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BillingAccountBucketConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// BillingAccountBucketConfig is the Schema for the BillingAccountBucketConfigs 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,gcpjet} +type BillingAccountBucketConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BillingAccountBucketConfigSpec `json:"spec"` + Status BillingAccountBucketConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BillingAccountBucketConfigList contains a list of BillingAccountBucketConfigs +type BillingAccountBucketConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []BillingAccountBucketConfig `json:"items"` +} + +// Repository type metadata. +var ( + BillingAccountBucketConfig_Kind = "BillingAccountBucketConfig" + BillingAccountBucketConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BillingAccountBucketConfig_Kind}.String() + BillingAccountBucketConfig_KindAPIVersion = BillingAccountBucketConfig_Kind + "." + CRDGroupVersion.String() + BillingAccountBucketConfig_GroupVersionKind = CRDGroupVersion.WithKind(BillingAccountBucketConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&BillingAccountBucketConfig{}, &BillingAccountBucketConfigList{}) +} diff --git a/apis/logging/v1alpha1/zz_billingaccountexclusion_terraformed.go b/apis/logging/v1alpha1/zz_billingaccountexclusion_terraformed.go new file mode 100755 index 00000000..32673d4e --- /dev/null +++ b/apis/logging/v1alpha1/zz_billingaccountexclusion_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this BillingAccountExclusion +func (mg *BillingAccountExclusion) GetTerraformResourceType() string { + return "google_logging_billing_account_exclusion" +} + +// GetConnectionDetailsMapping for this BillingAccountExclusion +func (tr *BillingAccountExclusion) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this BillingAccountExclusion +func (tr *BillingAccountExclusion) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this BillingAccountExclusion +func (tr *BillingAccountExclusion) SetObservation(obs map[string]interface{}) 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 BillingAccountExclusion +func (tr *BillingAccountExclusion) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this BillingAccountExclusion +func (tr *BillingAccountExclusion) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this BillingAccountExclusion +func (tr *BillingAccountExclusion) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this BillingAccountExclusion using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *BillingAccountExclusion) LateInitialize(attrs []byte) (bool, error) { + params := &BillingAccountExclusionParameters{} + 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 *BillingAccountExclusion) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/logging/v1alpha1/zz_billingaccountexclusion_types.go b/apis/logging/v1alpha1/zz_billingaccountexclusion_types.go new file mode 100755 index 00000000..7ca55399 --- /dev/null +++ b/apis/logging/v1alpha1/zz_billingaccountexclusion_types.go @@ -0,0 +1,101 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BillingAccountExclusionObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type BillingAccountExclusionParameters struct { + + // +kubebuilder:validation:Required + BillingAccount *string `json:"billingAccount" tf:"billing_account,omitempty"` + + // A human-readable description. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Whether this exclusion rule should be disabled or not. This defaults to false. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // The filter to apply when excluding logs. Only log entries that match the filter are excluded. + // +kubebuilder:validation:Required + Filter *string `json:"filter" tf:"filter,omitempty"` + + // The name of the logging exclusion. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +// BillingAccountExclusionSpec defines the desired state of BillingAccountExclusion +type BillingAccountExclusionSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BillingAccountExclusionParameters `json:"forProvider"` +} + +// BillingAccountExclusionStatus defines the observed state of BillingAccountExclusion. +type BillingAccountExclusionStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BillingAccountExclusionObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// BillingAccountExclusion is the Schema for the BillingAccountExclusions 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,gcpjet} +type BillingAccountExclusion struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BillingAccountExclusionSpec `json:"spec"` + Status BillingAccountExclusionStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BillingAccountExclusionList contains a list of BillingAccountExclusions +type BillingAccountExclusionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []BillingAccountExclusion `json:"items"` +} + +// Repository type metadata. +var ( + BillingAccountExclusion_Kind = "BillingAccountExclusion" + BillingAccountExclusion_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BillingAccountExclusion_Kind}.String() + BillingAccountExclusion_KindAPIVersion = BillingAccountExclusion_Kind + "." + CRDGroupVersion.String() + BillingAccountExclusion_GroupVersionKind = CRDGroupVersion.WithKind(BillingAccountExclusion_Kind) +) + +func init() { + SchemeBuilder.Register(&BillingAccountExclusion{}, &BillingAccountExclusionList{}) +} diff --git a/apis/logging/v1alpha1/zz_billingaccountsink_terraformed.go b/apis/logging/v1alpha1/zz_billingaccountsink_terraformed.go new file mode 100755 index 00000000..42acd287 --- /dev/null +++ b/apis/logging/v1alpha1/zz_billingaccountsink_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this BillingAccountSink +func (mg *BillingAccountSink) GetTerraformResourceType() string { + return "google_logging_billing_account_sink" +} + +// GetConnectionDetailsMapping for this BillingAccountSink +func (tr *BillingAccountSink) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this BillingAccountSink +func (tr *BillingAccountSink) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this BillingAccountSink +func (tr *BillingAccountSink) SetObservation(obs map[string]interface{}) 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 BillingAccountSink +func (tr *BillingAccountSink) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this BillingAccountSink +func (tr *BillingAccountSink) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this BillingAccountSink +func (tr *BillingAccountSink) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this BillingAccountSink using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *BillingAccountSink) LateInitialize(attrs []byte) (bool, error) { + params := &BillingAccountSinkParameters{} + 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 *BillingAccountSink) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/logging/v1alpha1/zz_billingaccountsink_types.go b/apis/logging/v1alpha1/zz_billingaccountsink_types.go new file mode 100755 index 00000000..b2358cfb --- /dev/null +++ b/apis/logging/v1alpha1/zz_billingaccountsink_types.go @@ -0,0 +1,148 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BigqueryOptionsObservation struct { +} + +type BigqueryOptionsParameters struct { + + // Whether to use BigQuery's partition tables. By default, Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax has to be used instead. In both cases, tables are sharded based on UTC timezone. + // +kubebuilder:validation:Required + UsePartitionedTables *bool `json:"usePartitionedTables" tf:"use_partitioned_tables,omitempty"` +} + +type BillingAccountSinkObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + WriterIdentity *string `json:"writerIdentity,omitempty" tf:"writer_identity,omitempty"` +} + +type BillingAccountSinkParameters struct { + + // Options that affect sinks exporting data to BigQuery. + // +kubebuilder:validation:Optional + BigqueryOptions []BigqueryOptionsParameters `json:"bigqueryOptions,omitempty" tf:"bigquery_options,omitempty"` + + // The billing account exported to the sink. + // +kubebuilder:validation:Required + BillingAccount *string `json:"billingAccount" tf:"billing_account,omitempty"` + + // A description of this sink. The maximum length of the description is 8000 characters. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The destination of the sink (or, in other words, where logs are written to). Can be a Cloud Storage bucket, a PubSub topic, or a BigQuery dataset. Examples: "storage.googleapis.com/[GCS_BUCKET]" "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" The writer associated with the sink must have access to write to the above resource. + // +kubebuilder:validation:Required + Destination *string `json:"destination" tf:"destination,omitempty"` + + // If set to True, then this sink is disabled and it does not export any log entries. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // Log entries that match any of the exclusion filters will not be exported. If a log entry is matched by both filter and one of exclusion_filters it will not be exported. + // +kubebuilder:validation:Optional + Exclusions []ExclusionsParameters `json:"exclusions,omitempty" tf:"exclusions,omitempty"` + + // The filter to apply when exporting logs. Only log entries that match the filter are exported. + // +kubebuilder:validation:Optional + Filter *string `json:"filter,omitempty" tf:"filter,omitempty"` + + // The name of the logging sink. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type ExclusionsObservation struct { +} + +type ExclusionsParameters struct { + + // A description of this exclusion. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // If set to True, then this exclusion is disabled and it does not exclude any log entries + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // An advanced logs filter that matches the log entries to be excluded. By using the sample function, you can exclude less than 100% of the matching log entries + // +kubebuilder:validation:Required + Filter *string `json:"filter" tf:"filter,omitempty"` + + // A client-assigned identifier, such as "load-balancer-exclusion". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. First character has to be alphanumeric. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +// BillingAccountSinkSpec defines the desired state of BillingAccountSink +type BillingAccountSinkSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BillingAccountSinkParameters `json:"forProvider"` +} + +// BillingAccountSinkStatus defines the observed state of BillingAccountSink. +type BillingAccountSinkStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BillingAccountSinkObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// BillingAccountSink is the Schema for the BillingAccountSinks 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,gcpjet} +type BillingAccountSink struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BillingAccountSinkSpec `json:"spec"` + Status BillingAccountSinkStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BillingAccountSinkList contains a list of BillingAccountSinks +type BillingAccountSinkList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []BillingAccountSink `json:"items"` +} + +// Repository type metadata. +var ( + BillingAccountSink_Kind = "BillingAccountSink" + BillingAccountSink_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BillingAccountSink_Kind}.String() + BillingAccountSink_KindAPIVersion = BillingAccountSink_Kind + "." + CRDGroupVersion.String() + BillingAccountSink_GroupVersionKind = CRDGroupVersion.WithKind(BillingAccountSink_Kind) +) + +func init() { + SchemeBuilder.Register(&BillingAccountSink{}, &BillingAccountSinkList{}) +} diff --git a/apis/logging/v1alpha1/zz_folderbucketconfig_terraformed.go b/apis/logging/v1alpha1/zz_folderbucketconfig_terraformed.go new file mode 100755 index 00000000..eea5a627 --- /dev/null +++ b/apis/logging/v1alpha1/zz_folderbucketconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FolderBucketConfig +func (mg *FolderBucketConfig) GetTerraformResourceType() string { + return "google_logging_folder_bucket_config" +} + +// GetConnectionDetailsMapping for this FolderBucketConfig +func (tr *FolderBucketConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FolderBucketConfig +func (tr *FolderBucketConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FolderBucketConfig +func (tr *FolderBucketConfig) SetObservation(obs map[string]interface{}) 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 FolderBucketConfig +func (tr *FolderBucketConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FolderBucketConfig +func (tr *FolderBucketConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FolderBucketConfig +func (tr *FolderBucketConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FolderBucketConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FolderBucketConfig) LateInitialize(attrs []byte) (bool, error) { + params := &FolderBucketConfigParameters{} + 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 *FolderBucketConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/logging/v1alpha1/zz_folderbucketconfig_types.go b/apis/logging/v1alpha1/zz_folderbucketconfig_types.go new file mode 100755 index 00000000..0bb40bda --- /dev/null +++ b/apis/logging/v1alpha1/zz_folderbucketconfig_types.go @@ -0,0 +1,106 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FolderBucketConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LifecycleState *string `json:"lifecycleState,omitempty" tf:"lifecycle_state,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type FolderBucketConfigParameters struct { + + // The name of the logging bucket. Logging automatically creates two log buckets: _Required and _Default. + // +kubebuilder:validation:Required + BucketID *string `json:"bucketId" tf:"bucket_id,omitempty"` + + // An optional description for this bucket. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The parent resource that contains the logging bucket. + // +kubebuilder:validation:Required + Folder *string `json:"folder" tf:"folder,omitempty"` + + // The location of the bucket. + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used. + // +kubebuilder:validation:Optional + RetentionDays *int64 `json:"retentionDays,omitempty" tf:"retention_days,omitempty"` +} + +// FolderBucketConfigSpec defines the desired state of FolderBucketConfig +type FolderBucketConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FolderBucketConfigParameters `json:"forProvider"` +} + +// FolderBucketConfigStatus defines the observed state of FolderBucketConfig. +type FolderBucketConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FolderBucketConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderBucketConfig is the Schema for the FolderBucketConfigs 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,gcpjet} +type FolderBucketConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FolderBucketConfigSpec `json:"spec"` + Status FolderBucketConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderBucketConfigList contains a list of FolderBucketConfigs +type FolderBucketConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FolderBucketConfig `json:"items"` +} + +// Repository type metadata. +var ( + FolderBucketConfig_Kind = "FolderBucketConfig" + FolderBucketConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FolderBucketConfig_Kind}.String() + FolderBucketConfig_KindAPIVersion = FolderBucketConfig_Kind + "." + CRDGroupVersion.String() + FolderBucketConfig_GroupVersionKind = CRDGroupVersion.WithKind(FolderBucketConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&FolderBucketConfig{}, &FolderBucketConfigList{}) +} diff --git a/apis/logging/v1alpha1/zz_folderexclusion_terraformed.go b/apis/logging/v1alpha1/zz_folderexclusion_terraformed.go new file mode 100755 index 00000000..4016547d --- /dev/null +++ b/apis/logging/v1alpha1/zz_folderexclusion_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FolderExclusion +func (mg *FolderExclusion) GetTerraformResourceType() string { + return "google_logging_folder_exclusion" +} + +// GetConnectionDetailsMapping for this FolderExclusion +func (tr *FolderExclusion) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FolderExclusion +func (tr *FolderExclusion) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FolderExclusion +func (tr *FolderExclusion) SetObservation(obs map[string]interface{}) 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 FolderExclusion +func (tr *FolderExclusion) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FolderExclusion +func (tr *FolderExclusion) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FolderExclusion +func (tr *FolderExclusion) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FolderExclusion using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FolderExclusion) LateInitialize(attrs []byte) (bool, error) { + params := &FolderExclusionParameters{} + 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 *FolderExclusion) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/logging/v1alpha1/zz_folderexclusion_types.go b/apis/logging/v1alpha1/zz_folderexclusion_types.go new file mode 100755 index 00000000..5adc5791 --- /dev/null +++ b/apis/logging/v1alpha1/zz_folderexclusion_types.go @@ -0,0 +1,101 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FolderExclusionObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type FolderExclusionParameters struct { + + // A human-readable description. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Whether this exclusion rule should be disabled or not. This defaults to false. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // The filter to apply when excluding logs. Only log entries that match the filter are excluded. + // +kubebuilder:validation:Required + Filter *string `json:"filter" tf:"filter,omitempty"` + + // +kubebuilder:validation:Required + Folder *string `json:"folder" tf:"folder,omitempty"` + + // The name of the logging exclusion. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +// FolderExclusionSpec defines the desired state of FolderExclusion +type FolderExclusionSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FolderExclusionParameters `json:"forProvider"` +} + +// FolderExclusionStatus defines the observed state of FolderExclusion. +type FolderExclusionStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FolderExclusionObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderExclusion is the Schema for the FolderExclusions 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,gcpjet} +type FolderExclusion struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FolderExclusionSpec `json:"spec"` + Status FolderExclusionStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderExclusionList contains a list of FolderExclusions +type FolderExclusionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FolderExclusion `json:"items"` +} + +// Repository type metadata. +var ( + FolderExclusion_Kind = "FolderExclusion" + FolderExclusion_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FolderExclusion_Kind}.String() + FolderExclusion_KindAPIVersion = FolderExclusion_Kind + "." + CRDGroupVersion.String() + FolderExclusion_GroupVersionKind = CRDGroupVersion.WithKind(FolderExclusion_Kind) +) + +func init() { + SchemeBuilder.Register(&FolderExclusion{}, &FolderExclusionList{}) +} diff --git a/apis/logging/v1alpha1/zz_foldersink_terraformed.go b/apis/logging/v1alpha1/zz_foldersink_terraformed.go new file mode 100755 index 00000000..7ef1b77b --- /dev/null +++ b/apis/logging/v1alpha1/zz_foldersink_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FolderSink +func (mg *FolderSink) GetTerraformResourceType() string { + return "google_logging_folder_sink" +} + +// GetConnectionDetailsMapping for this FolderSink +func (tr *FolderSink) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FolderSink +func (tr *FolderSink) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FolderSink +func (tr *FolderSink) SetObservation(obs map[string]interface{}) 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 FolderSink +func (tr *FolderSink) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FolderSink +func (tr *FolderSink) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FolderSink +func (tr *FolderSink) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this FolderSink using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FolderSink) LateInitialize(attrs []byte) (bool, error) { + params := &FolderSinkParameters{} + 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 *FolderSink) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/logging/v1alpha1/zz_foldersink_types.go b/apis/logging/v1alpha1/zz_foldersink_types.go new file mode 100755 index 00000000..2daa3d8a --- /dev/null +++ b/apis/logging/v1alpha1/zz_foldersink_types.go @@ -0,0 +1,152 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 FolderSinkBigqueryOptionsObservation struct { +} + +type FolderSinkBigqueryOptionsParameters struct { + + // Whether to use BigQuery's partition tables. By default, Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax has to be used instead. In both cases, tables are sharded based on UTC timezone. + // +kubebuilder:validation:Required + UsePartitionedTables *bool `json:"usePartitionedTables" tf:"use_partitioned_tables,omitempty"` +} + +type FolderSinkExclusionsObservation struct { +} + +type FolderSinkExclusionsParameters struct { + + // A description of this exclusion. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // If set to True, then this exclusion is disabled and it does not exclude any log entries + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // An advanced logs filter that matches the log entries to be excluded. By using the sample function, you can exclude less than 100% of the matching log entries + // +kubebuilder:validation:Required + Filter *string `json:"filter" tf:"filter,omitempty"` + + // A client-assigned identifier, such as "load-balancer-exclusion". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. First character has to be alphanumeric. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type FolderSinkObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + WriterIdentity *string `json:"writerIdentity,omitempty" tf:"writer_identity,omitempty"` +} + +type FolderSinkParameters struct { + + // Options that affect sinks exporting data to BigQuery. + // +kubebuilder:validation:Optional + BigqueryOptions []FolderSinkBigqueryOptionsParameters `json:"bigqueryOptions,omitempty" tf:"bigquery_options,omitempty"` + + // A description of this sink. The maximum length of the description is 8000 characters. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The destination of the sink (or, in other words, where logs are written to). Can be a Cloud Storage bucket, a PubSub topic, or a BigQuery dataset. Examples: "storage.googleapis.com/[GCS_BUCKET]" "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" The writer associated with the sink must have access to write to the above resource. + // +kubebuilder:validation:Required + Destination *string `json:"destination" tf:"destination,omitempty"` + + // If set to True, then this sink is disabled and it does not export any log entries. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // Log entries that match any of the exclusion filters will not be exported. If a log entry is matched by both filter and one of exclusion_filters it will not be exported. + // +kubebuilder:validation:Optional + Exclusions []FolderSinkExclusionsParameters `json:"exclusions,omitempty" tf:"exclusions,omitempty"` + + // The filter to apply when exporting logs. Only log entries that match the filter are exported. + // +kubebuilder:validation:Optional + Filter *string `json:"filter,omitempty" tf:"filter,omitempty"` + + // The folder to be exported to the sink. Note that either [FOLDER_ID] or "folders/[FOLDER_ID]" is accepted. + // +kubebuilder:validation:Required + Folder *string `json:"folder" tf:"folder,omitempty"` + + // Whether or not to include children folders in the sink export. If true, logs associated with child projects are also exported; otherwise only logs relating to the provided folder are included. + // +kubebuilder:validation:Optional + IncludeChildren *bool `json:"includeChildren,omitempty" tf:"include_children,omitempty"` + + // The name of the logging sink. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +// FolderSinkSpec defines the desired state of FolderSink +type FolderSinkSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FolderSinkParameters `json:"forProvider"` +} + +// FolderSinkStatus defines the observed state of FolderSink. +type FolderSinkStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FolderSinkObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderSink is the Schema for the FolderSinks 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,gcpjet} +type FolderSink struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FolderSinkSpec `json:"spec"` + Status FolderSinkStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FolderSinkList contains a list of FolderSinks +type FolderSinkList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FolderSink `json:"items"` +} + +// Repository type metadata. +var ( + FolderSink_Kind = "FolderSink" + FolderSink_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FolderSink_Kind}.String() + FolderSink_KindAPIVersion = FolderSink_Kind + "." + CRDGroupVersion.String() + FolderSink_GroupVersionKind = CRDGroupVersion.WithKind(FolderSink_Kind) +) + +func init() { + SchemeBuilder.Register(&FolderSink{}, &FolderSinkList{}) +} diff --git a/apis/logging/v1alpha1/zz_generated.deepcopy.go b/apis/logging/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..882c827c --- /dev/null +++ b/apis/logging/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,2818 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BigqueryOptionsObservation) DeepCopyInto(out *BigqueryOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigqueryOptionsObservation. +func (in *BigqueryOptionsObservation) DeepCopy() *BigqueryOptionsObservation { + if in == nil { + return nil + } + out := new(BigqueryOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BigqueryOptionsParameters) DeepCopyInto(out *BigqueryOptionsParameters) { + *out = *in + if in.UsePartitionedTables != nil { + in, out := &in.UsePartitionedTables, &out.UsePartitionedTables + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BigqueryOptionsParameters. +func (in *BigqueryOptionsParameters) DeepCopy() *BigqueryOptionsParameters { + if in == nil { + return nil + } + out := new(BigqueryOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingAccountBucketConfig) DeepCopyInto(out *BillingAccountBucketConfig) { + *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 BillingAccountBucketConfig. +func (in *BillingAccountBucketConfig) DeepCopy() *BillingAccountBucketConfig { + if in == nil { + return nil + } + out := new(BillingAccountBucketConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BillingAccountBucketConfig) 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 *BillingAccountBucketConfigList) DeepCopyInto(out *BillingAccountBucketConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BillingAccountBucketConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingAccountBucketConfigList. +func (in *BillingAccountBucketConfigList) DeepCopy() *BillingAccountBucketConfigList { + if in == nil { + return nil + } + out := new(BillingAccountBucketConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BillingAccountBucketConfigList) 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 *BillingAccountBucketConfigObservation) DeepCopyInto(out *BillingAccountBucketConfigObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LifecycleState != nil { + in, out := &in.LifecycleState, &out.LifecycleState + *out = new(string) + **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 BillingAccountBucketConfigObservation. +func (in *BillingAccountBucketConfigObservation) DeepCopy() *BillingAccountBucketConfigObservation { + if in == nil { + return nil + } + out := new(BillingAccountBucketConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingAccountBucketConfigParameters) DeepCopyInto(out *BillingAccountBucketConfigParameters) { + *out = *in + if in.BillingAccount != nil { + in, out := &in.BillingAccount, &out.BillingAccount + *out = new(string) + **out = **in + } + if in.BucketID != nil { + in, out := &in.BucketID, &out.BucketID + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.RetentionDays != nil { + in, out := &in.RetentionDays, &out.RetentionDays + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingAccountBucketConfigParameters. +func (in *BillingAccountBucketConfigParameters) DeepCopy() *BillingAccountBucketConfigParameters { + if in == nil { + return nil + } + out := new(BillingAccountBucketConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingAccountBucketConfigSpec) DeepCopyInto(out *BillingAccountBucketConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingAccountBucketConfigSpec. +func (in *BillingAccountBucketConfigSpec) DeepCopy() *BillingAccountBucketConfigSpec { + if in == nil { + return nil + } + out := new(BillingAccountBucketConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingAccountBucketConfigStatus) DeepCopyInto(out *BillingAccountBucketConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingAccountBucketConfigStatus. +func (in *BillingAccountBucketConfigStatus) DeepCopy() *BillingAccountBucketConfigStatus { + if in == nil { + return nil + } + out := new(BillingAccountBucketConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingAccountExclusion) DeepCopyInto(out *BillingAccountExclusion) { + *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 BillingAccountExclusion. +func (in *BillingAccountExclusion) DeepCopy() *BillingAccountExclusion { + if in == nil { + return nil + } + out := new(BillingAccountExclusion) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BillingAccountExclusion) 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 *BillingAccountExclusionList) DeepCopyInto(out *BillingAccountExclusionList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BillingAccountExclusion, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingAccountExclusionList. +func (in *BillingAccountExclusionList) DeepCopy() *BillingAccountExclusionList { + if in == nil { + return nil + } + out := new(BillingAccountExclusionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BillingAccountExclusionList) 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 *BillingAccountExclusionObservation) DeepCopyInto(out *BillingAccountExclusionObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingAccountExclusionObservation. +func (in *BillingAccountExclusionObservation) DeepCopy() *BillingAccountExclusionObservation { + if in == nil { + return nil + } + out := new(BillingAccountExclusionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingAccountExclusionParameters) DeepCopyInto(out *BillingAccountExclusionParameters) { + *out = *in + if in.BillingAccount != nil { + in, out := &in.BillingAccount, &out.BillingAccount + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **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 BillingAccountExclusionParameters. +func (in *BillingAccountExclusionParameters) DeepCopy() *BillingAccountExclusionParameters { + if in == nil { + return nil + } + out := new(BillingAccountExclusionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingAccountExclusionSpec) DeepCopyInto(out *BillingAccountExclusionSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingAccountExclusionSpec. +func (in *BillingAccountExclusionSpec) DeepCopy() *BillingAccountExclusionSpec { + if in == nil { + return nil + } + out := new(BillingAccountExclusionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingAccountExclusionStatus) DeepCopyInto(out *BillingAccountExclusionStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingAccountExclusionStatus. +func (in *BillingAccountExclusionStatus) DeepCopy() *BillingAccountExclusionStatus { + if in == nil { + return nil + } + out := new(BillingAccountExclusionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingAccountSink) DeepCopyInto(out *BillingAccountSink) { + *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 BillingAccountSink. +func (in *BillingAccountSink) DeepCopy() *BillingAccountSink { + if in == nil { + return nil + } + out := new(BillingAccountSink) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BillingAccountSink) 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 *BillingAccountSinkList) DeepCopyInto(out *BillingAccountSinkList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BillingAccountSink, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingAccountSinkList. +func (in *BillingAccountSinkList) DeepCopy() *BillingAccountSinkList { + if in == nil { + return nil + } + out := new(BillingAccountSinkList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BillingAccountSinkList) 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 *BillingAccountSinkObservation) DeepCopyInto(out *BillingAccountSinkObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.WriterIdentity != nil { + in, out := &in.WriterIdentity, &out.WriterIdentity + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingAccountSinkObservation. +func (in *BillingAccountSinkObservation) DeepCopy() *BillingAccountSinkObservation { + if in == nil { + return nil + } + out := new(BillingAccountSinkObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingAccountSinkParameters) DeepCopyInto(out *BillingAccountSinkParameters) { + *out = *in + if in.BigqueryOptions != nil { + in, out := &in.BigqueryOptions, &out.BigqueryOptions + *out = make([]BigqueryOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BillingAccount != nil { + in, out := &in.BillingAccount, &out.BillingAccount + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.Exclusions != nil { + in, out := &in.Exclusions, &out.Exclusions + *out = make([]ExclusionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **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 BillingAccountSinkParameters. +func (in *BillingAccountSinkParameters) DeepCopy() *BillingAccountSinkParameters { + if in == nil { + return nil + } + out := new(BillingAccountSinkParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingAccountSinkSpec) DeepCopyInto(out *BillingAccountSinkSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingAccountSinkSpec. +func (in *BillingAccountSinkSpec) DeepCopy() *BillingAccountSinkSpec { + if in == nil { + return nil + } + out := new(BillingAccountSinkSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BillingAccountSinkStatus) DeepCopyInto(out *BillingAccountSinkStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BillingAccountSinkStatus. +func (in *BillingAccountSinkStatus) DeepCopy() *BillingAccountSinkStatus { + if in == nil { + return nil + } + out := new(BillingAccountSinkStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketOptionsObservation) DeepCopyInto(out *BucketOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketOptionsObservation. +func (in *BucketOptionsObservation) DeepCopy() *BucketOptionsObservation { + if in == nil { + return nil + } + out := new(BucketOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketOptionsParameters) DeepCopyInto(out *BucketOptionsParameters) { + *out = *in + if in.ExplicitBuckets != nil { + in, out := &in.ExplicitBuckets, &out.ExplicitBuckets + *out = make([]ExplicitBucketsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExponentialBuckets != nil { + in, out := &in.ExponentialBuckets, &out.ExponentialBuckets + *out = make([]ExponentialBucketsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LinearBuckets != nil { + in, out := &in.LinearBuckets, &out.LinearBuckets + *out = make([]LinearBucketsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketOptionsParameters. +func (in *BucketOptionsParameters) DeepCopy() *BucketOptionsParameters { + if in == nil { + return nil + } + out := new(BucketOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExclusionsObservation) DeepCopyInto(out *ExclusionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExclusionsObservation. +func (in *ExclusionsObservation) DeepCopy() *ExclusionsObservation { + if in == nil { + return nil + } + out := new(ExclusionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExclusionsParameters) DeepCopyInto(out *ExclusionsParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **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 ExclusionsParameters. +func (in *ExclusionsParameters) DeepCopy() *ExclusionsParameters { + if in == nil { + return nil + } + out := new(ExclusionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExplicitBucketsObservation) DeepCopyInto(out *ExplicitBucketsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExplicitBucketsObservation. +func (in *ExplicitBucketsObservation) DeepCopy() *ExplicitBucketsObservation { + if in == nil { + return nil + } + out := new(ExplicitBucketsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExplicitBucketsParameters) DeepCopyInto(out *ExplicitBucketsParameters) { + *out = *in + if in.Bounds != nil { + in, out := &in.Bounds, &out.Bounds + *out = make([]*float64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(float64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExplicitBucketsParameters. +func (in *ExplicitBucketsParameters) DeepCopy() *ExplicitBucketsParameters { + if in == nil { + return nil + } + out := new(ExplicitBucketsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExponentialBucketsObservation) DeepCopyInto(out *ExponentialBucketsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExponentialBucketsObservation. +func (in *ExponentialBucketsObservation) DeepCopy() *ExponentialBucketsObservation { + if in == nil { + return nil + } + out := new(ExponentialBucketsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExponentialBucketsParameters) DeepCopyInto(out *ExponentialBucketsParameters) { + *out = *in + if in.GrowthFactor != nil { + in, out := &in.GrowthFactor, &out.GrowthFactor + *out = new(float64) + **out = **in + } + if in.NumFiniteBuckets != nil { + in, out := &in.NumFiniteBuckets, &out.NumFiniteBuckets + *out = new(int64) + **out = **in + } + if in.Scale != nil { + in, out := &in.Scale, &out.Scale + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExponentialBucketsParameters. +func (in *ExponentialBucketsParameters) DeepCopy() *ExponentialBucketsParameters { + if in == nil { + return nil + } + out := new(ExponentialBucketsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderBucketConfig) DeepCopyInto(out *FolderBucketConfig) { + *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 FolderBucketConfig. +func (in *FolderBucketConfig) DeepCopy() *FolderBucketConfig { + if in == nil { + return nil + } + out := new(FolderBucketConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderBucketConfig) 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 *FolderBucketConfigList) DeepCopyInto(out *FolderBucketConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FolderBucketConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderBucketConfigList. +func (in *FolderBucketConfigList) DeepCopy() *FolderBucketConfigList { + if in == nil { + return nil + } + out := new(FolderBucketConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderBucketConfigList) 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 *FolderBucketConfigObservation) DeepCopyInto(out *FolderBucketConfigObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LifecycleState != nil { + in, out := &in.LifecycleState, &out.LifecycleState + *out = new(string) + **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 FolderBucketConfigObservation. +func (in *FolderBucketConfigObservation) DeepCopy() *FolderBucketConfigObservation { + if in == nil { + return nil + } + out := new(FolderBucketConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderBucketConfigParameters) DeepCopyInto(out *FolderBucketConfigParameters) { + *out = *in + if in.BucketID != nil { + in, out := &in.BucketID, &out.BucketID + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Folder != nil { + in, out := &in.Folder, &out.Folder + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.RetentionDays != nil { + in, out := &in.RetentionDays, &out.RetentionDays + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderBucketConfigParameters. +func (in *FolderBucketConfigParameters) DeepCopy() *FolderBucketConfigParameters { + if in == nil { + return nil + } + out := new(FolderBucketConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderBucketConfigSpec) DeepCopyInto(out *FolderBucketConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderBucketConfigSpec. +func (in *FolderBucketConfigSpec) DeepCopy() *FolderBucketConfigSpec { + if in == nil { + return nil + } + out := new(FolderBucketConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderBucketConfigStatus) DeepCopyInto(out *FolderBucketConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderBucketConfigStatus. +func (in *FolderBucketConfigStatus) DeepCopy() *FolderBucketConfigStatus { + if in == nil { + return nil + } + out := new(FolderBucketConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderExclusion) DeepCopyInto(out *FolderExclusion) { + *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 FolderExclusion. +func (in *FolderExclusion) DeepCopy() *FolderExclusion { + if in == nil { + return nil + } + out := new(FolderExclusion) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderExclusion) 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 *FolderExclusionList) DeepCopyInto(out *FolderExclusionList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FolderExclusion, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderExclusionList. +func (in *FolderExclusionList) DeepCopy() *FolderExclusionList { + if in == nil { + return nil + } + out := new(FolderExclusionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderExclusionList) 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 *FolderExclusionObservation) DeepCopyInto(out *FolderExclusionObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderExclusionObservation. +func (in *FolderExclusionObservation) DeepCopy() *FolderExclusionObservation { + if in == nil { + return nil + } + out := new(FolderExclusionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderExclusionParameters) DeepCopyInto(out *FolderExclusionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **out = **in + } + if in.Folder != nil { + in, out := &in.Folder, &out.Folder + *out = new(string) + **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 FolderExclusionParameters. +func (in *FolderExclusionParameters) DeepCopy() *FolderExclusionParameters { + if in == nil { + return nil + } + out := new(FolderExclusionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderExclusionSpec) DeepCopyInto(out *FolderExclusionSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderExclusionSpec. +func (in *FolderExclusionSpec) DeepCopy() *FolderExclusionSpec { + if in == nil { + return nil + } + out := new(FolderExclusionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderExclusionStatus) DeepCopyInto(out *FolderExclusionStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderExclusionStatus. +func (in *FolderExclusionStatus) DeepCopy() *FolderExclusionStatus { + if in == nil { + return nil + } + out := new(FolderExclusionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderSink) DeepCopyInto(out *FolderSink) { + *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 FolderSink. +func (in *FolderSink) DeepCopy() *FolderSink { + if in == nil { + return nil + } + out := new(FolderSink) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderSink) 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 *FolderSinkBigqueryOptionsObservation) DeepCopyInto(out *FolderSinkBigqueryOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderSinkBigqueryOptionsObservation. +func (in *FolderSinkBigqueryOptionsObservation) DeepCopy() *FolderSinkBigqueryOptionsObservation { + if in == nil { + return nil + } + out := new(FolderSinkBigqueryOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderSinkBigqueryOptionsParameters) DeepCopyInto(out *FolderSinkBigqueryOptionsParameters) { + *out = *in + if in.UsePartitionedTables != nil { + in, out := &in.UsePartitionedTables, &out.UsePartitionedTables + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderSinkBigqueryOptionsParameters. +func (in *FolderSinkBigqueryOptionsParameters) DeepCopy() *FolderSinkBigqueryOptionsParameters { + if in == nil { + return nil + } + out := new(FolderSinkBigqueryOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderSinkExclusionsObservation) DeepCopyInto(out *FolderSinkExclusionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderSinkExclusionsObservation. +func (in *FolderSinkExclusionsObservation) DeepCopy() *FolderSinkExclusionsObservation { + if in == nil { + return nil + } + out := new(FolderSinkExclusionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderSinkExclusionsParameters) DeepCopyInto(out *FolderSinkExclusionsParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **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 FolderSinkExclusionsParameters. +func (in *FolderSinkExclusionsParameters) DeepCopy() *FolderSinkExclusionsParameters { + if in == nil { + return nil + } + out := new(FolderSinkExclusionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderSinkList) DeepCopyInto(out *FolderSinkList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FolderSink, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderSinkList. +func (in *FolderSinkList) DeepCopy() *FolderSinkList { + if in == nil { + return nil + } + out := new(FolderSinkList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FolderSinkList) 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 *FolderSinkObservation) DeepCopyInto(out *FolderSinkObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.WriterIdentity != nil { + in, out := &in.WriterIdentity, &out.WriterIdentity + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderSinkObservation. +func (in *FolderSinkObservation) DeepCopy() *FolderSinkObservation { + if in == nil { + return nil + } + out := new(FolderSinkObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderSinkParameters) DeepCopyInto(out *FolderSinkParameters) { + *out = *in + if in.BigqueryOptions != nil { + in, out := &in.BigqueryOptions, &out.BigqueryOptions + *out = make([]FolderSinkBigqueryOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.Exclusions != nil { + in, out := &in.Exclusions, &out.Exclusions + *out = make([]FolderSinkExclusionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **out = **in + } + if in.Folder != nil { + in, out := &in.Folder, &out.Folder + *out = new(string) + **out = **in + } + if in.IncludeChildren != nil { + in, out := &in.IncludeChildren, &out.IncludeChildren + *out = new(bool) + **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 FolderSinkParameters. +func (in *FolderSinkParameters) DeepCopy() *FolderSinkParameters { + if in == nil { + return nil + } + out := new(FolderSinkParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderSinkSpec) DeepCopyInto(out *FolderSinkSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderSinkSpec. +func (in *FolderSinkSpec) DeepCopy() *FolderSinkSpec { + if in == nil { + return nil + } + out := new(FolderSinkSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FolderSinkStatus) DeepCopyInto(out *FolderSinkStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FolderSinkStatus. +func (in *FolderSinkStatus) DeepCopy() *FolderSinkStatus { + if in == nil { + return nil + } + out := new(FolderSinkStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LabelsObservation) DeepCopyInto(out *LabelsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelsObservation. +func (in *LabelsObservation) DeepCopy() *LabelsObservation { + if in == nil { + return nil + } + out := new(LabelsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LabelsParameters) DeepCopyInto(out *LabelsParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.ValueType != nil { + in, out := &in.ValueType, &out.ValueType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelsParameters. +func (in *LabelsParameters) DeepCopy() *LabelsParameters { + if in == nil { + return nil + } + out := new(LabelsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LinearBucketsObservation) DeepCopyInto(out *LinearBucketsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinearBucketsObservation. +func (in *LinearBucketsObservation) DeepCopy() *LinearBucketsObservation { + if in == nil { + return nil + } + out := new(LinearBucketsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LinearBucketsParameters) DeepCopyInto(out *LinearBucketsParameters) { + *out = *in + if in.NumFiniteBuckets != nil { + in, out := &in.NumFiniteBuckets, &out.NumFiniteBuckets + *out = new(int64) + **out = **in + } + if in.Offset != nil { + in, out := &in.Offset, &out.Offset + *out = new(float64) + **out = **in + } + if in.Width != nil { + in, out := &in.Width, &out.Width + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinearBucketsParameters. +func (in *LinearBucketsParameters) DeepCopy() *LinearBucketsParameters { + if in == nil { + return nil + } + out := new(LinearBucketsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Metric) DeepCopyInto(out *Metric) { + *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 Metric. +func (in *Metric) DeepCopy() *Metric { + if in == nil { + return nil + } + out := new(Metric) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Metric) 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 *MetricDescriptorObservation) DeepCopyInto(out *MetricDescriptorObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricDescriptorObservation. +func (in *MetricDescriptorObservation) DeepCopy() *MetricDescriptorObservation { + if in == nil { + return nil + } + out := new(MetricDescriptorObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricDescriptorParameters) DeepCopyInto(out *MetricDescriptorParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make([]LabelsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MetricKind != nil { + in, out := &in.MetricKind, &out.MetricKind + *out = new(string) + **out = **in + } + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.ValueType != nil { + in, out := &in.ValueType, &out.ValueType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricDescriptorParameters. +func (in *MetricDescriptorParameters) DeepCopy() *MetricDescriptorParameters { + if in == nil { + return nil + } + out := new(MetricDescriptorParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricList) DeepCopyInto(out *MetricList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Metric, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricList. +func (in *MetricList) DeepCopy() *MetricList { + if in == nil { + return nil + } + out := new(MetricList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MetricList) 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 *MetricObservation) DeepCopyInto(out *MetricObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricObservation. +func (in *MetricObservation) DeepCopy() *MetricObservation { + if in == nil { + return nil + } + out := new(MetricObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricParameters) DeepCopyInto(out *MetricParameters) { + *out = *in + if in.BucketOptions != nil { + in, out := &in.BucketOptions, &out.BucketOptions + *out = make([]BucketOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **out = **in + } + if in.LabelExtractors != nil { + in, out := &in.LabelExtractors, &out.LabelExtractors + *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.MetricDescriptor != nil { + in, out := &in.MetricDescriptor, &out.MetricDescriptor + *out = make([]MetricDescriptorParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ValueExtractor != nil { + in, out := &in.ValueExtractor, &out.ValueExtractor + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricParameters. +func (in *MetricParameters) DeepCopy() *MetricParameters { + if in == nil { + return nil + } + out := new(MetricParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricSpec) DeepCopyInto(out *MetricSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSpec. +func (in *MetricSpec) DeepCopy() *MetricSpec { + if in == nil { + return nil + } + out := new(MetricSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricStatus) DeepCopyInto(out *MetricStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricStatus. +func (in *MetricStatus) DeepCopy() *MetricStatus { + if in == nil { + return nil + } + out := new(MetricStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationBucketConfig) DeepCopyInto(out *OrganizationBucketConfig) { + *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 OrganizationBucketConfig. +func (in *OrganizationBucketConfig) DeepCopy() *OrganizationBucketConfig { + if in == nil { + return nil + } + out := new(OrganizationBucketConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationBucketConfig) 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 *OrganizationBucketConfigList) DeepCopyInto(out *OrganizationBucketConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OrganizationBucketConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationBucketConfigList. +func (in *OrganizationBucketConfigList) DeepCopy() *OrganizationBucketConfigList { + if in == nil { + return nil + } + out := new(OrganizationBucketConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationBucketConfigList) 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 *OrganizationBucketConfigObservation) DeepCopyInto(out *OrganizationBucketConfigObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LifecycleState != nil { + in, out := &in.LifecycleState, &out.LifecycleState + *out = new(string) + **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 OrganizationBucketConfigObservation. +func (in *OrganizationBucketConfigObservation) DeepCopy() *OrganizationBucketConfigObservation { + if in == nil { + return nil + } + out := new(OrganizationBucketConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationBucketConfigParameters) DeepCopyInto(out *OrganizationBucketConfigParameters) { + *out = *in + if in.BucketID != nil { + in, out := &in.BucketID, &out.BucketID + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Organization != nil { + in, out := &in.Organization, &out.Organization + *out = new(string) + **out = **in + } + if in.RetentionDays != nil { + in, out := &in.RetentionDays, &out.RetentionDays + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationBucketConfigParameters. +func (in *OrganizationBucketConfigParameters) DeepCopy() *OrganizationBucketConfigParameters { + if in == nil { + return nil + } + out := new(OrganizationBucketConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationBucketConfigSpec) DeepCopyInto(out *OrganizationBucketConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationBucketConfigSpec. +func (in *OrganizationBucketConfigSpec) DeepCopy() *OrganizationBucketConfigSpec { + if in == nil { + return nil + } + out := new(OrganizationBucketConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationBucketConfigStatus) DeepCopyInto(out *OrganizationBucketConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationBucketConfigStatus. +func (in *OrganizationBucketConfigStatus) DeepCopy() *OrganizationBucketConfigStatus { + if in == nil { + return nil + } + out := new(OrganizationBucketConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationExclusion) DeepCopyInto(out *OrganizationExclusion) { + *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 OrganizationExclusion. +func (in *OrganizationExclusion) DeepCopy() *OrganizationExclusion { + if in == nil { + return nil + } + out := new(OrganizationExclusion) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationExclusion) 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 *OrganizationExclusionList) DeepCopyInto(out *OrganizationExclusionList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OrganizationExclusion, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationExclusionList. +func (in *OrganizationExclusionList) DeepCopy() *OrganizationExclusionList { + if in == nil { + return nil + } + out := new(OrganizationExclusionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationExclusionList) 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 *OrganizationExclusionObservation) DeepCopyInto(out *OrganizationExclusionObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationExclusionObservation. +func (in *OrganizationExclusionObservation) DeepCopy() *OrganizationExclusionObservation { + if in == nil { + return nil + } + out := new(OrganizationExclusionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationExclusionParameters) DeepCopyInto(out *OrganizationExclusionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.OrgID != nil { + in, out := &in.OrgID, &out.OrgID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationExclusionParameters. +func (in *OrganizationExclusionParameters) DeepCopy() *OrganizationExclusionParameters { + if in == nil { + return nil + } + out := new(OrganizationExclusionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationExclusionSpec) DeepCopyInto(out *OrganizationExclusionSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationExclusionSpec. +func (in *OrganizationExclusionSpec) DeepCopy() *OrganizationExclusionSpec { + if in == nil { + return nil + } + out := new(OrganizationExclusionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationExclusionStatus) DeepCopyInto(out *OrganizationExclusionStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationExclusionStatus. +func (in *OrganizationExclusionStatus) DeepCopy() *OrganizationExclusionStatus { + if in == nil { + return nil + } + out := new(OrganizationExclusionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSink) DeepCopyInto(out *OrganizationSink) { + *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 OrganizationSink. +func (in *OrganizationSink) DeepCopy() *OrganizationSink { + if in == nil { + return nil + } + out := new(OrganizationSink) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationSink) 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 *OrganizationSinkBigqueryOptionsObservation) DeepCopyInto(out *OrganizationSinkBigqueryOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSinkBigqueryOptionsObservation. +func (in *OrganizationSinkBigqueryOptionsObservation) DeepCopy() *OrganizationSinkBigqueryOptionsObservation { + if in == nil { + return nil + } + out := new(OrganizationSinkBigqueryOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSinkBigqueryOptionsParameters) DeepCopyInto(out *OrganizationSinkBigqueryOptionsParameters) { + *out = *in + if in.UsePartitionedTables != nil { + in, out := &in.UsePartitionedTables, &out.UsePartitionedTables + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSinkBigqueryOptionsParameters. +func (in *OrganizationSinkBigqueryOptionsParameters) DeepCopy() *OrganizationSinkBigqueryOptionsParameters { + if in == nil { + return nil + } + out := new(OrganizationSinkBigqueryOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSinkExclusionsObservation) DeepCopyInto(out *OrganizationSinkExclusionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSinkExclusionsObservation. +func (in *OrganizationSinkExclusionsObservation) DeepCopy() *OrganizationSinkExclusionsObservation { + if in == nil { + return nil + } + out := new(OrganizationSinkExclusionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSinkExclusionsParameters) DeepCopyInto(out *OrganizationSinkExclusionsParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **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 OrganizationSinkExclusionsParameters. +func (in *OrganizationSinkExclusionsParameters) DeepCopy() *OrganizationSinkExclusionsParameters { + if in == nil { + return nil + } + out := new(OrganizationSinkExclusionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSinkList) DeepCopyInto(out *OrganizationSinkList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OrganizationSink, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSinkList. +func (in *OrganizationSinkList) DeepCopy() *OrganizationSinkList { + if in == nil { + return nil + } + out := new(OrganizationSinkList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OrganizationSinkList) 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 *OrganizationSinkObservation) DeepCopyInto(out *OrganizationSinkObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.WriterIdentity != nil { + in, out := &in.WriterIdentity, &out.WriterIdentity + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSinkObservation. +func (in *OrganizationSinkObservation) DeepCopy() *OrganizationSinkObservation { + if in == nil { + return nil + } + out := new(OrganizationSinkObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSinkParameters) DeepCopyInto(out *OrganizationSinkParameters) { + *out = *in + if in.BigqueryOptions != nil { + in, out := &in.BigqueryOptions, &out.BigqueryOptions + *out = make([]OrganizationSinkBigqueryOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.Exclusions != nil { + in, out := &in.Exclusions, &out.Exclusions + *out = make([]OrganizationSinkExclusionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **out = **in + } + if in.IncludeChildren != nil { + in, out := &in.IncludeChildren, &out.IncludeChildren + *out = new(bool) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.OrgID != nil { + in, out := &in.OrgID, &out.OrgID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSinkParameters. +func (in *OrganizationSinkParameters) DeepCopy() *OrganizationSinkParameters { + if in == nil { + return nil + } + out := new(OrganizationSinkParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSinkSpec) DeepCopyInto(out *OrganizationSinkSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSinkSpec. +func (in *OrganizationSinkSpec) DeepCopy() *OrganizationSinkSpec { + if in == nil { + return nil + } + out := new(OrganizationSinkSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OrganizationSinkStatus) DeepCopyInto(out *OrganizationSinkStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSinkStatus. +func (in *OrganizationSinkStatus) DeepCopy() *OrganizationSinkStatus { + if in == nil { + return nil + } + out := new(OrganizationSinkStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectBucketConfig) DeepCopyInto(out *ProjectBucketConfig) { + *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 ProjectBucketConfig. +func (in *ProjectBucketConfig) DeepCopy() *ProjectBucketConfig { + if in == nil { + return nil + } + out := new(ProjectBucketConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectBucketConfig) 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 *ProjectBucketConfigList) DeepCopyInto(out *ProjectBucketConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectBucketConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectBucketConfigList. +func (in *ProjectBucketConfigList) DeepCopy() *ProjectBucketConfigList { + if in == nil { + return nil + } + out := new(ProjectBucketConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectBucketConfigList) 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 *ProjectBucketConfigObservation) DeepCopyInto(out *ProjectBucketConfigObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LifecycleState != nil { + in, out := &in.LifecycleState, &out.LifecycleState + *out = new(string) + **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 ProjectBucketConfigObservation. +func (in *ProjectBucketConfigObservation) DeepCopy() *ProjectBucketConfigObservation { + if in == nil { + return nil + } + out := new(ProjectBucketConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectBucketConfigParameters) DeepCopyInto(out *ProjectBucketConfigParameters) { + *out = *in + if in.BucketID != nil { + in, out := &in.BucketID, &out.BucketID + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RetentionDays != nil { + in, out := &in.RetentionDays, &out.RetentionDays + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectBucketConfigParameters. +func (in *ProjectBucketConfigParameters) DeepCopy() *ProjectBucketConfigParameters { + if in == nil { + return nil + } + out := new(ProjectBucketConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectBucketConfigSpec) DeepCopyInto(out *ProjectBucketConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectBucketConfigSpec. +func (in *ProjectBucketConfigSpec) DeepCopy() *ProjectBucketConfigSpec { + if in == nil { + return nil + } + out := new(ProjectBucketConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectBucketConfigStatus) DeepCopyInto(out *ProjectBucketConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectBucketConfigStatus. +func (in *ProjectBucketConfigStatus) DeepCopy() *ProjectBucketConfigStatus { + if in == nil { + return nil + } + out := new(ProjectBucketConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectExclusion) DeepCopyInto(out *ProjectExclusion) { + *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 ProjectExclusion. +func (in *ProjectExclusion) DeepCopy() *ProjectExclusion { + if in == nil { + return nil + } + out := new(ProjectExclusion) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectExclusion) 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 *ProjectExclusionList) DeepCopyInto(out *ProjectExclusionList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectExclusion, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectExclusionList. +func (in *ProjectExclusionList) DeepCopy() *ProjectExclusionList { + if in == nil { + return nil + } + out := new(ProjectExclusionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectExclusionList) 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 *ProjectExclusionObservation) DeepCopyInto(out *ProjectExclusionObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectExclusionObservation. +func (in *ProjectExclusionObservation) DeepCopy() *ProjectExclusionObservation { + if in == nil { + return nil + } + out := new(ProjectExclusionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectExclusionParameters) DeepCopyInto(out *ProjectExclusionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectExclusionParameters. +func (in *ProjectExclusionParameters) DeepCopy() *ProjectExclusionParameters { + if in == nil { + return nil + } + out := new(ProjectExclusionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectExclusionSpec) DeepCopyInto(out *ProjectExclusionSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectExclusionSpec. +func (in *ProjectExclusionSpec) DeepCopy() *ProjectExclusionSpec { + if in == nil { + return nil + } + out := new(ProjectExclusionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectExclusionStatus) DeepCopyInto(out *ProjectExclusionStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectExclusionStatus. +func (in *ProjectExclusionStatus) DeepCopy() *ProjectExclusionStatus { + if in == nil { + return nil + } + out := new(ProjectExclusionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSink) DeepCopyInto(out *ProjectSink) { + *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 ProjectSink. +func (in *ProjectSink) DeepCopy() *ProjectSink { + if in == nil { + return nil + } + out := new(ProjectSink) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectSink) 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 *ProjectSinkBigqueryOptionsObservation) DeepCopyInto(out *ProjectSinkBigqueryOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSinkBigqueryOptionsObservation. +func (in *ProjectSinkBigqueryOptionsObservation) DeepCopy() *ProjectSinkBigqueryOptionsObservation { + if in == nil { + return nil + } + out := new(ProjectSinkBigqueryOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSinkBigqueryOptionsParameters) DeepCopyInto(out *ProjectSinkBigqueryOptionsParameters) { + *out = *in + if in.UsePartitionedTables != nil { + in, out := &in.UsePartitionedTables, &out.UsePartitionedTables + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSinkBigqueryOptionsParameters. +func (in *ProjectSinkBigqueryOptionsParameters) DeepCopy() *ProjectSinkBigqueryOptionsParameters { + if in == nil { + return nil + } + out := new(ProjectSinkBigqueryOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSinkExclusionsObservation) DeepCopyInto(out *ProjectSinkExclusionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSinkExclusionsObservation. +func (in *ProjectSinkExclusionsObservation) DeepCopy() *ProjectSinkExclusionsObservation { + if in == nil { + return nil + } + out := new(ProjectSinkExclusionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSinkExclusionsParameters) DeepCopyInto(out *ProjectSinkExclusionsParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **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 ProjectSinkExclusionsParameters. +func (in *ProjectSinkExclusionsParameters) DeepCopy() *ProjectSinkExclusionsParameters { + if in == nil { + return nil + } + out := new(ProjectSinkExclusionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSinkList) DeepCopyInto(out *ProjectSinkList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectSink, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSinkList. +func (in *ProjectSinkList) DeepCopy() *ProjectSinkList { + if in == nil { + return nil + } + out := new(ProjectSinkList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectSinkList) 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 *ProjectSinkObservation) DeepCopyInto(out *ProjectSinkObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.WriterIdentity != nil { + in, out := &in.WriterIdentity, &out.WriterIdentity + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSinkObservation. +func (in *ProjectSinkObservation) DeepCopy() *ProjectSinkObservation { + if in == nil { + return nil + } + out := new(ProjectSinkObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSinkParameters) DeepCopyInto(out *ProjectSinkParameters) { + *out = *in + if in.BigqueryOptions != nil { + in, out := &in.BigqueryOptions, &out.BigqueryOptions + *out = make([]ProjectSinkBigqueryOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = new(string) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.Exclusions != nil { + in, out := &in.Exclusions, &out.Exclusions + *out = make([]ProjectSinkExclusionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.UniqueWriterIdentity != nil { + in, out := &in.UniqueWriterIdentity, &out.UniqueWriterIdentity + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSinkParameters. +func (in *ProjectSinkParameters) DeepCopy() *ProjectSinkParameters { + if in == nil { + return nil + } + out := new(ProjectSinkParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSinkSpec) DeepCopyInto(out *ProjectSinkSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSinkSpec. +func (in *ProjectSinkSpec) DeepCopy() *ProjectSinkSpec { + if in == nil { + return nil + } + out := new(ProjectSinkSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSinkStatus) DeepCopyInto(out *ProjectSinkStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSinkStatus. +func (in *ProjectSinkStatus) DeepCopy() *ProjectSinkStatus { + if in == nil { + return nil + } + out := new(ProjectSinkStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/logging/v1alpha1/zz_generated.managed.go b/apis/logging/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..eb052e57 --- /dev/null +++ b/apis/logging/v1alpha1/zz_generated.managed.go @@ -0,0 +1,748 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this BillingAccountBucketConfig. +func (mg *BillingAccountBucketConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this BillingAccountBucketConfig. +func (mg *BillingAccountBucketConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this BillingAccountBucketConfig. +func (mg *BillingAccountBucketConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this BillingAccountBucketConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *BillingAccountBucketConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this BillingAccountBucketConfig. +func (mg *BillingAccountBucketConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this BillingAccountBucketConfig. +func (mg *BillingAccountBucketConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this BillingAccountBucketConfig. +func (mg *BillingAccountBucketConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this BillingAccountBucketConfig. +func (mg *BillingAccountBucketConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this BillingAccountBucketConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *BillingAccountBucketConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this BillingAccountBucketConfig. +func (mg *BillingAccountBucketConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this BillingAccountExclusion. +func (mg *BillingAccountExclusion) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this BillingAccountExclusion. +func (mg *BillingAccountExclusion) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this BillingAccountExclusion. +func (mg *BillingAccountExclusion) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this BillingAccountExclusion. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *BillingAccountExclusion) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this BillingAccountExclusion. +func (mg *BillingAccountExclusion) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this BillingAccountExclusion. +func (mg *BillingAccountExclusion) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this BillingAccountExclusion. +func (mg *BillingAccountExclusion) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this BillingAccountExclusion. +func (mg *BillingAccountExclusion) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this BillingAccountExclusion. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *BillingAccountExclusion) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this BillingAccountExclusion. +func (mg *BillingAccountExclusion) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this BillingAccountSink. +func (mg *BillingAccountSink) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this BillingAccountSink. +func (mg *BillingAccountSink) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this BillingAccountSink. +func (mg *BillingAccountSink) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this BillingAccountSink. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *BillingAccountSink) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this BillingAccountSink. +func (mg *BillingAccountSink) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this BillingAccountSink. +func (mg *BillingAccountSink) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this BillingAccountSink. +func (mg *BillingAccountSink) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this BillingAccountSink. +func (mg *BillingAccountSink) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this BillingAccountSink. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *BillingAccountSink) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this BillingAccountSink. +func (mg *BillingAccountSink) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FolderBucketConfig. +func (mg *FolderBucketConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FolderBucketConfig. +func (mg *FolderBucketConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FolderBucketConfig. +func (mg *FolderBucketConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FolderBucketConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FolderBucketConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FolderBucketConfig. +func (mg *FolderBucketConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FolderBucketConfig. +func (mg *FolderBucketConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FolderBucketConfig. +func (mg *FolderBucketConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FolderBucketConfig. +func (mg *FolderBucketConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FolderBucketConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FolderBucketConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FolderBucketConfig. +func (mg *FolderBucketConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FolderExclusion. +func (mg *FolderExclusion) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FolderExclusion. +func (mg *FolderExclusion) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FolderExclusion. +func (mg *FolderExclusion) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FolderExclusion. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FolderExclusion) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FolderExclusion. +func (mg *FolderExclusion) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FolderExclusion. +func (mg *FolderExclusion) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FolderExclusion. +func (mg *FolderExclusion) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FolderExclusion. +func (mg *FolderExclusion) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FolderExclusion. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FolderExclusion) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FolderExclusion. +func (mg *FolderExclusion) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FolderSink. +func (mg *FolderSink) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FolderSink. +func (mg *FolderSink) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this FolderSink. +func (mg *FolderSink) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this FolderSink. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *FolderSink) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this FolderSink. +func (mg *FolderSink) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FolderSink. +func (mg *FolderSink) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FolderSink. +func (mg *FolderSink) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this FolderSink. +func (mg *FolderSink) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this FolderSink. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *FolderSink) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this FolderSink. +func (mg *FolderSink) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Metric. +func (mg *Metric) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Metric. +func (mg *Metric) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Metric. +func (mg *Metric) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Metric. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Metric) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Metric. +func (mg *Metric) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Metric. +func (mg *Metric) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Metric. +func (mg *Metric) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Metric. +func (mg *Metric) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Metric. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Metric) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Metric. +func (mg *Metric) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this OrganizationBucketConfig. +func (mg *OrganizationBucketConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this OrganizationBucketConfig. +func (mg *OrganizationBucketConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this OrganizationBucketConfig. +func (mg *OrganizationBucketConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this OrganizationBucketConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *OrganizationBucketConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this OrganizationBucketConfig. +func (mg *OrganizationBucketConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this OrganizationBucketConfig. +func (mg *OrganizationBucketConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this OrganizationBucketConfig. +func (mg *OrganizationBucketConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this OrganizationBucketConfig. +func (mg *OrganizationBucketConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this OrganizationBucketConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *OrganizationBucketConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this OrganizationBucketConfig. +func (mg *OrganizationBucketConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this OrganizationExclusion. +func (mg *OrganizationExclusion) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this OrganizationExclusion. +func (mg *OrganizationExclusion) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this OrganizationExclusion. +func (mg *OrganizationExclusion) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this OrganizationExclusion. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *OrganizationExclusion) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this OrganizationExclusion. +func (mg *OrganizationExclusion) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this OrganizationExclusion. +func (mg *OrganizationExclusion) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this OrganizationExclusion. +func (mg *OrganizationExclusion) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this OrganizationExclusion. +func (mg *OrganizationExclusion) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this OrganizationExclusion. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *OrganizationExclusion) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this OrganizationExclusion. +func (mg *OrganizationExclusion) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this OrganizationSink. +func (mg *OrganizationSink) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this OrganizationSink. +func (mg *OrganizationSink) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this OrganizationSink. +func (mg *OrganizationSink) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this OrganizationSink. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *OrganizationSink) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this OrganizationSink. +func (mg *OrganizationSink) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this OrganizationSink. +func (mg *OrganizationSink) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this OrganizationSink. +func (mg *OrganizationSink) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this OrganizationSink. +func (mg *OrganizationSink) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this OrganizationSink. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *OrganizationSink) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this OrganizationSink. +func (mg *OrganizationSink) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectBucketConfig. +func (mg *ProjectBucketConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectBucketConfig. +func (mg *ProjectBucketConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectBucketConfig. +func (mg *ProjectBucketConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectBucketConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectBucketConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectBucketConfig. +func (mg *ProjectBucketConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectBucketConfig. +func (mg *ProjectBucketConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectBucketConfig. +func (mg *ProjectBucketConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectBucketConfig. +func (mg *ProjectBucketConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectBucketConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectBucketConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectBucketConfig. +func (mg *ProjectBucketConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectExclusion. +func (mg *ProjectExclusion) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectExclusion. +func (mg *ProjectExclusion) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectExclusion. +func (mg *ProjectExclusion) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectExclusion. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectExclusion) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectExclusion. +func (mg *ProjectExclusion) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectExclusion. +func (mg *ProjectExclusion) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectExclusion. +func (mg *ProjectExclusion) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectExclusion. +func (mg *ProjectExclusion) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectExclusion. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectExclusion) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectExclusion. +func (mg *ProjectExclusion) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ProjectSink. +func (mg *ProjectSink) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectSink. +func (mg *ProjectSink) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ProjectSink. +func (mg *ProjectSink) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ProjectSink. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ProjectSink) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ProjectSink. +func (mg *ProjectSink) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectSink. +func (mg *ProjectSink) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectSink. +func (mg *ProjectSink) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ProjectSink. +func (mg *ProjectSink) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ProjectSink. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ProjectSink) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ProjectSink. +func (mg *ProjectSink) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/logging/v1alpha1/zz_generated.managedlist.go b/apis/logging/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..3deaf3d3 --- /dev/null +++ b/apis/logging/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,137 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this BillingAccountBucketConfigList. +func (l *BillingAccountBucketConfigList) 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 BillingAccountExclusionList. +func (l *BillingAccountExclusionList) 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 BillingAccountSinkList. +func (l *BillingAccountSinkList) 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 FolderBucketConfigList. +func (l *FolderBucketConfigList) 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 FolderExclusionList. +func (l *FolderExclusionList) 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 FolderSinkList. +func (l *FolderSinkList) 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 MetricList. +func (l *MetricList) 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 OrganizationBucketConfigList. +func (l *OrganizationBucketConfigList) 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 OrganizationExclusionList. +func (l *OrganizationExclusionList) 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 OrganizationSinkList. +func (l *OrganizationSinkList) 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 ProjectBucketConfigList. +func (l *ProjectBucketConfigList) 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 ProjectExclusionList. +func (l *ProjectExclusionList) 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 ProjectSinkList. +func (l *ProjectSinkList) 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/logging/v1alpha1/zz_groupversion_info.go b/apis/logging/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..710050c3 --- /dev/null +++ b/apis/logging/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=logging.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "logging.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/logging/v1alpha1/zz_metric_terraformed.go b/apis/logging/v1alpha1/zz_metric_terraformed.go new file mode 100755 index 00000000..6a6c7ef6 --- /dev/null +++ b/apis/logging/v1alpha1/zz_metric_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Metric +func (mg *Metric) GetTerraformResourceType() string { + return "google_logging_metric" +} + +// GetConnectionDetailsMapping for this Metric +func (tr *Metric) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Metric +func (tr *Metric) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Metric +func (tr *Metric) SetObservation(obs map[string]interface{}) 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 Metric +func (tr *Metric) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Metric +func (tr *Metric) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Metric +func (tr *Metric) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Metric using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Metric) LateInitialize(attrs []byte) (bool, error) { + params := &MetricParameters{} + 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 *Metric) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/logging/v1alpha1/zz_metric_types.go b/apis/logging/v1alpha1/zz_metric_types.go new file mode 100755 index 00000000..27bfaee7 --- /dev/null +++ b/apis/logging/v1alpha1/zz_metric_types.go @@ -0,0 +1,250 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BucketOptionsObservation struct { +} + +type BucketOptionsParameters struct { + + // Specifies a set of buckets with arbitrary widths. + // +kubebuilder:validation:Optional + ExplicitBuckets []ExplicitBucketsParameters `json:"explicitBuckets,omitempty" tf:"explicit_buckets,omitempty"` + + // Specifies an exponential sequence of buckets that have a width that is proportional to the value of + // the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. + // +kubebuilder:validation:Optional + ExponentialBuckets []ExponentialBucketsParameters `json:"exponentialBuckets,omitempty" tf:"exponential_buckets,omitempty"` + + // Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). + // Each bucket represents a constant absolute uncertainty on the specific value in the bucket. + // +kubebuilder:validation:Optional + LinearBuckets []LinearBucketsParameters `json:"linearBuckets,omitempty" tf:"linear_buckets,omitempty"` +} + +type ExplicitBucketsObservation struct { +} + +type ExplicitBucketsParameters struct { + + // The values must be monotonically increasing. + // +kubebuilder:validation:Required + Bounds []*float64 `json:"bounds" tf:"bounds,omitempty"` +} + +type ExponentialBucketsObservation struct { +} + +type ExponentialBucketsParameters struct { + + // Must be greater than 1. + // +kubebuilder:validation:Optional + GrowthFactor *float64 `json:"growthFactor,omitempty" tf:"growth_factor,omitempty"` + + // Must be greater than 0. + // +kubebuilder:validation:Optional + NumFiniteBuckets *int64 `json:"numFiniteBuckets,omitempty" tf:"num_finite_buckets,omitempty"` + + // Must be greater than 0. + // +kubebuilder:validation:Optional + Scale *float64 `json:"scale,omitempty" tf:"scale,omitempty"` +} + +type LabelsObservation struct { +} + +type LabelsParameters struct { + + // A human-readable description for the label. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The label key. + // +kubebuilder:validation:Required + Key *string `json:"key" tf:"key,omitempty"` + + // The type of data that can be assigned to the label. Default value: "STRING" Possible values: ["BOOL", "INT64", "STRING"] + // +kubebuilder:validation:Optional + ValueType *string `json:"valueType,omitempty" tf:"value_type,omitempty"` +} + +type LinearBucketsObservation struct { +} + +type LinearBucketsParameters struct { + + // Must be greater than 0. + // +kubebuilder:validation:Optional + NumFiniteBuckets *int64 `json:"numFiniteBuckets,omitempty" tf:"num_finite_buckets,omitempty"` + + // Lower bound of the first bucket. + // +kubebuilder:validation:Optional + Offset *float64 `json:"offset,omitempty" tf:"offset,omitempty"` + + // Must be greater than 0. + // +kubebuilder:validation:Optional + Width *float64 `json:"width,omitempty" tf:"width,omitempty"` +} + +type MetricDescriptorObservation struct { +} + +type MetricDescriptorParameters struct { + + // A concise name for the metric, which can be displayed in user interfaces. Use sentence case + // without an ending period, for example "Request count". This field is optional but it is + // recommended to be set for any metrics associated with user-visible concepts, such as Quota. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // The set of labels that can be used to describe a specific instance of this metric type. For + // example, the appengine.googleapis.com/http/server/response_latencies metric type has a label + // for the HTTP response code, response_code, so you can look at latencies for successful responses + // or just for responses that failed. + // +kubebuilder:validation:Optional + Labels []LabelsParameters `json:"labels,omitempty" tf:"labels,omitempty"` + + // Whether the metric records instantaneous values, changes to a value, etc. + // Some combinations of metricKind and valueType might not be supported. + // For counter metrics, set this to DELTA. Possible values: ["DELTA", "GAUGE", "CUMULATIVE"] + // +kubebuilder:validation:Required + MetricKind *string `json:"metricKind" tf:"metric_kind,omitempty"` + + // The unit in which the metric value is reported. It is only applicable if the valueType is + // 'INT64', 'DOUBLE', or 'DISTRIBUTION'. The supported units are a subset of + // [The Unified Code for Units of Measure](http://unitsofmeasure.org/ucum.html) standard + // +kubebuilder:validation:Optional + Unit *string `json:"unit,omitempty" tf:"unit,omitempty"` + + // Whether the measurement is an integer, a floating-point number, etc. + // Some combinations of metricKind and valueType might not be supported. + // For counter metrics, set this to INT64. Possible values: ["BOOL", "INT64", "DOUBLE", "STRING", "DISTRIBUTION", "MONEY"] + // +kubebuilder:validation:Required + ValueType *string `json:"valueType" tf:"value_type,omitempty"` +} + +type MetricObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type MetricParameters struct { + + // The bucketOptions are required when the logs-based metric is using a DISTRIBUTION value type and it + // describes the bucket boundaries used to create a histogram of the extracted values. + // +kubebuilder:validation:Optional + BucketOptions []BucketOptionsParameters `json:"bucketOptions,omitempty" tf:"bucket_options,omitempty"` + + // A description of this metric, which is used in documentation. The maximum length of the + // description is 8000 characters. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-filters) which + // is used to match log entries. + // +kubebuilder:validation:Required + Filter *string `json:"filter" tf:"filter,omitempty"` + + // A map from a label key string to an extractor expression which is used to extract data from a log + // entry field and assign as the label value. Each label key specified in the LabelDescriptor must + // have an associated extractor expression in this map. The syntax of the extractor expression is + // the same as for the valueExtractor field. + // +kubebuilder:validation:Optional + LabelExtractors map[string]*string `json:"labelExtractors,omitempty" tf:"label_extractors,omitempty"` + + // The metric descriptor associated with the logs-based metric. + // +kubebuilder:validation:Required + MetricDescriptor []MetricDescriptorParameters `json:"metricDescriptor" tf:"metric_descriptor,omitempty"` + + // The client-assigned metric identifier. Examples - "error_count", "nginx/requests". + // Metric identifiers are limited to 100 characters and can include only the following + // characters A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. The forward-slash + // character (/) denotes a hierarchy of name pieces, and it cannot be the first character + // of the name. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // A valueExtractor is required when using a distribution logs-based metric to extract the values to + // record from a log entry. Two functions are supported for value extraction - EXTRACT(field) or + // REGEXP_EXTRACT(field, regex). The argument are 1. field - The name of the log entry field from which + // the value is to be extracted. 2. regex - A regular expression using the Google RE2 syntax + // (https://github.com/google/re2/wiki/Syntax) with a single capture group to extract data from the specified + // log entry field. The value of the field is converted to a string before applying the regex. It is an + // error to specify a regex that does not include exactly one capture group. + // +kubebuilder:validation:Optional + ValueExtractor *string `json:"valueExtractor,omitempty" tf:"value_extractor,omitempty"` +} + +// MetricSpec defines the desired state of Metric +type MetricSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider MetricParameters `json:"forProvider"` +} + +// MetricStatus defines the observed state of Metric. +type MetricStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider MetricObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Metric is the Schema for the Metrics 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,gcpjet} +type Metric struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec MetricSpec `json:"spec"` + Status MetricStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// MetricList contains a list of Metrics +type MetricList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Metric `json:"items"` +} + +// Repository type metadata. +var ( + Metric_Kind = "Metric" + Metric_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Metric_Kind}.String() + Metric_KindAPIVersion = Metric_Kind + "." + CRDGroupVersion.String() + Metric_GroupVersionKind = CRDGroupVersion.WithKind(Metric_Kind) +) + +func init() { + SchemeBuilder.Register(&Metric{}, &MetricList{}) +} diff --git a/apis/logging/v1alpha1/zz_organizationbucketconfig_terraformed.go b/apis/logging/v1alpha1/zz_organizationbucketconfig_terraformed.go new file mode 100755 index 00000000..e595f639 --- /dev/null +++ b/apis/logging/v1alpha1/zz_organizationbucketconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this OrganizationBucketConfig +func (mg *OrganizationBucketConfig) GetTerraformResourceType() string { + return "google_logging_organization_bucket_config" +} + +// GetConnectionDetailsMapping for this OrganizationBucketConfig +func (tr *OrganizationBucketConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this OrganizationBucketConfig +func (tr *OrganizationBucketConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this OrganizationBucketConfig +func (tr *OrganizationBucketConfig) SetObservation(obs map[string]interface{}) 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 OrganizationBucketConfig +func (tr *OrganizationBucketConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this OrganizationBucketConfig +func (tr *OrganizationBucketConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this OrganizationBucketConfig +func (tr *OrganizationBucketConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this OrganizationBucketConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *OrganizationBucketConfig) LateInitialize(attrs []byte) (bool, error) { + params := &OrganizationBucketConfigParameters{} + 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 *OrganizationBucketConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/logging/v1alpha1/zz_organizationbucketconfig_types.go b/apis/logging/v1alpha1/zz_organizationbucketconfig_types.go new file mode 100755 index 00000000..1eb6181a --- /dev/null +++ b/apis/logging/v1alpha1/zz_organizationbucketconfig_types.go @@ -0,0 +1,106 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 OrganizationBucketConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LifecycleState *string `json:"lifecycleState,omitempty" tf:"lifecycle_state,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type OrganizationBucketConfigParameters struct { + + // The name of the logging bucket. Logging automatically creates two log buckets: _Required and _Default. + // +kubebuilder:validation:Required + BucketID *string `json:"bucketId" tf:"bucket_id,omitempty"` + + // An optional description for this bucket. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The location of the bucket. + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // The parent resource that contains the logging bucket. + // +kubebuilder:validation:Required + Organization *string `json:"organization" tf:"organization,omitempty"` + + // Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used. + // +kubebuilder:validation:Optional + RetentionDays *int64 `json:"retentionDays,omitempty" tf:"retention_days,omitempty"` +} + +// OrganizationBucketConfigSpec defines the desired state of OrganizationBucketConfig +type OrganizationBucketConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider OrganizationBucketConfigParameters `json:"forProvider"` +} + +// OrganizationBucketConfigStatus defines the observed state of OrganizationBucketConfig. +type OrganizationBucketConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider OrganizationBucketConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationBucketConfig is the Schema for the OrganizationBucketConfigs 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,gcpjet} +type OrganizationBucketConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec OrganizationBucketConfigSpec `json:"spec"` + Status OrganizationBucketConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationBucketConfigList contains a list of OrganizationBucketConfigs +type OrganizationBucketConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []OrganizationBucketConfig `json:"items"` +} + +// Repository type metadata. +var ( + OrganizationBucketConfig_Kind = "OrganizationBucketConfig" + OrganizationBucketConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: OrganizationBucketConfig_Kind}.String() + OrganizationBucketConfig_KindAPIVersion = OrganizationBucketConfig_Kind + "." + CRDGroupVersion.String() + OrganizationBucketConfig_GroupVersionKind = CRDGroupVersion.WithKind(OrganizationBucketConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&OrganizationBucketConfig{}, &OrganizationBucketConfigList{}) +} diff --git a/apis/logging/v1alpha1/zz_organizationexclusion_terraformed.go b/apis/logging/v1alpha1/zz_organizationexclusion_terraformed.go new file mode 100755 index 00000000..2f248fee --- /dev/null +++ b/apis/logging/v1alpha1/zz_organizationexclusion_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this OrganizationExclusion +func (mg *OrganizationExclusion) GetTerraformResourceType() string { + return "google_logging_organization_exclusion" +} + +// GetConnectionDetailsMapping for this OrganizationExclusion +func (tr *OrganizationExclusion) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this OrganizationExclusion +func (tr *OrganizationExclusion) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this OrganizationExclusion +func (tr *OrganizationExclusion) SetObservation(obs map[string]interface{}) 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 OrganizationExclusion +func (tr *OrganizationExclusion) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this OrganizationExclusion +func (tr *OrganizationExclusion) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this OrganizationExclusion +func (tr *OrganizationExclusion) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this OrganizationExclusion using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *OrganizationExclusion) LateInitialize(attrs []byte) (bool, error) { + params := &OrganizationExclusionParameters{} + 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 *OrganizationExclusion) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/logging/v1alpha1/zz_organizationexclusion_types.go b/apis/logging/v1alpha1/zz_organizationexclusion_types.go new file mode 100755 index 00000000..e1d3a058 --- /dev/null +++ b/apis/logging/v1alpha1/zz_organizationexclusion_types.go @@ -0,0 +1,101 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 OrganizationExclusionObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type OrganizationExclusionParameters struct { + + // A human-readable description. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Whether this exclusion rule should be disabled or not. This defaults to false. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // The filter to apply when excluding logs. Only log entries that match the filter are excluded. + // +kubebuilder:validation:Required + Filter *string `json:"filter" tf:"filter,omitempty"` + + // The name of the logging exclusion. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Required + OrgID *string `json:"orgId" tf:"org_id,omitempty"` +} + +// OrganizationExclusionSpec defines the desired state of OrganizationExclusion +type OrganizationExclusionSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider OrganizationExclusionParameters `json:"forProvider"` +} + +// OrganizationExclusionStatus defines the observed state of OrganizationExclusion. +type OrganizationExclusionStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider OrganizationExclusionObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationExclusion is the Schema for the OrganizationExclusions 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,gcpjet} +type OrganizationExclusion struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec OrganizationExclusionSpec `json:"spec"` + Status OrganizationExclusionStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationExclusionList contains a list of OrganizationExclusions +type OrganizationExclusionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []OrganizationExclusion `json:"items"` +} + +// Repository type metadata. +var ( + OrganizationExclusion_Kind = "OrganizationExclusion" + OrganizationExclusion_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: OrganizationExclusion_Kind}.String() + OrganizationExclusion_KindAPIVersion = OrganizationExclusion_Kind + "." + CRDGroupVersion.String() + OrganizationExclusion_GroupVersionKind = CRDGroupVersion.WithKind(OrganizationExclusion_Kind) +) + +func init() { + SchemeBuilder.Register(&OrganizationExclusion{}, &OrganizationExclusionList{}) +} diff --git a/apis/logging/v1alpha1/zz_organizationsink_terraformed.go b/apis/logging/v1alpha1/zz_organizationsink_terraformed.go new file mode 100755 index 00000000..a4eb0c70 --- /dev/null +++ b/apis/logging/v1alpha1/zz_organizationsink_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this OrganizationSink +func (mg *OrganizationSink) GetTerraformResourceType() string { + return "google_logging_organization_sink" +} + +// GetConnectionDetailsMapping for this OrganizationSink +func (tr *OrganizationSink) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this OrganizationSink +func (tr *OrganizationSink) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this OrganizationSink +func (tr *OrganizationSink) SetObservation(obs map[string]interface{}) 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 OrganizationSink +func (tr *OrganizationSink) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this OrganizationSink +func (tr *OrganizationSink) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this OrganizationSink +func (tr *OrganizationSink) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this OrganizationSink using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *OrganizationSink) LateInitialize(attrs []byte) (bool, error) { + params := &OrganizationSinkParameters{} + 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 *OrganizationSink) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/logging/v1alpha1/zz_organizationsink_types.go b/apis/logging/v1alpha1/zz_organizationsink_types.go new file mode 100755 index 00000000..937a8c06 --- /dev/null +++ b/apis/logging/v1alpha1/zz_organizationsink_types.go @@ -0,0 +1,152 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 OrganizationSinkBigqueryOptionsObservation struct { +} + +type OrganizationSinkBigqueryOptionsParameters struct { + + // Whether to use BigQuery's partition tables. By default, Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax has to be used instead. In both cases, tables are sharded based on UTC timezone. + // +kubebuilder:validation:Required + UsePartitionedTables *bool `json:"usePartitionedTables" tf:"use_partitioned_tables,omitempty"` +} + +type OrganizationSinkExclusionsObservation struct { +} + +type OrganizationSinkExclusionsParameters struct { + + // A description of this exclusion. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // If set to True, then this exclusion is disabled and it does not exclude any log entries + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // An advanced logs filter that matches the log entries to be excluded. By using the sample function, you can exclude less than 100% of the matching log entries + // +kubebuilder:validation:Required + Filter *string `json:"filter" tf:"filter,omitempty"` + + // A client-assigned identifier, such as "load-balancer-exclusion". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. First character has to be alphanumeric. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type OrganizationSinkObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + WriterIdentity *string `json:"writerIdentity,omitempty" tf:"writer_identity,omitempty"` +} + +type OrganizationSinkParameters struct { + + // Options that affect sinks exporting data to BigQuery. + // +kubebuilder:validation:Optional + BigqueryOptions []OrganizationSinkBigqueryOptionsParameters `json:"bigqueryOptions,omitempty" tf:"bigquery_options,omitempty"` + + // A description of this sink. The maximum length of the description is 8000 characters. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The destination of the sink (or, in other words, where logs are written to). Can be a Cloud Storage bucket, a PubSub topic, or a BigQuery dataset. Examples: "storage.googleapis.com/[GCS_BUCKET]" "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" The writer associated with the sink must have access to write to the above resource. + // +kubebuilder:validation:Required + Destination *string `json:"destination" tf:"destination,omitempty"` + + // If set to True, then this sink is disabled and it does not export any log entries. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // Log entries that match any of the exclusion filters will not be exported. If a log entry is matched by both filter and one of exclusion_filters it will not be exported. + // +kubebuilder:validation:Optional + Exclusions []OrganizationSinkExclusionsParameters `json:"exclusions,omitempty" tf:"exclusions,omitempty"` + + // The filter to apply when exporting logs. Only log entries that match the filter are exported. + // +kubebuilder:validation:Optional + Filter *string `json:"filter,omitempty" tf:"filter,omitempty"` + + // Whether or not to include children organizations in the sink export. If true, logs associated with child projects are also exported; otherwise only logs relating to the provided organization are included. + // +kubebuilder:validation:Optional + IncludeChildren *bool `json:"includeChildren,omitempty" tf:"include_children,omitempty"` + + // The name of the logging sink. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The numeric ID of the organization to be exported to the sink. + // +kubebuilder:validation:Required + OrgID *string `json:"orgId" tf:"org_id,omitempty"` +} + +// OrganizationSinkSpec defines the desired state of OrganizationSink +type OrganizationSinkSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider OrganizationSinkParameters `json:"forProvider"` +} + +// OrganizationSinkStatus defines the observed state of OrganizationSink. +type OrganizationSinkStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider OrganizationSinkObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationSink is the Schema for the OrganizationSinks 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,gcpjet} +type OrganizationSink struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec OrganizationSinkSpec `json:"spec"` + Status OrganizationSinkStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// OrganizationSinkList contains a list of OrganizationSinks +type OrganizationSinkList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []OrganizationSink `json:"items"` +} + +// Repository type metadata. +var ( + OrganizationSink_Kind = "OrganizationSink" + OrganizationSink_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: OrganizationSink_Kind}.String() + OrganizationSink_KindAPIVersion = OrganizationSink_Kind + "." + CRDGroupVersion.String() + OrganizationSink_GroupVersionKind = CRDGroupVersion.WithKind(OrganizationSink_Kind) +) + +func init() { + SchemeBuilder.Register(&OrganizationSink{}, &OrganizationSinkList{}) +} diff --git a/apis/logging/v1alpha1/zz_projectbucketconfig_terraformed.go b/apis/logging/v1alpha1/zz_projectbucketconfig_terraformed.go new file mode 100755 index 00000000..0f8be873 --- /dev/null +++ b/apis/logging/v1alpha1/zz_projectbucketconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectBucketConfig +func (mg *ProjectBucketConfig) GetTerraformResourceType() string { + return "google_logging_project_bucket_config" +} + +// GetConnectionDetailsMapping for this ProjectBucketConfig +func (tr *ProjectBucketConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectBucketConfig +func (tr *ProjectBucketConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectBucketConfig +func (tr *ProjectBucketConfig) SetObservation(obs map[string]interface{}) 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 ProjectBucketConfig +func (tr *ProjectBucketConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectBucketConfig +func (tr *ProjectBucketConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectBucketConfig +func (tr *ProjectBucketConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectBucketConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectBucketConfig) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectBucketConfigParameters{} + 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 *ProjectBucketConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/logging/v1alpha1/zz_projectbucketconfig_types.go b/apis/logging/v1alpha1/zz_projectbucketconfig_types.go new file mode 100755 index 00000000..135735e1 --- /dev/null +++ b/apis/logging/v1alpha1/zz_projectbucketconfig_types.go @@ -0,0 +1,106 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectBucketConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LifecycleState *string `json:"lifecycleState,omitempty" tf:"lifecycle_state,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type ProjectBucketConfigParameters struct { + + // The name of the logging bucket. Logging automatically creates two log buckets: _Required and _Default. + // +kubebuilder:validation:Required + BucketID *string `json:"bucketId" tf:"bucket_id,omitempty"` + + // An optional description for this bucket. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The location of the bucket. + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // The parent project that contains the logging bucket. + // +kubebuilder:validation:Required + Project *string `json:"project" tf:"project,omitempty"` + + // Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used. + // +kubebuilder:validation:Optional + RetentionDays *int64 `json:"retentionDays,omitempty" tf:"retention_days,omitempty"` +} + +// ProjectBucketConfigSpec defines the desired state of ProjectBucketConfig +type ProjectBucketConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectBucketConfigParameters `json:"forProvider"` +} + +// ProjectBucketConfigStatus defines the observed state of ProjectBucketConfig. +type ProjectBucketConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectBucketConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectBucketConfig is the Schema for the ProjectBucketConfigs 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,gcpjet} +type ProjectBucketConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectBucketConfigSpec `json:"spec"` + Status ProjectBucketConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectBucketConfigList contains a list of ProjectBucketConfigs +type ProjectBucketConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectBucketConfig `json:"items"` +} + +// Repository type metadata. +var ( + ProjectBucketConfig_Kind = "ProjectBucketConfig" + ProjectBucketConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectBucketConfig_Kind}.String() + ProjectBucketConfig_KindAPIVersion = ProjectBucketConfig_Kind + "." + CRDGroupVersion.String() + ProjectBucketConfig_GroupVersionKind = CRDGroupVersion.WithKind(ProjectBucketConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectBucketConfig{}, &ProjectBucketConfigList{}) +} diff --git a/apis/logging/v1alpha1/zz_projectexclusion_terraformed.go b/apis/logging/v1alpha1/zz_projectexclusion_terraformed.go new file mode 100755 index 00000000..a38aeefc --- /dev/null +++ b/apis/logging/v1alpha1/zz_projectexclusion_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectExclusion +func (mg *ProjectExclusion) GetTerraformResourceType() string { + return "google_logging_project_exclusion" +} + +// GetConnectionDetailsMapping for this ProjectExclusion +func (tr *ProjectExclusion) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectExclusion +func (tr *ProjectExclusion) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectExclusion +func (tr *ProjectExclusion) SetObservation(obs map[string]interface{}) 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 ProjectExclusion +func (tr *ProjectExclusion) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectExclusion +func (tr *ProjectExclusion) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectExclusion +func (tr *ProjectExclusion) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectExclusion using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectExclusion) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectExclusionParameters{} + 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 *ProjectExclusion) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/logging/v1alpha1/zz_projectexclusion_types.go b/apis/logging/v1alpha1/zz_projectexclusion_types.go new file mode 100755 index 00000000..1cfa7993 --- /dev/null +++ b/apis/logging/v1alpha1/zz_projectexclusion_types.go @@ -0,0 +1,101 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectExclusionObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ProjectExclusionParameters struct { + + // A human-readable description. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Whether this exclusion rule should be disabled or not. This defaults to false. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // The filter to apply when excluding logs. Only log entries that match the filter are excluded. + // +kubebuilder:validation:Required + Filter *string `json:"filter" tf:"filter,omitempty"` + + // The name of the logging exclusion. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// ProjectExclusionSpec defines the desired state of ProjectExclusion +type ProjectExclusionSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectExclusionParameters `json:"forProvider"` +} + +// ProjectExclusionStatus defines the observed state of ProjectExclusion. +type ProjectExclusionStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectExclusionObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectExclusion is the Schema for the ProjectExclusions 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,gcpjet} +type ProjectExclusion struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectExclusionSpec `json:"spec"` + Status ProjectExclusionStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectExclusionList contains a list of ProjectExclusions +type ProjectExclusionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectExclusion `json:"items"` +} + +// Repository type metadata. +var ( + ProjectExclusion_Kind = "ProjectExclusion" + ProjectExclusion_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectExclusion_Kind}.String() + ProjectExclusion_KindAPIVersion = ProjectExclusion_Kind + "." + CRDGroupVersion.String() + ProjectExclusion_GroupVersionKind = CRDGroupVersion.WithKind(ProjectExclusion_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectExclusion{}, &ProjectExclusionList{}) +} diff --git a/apis/logging/v1alpha1/zz_projectsink_terraformed.go b/apis/logging/v1alpha1/zz_projectsink_terraformed.go new file mode 100755 index 00000000..42da72d1 --- /dev/null +++ b/apis/logging/v1alpha1/zz_projectsink_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectSink +func (mg *ProjectSink) GetTerraformResourceType() string { + return "google_logging_project_sink" +} + +// GetConnectionDetailsMapping for this ProjectSink +func (tr *ProjectSink) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectSink +func (tr *ProjectSink) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectSink +func (tr *ProjectSink) SetObservation(obs map[string]interface{}) 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 ProjectSink +func (tr *ProjectSink) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectSink +func (tr *ProjectSink) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectSink +func (tr *ProjectSink) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ProjectSink using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectSink) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectSinkParameters{} + 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 *ProjectSink) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/logging/v1alpha1/zz_projectsink_types.go b/apis/logging/v1alpha1/zz_projectsink_types.go new file mode 100755 index 00000000..fd40c76e --- /dev/null +++ b/apis/logging/v1alpha1/zz_projectsink_types.go @@ -0,0 +1,152 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ProjectSinkBigqueryOptionsObservation struct { +} + +type ProjectSinkBigqueryOptionsParameters struct { + + // Whether to use BigQuery's partition tables. By default, Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax has to be used instead. In both cases, tables are sharded based on UTC timezone. + // +kubebuilder:validation:Required + UsePartitionedTables *bool `json:"usePartitionedTables" tf:"use_partitioned_tables,omitempty"` +} + +type ProjectSinkExclusionsObservation struct { +} + +type ProjectSinkExclusionsParameters struct { + + // A description of this exclusion. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // If set to True, then this exclusion is disabled and it does not exclude any log entries + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // An advanced logs filter that matches the log entries to be excluded. By using the sample function, you can exclude less than 100% of the matching log entries + // +kubebuilder:validation:Required + Filter *string `json:"filter" tf:"filter,omitempty"` + + // A client-assigned identifier, such as "load-balancer-exclusion". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. First character has to be alphanumeric. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type ProjectSinkObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + WriterIdentity *string `json:"writerIdentity,omitempty" tf:"writer_identity,omitempty"` +} + +type ProjectSinkParameters struct { + + // Options that affect sinks exporting data to BigQuery. + // +kubebuilder:validation:Optional + BigqueryOptions []ProjectSinkBigqueryOptionsParameters `json:"bigqueryOptions,omitempty" tf:"bigquery_options,omitempty"` + + // A description of this sink. The maximum length of the description is 8000 characters. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The destination of the sink (or, in other words, where logs are written to). Can be a Cloud Storage bucket, a PubSub topic, or a BigQuery dataset. Examples: "storage.googleapis.com/[GCS_BUCKET]" "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" The writer associated with the sink must have access to write to the above resource. + // +kubebuilder:validation:Required + Destination *string `json:"destination" tf:"destination,omitempty"` + + // If set to True, then this sink is disabled and it does not export any log entries. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // Log entries that match any of the exclusion filters will not be exported. If a log entry is matched by both filter and one of exclusion_filters it will not be exported. + // +kubebuilder:validation:Optional + Exclusions []ProjectSinkExclusionsParameters `json:"exclusions,omitempty" tf:"exclusions,omitempty"` + + // The filter to apply when exporting logs. Only log entries that match the filter are exported. + // +kubebuilder:validation:Optional + Filter *string `json:"filter,omitempty" tf:"filter,omitempty"` + + // The name of the logging sink. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The ID of the project to create the sink in. If omitted, the project associated with the provider is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Whether or not to create a unique identity associated with this sink. If false (the default), then the writer_identity used is serviceAccount:cloud-logs@system.gserviceaccount.com. If true, then a unique service account is created and used for this sink. If you wish to publish logs across projects, you must set unique_writer_identity to true. + // +kubebuilder:validation:Optional + UniqueWriterIdentity *bool `json:"uniqueWriterIdentity,omitempty" tf:"unique_writer_identity,omitempty"` +} + +// ProjectSinkSpec defines the desired state of ProjectSink +type ProjectSinkSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectSinkParameters `json:"forProvider"` +} + +// ProjectSinkStatus defines the observed state of ProjectSink. +type ProjectSinkStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectSinkObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectSink is the Schema for the ProjectSinks 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,gcpjet} +type ProjectSink struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ProjectSinkSpec `json:"spec"` + Status ProjectSinkStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectSinkList contains a list of ProjectSinks +type ProjectSinkList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectSink `json:"items"` +} + +// Repository type metadata. +var ( + ProjectSink_Kind = "ProjectSink" + ProjectSink_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectSink_Kind}.String() + ProjectSink_KindAPIVersion = ProjectSink_Kind + "." + CRDGroupVersion.String() + ProjectSink_GroupVersionKind = CRDGroupVersion.WithKind(ProjectSink_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectSink{}, &ProjectSinkList{}) +} diff --git a/apis/memcache/v1alpha1/zz_generated.deepcopy.go b/apis/memcache/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..10b38e9c --- /dev/null +++ b/apis/memcache/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,395 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Instance) DeepCopyInto(out *Instance) { + *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 Instance. +func (in *Instance) DeepCopy() *Instance { + if in == nil { + return nil + } + out := new(Instance) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Instance) 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 *InstanceList) DeepCopyInto(out *InstanceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Instance, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList. +func (in *InstanceList) DeepCopy() *InstanceList { + if in == nil { + return nil + } + out := new(InstanceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceList) 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 *InstanceObservation) DeepCopyInto(out *InstanceObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.DiscoveryEndpoint != nil { + in, out := &in.DiscoveryEndpoint, &out.DiscoveryEndpoint + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.MemcacheFullVersion != nil { + in, out := &in.MemcacheFullVersion, &out.MemcacheFullVersion + *out = new(string) + **out = **in + } + if in.MemcacheNodes != nil { + in, out := &in.MemcacheNodes, &out.MemcacheNodes + *out = make([]MemcacheNodesObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceObservation. +func (in *InstanceObservation) DeepCopy() *InstanceObservation { + if in == nil { + return nil + } + out := new(InstanceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { + *out = *in + if in.AuthorizedNetwork != nil { + in, out := &in.AuthorizedNetwork, &out.AuthorizedNetwork + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.MemcacheParameters != nil { + in, out := &in.MemcacheParameters, &out.MemcacheParameters + *out = make([]MemcacheParametersParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MemcacheVersion != nil { + in, out := &in.MemcacheVersion, &out.MemcacheVersion + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NodeConfig != nil { + in, out := &in.NodeConfig, &out.NodeConfig + *out = make([]NodeConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NodeCount != nil { + in, out := &in.NodeCount, &out.NodeCount + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Zones != nil { + in, out := &in.Zones, &out.Zones + *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 InstanceParameters. +func (in *InstanceParameters) DeepCopy() *InstanceParameters { + if in == nil { + return nil + } + out := new(InstanceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec. +func (in *InstanceSpec) DeepCopy() *InstanceSpec { + if in == nil { + return nil + } + out := new(InstanceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus. +func (in *InstanceStatus) DeepCopy() *InstanceStatus { + if in == nil { + return nil + } + out := new(InstanceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MemcacheNodesObservation) DeepCopyInto(out *MemcacheNodesObservation) { + *out = *in + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.NodeID != nil { + in, out := &in.NodeID, &out.NodeID + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcacheNodesObservation. +func (in *MemcacheNodesObservation) DeepCopy() *MemcacheNodesObservation { + if in == nil { + return nil + } + out := new(MemcacheNodesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MemcacheNodesParameters) DeepCopyInto(out *MemcacheNodesParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcacheNodesParameters. +func (in *MemcacheNodesParameters) DeepCopy() *MemcacheNodesParameters { + if in == nil { + return nil + } + out := new(MemcacheNodesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MemcacheParametersObservation) DeepCopyInto(out *MemcacheParametersObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcacheParametersObservation. +func (in *MemcacheParametersObservation) DeepCopy() *MemcacheParametersObservation { + if in == nil { + return nil + } + out := new(MemcacheParametersObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MemcacheParametersParameters) DeepCopyInto(out *MemcacheParametersParameters) { + *out = *in + if in.Params != nil { + in, out := &in.Params, &out.Params + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcacheParametersParameters. +func (in *MemcacheParametersParameters) DeepCopy() *MemcacheParametersParameters { + if in == nil { + return nil + } + out := new(MemcacheParametersParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeConfigObservation) DeepCopyInto(out *NodeConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeConfigObservation. +func (in *NodeConfigObservation) DeepCopy() *NodeConfigObservation { + if in == nil { + return nil + } + out := new(NodeConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeConfigParameters) DeepCopyInto(out *NodeConfigParameters) { + *out = *in + if in.CPUCount != nil { + in, out := &in.CPUCount, &out.CPUCount + *out = new(int64) + **out = **in + } + if in.MemorySizeMb != nil { + in, out := &in.MemorySizeMb, &out.MemorySizeMb + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeConfigParameters. +func (in *NodeConfigParameters) DeepCopy() *NodeConfigParameters { + if in == nil { + return nil + } + out := new(NodeConfigParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/memcache/v1alpha1/zz_generated.managed.go b/apis/memcache/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..f3014e16 --- /dev/null +++ b/apis/memcache/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Instance. +func (mg *Instance) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Instance. +func (mg *Instance) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Instance. +func (mg *Instance) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Instance. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Instance) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Instance. +func (mg *Instance) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Instance. +func (mg *Instance) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Instance. +func (mg *Instance) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Instance. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Instance) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/memcache/v1alpha1/zz_generated.managedlist.go b/apis/memcache/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..ac5165ff --- /dev/null +++ b/apis/memcache/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this InstanceList. +func (l *InstanceList) 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/memcache/v1alpha1/zz_groupversion_info.go b/apis/memcache/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..4fac6888 --- /dev/null +++ b/apis/memcache/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=memcache.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "memcache.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/memcache/v1alpha1/zz_instance_terraformed.go b/apis/memcache/v1alpha1/zz_instance_terraformed.go new file mode 100755 index 00000000..57067798 --- /dev/null +++ b/apis/memcache/v1alpha1/zz_instance_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Instance +func (mg *Instance) GetTerraformResourceType() string { + return "google_memcache_instance" +} + +// GetConnectionDetailsMapping for this Instance +func (tr *Instance) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Instance +func (tr *Instance) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Instance +func (tr *Instance) SetObservation(obs map[string]interface{}) 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 Instance +func (tr *Instance) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Instance +func (tr *Instance) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Instance +func (tr *Instance) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Instance using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Instance) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceParameters{} + 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 *Instance) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/memcache/v1alpha1/zz_instance_types.go b/apis/memcache/v1alpha1/zz_instance_types.go new file mode 100755 index 00000000..1df792da --- /dev/null +++ b/apis/memcache/v1alpha1/zz_instance_types.go @@ -0,0 +1,177 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + DiscoveryEndpoint *string `json:"discoveryEndpoint,omitempty" tf:"discovery_endpoint,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + MemcacheFullVersion *string `json:"memcacheFullVersion,omitempty" tf:"memcache_full_version,omitempty"` + + MemcacheNodes []MemcacheNodesObservation `json:"memcacheNodes,omitempty" tf:"memcache_nodes,omitempty"` +} + +type InstanceParameters struct { + + // The full name of the GCE network to connect the instance to. If not provided, + // 'default' will be used. + // +kubebuilder:validation:Optional + AuthorizedNetwork *string `json:"authorizedNetwork,omitempty" tf:"authorized_network,omitempty"` + + // A user-visible name for the instance. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // Resource labels to represent user-provided metadata. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // User-specified parameters for this memcache instance. + // +kubebuilder:validation:Optional + MemcacheParameters []MemcacheParametersParameters `json:"memcacheParameters,omitempty" tf:"memcache_parameters,omitempty"` + + // The major version of Memcached software. If not provided, latest supported version will be used. + // Currently the latest supported major version is MEMCACHE_1_5. The minor version will be automatically + // determined by our system based on the latest supported minor version. Default value: "MEMCACHE_1_5" Possible values: ["MEMCACHE_1_5"] + // +kubebuilder:validation:Optional + MemcacheVersion *string `json:"memcacheVersion,omitempty" tf:"memcache_version,omitempty"` + + // The resource name of the instance. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Configuration for memcache nodes. + // +kubebuilder:validation:Required + NodeConfig []NodeConfigParameters `json:"nodeConfig" tf:"node_config,omitempty"` + + // Number of nodes in the memcache instance. + // +kubebuilder:validation:Required + NodeCount *int64 `json:"nodeCount" tf:"node_count,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The region of the Memcache instance. If it is not provided, the provider region is used. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // Zones where memcache nodes should be provisioned. If not + // provided, all zones will be used. + // +kubebuilder:validation:Optional + Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"` +} + +type MemcacheNodesObservation struct { + Host *string `json:"host,omitempty" tf:"host,omitempty"` + + NodeID *string `json:"nodeId,omitempty" tf:"node_id,omitempty"` + + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + State *string `json:"state,omitempty" tf:"state,omitempty"` + + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type MemcacheNodesParameters struct { +} + +type MemcacheParametersObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type MemcacheParametersParameters struct { + + // User-defined set of parameters to use in the memcache process. + // +kubebuilder:validation:Optional + Params map[string]*string `json:"params,omitempty" tf:"params,omitempty"` +} + +type NodeConfigObservation struct { +} + +type NodeConfigParameters struct { + + // Number of CPUs per node. + // +kubebuilder:validation:Required + CPUCount *int64 `json:"cpuCount" tf:"cpu_count,omitempty"` + + // Memory size in Mebibytes for each memcache node. + // +kubebuilder:validation:Required + MemorySizeMb *int64 `json:"memorySizeMb" tf:"memory_size_mb,omitempty"` +} + +// InstanceSpec defines the desired state of Instance +type InstanceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceParameters `json:"forProvider"` +} + +// InstanceStatus defines the observed state of Instance. +type InstanceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Instance is the Schema for the Instances 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,gcpjet} +type Instance struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceSpec `json:"spec"` + Status InstanceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceList contains a list of Instances +type InstanceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Instance `json:"items"` +} + +// Repository type metadata. +var ( + Instance_Kind = "Instance" + Instance_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Instance_Kind}.String() + Instance_KindAPIVersion = Instance_Kind + "." + CRDGroupVersion.String() + Instance_GroupVersionKind = CRDGroupVersion.WithKind(Instance_Kind) +) + +func init() { + SchemeBuilder.Register(&Instance{}, &InstanceList{}) +} diff --git a/apis/mlengine/v1alpha1/zz_generated.deepcopy.go b/apis/mlengine/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..f50990dd --- /dev/null +++ b/apis/mlengine/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,246 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultVersionObservation) DeepCopyInto(out *DefaultVersionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultVersionObservation. +func (in *DefaultVersionObservation) DeepCopy() *DefaultVersionObservation { + if in == nil { + return nil + } + out := new(DefaultVersionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultVersionParameters) DeepCopyInto(out *DefaultVersionParameters) { + *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 DefaultVersionParameters. +func (in *DefaultVersionParameters) DeepCopy() *DefaultVersionParameters { + if in == nil { + return nil + } + out := new(DefaultVersionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Model) DeepCopyInto(out *Model) { + *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 Model. +func (in *Model) DeepCopy() *Model { + if in == nil { + return nil + } + out := new(Model) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Model) 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 *ModelList) DeepCopyInto(out *ModelList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Model, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelList. +func (in *ModelList) DeepCopy() *ModelList { + if in == nil { + return nil + } + out := new(ModelList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ModelList) 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 *ModelObservation) DeepCopyInto(out *ModelObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelObservation. +func (in *ModelObservation) DeepCopy() *ModelObservation { + if in == nil { + return nil + } + out := new(ModelObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ModelParameters) DeepCopyInto(out *ModelParameters) { + *out = *in + if in.DefaultVersion != nil { + in, out := &in.DefaultVersion, &out.DefaultVersion + *out = make([]DefaultVersionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.OnlinePredictionConsoleLogging != nil { + in, out := &in.OnlinePredictionConsoleLogging, &out.OnlinePredictionConsoleLogging + *out = new(bool) + **out = **in + } + if in.OnlinePredictionLogging != nil { + in, out := &in.OnlinePredictionLogging, &out.OnlinePredictionLogging + *out = new(bool) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Regions != nil { + in, out := &in.Regions, &out.Regions + *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 ModelParameters. +func (in *ModelParameters) DeepCopy() *ModelParameters { + if in == nil { + return nil + } + out := new(ModelParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ModelSpec) DeepCopyInto(out *ModelSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelSpec. +func (in *ModelSpec) DeepCopy() *ModelSpec { + if in == nil { + return nil + } + out := new(ModelSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ModelStatus) DeepCopyInto(out *ModelStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelStatus. +func (in *ModelStatus) DeepCopy() *ModelStatus { + if in == nil { + return nil + } + out := new(ModelStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/mlengine/v1alpha1/zz_generated.managed.go b/apis/mlengine/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..7055941b --- /dev/null +++ b/apis/mlengine/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Model. +func (mg *Model) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Model. +func (mg *Model) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Model. +func (mg *Model) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Model. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Model) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Model. +func (mg *Model) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Model. +func (mg *Model) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Model. +func (mg *Model) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Model. +func (mg *Model) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Model. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Model) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Model. +func (mg *Model) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/mlengine/v1alpha1/zz_generated.managedlist.go b/apis/mlengine/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..10316a68 --- /dev/null +++ b/apis/mlengine/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this ModelList. +func (l *ModelList) 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/mlengine/v1alpha1/zz_groupversion_info.go b/apis/mlengine/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..169867d3 --- /dev/null +++ b/apis/mlengine/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=mlengine.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "mlengine.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/mlengine/v1alpha1/zz_model_terraformed.go b/apis/mlengine/v1alpha1/zz_model_terraformed.go new file mode 100755 index 00000000..6cd6d27c --- /dev/null +++ b/apis/mlengine/v1alpha1/zz_model_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Model +func (mg *Model) GetTerraformResourceType() string { + return "google_ml_engine_model" +} + +// GetConnectionDetailsMapping for this Model +func (tr *Model) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Model +func (tr *Model) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Model +func (tr *Model) SetObservation(obs map[string]interface{}) 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 Model +func (tr *Model) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Model +func (tr *Model) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Model +func (tr *Model) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Model using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Model) LateInitialize(attrs []byte) (bool, error) { + params := &ModelParameters{} + 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 *Model) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/mlengine/v1alpha1/zz_model_types.go b/apis/mlengine/v1alpha1/zz_model_types.go new file mode 100755 index 00000000..8ab74148 --- /dev/null +++ b/apis/mlengine/v1alpha1/zz_model_types.go @@ -0,0 +1,125 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DefaultVersionObservation struct { +} + +type DefaultVersionParameters struct { + + // The name specified for the version when it was created. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type ModelObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ModelParameters struct { + + // The default version of the model. This version will be used to handle + // prediction requests that do not specify a version. + // +kubebuilder:validation:Optional + DefaultVersion []DefaultVersionParameters `json:"defaultVersion,omitempty" tf:"default_version,omitempty"` + + // The description specified for the model when it was created. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // One or more labels that you can add, to organize your models. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The name specified for the model. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // If true, online prediction nodes send stderr and stdout streams to Stackdriver Logging + // +kubebuilder:validation:Optional + OnlinePredictionConsoleLogging *bool `json:"onlinePredictionConsoleLogging,omitempty" tf:"online_prediction_console_logging,omitempty"` + + // If true, online prediction access logs are sent to StackDriver Logging. + // +kubebuilder:validation:Optional + OnlinePredictionLogging *bool `json:"onlinePredictionLogging,omitempty" tf:"online_prediction_logging,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The list of regions where the model is going to be deployed. + // Currently only one region per model is supported + // +kubebuilder:validation:Optional + Regions []*string `json:"regions,omitempty" tf:"regions,omitempty"` +} + +// ModelSpec defines the desired state of Model +type ModelSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ModelParameters `json:"forProvider"` +} + +// ModelStatus defines the observed state of Model. +type ModelStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ModelObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Model is the Schema for the Models 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,gcpjet} +type Model struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ModelSpec `json:"spec"` + Status ModelStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ModelList contains a list of Models +type ModelList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Model `json:"items"` +} + +// Repository type metadata. +var ( + Model_Kind = "Model" + Model_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Model_Kind}.String() + Model_KindAPIVersion = Model_Kind + "." + CRDGroupVersion.String() + Model_GroupVersionKind = CRDGroupVersion.WithKind(Model_Kind) +) + +func init() { + SchemeBuilder.Register(&Model{}, &ModelList{}) +} diff --git a/apis/monitoring/v1alpha1/zz_customservice_terraformed.go b/apis/monitoring/v1alpha1/zz_customservice_terraformed.go new file mode 100755 index 00000000..992ec578 --- /dev/null +++ b/apis/monitoring/v1alpha1/zz_customservice_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this CustomService +func (mg *CustomService) GetTerraformResourceType() string { + return "google_monitoring_custom_service" +} + +// GetConnectionDetailsMapping for this CustomService +func (tr *CustomService) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this CustomService +func (tr *CustomService) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this CustomService +func (tr *CustomService) SetObservation(obs map[string]interface{}) 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 CustomService +func (tr *CustomService) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this CustomService +func (tr *CustomService) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this CustomService +func (tr *CustomService) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this CustomService using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *CustomService) LateInitialize(attrs []byte) (bool, error) { + params := &CustomServiceParameters{} + 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 *CustomService) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/monitoring/v1alpha1/zz_customservice_types.go b/apis/monitoring/v1alpha1/zz_customservice_types.go new file mode 100755 index 00000000..9cc30899 --- /dev/null +++ b/apis/monitoring/v1alpha1/zz_customservice_types.go @@ -0,0 +1,112 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CustomServiceObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type CustomServiceParameters struct { + + // Name used for UI elements listing this Service. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // An optional service ID to use. If not given, the server will generate a + // service ID. + // +kubebuilder:validation:Optional + ServiceID *string `json:"serviceId,omitempty" tf:"service_id,omitempty"` + + // Configuration for how to query telemetry on a Service. + // +kubebuilder:validation:Optional + Telemetry []TelemetryParameters `json:"telemetry,omitempty" tf:"telemetry,omitempty"` +} + +type TelemetryObservation struct { +} + +type TelemetryParameters struct { + + // The full name of the resource that defines this service. + // Formatted as described in + // https://cloud.google.com/apis/design/resource_names. + // +kubebuilder:validation:Optional + ResourceName *string `json:"resourceName,omitempty" tf:"resource_name,omitempty"` +} + +// CustomServiceSpec defines the desired state of CustomService +type CustomServiceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider CustomServiceParameters `json:"forProvider"` +} + +// CustomServiceStatus defines the observed state of CustomService. +type CustomServiceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider CustomServiceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// CustomService is the Schema for the CustomServices 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,gcpjet} +type CustomService struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec CustomServiceSpec `json:"spec"` + Status CustomServiceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// CustomServiceList contains a list of CustomServices +type CustomServiceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CustomService `json:"items"` +} + +// Repository type metadata. +var ( + CustomService_Kind = "CustomService" + CustomService_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: CustomService_Kind}.String() + CustomService_KindAPIVersion = CustomService_Kind + "." + CRDGroupVersion.String() + CustomService_GroupVersionKind = CRDGroupVersion.WithKind(CustomService_Kind) +) + +func init() { + SchemeBuilder.Register(&CustomService{}, &CustomServiceList{}) +} diff --git a/apis/monitoring/v1alpha1/zz_dashboard_terraformed.go b/apis/monitoring/v1alpha1/zz_dashboard_terraformed.go new file mode 100755 index 00000000..992d341b --- /dev/null +++ b/apis/monitoring/v1alpha1/zz_dashboard_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Dashboard +func (mg *Dashboard) GetTerraformResourceType() string { + return "google_monitoring_dashboard" +} + +// GetConnectionDetailsMapping for this Dashboard +func (tr *Dashboard) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Dashboard +func (tr *Dashboard) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Dashboard +func (tr *Dashboard) SetObservation(obs map[string]interface{}) 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 Dashboard +func (tr *Dashboard) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Dashboard +func (tr *Dashboard) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Dashboard +func (tr *Dashboard) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Dashboard using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Dashboard) LateInitialize(attrs []byte) (bool, error) { + params := &DashboardParameters{} + 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 *Dashboard) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/monitoring/v1alpha1/zz_dashboard_types.go b/apis/monitoring/v1alpha1/zz_dashboard_types.go new file mode 100755 index 00000000..50a4eeb9 --- /dev/null +++ b/apis/monitoring/v1alpha1/zz_dashboard_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DashboardObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DashboardParameters struct { + + // The JSON representation of a dashboard, following the format at https://cloud.google.com/monitoring/api/ref_v3/rest/v1/projects.dashboards. + // +kubebuilder:validation:Required + DashboardJSON *string `json:"dashboardJson" tf:"dashboard_json,omitempty"` + + // The ID of the project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// DashboardSpec defines the desired state of Dashboard +type DashboardSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DashboardParameters `json:"forProvider"` +} + +// DashboardStatus defines the observed state of Dashboard. +type DashboardStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DashboardObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Dashboard is the Schema for the Dashboards 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,gcpjet} +type Dashboard struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DashboardSpec `json:"spec"` + Status DashboardStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DashboardList contains a list of Dashboards +type DashboardList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Dashboard `json:"items"` +} + +// Repository type metadata. +var ( + Dashboard_Kind = "Dashboard" + Dashboard_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Dashboard_Kind}.String() + Dashboard_KindAPIVersion = Dashboard_Kind + "." + CRDGroupVersion.String() + Dashboard_GroupVersionKind = CRDGroupVersion.WithKind(Dashboard_Kind) +) + +func init() { + SchemeBuilder.Register(&Dashboard{}, &DashboardList{}) +} diff --git a/apis/monitoring/v1alpha1/zz_generated.deepcopy.go b/apis/monitoring/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..561b6586 --- /dev/null +++ b/apis/monitoring/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1893 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AvailabilityObservation) DeepCopyInto(out *AvailabilityObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AvailabilityObservation. +func (in *AvailabilityObservation) DeepCopy() *AvailabilityObservation { + if in == nil { + return nil + } + out := new(AvailabilityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AvailabilityParameters) DeepCopyInto(out *AvailabilityParameters) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AvailabilityParameters. +func (in *AvailabilityParameters) DeepCopy() *AvailabilityParameters { + if in == nil { + return nil + } + out := new(AvailabilityParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicSliObservation) DeepCopyInto(out *BasicSliObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicSliObservation. +func (in *BasicSliObservation) DeepCopy() *BasicSliObservation { + if in == nil { + return nil + } + out := new(BasicSliObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicSliParameters) DeepCopyInto(out *BasicSliParameters) { + *out = *in + if in.Availability != nil { + in, out := &in.Availability, &out.Availability + *out = make([]AvailabilityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Latency != nil { + in, out := &in.Latency, &out.Latency + *out = make([]LatencyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *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.Method != nil { + in, out := &in.Method, &out.Method + *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.Version != nil { + in, out := &in.Version, &out.Version + *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 BasicSliParameters. +func (in *BasicSliParameters) DeepCopy() *BasicSliParameters { + if in == nil { + return nil + } + out := new(BasicSliParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicSliPerformanceAvailabilityObservation) DeepCopyInto(out *BasicSliPerformanceAvailabilityObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicSliPerformanceAvailabilityObservation. +func (in *BasicSliPerformanceAvailabilityObservation) DeepCopy() *BasicSliPerformanceAvailabilityObservation { + if in == nil { + return nil + } + out := new(BasicSliPerformanceAvailabilityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicSliPerformanceAvailabilityParameters) DeepCopyInto(out *BasicSliPerformanceAvailabilityParameters) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicSliPerformanceAvailabilityParameters. +func (in *BasicSliPerformanceAvailabilityParameters) DeepCopy() *BasicSliPerformanceAvailabilityParameters { + if in == nil { + return nil + } + out := new(BasicSliPerformanceAvailabilityParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicSliPerformanceLatencyObservation) DeepCopyInto(out *BasicSliPerformanceLatencyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicSliPerformanceLatencyObservation. +func (in *BasicSliPerformanceLatencyObservation) DeepCopy() *BasicSliPerformanceLatencyObservation { + if in == nil { + return nil + } + out := new(BasicSliPerformanceLatencyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicSliPerformanceLatencyParameters) DeepCopyInto(out *BasicSliPerformanceLatencyParameters) { + *out = *in + if in.Threshold != nil { + in, out := &in.Threshold, &out.Threshold + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicSliPerformanceLatencyParameters. +func (in *BasicSliPerformanceLatencyParameters) DeepCopy() *BasicSliPerformanceLatencyParameters { + if in == nil { + return nil + } + out := new(BasicSliPerformanceLatencyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicSliPerformanceObservation) DeepCopyInto(out *BasicSliPerformanceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicSliPerformanceObservation. +func (in *BasicSliPerformanceObservation) DeepCopy() *BasicSliPerformanceObservation { + if in == nil { + return nil + } + out := new(BasicSliPerformanceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicSliPerformanceParameters) DeepCopyInto(out *BasicSliPerformanceParameters) { + *out = *in + if in.Availability != nil { + in, out := &in.Availability, &out.Availability + *out = make([]BasicSliPerformanceAvailabilityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Latency != nil { + in, out := &in.Latency, &out.Latency + *out = make([]BasicSliPerformanceLatencyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *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.Method != nil { + in, out := &in.Method, &out.Method + *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.Version != nil { + in, out := &in.Version, &out.Version + *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 BasicSliPerformanceParameters. +func (in *BasicSliPerformanceParameters) DeepCopy() *BasicSliPerformanceParameters { + if in == nil { + return nil + } + out := new(BasicSliPerformanceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomService) DeepCopyInto(out *CustomService) { + *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 CustomService. +func (in *CustomService) DeepCopy() *CustomService { + if in == nil { + return nil + } + out := new(CustomService) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CustomService) 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 *CustomServiceList) DeepCopyInto(out *CustomServiceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CustomService, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomServiceList. +func (in *CustomServiceList) DeepCopy() *CustomServiceList { + if in == nil { + return nil + } + out := new(CustomServiceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CustomServiceList) 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 *CustomServiceObservation) DeepCopyInto(out *CustomServiceObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomServiceObservation. +func (in *CustomServiceObservation) DeepCopy() *CustomServiceObservation { + if in == nil { + return nil + } + out := new(CustomServiceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomServiceParameters) DeepCopyInto(out *CustomServiceParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ServiceID != nil { + in, out := &in.ServiceID, &out.ServiceID + *out = new(string) + **out = **in + } + if in.Telemetry != nil { + in, out := &in.Telemetry, &out.Telemetry + *out = make([]TelemetryParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomServiceParameters. +func (in *CustomServiceParameters) DeepCopy() *CustomServiceParameters { + if in == nil { + return nil + } + out := new(CustomServiceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomServiceSpec) DeepCopyInto(out *CustomServiceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomServiceSpec. +func (in *CustomServiceSpec) DeepCopy() *CustomServiceSpec { + if in == nil { + return nil + } + out := new(CustomServiceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomServiceStatus) DeepCopyInto(out *CustomServiceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomServiceStatus. +func (in *CustomServiceStatus) DeepCopy() *CustomServiceStatus { + if in == nil { + return nil + } + out := new(CustomServiceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Dashboard) DeepCopyInto(out *Dashboard) { + *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 Dashboard. +func (in *Dashboard) DeepCopy() *Dashboard { + if in == nil { + return nil + } + out := new(Dashboard) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Dashboard) 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 *DashboardList) DeepCopyInto(out *DashboardList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Dashboard, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardList. +func (in *DashboardList) DeepCopy() *DashboardList { + if in == nil { + return nil + } + out := new(DashboardList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DashboardList) 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 *DashboardObservation) DeepCopyInto(out *DashboardObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardObservation. +func (in *DashboardObservation) DeepCopy() *DashboardObservation { + if in == nil { + return nil + } + out := new(DashboardObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DashboardParameters) DeepCopyInto(out *DashboardParameters) { + *out = *in + if in.DashboardJSON != nil { + in, out := &in.DashboardJSON, &out.DashboardJSON + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardParameters. +func (in *DashboardParameters) DeepCopy() *DashboardParameters { + if in == nil { + return nil + } + out := new(DashboardParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DashboardSpec) DeepCopyInto(out *DashboardSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardSpec. +func (in *DashboardSpec) DeepCopy() *DashboardSpec { + if in == nil { + return nil + } + out := new(DashboardSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DashboardStatus) DeepCopyInto(out *DashboardStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardStatus. +func (in *DashboardStatus) DeepCopy() *DashboardStatus { + if in == nil { + return nil + } + out := new(DashboardStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DistributionCutObservation) DeepCopyInto(out *DistributionCutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DistributionCutObservation. +func (in *DistributionCutObservation) DeepCopy() *DistributionCutObservation { + if in == nil { + return nil + } + out := new(DistributionCutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DistributionCutParameters) DeepCopyInto(out *DistributionCutParameters) { + *out = *in + if in.DistributionFilter != nil { + in, out := &in.DistributionFilter, &out.DistributionFilter + *out = new(string) + **out = **in + } + if in.Range != nil { + in, out := &in.Range, &out.Range + *out = make([]RangeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DistributionCutParameters. +func (in *DistributionCutParameters) DeepCopy() *DistributionCutParameters { + if in == nil { + return nil + } + out := new(DistributionCutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DistributionCutRangeObservation) DeepCopyInto(out *DistributionCutRangeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DistributionCutRangeObservation. +func (in *DistributionCutRangeObservation) DeepCopy() *DistributionCutRangeObservation { + if in == nil { + return nil + } + out := new(DistributionCutRangeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DistributionCutRangeParameters) DeepCopyInto(out *DistributionCutRangeParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DistributionCutRangeParameters. +func (in *DistributionCutRangeParameters) DeepCopy() *DistributionCutRangeParameters { + if in == nil { + return nil + } + out := new(DistributionCutRangeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GoodTotalRatioObservation) DeepCopyInto(out *GoodTotalRatioObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GoodTotalRatioObservation. +func (in *GoodTotalRatioObservation) DeepCopy() *GoodTotalRatioObservation { + if in == nil { + return nil + } + out := new(GoodTotalRatioObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GoodTotalRatioParameters) DeepCopyInto(out *GoodTotalRatioParameters) { + *out = *in + if in.BadServiceFilter != nil { + in, out := &in.BadServiceFilter, &out.BadServiceFilter + *out = new(string) + **out = **in + } + if in.GoodServiceFilter != nil { + in, out := &in.GoodServiceFilter, &out.GoodServiceFilter + *out = new(string) + **out = **in + } + if in.TotalServiceFilter != nil { + in, out := &in.TotalServiceFilter, &out.TotalServiceFilter + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GoodTotalRatioParameters. +func (in *GoodTotalRatioParameters) DeepCopy() *GoodTotalRatioParameters { + if in == nil { + return nil + } + out := new(GoodTotalRatioParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GoodTotalRatioThresholdObservation) DeepCopyInto(out *GoodTotalRatioThresholdObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GoodTotalRatioThresholdObservation. +func (in *GoodTotalRatioThresholdObservation) DeepCopy() *GoodTotalRatioThresholdObservation { + if in == nil { + return nil + } + out := new(GoodTotalRatioThresholdObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GoodTotalRatioThresholdParameters) DeepCopyInto(out *GoodTotalRatioThresholdParameters) { + *out = *in + if in.BasicSliPerformance != nil { + in, out := &in.BasicSliPerformance, &out.BasicSliPerformance + *out = make([]BasicSliPerformanceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Performance != nil { + in, out := &in.Performance, &out.Performance + *out = make([]PerformanceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Threshold != nil { + in, out := &in.Threshold, &out.Threshold + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GoodTotalRatioThresholdParameters. +func (in *GoodTotalRatioThresholdParameters) DeepCopy() *GoodTotalRatioThresholdParameters { + if in == nil { + return nil + } + out := new(GoodTotalRatioThresholdParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Group) DeepCopyInto(out *Group) { + *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 Group. +func (in *Group) DeepCopy() *Group { + if in == nil { + return nil + } + out := new(Group) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Group) 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 *GroupList) DeepCopyInto(out *GroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Group, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupList. +func (in *GroupList) DeepCopy() *GroupList { + if in == nil { + return nil + } + out := new(GroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GroupList) 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 *GroupObservation) DeepCopyInto(out *GroupObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupObservation. +func (in *GroupObservation) DeepCopy() *GroupObservation { + if in == nil { + return nil + } + out := new(GroupObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupParameters) DeepCopyInto(out *GroupParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **out = **in + } + if in.IsCluster != nil { + in, out := &in.IsCluster, &out.IsCluster + *out = new(bool) + **out = **in + } + if in.ParentName != nil { + in, out := &in.ParentName, &out.ParentName + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupParameters. +func (in *GroupParameters) DeepCopy() *GroupParameters { + if in == nil { + return nil + } + out := new(GroupParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupSpec) DeepCopyInto(out *GroupSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupSpec. +func (in *GroupSpec) DeepCopy() *GroupSpec { + if in == nil { + return nil + } + out := new(GroupSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupStatus) DeepCopyInto(out *GroupStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupStatus. +func (in *GroupStatus) DeepCopy() *GroupStatus { + if in == nil { + return nil + } + out := new(GroupStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LabelsObservation) DeepCopyInto(out *LabelsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelsObservation. +func (in *LabelsObservation) DeepCopy() *LabelsObservation { + if in == nil { + return nil + } + out := new(LabelsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LabelsParameters) DeepCopyInto(out *LabelsParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.ValueType != nil { + in, out := &in.ValueType, &out.ValueType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelsParameters. +func (in *LabelsParameters) DeepCopy() *LabelsParameters { + if in == nil { + return nil + } + out := new(LabelsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LatencyObservation) DeepCopyInto(out *LatencyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LatencyObservation. +func (in *LatencyObservation) DeepCopy() *LatencyObservation { + if in == nil { + return nil + } + out := new(LatencyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LatencyParameters) DeepCopyInto(out *LatencyParameters) { + *out = *in + if in.Threshold != nil { + in, out := &in.Threshold, &out.Threshold + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LatencyParameters. +func (in *LatencyParameters) DeepCopy() *LatencyParameters { + if in == nil { + return nil + } + out := new(LatencyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetadataObservation) DeepCopyInto(out *MetadataObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataObservation. +func (in *MetadataObservation) DeepCopy() *MetadataObservation { + if in == nil { + return nil + } + out := new(MetadataObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetadataParameters) DeepCopyInto(out *MetadataParameters) { + *out = *in + if in.IngestDelay != nil { + in, out := &in.IngestDelay, &out.IngestDelay + *out = new(string) + **out = **in + } + if in.SamplePeriod != nil { + in, out := &in.SamplePeriod, &out.SamplePeriod + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataParameters. +func (in *MetadataParameters) DeepCopy() *MetadataParameters { + if in == nil { + return nil + } + out := new(MetadataParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricDescriptor) DeepCopyInto(out *MetricDescriptor) { + *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 MetricDescriptor. +func (in *MetricDescriptor) DeepCopy() *MetricDescriptor { + if in == nil { + return nil + } + out := new(MetricDescriptor) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MetricDescriptor) 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 *MetricDescriptorList) DeepCopyInto(out *MetricDescriptorList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]MetricDescriptor, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricDescriptorList. +func (in *MetricDescriptorList) DeepCopy() *MetricDescriptorList { + if in == nil { + return nil + } + out := new(MetricDescriptorList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MetricDescriptorList) 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 *MetricDescriptorObservation) DeepCopyInto(out *MetricDescriptorObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.MonitoredResourceTypes != nil { + in, out := &in.MonitoredResourceTypes, &out.MonitoredResourceTypes + *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.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 MetricDescriptorObservation. +func (in *MetricDescriptorObservation) DeepCopy() *MetricDescriptorObservation { + if in == nil { + return nil + } + out := new(MetricDescriptorObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricDescriptorParameters) DeepCopyInto(out *MetricDescriptorParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make([]LabelsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LaunchStage != nil { + in, out := &in.LaunchStage, &out.LaunchStage + *out = new(string) + **out = **in + } + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make([]MetadataParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MetricKind != nil { + in, out := &in.MetricKind, &out.MetricKind + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.Unit != nil { + in, out := &in.Unit, &out.Unit + *out = new(string) + **out = **in + } + if in.ValueType != nil { + in, out := &in.ValueType, &out.ValueType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricDescriptorParameters. +func (in *MetricDescriptorParameters) DeepCopy() *MetricDescriptorParameters { + if in == nil { + return nil + } + out := new(MetricDescriptorParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricDescriptorSpec) DeepCopyInto(out *MetricDescriptorSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricDescriptorSpec. +func (in *MetricDescriptorSpec) DeepCopy() *MetricDescriptorSpec { + if in == nil { + return nil + } + out := new(MetricDescriptorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricDescriptorStatus) DeepCopyInto(out *MetricDescriptorStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricDescriptorStatus. +func (in *MetricDescriptorStatus) DeepCopy() *MetricDescriptorStatus { + if in == nil { + return nil + } + out := new(MetricDescriptorStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricMeanInRangeObservation) DeepCopyInto(out *MetricMeanInRangeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricMeanInRangeObservation. +func (in *MetricMeanInRangeObservation) DeepCopy() *MetricMeanInRangeObservation { + if in == nil { + return nil + } + out := new(MetricMeanInRangeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricMeanInRangeParameters) DeepCopyInto(out *MetricMeanInRangeParameters) { + *out = *in + if in.Range != nil { + in, out := &in.Range, &out.Range + *out = make([]MetricMeanInRangeRangeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TimeSeries != nil { + in, out := &in.TimeSeries, &out.TimeSeries + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricMeanInRangeParameters. +func (in *MetricMeanInRangeParameters) DeepCopy() *MetricMeanInRangeParameters { + if in == nil { + return nil + } + out := new(MetricMeanInRangeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricMeanInRangeRangeObservation) DeepCopyInto(out *MetricMeanInRangeRangeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricMeanInRangeRangeObservation. +func (in *MetricMeanInRangeRangeObservation) DeepCopy() *MetricMeanInRangeRangeObservation { + if in == nil { + return nil + } + out := new(MetricMeanInRangeRangeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricMeanInRangeRangeParameters) DeepCopyInto(out *MetricMeanInRangeRangeParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricMeanInRangeRangeParameters. +func (in *MetricMeanInRangeRangeParameters) DeepCopy() *MetricMeanInRangeRangeParameters { + if in == nil { + return nil + } + out := new(MetricMeanInRangeRangeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricSumInRangeObservation) DeepCopyInto(out *MetricSumInRangeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSumInRangeObservation. +func (in *MetricSumInRangeObservation) DeepCopy() *MetricSumInRangeObservation { + if in == nil { + return nil + } + out := new(MetricSumInRangeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricSumInRangeParameters) DeepCopyInto(out *MetricSumInRangeParameters) { + *out = *in + if in.Range != nil { + in, out := &in.Range, &out.Range + *out = make([]MetricSumInRangeRangeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TimeSeries != nil { + in, out := &in.TimeSeries, &out.TimeSeries + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSumInRangeParameters. +func (in *MetricSumInRangeParameters) DeepCopy() *MetricSumInRangeParameters { + if in == nil { + return nil + } + out := new(MetricSumInRangeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricSumInRangeRangeObservation) DeepCopyInto(out *MetricSumInRangeRangeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSumInRangeRangeObservation. +func (in *MetricSumInRangeRangeObservation) DeepCopy() *MetricSumInRangeRangeObservation { + if in == nil { + return nil + } + out := new(MetricSumInRangeRangeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MetricSumInRangeRangeParameters) DeepCopyInto(out *MetricSumInRangeRangeParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSumInRangeRangeParameters. +func (in *MetricSumInRangeRangeParameters) DeepCopy() *MetricSumInRangeRangeParameters { + if in == nil { + return nil + } + out := new(MetricSumInRangeRangeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerformanceDistributionCutObservation) DeepCopyInto(out *PerformanceDistributionCutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerformanceDistributionCutObservation. +func (in *PerformanceDistributionCutObservation) DeepCopy() *PerformanceDistributionCutObservation { + if in == nil { + return nil + } + out := new(PerformanceDistributionCutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerformanceDistributionCutParameters) DeepCopyInto(out *PerformanceDistributionCutParameters) { + *out = *in + if in.DistributionFilter != nil { + in, out := &in.DistributionFilter, &out.DistributionFilter + *out = new(string) + **out = **in + } + if in.Range != nil { + in, out := &in.Range, &out.Range + *out = make([]DistributionCutRangeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerformanceDistributionCutParameters. +func (in *PerformanceDistributionCutParameters) DeepCopy() *PerformanceDistributionCutParameters { + if in == nil { + return nil + } + out := new(PerformanceDistributionCutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerformanceGoodTotalRatioObservation) DeepCopyInto(out *PerformanceGoodTotalRatioObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerformanceGoodTotalRatioObservation. +func (in *PerformanceGoodTotalRatioObservation) DeepCopy() *PerformanceGoodTotalRatioObservation { + if in == nil { + return nil + } + out := new(PerformanceGoodTotalRatioObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerformanceGoodTotalRatioParameters) DeepCopyInto(out *PerformanceGoodTotalRatioParameters) { + *out = *in + if in.BadServiceFilter != nil { + in, out := &in.BadServiceFilter, &out.BadServiceFilter + *out = new(string) + **out = **in + } + if in.GoodServiceFilter != nil { + in, out := &in.GoodServiceFilter, &out.GoodServiceFilter + *out = new(string) + **out = **in + } + if in.TotalServiceFilter != nil { + in, out := &in.TotalServiceFilter, &out.TotalServiceFilter + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerformanceGoodTotalRatioParameters. +func (in *PerformanceGoodTotalRatioParameters) DeepCopy() *PerformanceGoodTotalRatioParameters { + if in == nil { + return nil + } + out := new(PerformanceGoodTotalRatioParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerformanceObservation) DeepCopyInto(out *PerformanceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerformanceObservation. +func (in *PerformanceObservation) DeepCopy() *PerformanceObservation { + if in == nil { + return nil + } + out := new(PerformanceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerformanceParameters) DeepCopyInto(out *PerformanceParameters) { + *out = *in + if in.DistributionCut != nil { + in, out := &in.DistributionCut, &out.DistributionCut + *out = make([]PerformanceDistributionCutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GoodTotalRatio != nil { + in, out := &in.GoodTotalRatio, &out.GoodTotalRatio + *out = make([]PerformanceGoodTotalRatioParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerformanceParameters. +func (in *PerformanceParameters) DeepCopy() *PerformanceParameters { + if in == nil { + return nil + } + out := new(PerformanceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RangeObservation) DeepCopyInto(out *RangeObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeObservation. +func (in *RangeObservation) DeepCopy() *RangeObservation { + if in == nil { + return nil + } + out := new(RangeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RangeParameters) DeepCopyInto(out *RangeParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeParameters. +func (in *RangeParameters) DeepCopy() *RangeParameters { + if in == nil { + return nil + } + out := new(RangeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestBasedSliObservation) DeepCopyInto(out *RequestBasedSliObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestBasedSliObservation. +func (in *RequestBasedSliObservation) DeepCopy() *RequestBasedSliObservation { + if in == nil { + return nil + } + out := new(RequestBasedSliObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestBasedSliParameters) DeepCopyInto(out *RequestBasedSliParameters) { + *out = *in + if in.DistributionCut != nil { + in, out := &in.DistributionCut, &out.DistributionCut + *out = make([]DistributionCutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GoodTotalRatio != nil { + in, out := &in.GoodTotalRatio, &out.GoodTotalRatio + *out = make([]GoodTotalRatioParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestBasedSliParameters. +func (in *RequestBasedSliParameters) DeepCopy() *RequestBasedSliParameters { + if in == nil { + return nil + } + out := new(RequestBasedSliParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SLO) DeepCopyInto(out *SLO) { + *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 SLO. +func (in *SLO) DeepCopy() *SLO { + if in == nil { + return nil + } + out := new(SLO) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SLO) 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 *SLOList) DeepCopyInto(out *SLOList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SLO, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SLOList. +func (in *SLOList) DeepCopy() *SLOList { + if in == nil { + return nil + } + out := new(SLOList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SLOList) 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 *SLOObservation) DeepCopyInto(out *SLOObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SLOObservation. +func (in *SLOObservation) DeepCopy() *SLOObservation { + if in == nil { + return nil + } + out := new(SLOObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SLOParameters) DeepCopyInto(out *SLOParameters) { + *out = *in + if in.BasicSli != nil { + in, out := &in.BasicSli, &out.BasicSli + *out = make([]BasicSliParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CalendarPeriod != nil { + in, out := &in.CalendarPeriod, &out.CalendarPeriod + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Goal != nil { + in, out := &in.Goal, &out.Goal + *out = new(float64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RequestBasedSli != nil { + in, out := &in.RequestBasedSli, &out.RequestBasedSli + *out = make([]RequestBasedSliParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RollingPeriodDays != nil { + in, out := &in.RollingPeriodDays, &out.RollingPeriodDays + *out = new(int64) + **out = **in + } + if in.SLOID != nil { + in, out := &in.SLOID, &out.SLOID + *out = new(string) + **out = **in + } + if in.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } + if in.WindowsBasedSli != nil { + in, out := &in.WindowsBasedSli, &out.WindowsBasedSli + *out = make([]WindowsBasedSliParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SLOParameters. +func (in *SLOParameters) DeepCopy() *SLOParameters { + if in == nil { + return nil + } + out := new(SLOParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SLOSpec) DeepCopyInto(out *SLOSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SLOSpec. +func (in *SLOSpec) DeepCopy() *SLOSpec { + if in == nil { + return nil + } + out := new(SLOSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SLOStatus) DeepCopyInto(out *SLOStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SLOStatus. +func (in *SLOStatus) DeepCopy() *SLOStatus { + if in == nil { + return nil + } + out := new(SLOStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TelemetryObservation) DeepCopyInto(out *TelemetryObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TelemetryObservation. +func (in *TelemetryObservation) DeepCopy() *TelemetryObservation { + if in == nil { + return nil + } + out := new(TelemetryObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TelemetryParameters) DeepCopyInto(out *TelemetryParameters) { + *out = *in + if in.ResourceName != nil { + in, out := &in.ResourceName, &out.ResourceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TelemetryParameters. +func (in *TelemetryParameters) DeepCopy() *TelemetryParameters { + if in == nil { + return nil + } + out := new(TelemetryParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WindowsBasedSliObservation) DeepCopyInto(out *WindowsBasedSliObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsBasedSliObservation. +func (in *WindowsBasedSliObservation) DeepCopy() *WindowsBasedSliObservation { + if in == nil { + return nil + } + out := new(WindowsBasedSliObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WindowsBasedSliParameters) DeepCopyInto(out *WindowsBasedSliParameters) { + *out = *in + if in.GoodBadMetricFilter != nil { + in, out := &in.GoodBadMetricFilter, &out.GoodBadMetricFilter + *out = new(string) + **out = **in + } + if in.GoodTotalRatioThreshold != nil { + in, out := &in.GoodTotalRatioThreshold, &out.GoodTotalRatioThreshold + *out = make([]GoodTotalRatioThresholdParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MetricMeanInRange != nil { + in, out := &in.MetricMeanInRange, &out.MetricMeanInRange + *out = make([]MetricMeanInRangeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MetricSumInRange != nil { + in, out := &in.MetricSumInRange, &out.MetricSumInRange + *out = make([]MetricSumInRangeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WindowPeriod != nil { + in, out := &in.WindowPeriod, &out.WindowPeriod + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsBasedSliParameters. +func (in *WindowsBasedSliParameters) DeepCopy() *WindowsBasedSliParameters { + if in == nil { + return nil + } + out := new(WindowsBasedSliParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/monitoring/v1alpha1/zz_generated.managed.go b/apis/monitoring/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..7812c9c6 --- /dev/null +++ b/apis/monitoring/v1alpha1/zz_generated.managed.go @@ -0,0 +1,300 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this CustomService. +func (mg *CustomService) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this CustomService. +func (mg *CustomService) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this CustomService. +func (mg *CustomService) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this CustomService. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *CustomService) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this CustomService. +func (mg *CustomService) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this CustomService. +func (mg *CustomService) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this CustomService. +func (mg *CustomService) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this CustomService. +func (mg *CustomService) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this CustomService. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *CustomService) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this CustomService. +func (mg *CustomService) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Dashboard. +func (mg *Dashboard) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Dashboard. +func (mg *Dashboard) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Dashboard. +func (mg *Dashboard) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Dashboard. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Dashboard) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Dashboard. +func (mg *Dashboard) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Dashboard. +func (mg *Dashboard) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Dashboard. +func (mg *Dashboard) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Dashboard. +func (mg *Dashboard) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Dashboard. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Dashboard) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Dashboard. +func (mg *Dashboard) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Group. +func (mg *Group) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Group. +func (mg *Group) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Group. +func (mg *Group) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Group. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Group) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Group. +func (mg *Group) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Group. +func (mg *Group) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Group. +func (mg *Group) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Group. +func (mg *Group) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Group. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Group) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Group. +func (mg *Group) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this MetricDescriptor. +func (mg *MetricDescriptor) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this MetricDescriptor. +func (mg *MetricDescriptor) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this MetricDescriptor. +func (mg *MetricDescriptor) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this MetricDescriptor. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *MetricDescriptor) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this MetricDescriptor. +func (mg *MetricDescriptor) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this MetricDescriptor. +func (mg *MetricDescriptor) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this MetricDescriptor. +func (mg *MetricDescriptor) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this MetricDescriptor. +func (mg *MetricDescriptor) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this MetricDescriptor. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *MetricDescriptor) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this MetricDescriptor. +func (mg *MetricDescriptor) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SLO. +func (mg *SLO) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SLO. +func (mg *SLO) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SLO. +func (mg *SLO) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SLO. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SLO) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SLO. +func (mg *SLO) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SLO. +func (mg *SLO) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SLO. +func (mg *SLO) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SLO. +func (mg *SLO) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SLO. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SLO) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SLO. +func (mg *SLO) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/monitoring/v1alpha1/zz_generated.managedlist.go b/apis/monitoring/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..4499ba06 --- /dev/null +++ b/apis/monitoring/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,65 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this CustomServiceList. +func (l *CustomServiceList) 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 DashboardList. +func (l *DashboardList) 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 GroupList. +func (l *GroupList) 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 MetricDescriptorList. +func (l *MetricDescriptorList) 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 SLOList. +func (l *SLOList) 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/monitoring/v1alpha1/zz_group_terraformed.go b/apis/monitoring/v1alpha1/zz_group_terraformed.go new file mode 100755 index 00000000..17a737a0 --- /dev/null +++ b/apis/monitoring/v1alpha1/zz_group_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Group +func (mg *Group) GetTerraformResourceType() string { + return "google_monitoring_group" +} + +// GetConnectionDetailsMapping for this Group +func (tr *Group) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Group +func (tr *Group) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Group +func (tr *Group) SetObservation(obs map[string]interface{}) 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 Group +func (tr *Group) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Group +func (tr *Group) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Group +func (tr *Group) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Group using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Group) LateInitialize(attrs []byte) (bool, error) { + params := &GroupParameters{} + 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 *Group) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/monitoring/v1alpha1/zz_group_types.go b/apis/monitoring/v1alpha1/zz_group_types.go new file mode 100755 index 00000000..1dc8d414 --- /dev/null +++ b/apis/monitoring/v1alpha1/zz_group_types.go @@ -0,0 +1,109 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 GroupObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type GroupParameters struct { + + // A user-assigned name for this group, used only for display + // purposes. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // The filter used to determine which monitored resources + // belong to this group. + // +kubebuilder:validation:Required + Filter *string `json:"filter" tf:"filter,omitempty"` + + // If true, the members of this group are considered to be a + // cluster. The system can perform additional analysis on + // groups that are clusters. + // +kubebuilder:validation:Optional + IsCluster *bool `json:"isCluster,omitempty" tf:"is_cluster,omitempty"` + + // The name of the group's parent, if it has one. The format is + // "projects/{project_id_or_number}/groups/{group_id}". For + // groups with no parent, parentName is the empty string, "". + // +kubebuilder:validation:Optional + ParentName *string `json:"parentName,omitempty" tf:"parent_name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// GroupSpec defines the desired state of Group +type GroupSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider GroupParameters `json:"forProvider"` +} + +// GroupStatus defines the observed state of Group. +type GroupStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider GroupObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Group is the Schema for the Groups 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,gcpjet} +type Group struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec GroupSpec `json:"spec"` + Status GroupStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// GroupList contains a list of Groups +type GroupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Group `json:"items"` +} + +// Repository type metadata. +var ( + Group_Kind = "Group" + Group_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Group_Kind}.String() + Group_KindAPIVersion = Group_Kind + "." + CRDGroupVersion.String() + Group_GroupVersionKind = CRDGroupVersion.WithKind(Group_Kind) +) + +func init() { + SchemeBuilder.Register(&Group{}, &GroupList{}) +} diff --git a/apis/monitoring/v1alpha1/zz_groupversion_info.go b/apis/monitoring/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..56286f8e --- /dev/null +++ b/apis/monitoring/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=monitoring.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "monitoring.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/monitoring/v1alpha1/zz_metricdescriptor_terraformed.go b/apis/monitoring/v1alpha1/zz_metricdescriptor_terraformed.go new file mode 100755 index 00000000..64e3ef96 --- /dev/null +++ b/apis/monitoring/v1alpha1/zz_metricdescriptor_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this MetricDescriptor +func (mg *MetricDescriptor) GetTerraformResourceType() string { + return "google_monitoring_metric_descriptor" +} + +// GetConnectionDetailsMapping for this MetricDescriptor +func (tr *MetricDescriptor) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this MetricDescriptor +func (tr *MetricDescriptor) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this MetricDescriptor +func (tr *MetricDescriptor) SetObservation(obs map[string]interface{}) 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 MetricDescriptor +func (tr *MetricDescriptor) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this MetricDescriptor +func (tr *MetricDescriptor) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this MetricDescriptor +func (tr *MetricDescriptor) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this MetricDescriptor using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *MetricDescriptor) LateInitialize(attrs []byte) (bool, error) { + params := &MetricDescriptorParameters{} + 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 *MetricDescriptor) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/monitoring/v1alpha1/zz_metricdescriptor_types.go b/apis/monitoring/v1alpha1/zz_metricdescriptor_types.go new file mode 100755 index 00000000..f4c27f85 --- /dev/null +++ b/apis/monitoring/v1alpha1/zz_metricdescriptor_types.go @@ -0,0 +1,176 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 LabelsObservation struct { +} + +type LabelsParameters struct { + + // A human-readable description for the label. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The key for this label. The key must not exceed 100 characters. The first character of the key must be an upper- or lower-case letter, the remaining characters must be letters, digits or underscores, and the key must match the regular expression [a-zA-Z][a-zA-Z0-9_]* + // +kubebuilder:validation:Required + Key *string `json:"key" tf:"key,omitempty"` + + // The type of data that can be assigned to the label. Default value: "STRING" Possible values: ["STRING", "BOOL", "INT64"] + // +kubebuilder:validation:Optional + ValueType *string `json:"valueType,omitempty" tf:"value_type,omitempty"` +} + +type MetadataObservation struct { +} + +type MetadataParameters struct { + + // The delay of data points caused by ingestion. Data points older than this age are guaranteed to be ingested and available to be read, excluding data loss due to errors. In '[duration format](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf?&_ga=2.264881487.1507873253.1593446723-935052455.1591817775#google.protobuf.Duration)'. + // +kubebuilder:validation:Optional + IngestDelay *string `json:"ingestDelay,omitempty" tf:"ingest_delay,omitempty"` + + // The sampling period of metric data points. For metrics which are written periodically, consecutive data points are stored at this time interval, excluding data loss due to errors. Metrics with a higher granularity have a smaller sampling period. In '[duration format](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf?&_ga=2.264881487.1507873253.1593446723-935052455.1591817775#google.protobuf.Duration)'. + // +kubebuilder:validation:Optional + SamplePeriod *string `json:"samplePeriod,omitempty" tf:"sample_period,omitempty"` +} + +type MetricDescriptorObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + MonitoredResourceTypes []*string `json:"monitoredResourceTypes,omitempty" tf:"monitored_resource_types,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type MetricDescriptorParameters struct { + + // A detailed description of the metric, which can be used in documentation. + // +kubebuilder:validation:Required + Description *string `json:"description" tf:"description,omitempty"` + + // A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example "Request count". + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // The set of labels that can be used to describe a specific instance of this metric type. In order to delete a label, the entire resource must be deleted, then created with the desired labels. + // +kubebuilder:validation:Optional + Labels []LabelsParameters `json:"labels,omitempty" tf:"labels,omitempty"` + + // The launch stage of the metric definition. Possible values: ["LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED"] + // +kubebuilder:validation:Optional + LaunchStage *string `json:"launchStage,omitempty" tf:"launch_stage,omitempty"` + + // Metadata which can be used to guide usage of the metric. + // +kubebuilder:validation:Optional + Metadata []MetadataParameters `json:"metadata,omitempty" tf:"metadata,omitempty"` + + // Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metricKind and valueType might not be supported. Possible values: ["METRIC_KIND_UNSPECIFIED", "GAUGE", "DELTA", "CUMULATIVE"] + // +kubebuilder:validation:Required + MetricKind *string `json:"metricKind" tf:"metric_kind,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The metric type, including its DNS name prefix. The type is not URL-encoded. All service defined metrics must be prefixed with the service name, in the format of {service name}/{relative metric name}, such as cloudsql.googleapis.com/database/cpu/utilization. The relative metric name must have only upper and lower-case letters, digits, '/' and underscores '_' are allowed. Additionally, the maximum number of characters allowed for the relative_metric_name is 100. All user-defined metric types have the DNS name custom.googleapis.com, external.googleapis.com, or logging.googleapis.com/user/. + // +kubebuilder:validation:Required + Type *string `json:"type" tf:"type,omitempty"` + + // The units in which the metric value is reported. It is only applicable if the + // valueType is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of + // the stored metric values. + // + // Different systems may scale the values to be more easily displayed (so a value of + // 0.02KBy might be displayed as 20By, and a value of 3523KBy might be displayed as + // 3.5MBy). However, if the unit is KBy, then the value of the metric is always in + // thousands of bytes, no matter how it may be displayed. + // + // If you want a custom metric to record the exact number of CPU-seconds used by a job, + // you can create an INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently + // 1s{CPU} or just s). If the job uses 12,005 CPU-seconds, then the value is written as + // 12005. + // + // Alternatively, if you want a custom metric to record data in a more granular way, you + // can create a DOUBLE CUMULATIVE metric whose unit is ks{CPU}, and then write the value + // 12.005 (which is 12005/1000), or use Kis{CPU} and write 11.723 (which is 12005/1024). + // The supported units are a subset of The Unified Code for Units of Measure standard. + // More info can be found in the API documentation + // (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors). + // +kubebuilder:validation:Optional + Unit *string `json:"unit,omitempty" tf:"unit,omitempty"` + + // Whether the measurement is an integer, a floating-point number, etc. Some combinations of metricKind and valueType might not be supported. Possible values: ["BOOL", "INT64", "DOUBLE", "STRING", "DISTRIBUTION"] + // +kubebuilder:validation:Required + ValueType *string `json:"valueType" tf:"value_type,omitempty"` +} + +// MetricDescriptorSpec defines the desired state of MetricDescriptor +type MetricDescriptorSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider MetricDescriptorParameters `json:"forProvider"` +} + +// MetricDescriptorStatus defines the observed state of MetricDescriptor. +type MetricDescriptorStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider MetricDescriptorObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// MetricDescriptor is the Schema for the MetricDescriptors 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,gcpjet} +type MetricDescriptor struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec MetricDescriptorSpec `json:"spec"` + Status MetricDescriptorStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// MetricDescriptorList contains a list of MetricDescriptors +type MetricDescriptorList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []MetricDescriptor `json:"items"` +} + +// Repository type metadata. +var ( + MetricDescriptor_Kind = "MetricDescriptor" + MetricDescriptor_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: MetricDescriptor_Kind}.String() + MetricDescriptor_KindAPIVersion = MetricDescriptor_Kind + "." + CRDGroupVersion.String() + MetricDescriptor_GroupVersionKind = CRDGroupVersion.WithKind(MetricDescriptor_Kind) +) + +func init() { + SchemeBuilder.Register(&MetricDescriptor{}, &MetricDescriptorList{}) +} diff --git a/apis/monitoring/v1alpha1/zz_slo_terraformed.go b/apis/monitoring/v1alpha1/zz_slo_terraformed.go new file mode 100755 index 00000000..867b2211 --- /dev/null +++ b/apis/monitoring/v1alpha1/zz_slo_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SLO +func (mg *SLO) GetTerraformResourceType() string { + return "google_monitoring_slo" +} + +// GetConnectionDetailsMapping for this SLO +func (tr *SLO) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SLO +func (tr *SLO) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SLO +func (tr *SLO) SetObservation(obs map[string]interface{}) 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 SLO +func (tr *SLO) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SLO +func (tr *SLO) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SLO +func (tr *SLO) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SLO using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SLO) LateInitialize(attrs []byte) (bool, error) { + params := &SLOParameters{} + 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 *SLO) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/monitoring/v1alpha1/zz_slo_types.go b/apis/monitoring/v1alpha1/zz_slo_types.go new file mode 100755 index 00000000..dfe16fa3 --- /dev/null +++ b/apis/monitoring/v1alpha1/zz_slo_types.go @@ -0,0 +1,636 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AvailabilityObservation struct { +} + +type AvailabilityParameters struct { + + // Whether an availability SLI is enabled or not. Must be set to true. Defaults to 'true'. + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` +} + +type BasicSliObservation struct { +} + +type BasicSliParameters struct { + + // Availability based SLI, dervied from count of requests made to this service that return successfully. + // +kubebuilder:validation:Optional + Availability []AvailabilityParameters `json:"availability,omitempty" tf:"availability,omitempty"` + + // Parameters for a latency threshold SLI. + // +kubebuilder:validation:Optional + Latency []LatencyParameters `json:"latency,omitempty" tf:"latency,omitempty"` + + // An optional set of locations to which this SLI is relevant. + // Telemetry from other locations will not be used to calculate + // performance for this SLI. If omitted, this SLI applies to all + // locations in which the Service has activity. For service types + // that don't support breaking down by location, setting this + // field will result in an error. + // +kubebuilder:validation:Optional + Location []*string `json:"location,omitempty" tf:"location,omitempty"` + + // An optional set of RPCs to which this SLI is relevant. + // Telemetry from other methods will not be used to calculate + // performance for this SLI. If omitted, this SLI applies to all + // the Service's methods. For service types that don't support + // breaking down by method, setting this field will result in an + // error. + // +kubebuilder:validation:Optional + Method []*string `json:"method,omitempty" tf:"method,omitempty"` + + // The set of API versions to which this SLI is relevant. + // Telemetry from other API versions will not be used to + // calculate performance for this SLI. If omitted, + // this SLI applies to all API versions. For service types + // that don't support breaking down by version, setting this + // field will result in an error. + // +kubebuilder:validation:Optional + Version []*string `json:"version,omitempty" tf:"version,omitempty"` +} + +type BasicSliPerformanceAvailabilityObservation struct { +} + +type BasicSliPerformanceAvailabilityParameters struct { + + // Whether an availability SLI is enabled or not. Must be set to 'true. Defaults to 'true'. + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` +} + +type BasicSliPerformanceLatencyObservation struct { +} + +type BasicSliPerformanceLatencyParameters struct { + + // A duration string, e.g. 10s. + // Good service is defined to be the count of requests made to + // this service that return in no more than threshold. + // +kubebuilder:validation:Required + Threshold *string `json:"threshold" tf:"threshold,omitempty"` +} + +type BasicSliPerformanceObservation struct { +} + +type BasicSliPerformanceParameters struct { + + // Availability based SLI, dervied from count of requests made to this service that return successfully. + // +kubebuilder:validation:Optional + Availability []BasicSliPerformanceAvailabilityParameters `json:"availability,omitempty" tf:"availability,omitempty"` + + // Parameters for a latency threshold SLI. + // +kubebuilder:validation:Optional + Latency []BasicSliPerformanceLatencyParameters `json:"latency,omitempty" tf:"latency,omitempty"` + + // An optional set of locations to which this SLI is relevant. + // Telemetry from other locations will not be used to calculate + // performance for this SLI. If omitted, this SLI applies to all + // locations in which the Service has activity. For service types + // that don't support breaking down by location, setting this + // field will result in an error. + // +kubebuilder:validation:Optional + Location []*string `json:"location,omitempty" tf:"location,omitempty"` + + // An optional set of RPCs to which this SLI is relevant. + // Telemetry from other methods will not be used to calculate + // performance for this SLI. If omitted, this SLI applies to all + // the Service's methods. For service types that don't support + // breaking down by method, setting this field will result in an + // error. + // +kubebuilder:validation:Optional + Method []*string `json:"method,omitempty" tf:"method,omitempty"` + + // The set of API versions to which this SLI is relevant. + // Telemetry from other API versions will not be used to + // calculate performance for this SLI. If omitted, + // this SLI applies to all API versions. For service types + // that don't support breaking down by version, setting this + // field will result in an error. + // +kubebuilder:validation:Optional + Version []*string `json:"version,omitempty" tf:"version,omitempty"` +} + +type DistributionCutObservation struct { +} + +type DistributionCutParameters struct { + + // A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + // aggregating values to quantify the good service provided. + // + // Must have ValueType = DISTRIBUTION and + // MetricKind = DELTA or MetricKind = CUMULATIVE. + // +kubebuilder:validation:Required + DistributionFilter *string `json:"distributionFilter" tf:"distribution_filter,omitempty"` + + // Range of numerical values. The computed good_service + // will be the count of values x in the Distribution such + // that range.min <= x <= range.max. inclusive of min and + // max. Open ranges can be defined by setting + // just one of min or max. + // +kubebuilder:validation:Required + Range []RangeParameters `json:"range" tf:"range,omitempty"` +} + +type DistributionCutRangeObservation struct { +} + +type DistributionCutRangeParameters struct { + + // max value for the range (inclusive). If not given, + // will be set to "infinity", defining an open range + // ">= range.min" + // +kubebuilder:validation:Optional + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Min value for the range (inclusive). If not given, + // will be set to "-infinity", defining an open range + // "< range.max" + // +kubebuilder:validation:Optional + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type GoodTotalRatioObservation struct { +} + +type GoodTotalRatioParameters struct { + + // A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + // quantifying bad service provided, either demanded service that + // was not provided or demanded service that was of inadequate + // quality. + // + // Must have ValueType = DOUBLE or ValueType = INT64 and + // must have MetricKind = DELTA or MetricKind = CUMULATIVE. + // + // Exactly two of 'good_service_filter','bad_service_filter','total_service_filter' + // must be set (good + bad = total is assumed). + // +kubebuilder:validation:Optional + BadServiceFilter *string `json:"badServiceFilter,omitempty" tf:"bad_service_filter,omitempty"` + + // A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + // quantifying good service provided. + // Must have ValueType = DOUBLE or ValueType = INT64 and + // must have MetricKind = DELTA or MetricKind = CUMULATIVE. + // + // Exactly two of 'good_service_filter','bad_service_filter','total_service_filter' + // must be set (good + bad = total is assumed). + // +kubebuilder:validation:Optional + GoodServiceFilter *string `json:"goodServiceFilter,omitempty" tf:"good_service_filter,omitempty"` + + // A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + // quantifying total demanded service. + // + // Must have ValueType = DOUBLE or ValueType = INT64 and + // must have MetricKind = DELTA or MetricKind = CUMULATIVE. + // + // Exactly two of 'good_service_filter','bad_service_filter','total_service_filter' + // must be set (good + bad = total is assumed). + // +kubebuilder:validation:Optional + TotalServiceFilter *string `json:"totalServiceFilter,omitempty" tf:"total_service_filter,omitempty"` +} + +type GoodTotalRatioThresholdObservation struct { +} + +type GoodTotalRatioThresholdParameters struct { + + // Basic SLI to evaluate to judge window quality. + // +kubebuilder:validation:Optional + BasicSliPerformance []BasicSliPerformanceParameters `json:"basicSliPerformance,omitempty" tf:"basic_sli_performance,omitempty"` + + // Request-based SLI to evaluate to judge window quality. + // +kubebuilder:validation:Optional + Performance []PerformanceParameters `json:"performance,omitempty" tf:"performance,omitempty"` + + // If window performance >= threshold, the window is counted + // as good. + // +kubebuilder:validation:Optional + Threshold *float64 `json:"threshold,omitempty" tf:"threshold,omitempty"` +} + +type LatencyObservation struct { +} + +type LatencyParameters struct { + + // A duration string, e.g. 10s. + // Good service is defined to be the count of requests made to + // this service that return in no more than threshold. + // +kubebuilder:validation:Required + Threshold *string `json:"threshold" tf:"threshold,omitempty"` +} + +type MetricMeanInRangeObservation struct { +} + +type MetricMeanInRangeParameters struct { + + // Range of numerical values. The computed good_service + // will be the count of values x in the Distribution such + // that range.min <= x <= range.max. inclusive of min and + // max. Open ranges can be defined by setting + // just one of min or max. Mean value 'X' of 'time_series' + // values should satisfy 'range.min <= X <= range.max' for a + // good service. + // +kubebuilder:validation:Required + Range []MetricMeanInRangeRangeParameters `json:"range" tf:"range,omitempty"` + + // A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + // specifying the TimeSeries to use for evaluating window + // The provided TimeSeries must have ValueType = INT64 or + // ValueType = DOUBLE and MetricKind = GAUGE. Mean value 'X' + // should satisfy 'range.min <= X <= range.max' + // under good service. + // +kubebuilder:validation:Required + TimeSeries *string `json:"timeSeries" tf:"time_series,omitempty"` +} + +type MetricMeanInRangeRangeObservation struct { +} + +type MetricMeanInRangeRangeParameters struct { + + // max value for the range (inclusive). If not given, + // will be set to "infinity", defining an open range + // ">= range.min" + // +kubebuilder:validation:Optional + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Min value for the range (inclusive). If not given, + // will be set to "-infinity", defining an open range + // "< range.max" + // +kubebuilder:validation:Optional + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type MetricSumInRangeObservation struct { +} + +type MetricSumInRangeParameters struct { + + // Range of numerical values. The computed good_service + // will be the count of values x in the Distribution such + // that range.min <= x <= range.max. inclusive of min and + // max. Open ranges can be defined by setting + // just one of min or max. Summed value 'X' should satisfy + // 'range.min <= X <= range.max' for a good window. + // +kubebuilder:validation:Required + Range []MetricSumInRangeRangeParameters `json:"range" tf:"range,omitempty"` + + // A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + // specifying the TimeSeries to use for evaluating window + // quality. The provided TimeSeries must have + // ValueType = INT64 or ValueType = DOUBLE and + // MetricKind = GAUGE. + // + // Summed value 'X' should satisfy + // 'range.min <= X <= range.max' for a good window. + // +kubebuilder:validation:Required + TimeSeries *string `json:"timeSeries" tf:"time_series,omitempty"` +} + +type MetricSumInRangeRangeObservation struct { +} + +type MetricSumInRangeRangeParameters struct { + + // max value for the range (inclusive). If not given, + // will be set to "infinity", defining an open range + // ">= range.min" + // +kubebuilder:validation:Optional + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Min value for the range (inclusive). If not given, + // will be set to "-infinity", defining an open range + // "< range.max" + // +kubebuilder:validation:Optional + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type PerformanceDistributionCutObservation struct { +} + +type PerformanceDistributionCutParameters struct { + + // A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + // aggregating values to quantify the good service provided. + // + // Must have ValueType = DISTRIBUTION and + // MetricKind = DELTA or MetricKind = CUMULATIVE. + // +kubebuilder:validation:Required + DistributionFilter *string `json:"distributionFilter" tf:"distribution_filter,omitempty"` + + // Range of numerical values. The computed good_service + // will be the count of values x in the Distribution such + // that range.min <= x <= range.max. inclusive of min and + // max. Open ranges can be defined by setting + // just one of min or max. + // +kubebuilder:validation:Required + Range []DistributionCutRangeParameters `json:"range" tf:"range,omitempty"` +} + +type PerformanceGoodTotalRatioObservation struct { +} + +type PerformanceGoodTotalRatioParameters struct { + + // A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + // quantifying bad service provided, either demanded service that + // was not provided or demanded service that was of inadequate + // quality. Exactly two of + // good, bad, or total service filter must be defined (where + // good + bad = total is assumed) + // + // Must have ValueType = DOUBLE or ValueType = INT64 and + // must have MetricKind = DELTA or MetricKind = CUMULATIVE. + // +kubebuilder:validation:Optional + BadServiceFilter *string `json:"badServiceFilter,omitempty" tf:"bad_service_filter,omitempty"` + + // A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + // quantifying good service provided. Exactly two of + // good, bad, or total service filter must be defined (where + // good + bad = total is assumed) + // + // Must have ValueType = DOUBLE or ValueType = INT64 and + // must have MetricKind = DELTA or MetricKind = CUMULATIVE. + // +kubebuilder:validation:Optional + GoodServiceFilter *string `json:"goodServiceFilter,omitempty" tf:"good_service_filter,omitempty"` + + // A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + // quantifying total demanded service. Exactly two of + // good, bad, or total service filter must be defined (where + // good + bad = total is assumed) + // + // Must have ValueType = DOUBLE or ValueType = INT64 and + // must have MetricKind = DELTA or MetricKind = CUMULATIVE. + // +kubebuilder:validation:Optional + TotalServiceFilter *string `json:"totalServiceFilter,omitempty" tf:"total_service_filter,omitempty"` +} + +type PerformanceObservation struct { +} + +type PerformanceParameters struct { + + // Used when good_service is defined by a count of values aggregated in a + // Distribution that fall into a good range. The total_service is the + // total count of all values aggregated in the Distribution. + // Defines a distribution TimeSeries filter and thresholds used for + // measuring good service and total service. + // +kubebuilder:validation:Optional + DistributionCut []PerformanceDistributionCutParameters `json:"distributionCut,omitempty" tf:"distribution_cut,omitempty"` + + // A means to compute a ratio of 'good_service' to 'total_service'. + // Defines computing this ratio with two TimeSeries [monitoring filters](https://cloud.google.com/monitoring/api/v3/filters) + // Must specify exactly two of good, bad, and total service filters. + // The relationship good_service + bad_service = total_service + // will be assumed. + // +kubebuilder:validation:Optional + GoodTotalRatio []PerformanceGoodTotalRatioParameters `json:"goodTotalRatio,omitempty" tf:"good_total_ratio,omitempty"` +} + +type RangeObservation struct { +} + +type RangeParameters struct { + + // max value for the range (inclusive). If not given, + // will be set to "infinity", defining an open range + // ">= range.min" + // +kubebuilder:validation:Optional + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Min value for the range (inclusive). If not given, + // will be set to "-infinity", defining an open range + // "< range.max" + // +kubebuilder:validation:Optional + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type RequestBasedSliObservation struct { +} + +type RequestBasedSliParameters struct { + + // Used when good_service is defined by a count of values aggregated in a + // Distribution that fall into a good range. The total_service is the + // total count of all values aggregated in the Distribution. + // Defines a distribution TimeSeries filter and thresholds used for + // measuring good service and total service. + // + // Exactly one of 'distribution_cut' or 'good_total_ratio' can be set. + // +kubebuilder:validation:Optional + DistributionCut []DistributionCutParameters `json:"distributionCut,omitempty" tf:"distribution_cut,omitempty"` + + // A means to compute a ratio of 'good_service' to 'total_service'. + // Defines computing this ratio with two TimeSeries [monitoring filters](https://cloud.google.com/monitoring/api/v3/filters) + // Must specify exactly two of good, bad, and total service filters. + // The relationship good_service + bad_service = total_service + // will be assumed. + // + // Exactly one of 'distribution_cut' or 'good_total_ratio' can be set. + // +kubebuilder:validation:Optional + GoodTotalRatio []GoodTotalRatioParameters `json:"goodTotalRatio,omitempty" tf:"good_total_ratio,omitempty"` +} + +type SLOObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type SLOParameters struct { + + // Basic Service-Level Indicator (SLI) on a well-known service type. + // Performance will be computed on the basis of pre-defined metrics. + // + // SLIs are used to measure and calculate the quality of the Service's + // performance with respect to a single aspect of service quality. + // + // Exactly one of the following must be set: + // 'basic_sli', 'request_based_sli', 'windows_based_sli' + // +kubebuilder:validation:Optional + BasicSli []BasicSliParameters `json:"basicSli,omitempty" tf:"basic_sli,omitempty"` + + // A calendar period, semantically "since the start of the current + // ". Possible values: ["DAY", "WEEK", "FORTNIGHT", "MONTH"] + // +kubebuilder:validation:Optional + CalendarPeriod *string `json:"calendarPeriod,omitempty" tf:"calendar_period,omitempty"` + + // Name used for UI elements listing this SLO. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // The fraction of service that must be good in order for this objective + // to be met. 0 < goal <= 0.999 + // +kubebuilder:validation:Required + Goal *float64 `json:"goal" tf:"goal,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // A request-based SLI defines a SLI for which atomic units of + // service are counted directly. + // + // A SLI describes a good service. + // It is used to measure and calculate the quality of the Service's + // performance with respect to a single aspect of service quality. + // Exactly one of the following must be set: + // 'basic_sli', 'request_based_sli', 'windows_based_sli' + // +kubebuilder:validation:Optional + RequestBasedSli []RequestBasedSliParameters `json:"requestBasedSli,omitempty" tf:"request_based_sli,omitempty"` + + // A rolling time period, semantically "in the past X days". + // Must be between 1 to 30 days, inclusive. + // +kubebuilder:validation:Optional + RollingPeriodDays *int64 `json:"rollingPeriodDays,omitempty" tf:"rolling_period_days,omitempty"` + + // The id to use for this ServiceLevelObjective. If omitted, an id will be generated instead. + // +kubebuilder:validation:Optional + SLOID *string `json:"sloId,omitempty" tf:"slo_id,omitempty"` + + // ID of the service to which this SLO belongs. + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` + + // A windows-based SLI defines the criteria for time windows. + // good_service is defined based off the count of these time windows + // for which the provided service was of good quality. + // + // A SLI describes a good service. It is used to measure and calculate + // the quality of the Service's performance with respect to a single + // aspect of service quality. + // + // Exactly one of the following must be set: + // 'basic_sli', 'request_based_sli', 'windows_based_sli' + // +kubebuilder:validation:Optional + WindowsBasedSli []WindowsBasedSliParameters `json:"windowsBasedSli,omitempty" tf:"windows_based_sli,omitempty"` +} + +type WindowsBasedSliObservation struct { +} + +type WindowsBasedSliParameters struct { + + // A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + // with ValueType = BOOL. The window is good if any true values + // appear in the window. One of 'good_bad_metric_filter', + // 'good_total_ratio_threshold', 'metric_mean_in_range', + // 'metric_sum_in_range' must be set for 'windows_based_sli'. + // +kubebuilder:validation:Optional + GoodBadMetricFilter *string `json:"goodBadMetricFilter,omitempty" tf:"good_bad_metric_filter,omitempty"` + + // Criterion that describes a window as good if its performance is + // high enough. One of 'good_bad_metric_filter', + // 'good_total_ratio_threshold', 'metric_mean_in_range', + // 'metric_sum_in_range' must be set for 'windows_based_sli'. + // +kubebuilder:validation:Optional + GoodTotalRatioThreshold []GoodTotalRatioThresholdParameters `json:"goodTotalRatioThreshold,omitempty" tf:"good_total_ratio_threshold,omitempty"` + + // Criterion that describes a window as good if the metric's value + // is in a good range, *averaged* across returned streams. + // One of 'good_bad_metric_filter', + // + // 'good_total_ratio_threshold', 'metric_mean_in_range', + // 'metric_sum_in_range' must be set for 'windows_based_sli'. + // Average value X of 'time_series' should satisfy + // 'range.min <= X <= range.max' for a good window. + // +kubebuilder:validation:Optional + MetricMeanInRange []MetricMeanInRangeParameters `json:"metricMeanInRange,omitempty" tf:"metric_mean_in_range,omitempty"` + + // Criterion that describes a window as good if the metric's value + // is in a good range, *summed* across returned streams. + // Summed value 'X' of 'time_series' should satisfy + // 'range.min <= X <= range.max' for a good window. + // + // One of 'good_bad_metric_filter', + // 'good_total_ratio_threshold', 'metric_mean_in_range', + // 'metric_sum_in_range' must be set for 'windows_based_sli'. + // +kubebuilder:validation:Optional + MetricSumInRange []MetricSumInRangeParameters `json:"metricSumInRange,omitempty" tf:"metric_sum_in_range,omitempty"` + + // Duration over which window quality is evaluated, given as a + // duration string "{X}s" representing X seconds. Must be an + // integer fraction of a day and at least 60s. + // +kubebuilder:validation:Optional + WindowPeriod *string `json:"windowPeriod,omitempty" tf:"window_period,omitempty"` +} + +// SLOSpec defines the desired state of SLO +type SLOSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SLOParameters `json:"forProvider"` +} + +// SLOStatus defines the observed state of SLO. +type SLOStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SLOObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SLO is the Schema for the SLOs 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,gcpjet} +type SLO struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SLOSpec `json:"spec"` + Status SLOStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SLOList contains a list of SLOs +type SLOList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SLO `json:"items"` +} + +// Repository type metadata. +var ( + SLO_Kind = "SLO" + SLO_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SLO_Kind}.String() + SLO_KindAPIVersion = SLO_Kind + "." + CRDGroupVersion.String() + SLO_GroupVersionKind = CRDGroupVersion.WithKind(SLO_Kind) +) + +func init() { + SchemeBuilder.Register(&SLO{}, &SLOList{}) +} diff --git a/apis/networkmanagement/v1alpha1/zz_connectivitytest_terraformed.go b/apis/networkmanagement/v1alpha1/zz_connectivitytest_terraformed.go new file mode 100755 index 00000000..181aaa08 --- /dev/null +++ b/apis/networkmanagement/v1alpha1/zz_connectivitytest_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ConnectivityTest +func (mg *ConnectivityTest) GetTerraformResourceType() string { + return "google_network_management_connectivity_test" +} + +// GetConnectionDetailsMapping for this ConnectivityTest +func (tr *ConnectivityTest) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ConnectivityTest +func (tr *ConnectivityTest) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ConnectivityTest +func (tr *ConnectivityTest) SetObservation(obs map[string]interface{}) 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 ConnectivityTest +func (tr *ConnectivityTest) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ConnectivityTest +func (tr *ConnectivityTest) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ConnectivityTest +func (tr *ConnectivityTest) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ConnectivityTest using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ConnectivityTest) LateInitialize(attrs []byte) (bool, error) { + params := &ConnectivityTestParameters{} + 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 *ConnectivityTest) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/networkmanagement/v1alpha1/zz_connectivitytest_types.go b/apis/networkmanagement/v1alpha1/zz_connectivitytest_types.go new file mode 100755 index 00000000..33ebe22f --- /dev/null +++ b/apis/networkmanagement/v1alpha1/zz_connectivitytest_types.go @@ -0,0 +1,233 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConnectivityTestObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ConnectivityTestParameters struct { + + // The user-supplied description of the Connectivity Test. + // Maximum of 512 characters. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Required. Destination specification of the Connectivity Test. + // + // You can use a combination of destination IP address, Compute + // Engine VM instance, or VPC network to uniquely identify the + // destination location. + // + // Even if the destination IP address is not unique, the source IP + // location is unique. Usually, the analysis can infer the destination + // endpoint from route information. + // + // If the destination you specify is a VM instance and the instance has + // multiple network interfaces, then you must also specify either a + // destination IP address or VPC network to identify the destination + // interface. + // + // A reachability analysis proceeds even if the destination location + // is ambiguous. However, the result can include endpoints that you + // don't intend to test. + // +kubebuilder:validation:Required + Destination []DestinationParameters `json:"destination" tf:"destination,omitempty"` + + // Resource labels to represent user-provided metadata. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Unique name for the connectivity test. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // IP Protocol of the test. When not provided, "TCP" is assumed. + // +kubebuilder:validation:Optional + Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"` + + // Other projects that may be relevant for reachability analysis. + // This is applicable to scenarios where a test can cross project + // boundaries. + // +kubebuilder:validation:Optional + RelatedProjects []*string `json:"relatedProjects,omitempty" tf:"related_projects,omitempty"` + + // Required. Source specification of the Connectivity Test. + // + // You can use a combination of source IP address, virtual machine + // (VM) instance, or Compute Engine network to uniquely identify the + // source location. + // + // Examples: If the source IP address is an internal IP address within + // a Google Cloud Virtual Private Cloud (VPC) network, then you must + // also specify the VPC network. Otherwise, specify the VM instance, + // which already contains its internal IP address and VPC network + // information. + // + // If the source of the test is within an on-premises network, then + // you must provide the destination VPC network. + // + // If the source endpoint is a Compute Engine VM instance with multiple + // network interfaces, the instance itself is not sufficient to + // identify the endpoint. So, you must also specify the source IP + // address or VPC network. + // + // A reachability analysis proceeds even if the source location is + // ambiguous. However, the test result may include endpoints that + // you don't intend to test. + // +kubebuilder:validation:Required + Source []SourceParameters `json:"source" tf:"source,omitempty"` +} + +type DestinationObservation struct { +} + +type DestinationParameters struct { + + // The IP address of the endpoint, which can be an external or + // internal IP. An IPv6 address is only allowed when the test's + // destination is a global load balancer VIP. + // +kubebuilder:validation:Optional + IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + + // A Compute Engine instance URI. + // +kubebuilder:validation:Optional + Instance *string `json:"instance,omitempty" tf:"instance,omitempty"` + + // A Compute Engine network URI. + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // The IP protocol port of the endpoint. Only applicable when + // protocol is TCP or UDP. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // Project ID where the endpoint is located. The Project ID can be + // derived from the URI if you provide a VM instance or network URI. + // The following are two cases where you must provide the project ID: + // 1. Only the IP address is specified, and the IP address is within + // a GCP project. 2. When you are using Shared VPC and the IP address + // that you provide is from the service project. In this case, the + // network that the IP address resides in is defined in the host + // project. + // +kubebuilder:validation:Optional + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` +} + +type SourceObservation struct { +} + +type SourceParameters struct { + + // The IP address of the endpoint, which can be an external or + // internal IP. An IPv6 address is only allowed when the test's + // destination is a global load balancer VIP. + // +kubebuilder:validation:Optional + IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + + // A Compute Engine instance URI. + // +kubebuilder:validation:Optional + Instance *string `json:"instance,omitempty" tf:"instance,omitempty"` + + // A Compute Engine network URI. + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // Type of the network where the endpoint is located. Possible values: ["GCP_NETWORK", "NON_GCP_NETWORK"] + // +kubebuilder:validation:Optional + NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` + + // The IP protocol port of the endpoint. Only applicable when + // protocol is TCP or UDP. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // Project ID where the endpoint is located. The Project ID can be + // derived from the URI if you provide a VM instance or network URI. + // The following are two cases where you must provide the project ID: + // + // 1. Only the IP address is specified, and the IP address is + // within a GCP project. + // 2. When you are using Shared VPC and the IP address + // that you provide is from the service project. In this case, + // the network that the IP address resides in is defined in the + // host project. + // +kubebuilder:validation:Optional + ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"` +} + +// ConnectivityTestSpec defines the desired state of ConnectivityTest +type ConnectivityTestSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ConnectivityTestParameters `json:"forProvider"` +} + +// ConnectivityTestStatus defines the observed state of ConnectivityTest. +type ConnectivityTestStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ConnectivityTestObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ConnectivityTest is the Schema for the ConnectivityTests 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,gcpjet} +type ConnectivityTest struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ConnectivityTestSpec `json:"spec"` + Status ConnectivityTestStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ConnectivityTestList contains a list of ConnectivityTests +type ConnectivityTestList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ConnectivityTest `json:"items"` +} + +// Repository type metadata. +var ( + ConnectivityTest_Kind = "ConnectivityTest" + ConnectivityTest_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ConnectivityTest_Kind}.String() + ConnectivityTest_KindAPIVersion = ConnectivityTest_Kind + "." + CRDGroupVersion.String() + ConnectivityTest_GroupVersionKind = CRDGroupVersion.WithKind(ConnectivityTest_Kind) +) + +func init() { + SchemeBuilder.Register(&ConnectivityTest{}, &ConnectivityTestList{}) +} diff --git a/apis/networkmanagement/v1alpha1/zz_generated.deepcopy.go b/apis/networkmanagement/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..c1593b61 --- /dev/null +++ b/apis/networkmanagement/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,328 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectivityTest) DeepCopyInto(out *ConnectivityTest) { + *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 ConnectivityTest. +func (in *ConnectivityTest) DeepCopy() *ConnectivityTest { + if in == nil { + return nil + } + out := new(ConnectivityTest) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ConnectivityTest) 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 *ConnectivityTestList) DeepCopyInto(out *ConnectivityTestList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ConnectivityTest, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectivityTestList. +func (in *ConnectivityTestList) DeepCopy() *ConnectivityTestList { + if in == nil { + return nil + } + out := new(ConnectivityTestList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ConnectivityTestList) 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 *ConnectivityTestObservation) DeepCopyInto(out *ConnectivityTestObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectivityTestObservation. +func (in *ConnectivityTestObservation) DeepCopy() *ConnectivityTestObservation { + if in == nil { + return nil + } + out := new(ConnectivityTestObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectivityTestParameters) DeepCopyInto(out *ConnectivityTestParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = make([]DestinationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } + if in.RelatedProjects != nil { + in, out := &in.RelatedProjects, &out.RelatedProjects + *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.Source != nil { + in, out := &in.Source, &out.Source + *out = make([]SourceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectivityTestParameters. +func (in *ConnectivityTestParameters) DeepCopy() *ConnectivityTestParameters { + if in == nil { + return nil + } + out := new(ConnectivityTestParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectivityTestSpec) DeepCopyInto(out *ConnectivityTestSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectivityTestSpec. +func (in *ConnectivityTestSpec) DeepCopy() *ConnectivityTestSpec { + if in == nil { + return nil + } + out := new(ConnectivityTestSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectivityTestStatus) DeepCopyInto(out *ConnectivityTestStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectivityTestStatus. +func (in *ConnectivityTestStatus) DeepCopy() *ConnectivityTestStatus { + if in == nil { + return nil + } + out := new(ConnectivityTestStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DestinationObservation) DeepCopyInto(out *DestinationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationObservation. +func (in *DestinationObservation) DeepCopy() *DestinationObservation { + if in == nil { + return nil + } + out := new(DestinationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DestinationParameters) DeepCopyInto(out *DestinationParameters) { + *out = *in + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationParameters. +func (in *DestinationParameters) DeepCopy() *DestinationParameters { + if in == nil { + return nil + } + out := new(DestinationParameters) + 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 +} + +// 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.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NetworkType != nil { + in, out := &in.NetworkType, &out.NetworkType + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.ProjectID != nil { + in, out := &in.ProjectID, &out.ProjectID + *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 +} diff --git a/apis/networkmanagement/v1alpha1/zz_generated.managed.go b/apis/networkmanagement/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..db20a611 --- /dev/null +++ b/apis/networkmanagement/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this ConnectivityTest. +func (mg *ConnectivityTest) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ConnectivityTest. +func (mg *ConnectivityTest) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ConnectivityTest. +func (mg *ConnectivityTest) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ConnectivityTest. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ConnectivityTest) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ConnectivityTest. +func (mg *ConnectivityTest) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ConnectivityTest. +func (mg *ConnectivityTest) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ConnectivityTest. +func (mg *ConnectivityTest) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ConnectivityTest. +func (mg *ConnectivityTest) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ConnectivityTest. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ConnectivityTest) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ConnectivityTest. +func (mg *ConnectivityTest) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/networkmanagement/v1alpha1/zz_generated.managedlist.go b/apis/networkmanagement/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..dd9feed7 --- /dev/null +++ b/apis/networkmanagement/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this ConnectivityTestList. +func (l *ConnectivityTestList) 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/networkmanagement/v1alpha1/zz_groupversion_info.go b/apis/networkmanagement/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..7d8f325d --- /dev/null +++ b/apis/networkmanagement/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=networkmanagement.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "networkmanagement.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/networkservices/v1alpha1/zz_edgecachekeyset_terraformed.go b/apis/networkservices/v1alpha1/zz_edgecachekeyset_terraformed.go new file mode 100755 index 00000000..82de61b3 --- /dev/null +++ b/apis/networkservices/v1alpha1/zz_edgecachekeyset_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this EdgeCacheKeyset +func (mg *EdgeCacheKeyset) GetTerraformResourceType() string { + return "google_network_services_edge_cache_keyset" +} + +// GetConnectionDetailsMapping for this EdgeCacheKeyset +func (tr *EdgeCacheKeyset) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"public_key[*].value": "spec.forProvider.publicKey[*].valueSecretRef"} +} + +// GetObservation of this EdgeCacheKeyset +func (tr *EdgeCacheKeyset) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this EdgeCacheKeyset +func (tr *EdgeCacheKeyset) SetObservation(obs map[string]interface{}) 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 EdgeCacheKeyset +func (tr *EdgeCacheKeyset) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this EdgeCacheKeyset +func (tr *EdgeCacheKeyset) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this EdgeCacheKeyset +func (tr *EdgeCacheKeyset) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this EdgeCacheKeyset using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *EdgeCacheKeyset) LateInitialize(attrs []byte) (bool, error) { + params := &EdgeCacheKeysetParameters{} + 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 *EdgeCacheKeyset) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/networkservices/v1alpha1/zz_edgecachekeyset_types.go b/apis/networkservices/v1alpha1/zz_edgecachekeyset_types.go new file mode 100755 index 00000000..c6fb231b --- /dev/null +++ b/apis/networkservices/v1alpha1/zz_edgecachekeyset_types.go @@ -0,0 +1,124 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EdgeCacheKeysetObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type EdgeCacheKeysetParameters struct { + + // A human-readable description of the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Set of label tags associated with the EdgeCache resource. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Name of the resource; provided by the client when the resource is created. + // The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter, + // and all following characters must be a dash, underscore, letter or digit. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // An ordered list of Ed25519 public keys to use for validating signed requests. + // You must specify at least one (1) key, and may have up to three (3) keys. + // + // Ed25519 public keys are not secret, and only allow Google to validate a request was signed by your corresponding private key. + // You should ensure that the private key is kept secret, and that only authorized users can add public keys to a keyset. + // +kubebuilder:validation:Required + PublicKey []PublicKeyParameters `json:"publicKey" tf:"public_key,omitempty"` +} + +type PublicKeyObservation struct { +} + +type PublicKeyParameters struct { + + // The ID of the public key. The ID must be 1-63 characters long, and comply with RFC1035. + // The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* + // which means the first character must be a letter, and all following characters must be a dash, underscore, letter or digit. + // +kubebuilder:validation:Required + ID *string `json:"id" tf:"id,omitempty"` + + // The base64-encoded value of the Ed25519 public key. The base64 encoding can be padded (44 bytes) or unpadded (43 bytes). + // Representations or encodings of the public key other than this will be rejected with an error. + // +kubebuilder:validation:Required + ValueSecretRef v1.SecretKeySelector `json:"valueSecretRef" tf:"-"` +} + +// EdgeCacheKeysetSpec defines the desired state of EdgeCacheKeyset +type EdgeCacheKeysetSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EdgeCacheKeysetParameters `json:"forProvider"` +} + +// EdgeCacheKeysetStatus defines the observed state of EdgeCacheKeyset. +type EdgeCacheKeysetStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EdgeCacheKeysetObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// EdgeCacheKeyset is the Schema for the EdgeCacheKeysets 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,gcpjet} +type EdgeCacheKeyset struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EdgeCacheKeysetSpec `json:"spec"` + Status EdgeCacheKeysetStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EdgeCacheKeysetList contains a list of EdgeCacheKeysets +type EdgeCacheKeysetList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []EdgeCacheKeyset `json:"items"` +} + +// Repository type metadata. +var ( + EdgeCacheKeyset_Kind = "EdgeCacheKeyset" + EdgeCacheKeyset_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: EdgeCacheKeyset_Kind}.String() + EdgeCacheKeyset_KindAPIVersion = EdgeCacheKeyset_Kind + "." + CRDGroupVersion.String() + EdgeCacheKeyset_GroupVersionKind = CRDGroupVersion.WithKind(EdgeCacheKeyset_Kind) +) + +func init() { + SchemeBuilder.Register(&EdgeCacheKeyset{}, &EdgeCacheKeysetList{}) +} diff --git a/apis/networkservices/v1alpha1/zz_edgecacheorigin_terraformed.go b/apis/networkservices/v1alpha1/zz_edgecacheorigin_terraformed.go new file mode 100755 index 00000000..29c88a34 --- /dev/null +++ b/apis/networkservices/v1alpha1/zz_edgecacheorigin_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this EdgeCacheOrigin +func (mg *EdgeCacheOrigin) GetTerraformResourceType() string { + return "google_network_services_edge_cache_origin" +} + +// GetConnectionDetailsMapping for this EdgeCacheOrigin +func (tr *EdgeCacheOrigin) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this EdgeCacheOrigin +func (tr *EdgeCacheOrigin) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this EdgeCacheOrigin +func (tr *EdgeCacheOrigin) SetObservation(obs map[string]interface{}) 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 EdgeCacheOrigin +func (tr *EdgeCacheOrigin) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this EdgeCacheOrigin +func (tr *EdgeCacheOrigin) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this EdgeCacheOrigin +func (tr *EdgeCacheOrigin) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this EdgeCacheOrigin using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *EdgeCacheOrigin) LateInitialize(attrs []byte) (bool, error) { + params := &EdgeCacheOriginParameters{} + 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 *EdgeCacheOrigin) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/networkservices/v1alpha1/zz_edgecacheorigin_types.go b/apis/networkservices/v1alpha1/zz_edgecacheorigin_types.go new file mode 100755 index 00000000..dbb97a87 --- /dev/null +++ b/apis/networkservices/v1alpha1/zz_edgecacheorigin_types.go @@ -0,0 +1,190 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 EdgeCacheOriginObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type EdgeCacheOriginParameters struct { + + // A human-readable description of the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The Origin resource to try when the current origin cannot be reached. + // After maxAttempts is reached, the configured failoverOrigin will be used to fulfil the request. + // + // The value of timeout.maxAttemptsTimeout dictates the timeout across all origins. + // A reference to a Topic resource. + // +kubebuilder:validation:Optional + FailoverOrigin *string `json:"failoverOrigin,omitempty" tf:"failover_origin,omitempty"` + + // Set of label tags associated with the EdgeCache resource. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The maximum number of attempts to cache fill from this origin. Another attempt is made when a cache fill fails with one of the retryConditions. + // + // Once maxAttempts to this origin have failed the failoverOrigin will be used, if one is specified. That failoverOrigin may specify its own maxAttempts, + // retryConditions and failoverOrigin to control its own cache fill failures. + // + // The total number of allowed attempts to cache fill across this and failover origins is limited to four. + // The total time allowed for cache fill attempts across this and failover origins can be controlled with maxAttemptsTimeout. + // + // The last valid response from an origin will be returned to the client. + // If no origin returns a valid response, an HTTP 503 will be returned to the client. + // + // Defaults to 1. Must be a value greater than 0 and less than 4. + // +kubebuilder:validation:Optional + MaxAttempts *int64 `json:"maxAttempts,omitempty" tf:"max_attempts,omitempty"` + + // Name of the resource; provided by the client when the resource is created. + // The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter, + // and all following characters must be a dash, underscore, letter or digit. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // A fully qualified domain name (FQDN) or IP address reachable over the public Internet, or the address of a Google Cloud Storage bucket. + // + // This address will be used as the origin for cache requests - e.g. FQDN: media-backend.example.com IPv4:35.218.1.1 IPv6:[2607:f8b0:4012:809::200e] Cloud Storage: gs://bucketname + // + // When providing an FQDN (hostname), it must be publicly resolvable (e.g. via Google public DNS) and IP addresses must be publicly routable. + // If a Cloud Storage bucket is provided, it must be in the canonical "gs://bucketname" format. Other forms, such as "storage.googleapis.com", will be rejected. + // +kubebuilder:validation:Required + OriginAddress *string `json:"originAddress" tf:"origin_address,omitempty"` + + // The port to connect to the origin on. + // Defaults to port 443 for HTTP2 and HTTPS protocols, and port 80 for HTTP. + // +kubebuilder:validation:Optional + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The protocol to use to connect to the configured origin. Defaults to HTTP2, and it is strongly recommended that users use HTTP2 for both security & performance. + // + // When using HTTP2 or HTTPS as the protocol, a valid, publicly-signed, unexpired TLS (SSL) certificate must be presented by the origin server. Possible values: ["HTTP2", "HTTPS", "HTTP"] + // +kubebuilder:validation:Optional + Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"` + + // Specifies one or more retry conditions for the configured origin. + // + // If the failure mode during a connection attempt to the origin matches the configured retryCondition(s), + // the origin request will be retried up to maxAttempts times. The failoverOrigin, if configured, will then be used to satisfy the request. + // + // The default retryCondition is "CONNECT_FAILURE". + // + // retryConditions apply to this origin, and not subsequent failoverOrigin(s), + // which may specify their own retryConditions and maxAttempts. + // + // Valid values are: + // + // - CONNECT_FAILURE: Retry on failures connecting to origins, for example due to connection timeouts. + // - HTTP_5XX: Retry if the origin responds with any 5xx response code, or if the origin does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams. + // - GATEWAY_ERROR: Similar to 5xx, but only applies to response codes 502, 503 or 504. + // - RETRIABLE_4XX: Retry for retriable 4xx response codes, which include HTTP 409 (Conflict) and HTTP 429 (Too Many Requests) + // - NOT_FOUND: Retry if the origin returns a HTTP 404 (Not Found). This can be useful when generating video content, and the segment is not available yet. Possible values: ["CONNECT_FAILURE", "HTTP_5XX", "GATEWAY_ERROR", "RETRIABLE_4XX", "NOT_FOUND"] + // +kubebuilder:validation:Optional + RetryConditions []*string `json:"retryConditions,omitempty" tf:"retry_conditions,omitempty"` + + // The connection and HTTP timeout configuration for this origin. + // +kubebuilder:validation:Optional + Timeout []TimeoutParameters `json:"timeout,omitempty" tf:"timeout,omitempty"` +} + +type TimeoutObservation struct { +} + +type TimeoutParameters struct { + + // The maximum duration to wait for the origin connection to be established, including DNS lookup, TLS handshake and TCP/QUIC connection establishment. + // + // Defaults to 5 seconds. The timeout must be a value between 1s and 15s. + // +kubebuilder:validation:Optional + ConnectTimeout *string `json:"connectTimeout,omitempty" tf:"connect_timeout,omitempty"` + + // The maximum time across all connection attempts to the origin, including failover origins, before returning an error to the client. A HTTP 503 will be returned if the timeout is reached before a response is returned. + // + // Defaults to 5 seconds. The timeout must be a value between 1s and 15s. + // +kubebuilder:validation:Optional + MaxAttemptsTimeout *string `json:"maxAttemptsTimeout,omitempty" tf:"max_attempts_timeout,omitempty"` + + // The maximum duration to wait for data to arrive when reading from the HTTP connection/stream. + // + // Defaults to 5 seconds. The timeout must be a value between 1s and 30s. + // +kubebuilder:validation:Optional + ResponseTimeout *string `json:"responseTimeout,omitempty" tf:"response_timeout,omitempty"` +} + +// EdgeCacheOriginSpec defines the desired state of EdgeCacheOrigin +type EdgeCacheOriginSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EdgeCacheOriginParameters `json:"forProvider"` +} + +// EdgeCacheOriginStatus defines the observed state of EdgeCacheOrigin. +type EdgeCacheOriginStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EdgeCacheOriginObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// EdgeCacheOrigin is the Schema for the EdgeCacheOrigins 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,gcpjet} +type EdgeCacheOrigin struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EdgeCacheOriginSpec `json:"spec"` + Status EdgeCacheOriginStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EdgeCacheOriginList contains a list of EdgeCacheOrigins +type EdgeCacheOriginList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []EdgeCacheOrigin `json:"items"` +} + +// Repository type metadata. +var ( + EdgeCacheOrigin_Kind = "EdgeCacheOrigin" + EdgeCacheOrigin_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: EdgeCacheOrigin_Kind}.String() + EdgeCacheOrigin_KindAPIVersion = EdgeCacheOrigin_Kind + "." + CRDGroupVersion.String() + EdgeCacheOrigin_GroupVersionKind = CRDGroupVersion.WithKind(EdgeCacheOrigin_Kind) +) + +func init() { + SchemeBuilder.Register(&EdgeCacheOrigin{}, &EdgeCacheOriginList{}) +} diff --git a/apis/networkservices/v1alpha1/zz_edgecacheservice_terraformed.go b/apis/networkservices/v1alpha1/zz_edgecacheservice_terraformed.go new file mode 100755 index 00000000..a18e33a4 --- /dev/null +++ b/apis/networkservices/v1alpha1/zz_edgecacheservice_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this EdgeCacheService +func (mg *EdgeCacheService) GetTerraformResourceType() string { + return "google_network_services_edge_cache_service" +} + +// GetConnectionDetailsMapping for this EdgeCacheService +func (tr *EdgeCacheService) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this EdgeCacheService +func (tr *EdgeCacheService) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this EdgeCacheService +func (tr *EdgeCacheService) SetObservation(obs map[string]interface{}) 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 EdgeCacheService +func (tr *EdgeCacheService) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this EdgeCacheService +func (tr *EdgeCacheService) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this EdgeCacheService +func (tr *EdgeCacheService) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this EdgeCacheService using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *EdgeCacheService) LateInitialize(attrs []byte) (bool, error) { + params := &EdgeCacheServiceParameters{} + 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 *EdgeCacheService) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/networkservices/v1alpha1/zz_edgecacheservice_types.go b/apis/networkservices/v1alpha1/zz_edgecacheservice_types.go new file mode 100755 index 00000000..d6a79aee --- /dev/null +++ b/apis/networkservices/v1alpha1/zz_edgecacheservice_types.go @@ -0,0 +1,702 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CacheKeyPolicyObservation struct { +} + +type CacheKeyPolicyParameters struct { + + // If true, requests to different hosts will be cached separately. + // + // Note: this should only be enabled if hosts share the same origin and content Removing the host from the cache key may inadvertently result in different objects being cached than intended, depending on which route the first user matched. + // +kubebuilder:validation:Optional + ExcludeHost *bool `json:"excludeHost,omitempty" tf:"exclude_host,omitempty"` + + // If true, exclude query string parameters from the cache key + // + // If false (the default), include the query string parameters in + // the cache key according to includeQueryParameters and + // excludeQueryParameters. If neither includeQueryParameters nor + // excludeQueryParameters is set, the entire query string will be + // included. + // +kubebuilder:validation:Optional + ExcludeQueryString *bool `json:"excludeQueryString,omitempty" tf:"exclude_query_string,omitempty"` + + // Names of query string parameters to exclude from cache keys. All other parameters will be included. + // + // Either specify includedQueryParameters or excludedQueryParameters, not both. '&' and '=' will be percent encoded and not treated as delimiters. + // +kubebuilder:validation:Optional + ExcludedQueryParameters []*string `json:"excludedQueryParameters,omitempty" tf:"excluded_query_parameters,omitempty"` + + // If true, http and https requests will be cached separately. + // +kubebuilder:validation:Optional + IncludeProtocol *bool `json:"includeProtocol,omitempty" tf:"include_protocol,omitempty"` + + // Names of HTTP request headers to include in cache keys. The value of the header field will be used as part of the cache key. + // + // - Header names must be valid HTTP RFC 7230 header field values. + // - Header field names are case insensitive + // - To include the HTTP method, use ":method" + // + // Note that specifying several headers, and/or headers that have a large range of values (e.g. per-user) will dramatically impact the cache hit rate, and may result in a higher eviction rate and reduced performance. + // +kubebuilder:validation:Optional + IncludedHeaderNames []*string `json:"includedHeaderNames,omitempty" tf:"included_header_names,omitempty"` + + // Names of query string parameters to include in cache keys. All other parameters will be excluded. + // + // Either specify includedQueryParameters or excludedQueryParameters, not both. '&' and '=' will be percent encoded and not treated as delimiters. + // +kubebuilder:validation:Optional + IncludedQueryParameters []*string `json:"includedQueryParameters,omitempty" tf:"included_query_parameters,omitempty"` +} + +type CdnPolicyObservation struct { +} + +type CdnPolicyParameters struct { + + // Defines the request parameters that contribute to the cache key. + // +kubebuilder:validation:Optional + CacheKeyPolicy []CacheKeyPolicyParameters `json:"cacheKeyPolicy,omitempty" tf:"cache_key_policy,omitempty"` + + // Cache modes allow users to control the behaviour of the cache, what content it should cache automatically, whether to respect origin headers, or whether to unconditionally cache all responses. + // + // For all cache modes, Cache-Control headers will be passed to the client. Use clientTtl to override what is sent to the client. Possible values: ["CACHE_ALL_STATIC", "USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", "BYPASS_CACHE"] + // +kubebuilder:validation:Optional + CacheMode *string `json:"cacheMode,omitempty" tf:"cache_mode,omitempty"` + + // Specifies a separate client (e.g. browser client) TTL, separate from the TTL used by the edge caches. Leaving this empty will use the same cache TTL for both the CDN and the client-facing response. + // + // - The TTL must be > 0 and <= 86400s (1 day) + // - The clientTtl cannot be larger than the defaultTtl (if set) + // - Fractions of a second are not allowed. + // - Omit this field to use the defaultTtl, or the max-age set by the origin, as the client-facing TTL. + // + // When the cache mode is set to "USE_ORIGIN_HEADERS" or "BYPASS_CACHE", you must omit this field. + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + ClientTTL *string `json:"clientTtl,omitempty" tf:"client_ttl,omitempty"` + + // Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). + // + // Defaults to 3600s (1 hour). + // + // - The TTL must be >= 0 and <= 2592000s (1 month) + // - Setting a TTL of "0" means "always revalidate" (equivalent to must-revalidate) + // - The value of defaultTTL cannot be set to a value greater than that of maxTTL. + // - Fractions of a second are not allowed. + // - When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. + // + // Note that infrequently accessed objects may be evicted from the cache before the defined TTL. Objects that expire will be revalidated with the origin. + // + // When the cache mode is set to "USE_ORIGIN_HEADERS" or "BYPASS_CACHE", you must omit this field. + // + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + DefaultTTL *string `json:"defaultTtl,omitempty" tf:"default_ttl,omitempty"` + + // Specifies the maximum allowed TTL for cached content served by this origin. + // + // Defaults to 86400s (1 day). + // + // Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTtl seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. + // + // - The TTL must be >= 0 and <= 2592000s (1 month) + // - Setting a TTL of "0" means "always revalidate" + // - The value of maxTtl must be equal to or greater than defaultTtl. + // - Fractions of a second are not allowed. + // - When the cache mode is set to "USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", or "BYPASS_CACHE", you must omit this field. + // + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + MaxTTL *string `json:"maxTtl,omitempty" tf:"max_ttl,omitempty"` + + // Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. This can reduce the load on your origin and improve end-user experience by reducing response latency. + // + // By default, the CDNPolicy will apply the following default TTLs to these status codes: + // + // - HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m + // - HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s + // - HTTP 405 (Method Not Found), 414 (URI Too Long), 501 (Not Implemented): 60s + // + // These defaults can be overridden in negativeCachingPolicy + // +kubebuilder:validation:Optional + NegativeCaching *bool `json:"negativeCaching,omitempty" tf:"negative_caching,omitempty"` + + // Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy. + // + // - Omitting the policy and leaving negativeCaching enabled will use the default TTLs for each status code, defined in negativeCaching. + // - TTLs must be >= 0 (where 0 is "always revalidate") and <= 86400s (1 day) + // + // Note that when specifying an explicit negativeCachingPolicy, you should take care to specify a cache TTL for all response codes that you wish to cache. The CDNPolicy will not apply any default negative caching when a policy exists. + // +kubebuilder:validation:Optional + NegativeCachingPolicy map[string]*string `json:"negativeCachingPolicy,omitempty" tf:"negative_caching_policy,omitempty"` + + // The EdgeCacheKeyset containing the set of public keys used to validate signed requests at the edge. + // +kubebuilder:validation:Optional + SignedRequestKeyset *string `json:"signedRequestKeyset,omitempty" tf:"signed_request_keyset,omitempty"` + + // Whether to enforce signed requests. The default value is DISABLED, which means all content is public, and does not authorize access. + // + // You must also set a signedRequestKeyset to enable signed requests. + // + // When set to REQUIRE_SIGNATURES, all matching requests will have their signature validated. Requests that were not signed with the corresponding private key, or that are otherwise invalid (expired, do not match the signature, IP address, or header) will be rejected with a HTTP 403 and (if enabled) logged. Possible values: ["DISABLED", "REQUIRE_SIGNATURES"] + // +kubebuilder:validation:Optional + SignedRequestMode *string `json:"signedRequestMode,omitempty" tf:"signed_request_mode,omitempty"` +} + +type CorsPolicyObservation struct { +} + +type CorsPolicyParameters struct { + + // In response to a preflight request, setting this to true indicates that the actual request can include user credentials. + // + // This translates to the Access-Control-Allow-Credentials response header. + // +kubebuilder:validation:Optional + AllowCredentials *bool `json:"allowCredentials,omitempty" tf:"allow_credentials,omitempty"` + + // Specifies the content for the Access-Control-Allow-Headers response header. + // +kubebuilder:validation:Optional + AllowHeaders []*string `json:"allowHeaders,omitempty" tf:"allow_headers,omitempty"` + + // Specifies the content for the Access-Control-Allow-Methods response header. + // +kubebuilder:validation:Optional + AllowMethods []*string `json:"allowMethods,omitempty" tf:"allow_methods,omitempty"` + + // Specifies the list of origins that will be allowed to do CORS requests. + // + // This translates to the Access-Control-Allow-Origin response header. + // +kubebuilder:validation:Optional + AllowOrigins []*string `json:"allowOrigins,omitempty" tf:"allow_origins,omitempty"` + + // If true, specifies the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect. + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // Specifies the content for the Access-Control-Allow-Headers response header. + // +kubebuilder:validation:Optional + ExposeHeaders []*string `json:"exposeHeaders,omitempty" tf:"expose_headers,omitempty"` + + // Specifies how long results of a preflight request can be cached by a client in seconds. Note that many browser clients enforce a maximum TTL of 600s (10 minutes). + // + // - Setting the value to -1 forces a pre-flight check for all requests (not recommended) + // - A maximum TTL of 86400s can be set, but note that (as above) some clients may force pre-flight checks at a more regular interval. + // - This translates to the Access-Control-Max-Age header. + // + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Required + MaxAge *string `json:"maxAge" tf:"max_age,omitempty"` +} + +type EdgeCacheServiceObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + IPv4Addresses []*string `json:"ipv4Addresses,omitempty" tf:"ipv4_addresses,omitempty"` + + IPv6Addresses []*string `json:"ipv6Addresses,omitempty" tf:"ipv6_addresses,omitempty"` +} + +type EdgeCacheServiceParameters struct { + + // A human-readable description of the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // HTTP/3 (IETF QUIC) and Google QUIC are enabled by default. + // +kubebuilder:validation:Optional + DisableQuic *bool `json:"disableQuic,omitempty" tf:"disable_quic,omitempty"` + + // URLs to sslCertificate resources that are used to authenticate connections between users and the EdgeCacheService. + // + // Note that only "global" certificates with a "scope" of "EDGE_CACHE" can be attached to an EdgeCacheService. + // +kubebuilder:validation:Optional + EdgeSSLCertificates []*string `json:"edgeSslCertificates,omitempty" tf:"edge_ssl_certificates,omitempty"` + + // Resource URL that points at the Cloud Armor edge security policy that is applied on each request against the EdgeCacheService. + // +kubebuilder:validation:Optional + EdgeSecurityPolicy *string `json:"edgeSecurityPolicy,omitempty" tf:"edge_security_policy,omitempty"` + + // Set of label tags associated with the EdgeCache resource. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Specifies the logging options for the traffic served by this service. If logging is enabled, logs will be exported to Cloud Logging. + // +kubebuilder:validation:Optional + LogConfig []LogConfigParameters `json:"logConfig,omitempty" tf:"log_config,omitempty"` + + // Name of the resource; provided by the client when the resource is created. + // The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter, + // and all following characters must be a dash, underscore, letter or digit. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Require TLS (HTTPS) for all clients connecting to this service. + // + // Clients who connect over HTTP (port 80) will receive a HTTP 301 to the same URL over HTTPS (port 443). + // You must have at least one (1) edgeSslCertificate specified to enable this. + // +kubebuilder:validation:Optional + RequireTLS *bool `json:"requireTls,omitempty" tf:"require_tls,omitempty"` + + // Defines how requests are routed, modified, cached and/or which origin content is filled from. + // +kubebuilder:validation:Required + Routing []RoutingParameters `json:"routing" tf:"routing,omitempty"` + + // URL of the SslPolicy resource that will be associated with the EdgeCacheService. + // + // If not set, the EdgeCacheService has no SSL policy configured, and will default to the "COMPATIBLE" policy. + // +kubebuilder:validation:Optional + SSLPolicy *string `json:"sslPolicy,omitempty" tf:"ssl_policy,omitempty"` +} + +type HeaderActionObservation struct { +} + +type HeaderActionParameters struct { + + // Describes a header to add. + // +kubebuilder:validation:Optional + RequestHeaderToAdd []RequestHeaderToAddParameters `json:"requestHeaderToAdd,omitempty" tf:"request_header_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin. + // +kubebuilder:validation:Optional + RequestHeaderToRemove []RequestHeaderToRemoveParameters `json:"requestHeaderToRemove,omitempty" tf:"request_header_to_remove,omitempty"` + + // Headers to add to the response prior to sending it back to the client. + // + // Response headers are only sent to the client, and do not have an effect on the cache serving the response. + // +kubebuilder:validation:Optional + ResponseHeaderToAdd []ResponseHeaderToAddParameters `json:"responseHeaderToAdd,omitempty" tf:"response_header_to_add,omitempty"` + + // A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin. + // +kubebuilder:validation:Optional + ResponseHeaderToRemove []ResponseHeaderToRemoveParameters `json:"responseHeaderToRemove,omitempty" tf:"response_header_to_remove,omitempty"` +} + +type HeaderMatchObservation struct { +} + +type HeaderMatchParameters struct { + + // The value of the header should exactly match contents of exactMatch. + // +kubebuilder:validation:Optional + ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"` + + // The header name to match on. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // If set to false (default), the headerMatch is considered a match if the match criteria above are met. + // If set to true, the headerMatch is considered a match if the match criteria above are NOT met. + // +kubebuilder:validation:Optional + InvertMatch *bool `json:"invertMatch,omitempty" tf:"invert_match,omitempty"` + + // The value of the header must start with the contents of prefixMatch. + // +kubebuilder:validation:Optional + PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"` + + // A header with the contents of headerName must exist. The match takes place whether or not the request's header has a value. + // +kubebuilder:validation:Optional + PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"` + + // The value of the header must end with the contents of suffixMatch. + // +kubebuilder:validation:Optional + SuffixMatch *string `json:"suffixMatch,omitempty" tf:"suffix_match,omitempty"` +} + +type HostRuleObservation struct { +} + +type HostRuleParameters struct { + + // A human-readable description of the hostRule. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The list of host patterns to match. + // + // Host patterns must be valid hostnames with optional port numbers in the format host:port. * matches any string of ([a-z0-9-.]*). + // The only accepted ports are :80 and :443. + // + // Hosts are matched against the HTTP Host header, or for HTTP/2 and HTTP/3, the ":authority" header, from the incoming request. + // +kubebuilder:validation:Required + Hosts []*string `json:"hosts" tf:"hosts,omitempty"` + + // The name of the pathMatcher associated with this hostRule. + // +kubebuilder:validation:Required + PathMatcher *string `json:"pathMatcher" tf:"path_matcher,omitempty"` +} + +type LogConfigObservation struct { +} + +type LogConfigParameters struct { + + // Specifies whether to enable logging for traffic served by this service. + // +kubebuilder:validation:Optional + Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"` + + // Configures the sampling rate of requests, where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0, and the value of the field must be in [0, 1]. + // + // This field can only be specified if logging is enabled for this service. + // +kubebuilder:validation:Optional + SampleRate *float64 `json:"sampleRate,omitempty" tf:"sample_rate,omitempty"` +} + +type MatchRuleObservation struct { +} + +type MatchRuleParameters struct { + + // For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. + // +kubebuilder:validation:Optional + FullPathMatch *string `json:"fullPathMatch,omitempty" tf:"full_path_match,omitempty"` + + // Specifies a list of header match criteria, all of which must match corresponding headers in the request. + // +kubebuilder:validation:Optional + HeaderMatch []HeaderMatchParameters `json:"headerMatch,omitempty" tf:"header_match,omitempty"` + + // Specifies that prefixMatch and fullPathMatch matches are case sensitive. + // +kubebuilder:validation:Optional + IgnoreCase *bool `json:"ignoreCase,omitempty" tf:"ignore_case,omitempty"` + + // For satisfying the matchRule condition, the path of the request + // must match the wildcard pattern specified in pathTemplateMatch + // after removing any query parameters and anchor that may be part + // of the original URL. + // + // pathTemplateMatch must be between 1 and 255 characters + // (inclusive). The pattern specified by pathTemplateMatch may + // have at most 5 wildcard operators and at most 5 variable + // captures in total. + // +kubebuilder:validation:Optional + PathTemplateMatch *string `json:"pathTemplateMatch,omitempty" tf:"path_template_match,omitempty"` + + // For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. + // +kubebuilder:validation:Optional + PrefixMatch *string `json:"prefixMatch,omitempty" tf:"prefix_match,omitempty"` + + // Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. + // +kubebuilder:validation:Optional + QueryParameterMatch []QueryParameterMatchParameters `json:"queryParameterMatch,omitempty" tf:"query_parameter_match,omitempty"` +} + +type PathMatcherObservation struct { +} + +type PathMatcherParameters struct { + + // A human-readable description of the resource. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The name to which this PathMatcher is referred by the HostRule. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The routeRules to match against. routeRules support advanced routing behaviour, and can match on paths, headers and query parameters, as well as status codes and HTTP methods. + // +kubebuilder:validation:Required + RouteRule []RouteRuleParameters `json:"routeRule" tf:"route_rule,omitempty"` +} + +type QueryParameterMatchObservation struct { +} + +type QueryParameterMatchParameters struct { + + // The queryParameterMatch matches if the value of the parameter exactly matches the contents of exactMatch. + // +kubebuilder:validation:Optional + ExactMatch *string `json:"exactMatch,omitempty" tf:"exact_match,omitempty"` + + // The name of the query parameter to match. The query parameter must exist in the request, in the absence of which the request match fails. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Specifies that the queryParameterMatch matches if the request contains the query parameter, irrespective of whether the parameter has a value or not. + // +kubebuilder:validation:Optional + PresentMatch *bool `json:"presentMatch,omitempty" tf:"present_match,omitempty"` +} + +type RequestHeaderToAddObservation struct { +} + +type RequestHeaderToAddParameters struct { + + // The name of the header to add. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // Whether to replace all existing headers with the same name. + // +kubebuilder:validation:Optional + Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"` +} + +type RequestHeaderToRemoveObservation struct { +} + +type RequestHeaderToRemoveParameters struct { + + // The name of the header to remove. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` +} + +type ResponseHeaderToAddObservation struct { +} + +type ResponseHeaderToAddParameters struct { + + // The name of the header to add. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` + + // The value of the header to add. + // +kubebuilder:validation:Required + HeaderValue *string `json:"headerValue" tf:"header_value,omitempty"` + + // Whether to replace all existing headers with the same name. + // +kubebuilder:validation:Optional + Replace *bool `json:"replace,omitempty" tf:"replace,omitempty"` +} + +type ResponseHeaderToRemoveObservation struct { +} + +type ResponseHeaderToRemoveParameters struct { + + // Headers to remove from the response prior to sending it back to the client. + // + // Response headers are only sent to the client, and do not have an effect on the cache serving the response. + // +kubebuilder:validation:Required + HeaderName *string `json:"headerName" tf:"header_name,omitempty"` +} + +type RouteActionObservation struct { +} + +type RouteActionParameters struct { + + // The policy to use for defining caching and signed request behaviour for requests that match this route. + // +kubebuilder:validation:Optional + CdnPolicy []CdnPolicyParameters `json:"cdnPolicy,omitempty" tf:"cdn_policy,omitempty"` + + // CORSPolicy defines Cross-Origin-Resource-Sharing configuration, including which CORS response headers will be set. + // +kubebuilder:validation:Optional + CorsPolicy []CorsPolicyParameters `json:"corsPolicy,omitempty" tf:"cors_policy,omitempty"` + + // The URL rewrite configuration for requests that match this route. + // +kubebuilder:validation:Optional + URLRewrite []URLRewriteParameters `json:"urlRewrite,omitempty" tf:"url_rewrite,omitempty"` +} + +type RouteRuleObservation struct { +} + +type RouteRuleParameters struct { + + // A human-readable description of the routeRule. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The header actions, including adding & removing headers, for requests that match this route. + // +kubebuilder:validation:Optional + HeaderAction []HeaderActionParameters `json:"headerAction,omitempty" tf:"header_action,omitempty"` + + // The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates + // within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. + // +kubebuilder:validation:Required + MatchRule []MatchRuleParameters `json:"matchRule" tf:"match_rule,omitempty"` + + // The Origin resource that requests to this route should fetch from when a matching response is not in cache. Origins can be defined as short names ("my-origin") or fully-qualified resource URLs - e.g. "networkservices.googleapis.com/projects/my-project/global/edgecacheorigins/my-origin" + // + // Only one of origin or urlRedirect can be set. + // +kubebuilder:validation:Optional + Origin *string `json:"origin,omitempty" tf:"origin,omitempty"` + + // The priority of this route rule, where 1 is the highest priority. + // + // You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number between 1 and 999 inclusive. + // + // Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers + // to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules. + // +kubebuilder:validation:Required + Priority *string `json:"priority" tf:"priority,omitempty"` + + // In response to a matching path, the routeAction performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected origin. + // +kubebuilder:validation:Optional + RouteAction []RouteActionParameters `json:"routeAction,omitempty" tf:"route_action,omitempty"` + + // The URL redirect configuration for requests that match this route. + // +kubebuilder:validation:Optional + URLRedirect []URLRedirectParameters `json:"urlRedirect,omitempty" tf:"url_redirect,omitempty"` +} + +type RoutingObservation struct { +} + +type RoutingParameters struct { + + // The list of hostRules to match against. These rules define which hostnames the EdgeCacheService will match against, and which route configurations apply. + // +kubebuilder:validation:Required + HostRule []HostRuleParameters `json:"hostRule" tf:"host_rule,omitempty"` + + // The list of pathMatchers referenced via name by hostRules. PathMatcher is used to match the path portion of the URL when a HostRule matches the URL's host portion. + // +kubebuilder:validation:Required + PathMatcher []PathMatcherParameters `json:"pathMatcher" tf:"path_matcher,omitempty"` +} + +type URLRedirectObservation struct { +} + +type URLRedirectParameters struct { + + // If set to true, the URL scheme in the redirected request is set to https. If set to false, the URL scheme of the redirected request will remain the same as that of the request. + // + // This can only be set if there is at least one (1) edgeSslCertificate set on the service. + // +kubebuilder:validation:Optional + HTTPSRedirect *bool `json:"httpsRedirect,omitempty" tf:"https_redirect,omitempty"` + + // The host that will be used in the redirect response instead of the one that was supplied in the request. + // +kubebuilder:validation:Optional + HostRedirect *string `json:"hostRedirect,omitempty" tf:"host_redirect,omitempty"` + + // The path that will be used in the redirect response instead of the one that was supplied in the request. + // + // pathRedirect cannot be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect. + // + // The path value must be between 1 and 1024 characters. + // +kubebuilder:validation:Optional + PathRedirect *string `json:"pathRedirect,omitempty" tf:"path_redirect,omitempty"` + + // The prefix that replaces the prefixMatch specified in the routeRule, retaining the remaining portion of the URL before redirecting the request. + // + // prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect. + // +kubebuilder:validation:Optional + PrefixRedirect *string `json:"prefixRedirect,omitempty" tf:"prefix_redirect,omitempty"` + + // The HTTP Status code to use for this RedirectAction. + // + // The supported values are: + // + // - 'MOVED_PERMANENTLY_DEFAULT', which is the default value and corresponds to 301. + // - 'FOUND', which corresponds to 302. + // - 'SEE_OTHER' which corresponds to 303. + // - 'TEMPORARY_REDIRECT', which corresponds to 307. in this case, the request method will be retained. + // - 'PERMANENT_REDIRECT', which corresponds to 308. in this case, the request method will be retained. Possible values: ["MOVED_PERMANENTLY_DEFAULT", "FOUND", "SEE_OTHER", "TEMPORARY_REDIRECT", "PERMANENT_REDIRECT"] + // +kubebuilder:validation:Optional + RedirectResponseCode *string `json:"redirectResponseCode,omitempty" tf:"redirect_response_code,omitempty"` + + // If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request. If set to false, the query portion of the original URL is retained. + // +kubebuilder:validation:Optional + StripQuery *bool `json:"stripQuery,omitempty" tf:"strip_query,omitempty"` +} + +type URLRewriteObservation struct { +} + +type URLRewriteParameters struct { + + // Prior to forwarding the request to the selected origin, the request's host header is replaced with contents of hostRewrite. + // +kubebuilder:validation:Optional + HostRewrite *string `json:"hostRewrite,omitempty" tf:"host_rewrite,omitempty"` + + // Prior to forwarding the request to the selected origin, the matching portion of the request's path is replaced by pathPrefixRewrite. + // +kubebuilder:validation:Optional + PathPrefixRewrite *string `json:"pathPrefixRewrite,omitempty" tf:"path_prefix_rewrite,omitempty"` + + // Prior to forwarding the request to the selected origin, if the + // request matched a pathTemplateMatch, the matching portion of the + // request's path is replaced re-written using the pattern specified + // by pathTemplateRewrite. + // + // pathTemplateRewrite must be between 1 and 255 characters + // (inclusive), must start with a '/', and must only use variables + // captured by the route's pathTemplate matchers. + // + // pathTemplateRewrite may only be used when all of a route's + // MatchRules specify pathTemplate. + // + // Only one of pathPrefixRewrite and pathTemplateRewrite may be + // specified. + // +kubebuilder:validation:Optional + PathTemplateRewrite *string `json:"pathTemplateRewrite,omitempty" tf:"path_template_rewrite,omitempty"` +} + +// EdgeCacheServiceSpec defines the desired state of EdgeCacheService +type EdgeCacheServiceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EdgeCacheServiceParameters `json:"forProvider"` +} + +// EdgeCacheServiceStatus defines the observed state of EdgeCacheService. +type EdgeCacheServiceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EdgeCacheServiceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// EdgeCacheService is the Schema for the EdgeCacheServices 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,gcpjet} +type EdgeCacheService struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EdgeCacheServiceSpec `json:"spec"` + Status EdgeCacheServiceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EdgeCacheServiceList contains a list of EdgeCacheServices +type EdgeCacheServiceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []EdgeCacheService `json:"items"` +} + +// Repository type metadata. +var ( + EdgeCacheService_Kind = "EdgeCacheService" + EdgeCacheService_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: EdgeCacheService_Kind}.String() + EdgeCacheService_KindAPIVersion = EdgeCacheService_Kind + "." + CRDGroupVersion.String() + EdgeCacheService_GroupVersionKind = CRDGroupVersion.WithKind(EdgeCacheService_Kind) +) + +func init() { + SchemeBuilder.Register(&EdgeCacheService{}, &EdgeCacheServiceList{}) +} diff --git a/apis/networkservices/v1alpha1/zz_generated.deepcopy.go b/apis/networkservices/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..7545e14a --- /dev/null +++ b/apis/networkservices/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1749 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CacheKeyPolicyObservation) DeepCopyInto(out *CacheKeyPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CacheKeyPolicyObservation. +func (in *CacheKeyPolicyObservation) DeepCopy() *CacheKeyPolicyObservation { + if in == nil { + return nil + } + out := new(CacheKeyPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CacheKeyPolicyParameters) DeepCopyInto(out *CacheKeyPolicyParameters) { + *out = *in + if in.ExcludeHost != nil { + in, out := &in.ExcludeHost, &out.ExcludeHost + *out = new(bool) + **out = **in + } + if in.ExcludeQueryString != nil { + in, out := &in.ExcludeQueryString, &out.ExcludeQueryString + *out = new(bool) + **out = **in + } + if in.ExcludedQueryParameters != nil { + in, out := &in.ExcludedQueryParameters, &out.ExcludedQueryParameters + *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.IncludeProtocol != nil { + in, out := &in.IncludeProtocol, &out.IncludeProtocol + *out = new(bool) + **out = **in + } + if in.IncludedHeaderNames != nil { + in, out := &in.IncludedHeaderNames, &out.IncludedHeaderNames + *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.IncludedQueryParameters != nil { + in, out := &in.IncludedQueryParameters, &out.IncludedQueryParameters + *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 CacheKeyPolicyParameters. +func (in *CacheKeyPolicyParameters) DeepCopy() *CacheKeyPolicyParameters { + if in == nil { + return nil + } + out := new(CacheKeyPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CdnPolicyObservation) DeepCopyInto(out *CdnPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyObservation. +func (in *CdnPolicyObservation) DeepCopy() *CdnPolicyObservation { + if in == nil { + return nil + } + out := new(CdnPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CdnPolicyParameters) DeepCopyInto(out *CdnPolicyParameters) { + *out = *in + if in.CacheKeyPolicy != nil { + in, out := &in.CacheKeyPolicy, &out.CacheKeyPolicy + *out = make([]CacheKeyPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CacheMode != nil { + in, out := &in.CacheMode, &out.CacheMode + *out = new(string) + **out = **in + } + if in.ClientTTL != nil { + in, out := &in.ClientTTL, &out.ClientTTL + *out = new(string) + **out = **in + } + if in.DefaultTTL != nil { + in, out := &in.DefaultTTL, &out.DefaultTTL + *out = new(string) + **out = **in + } + if in.MaxTTL != nil { + in, out := &in.MaxTTL, &out.MaxTTL + *out = new(string) + **out = **in + } + if in.NegativeCaching != nil { + in, out := &in.NegativeCaching, &out.NegativeCaching + *out = new(bool) + **out = **in + } + if in.NegativeCachingPolicy != nil { + in, out := &in.NegativeCachingPolicy, &out.NegativeCachingPolicy + *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.SignedRequestKeyset != nil { + in, out := &in.SignedRequestKeyset, &out.SignedRequestKeyset + *out = new(string) + **out = **in + } + if in.SignedRequestMode != nil { + in, out := &in.SignedRequestMode, &out.SignedRequestMode + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CdnPolicyParameters. +func (in *CdnPolicyParameters) DeepCopy() *CdnPolicyParameters { + if in == nil { + return nil + } + out := new(CdnPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CorsPolicyObservation) DeepCopyInto(out *CorsPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorsPolicyObservation. +func (in *CorsPolicyObservation) DeepCopy() *CorsPolicyObservation { + if in == nil { + return nil + } + out := new(CorsPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CorsPolicyParameters) DeepCopyInto(out *CorsPolicyParameters) { + *out = *in + if in.AllowCredentials != nil { + in, out := &in.AllowCredentials, &out.AllowCredentials + *out = new(bool) + **out = **in + } + if in.AllowHeaders != nil { + in, out := &in.AllowHeaders, &out.AllowHeaders + *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.AllowMethods != nil { + in, out := &in.AllowMethods, &out.AllowMethods + *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.AllowOrigins != nil { + in, out := &in.AllowOrigins, &out.AllowOrigins + *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.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.ExposeHeaders != nil { + in, out := &in.ExposeHeaders, &out.ExposeHeaders + *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.MaxAge != nil { + in, out := &in.MaxAge, &out.MaxAge + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorsPolicyParameters. +func (in *CorsPolicyParameters) DeepCopy() *CorsPolicyParameters { + if in == nil { + return nil + } + out := new(CorsPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EdgeCacheKeyset) DeepCopyInto(out *EdgeCacheKeyset) { + *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 EdgeCacheKeyset. +func (in *EdgeCacheKeyset) DeepCopy() *EdgeCacheKeyset { + if in == nil { + return nil + } + out := new(EdgeCacheKeyset) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EdgeCacheKeyset) 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 *EdgeCacheKeysetList) DeepCopyInto(out *EdgeCacheKeysetList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]EdgeCacheKeyset, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCacheKeysetList. +func (in *EdgeCacheKeysetList) DeepCopy() *EdgeCacheKeysetList { + if in == nil { + return nil + } + out := new(EdgeCacheKeysetList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EdgeCacheKeysetList) 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 *EdgeCacheKeysetObservation) DeepCopyInto(out *EdgeCacheKeysetObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCacheKeysetObservation. +func (in *EdgeCacheKeysetObservation) DeepCopy() *EdgeCacheKeysetObservation { + if in == nil { + return nil + } + out := new(EdgeCacheKeysetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EdgeCacheKeysetParameters) DeepCopyInto(out *EdgeCacheKeysetParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.PublicKey != nil { + in, out := &in.PublicKey, &out.PublicKey + *out = make([]PublicKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCacheKeysetParameters. +func (in *EdgeCacheKeysetParameters) DeepCopy() *EdgeCacheKeysetParameters { + if in == nil { + return nil + } + out := new(EdgeCacheKeysetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EdgeCacheKeysetSpec) DeepCopyInto(out *EdgeCacheKeysetSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCacheKeysetSpec. +func (in *EdgeCacheKeysetSpec) DeepCopy() *EdgeCacheKeysetSpec { + if in == nil { + return nil + } + out := new(EdgeCacheKeysetSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EdgeCacheKeysetStatus) DeepCopyInto(out *EdgeCacheKeysetStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCacheKeysetStatus. +func (in *EdgeCacheKeysetStatus) DeepCopy() *EdgeCacheKeysetStatus { + if in == nil { + return nil + } + out := new(EdgeCacheKeysetStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EdgeCacheOrigin) DeepCopyInto(out *EdgeCacheOrigin) { + *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 EdgeCacheOrigin. +func (in *EdgeCacheOrigin) DeepCopy() *EdgeCacheOrigin { + if in == nil { + return nil + } + out := new(EdgeCacheOrigin) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EdgeCacheOrigin) 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 *EdgeCacheOriginList) DeepCopyInto(out *EdgeCacheOriginList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]EdgeCacheOrigin, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCacheOriginList. +func (in *EdgeCacheOriginList) DeepCopy() *EdgeCacheOriginList { + if in == nil { + return nil + } + out := new(EdgeCacheOriginList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EdgeCacheOriginList) 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 *EdgeCacheOriginObservation) DeepCopyInto(out *EdgeCacheOriginObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCacheOriginObservation. +func (in *EdgeCacheOriginObservation) DeepCopy() *EdgeCacheOriginObservation { + if in == nil { + return nil + } + out := new(EdgeCacheOriginObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EdgeCacheOriginParameters) DeepCopyInto(out *EdgeCacheOriginParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.FailoverOrigin != nil { + in, out := &in.FailoverOrigin, &out.FailoverOrigin + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.MaxAttempts != nil { + in, out := &in.MaxAttempts, &out.MaxAttempts + *out = new(int64) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.OriginAddress != nil { + in, out := &in.OriginAddress, &out.OriginAddress + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } + if in.RetryConditions != nil { + in, out := &in.RetryConditions, &out.RetryConditions + *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.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = make([]TimeoutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCacheOriginParameters. +func (in *EdgeCacheOriginParameters) DeepCopy() *EdgeCacheOriginParameters { + if in == nil { + return nil + } + out := new(EdgeCacheOriginParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EdgeCacheOriginSpec) DeepCopyInto(out *EdgeCacheOriginSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCacheOriginSpec. +func (in *EdgeCacheOriginSpec) DeepCopy() *EdgeCacheOriginSpec { + if in == nil { + return nil + } + out := new(EdgeCacheOriginSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EdgeCacheOriginStatus) DeepCopyInto(out *EdgeCacheOriginStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCacheOriginStatus. +func (in *EdgeCacheOriginStatus) DeepCopy() *EdgeCacheOriginStatus { + if in == nil { + return nil + } + out := new(EdgeCacheOriginStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EdgeCacheService) DeepCopyInto(out *EdgeCacheService) { + *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 EdgeCacheService. +func (in *EdgeCacheService) DeepCopy() *EdgeCacheService { + if in == nil { + return nil + } + out := new(EdgeCacheService) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EdgeCacheService) 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 *EdgeCacheServiceList) DeepCopyInto(out *EdgeCacheServiceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]EdgeCacheService, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCacheServiceList. +func (in *EdgeCacheServiceList) DeepCopy() *EdgeCacheServiceList { + if in == nil { + return nil + } + out := new(EdgeCacheServiceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EdgeCacheServiceList) 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 *EdgeCacheServiceObservation) DeepCopyInto(out *EdgeCacheServiceObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IPv4Addresses != nil { + in, out := &in.IPv4Addresses, &out.IPv4Addresses + *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.IPv6Addresses != nil { + in, out := &in.IPv6Addresses, &out.IPv6Addresses + *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 EdgeCacheServiceObservation. +func (in *EdgeCacheServiceObservation) DeepCopy() *EdgeCacheServiceObservation { + if in == nil { + return nil + } + out := new(EdgeCacheServiceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EdgeCacheServiceParameters) DeepCopyInto(out *EdgeCacheServiceParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisableQuic != nil { + in, out := &in.DisableQuic, &out.DisableQuic + *out = new(bool) + **out = **in + } + if in.EdgeSSLCertificates != nil { + in, out := &in.EdgeSSLCertificates, &out.EdgeSSLCertificates + *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.EdgeSecurityPolicy != nil { + in, out := &in.EdgeSecurityPolicy, &out.EdgeSecurityPolicy + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.LogConfig != nil { + in, out := &in.LogConfig, &out.LogConfig + *out = make([]LogConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RequireTLS != nil { + in, out := &in.RequireTLS, &out.RequireTLS + *out = new(bool) + **out = **in + } + if in.Routing != nil { + in, out := &in.Routing, &out.Routing + *out = make([]RoutingParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SSLPolicy != nil { + in, out := &in.SSLPolicy, &out.SSLPolicy + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCacheServiceParameters. +func (in *EdgeCacheServiceParameters) DeepCopy() *EdgeCacheServiceParameters { + if in == nil { + return nil + } + out := new(EdgeCacheServiceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EdgeCacheServiceSpec) DeepCopyInto(out *EdgeCacheServiceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCacheServiceSpec. +func (in *EdgeCacheServiceSpec) DeepCopy() *EdgeCacheServiceSpec { + if in == nil { + return nil + } + out := new(EdgeCacheServiceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EdgeCacheServiceStatus) DeepCopyInto(out *EdgeCacheServiceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCacheServiceStatus. +func (in *EdgeCacheServiceStatus) DeepCopy() *EdgeCacheServiceStatus { + if in == nil { + return nil + } + out := new(EdgeCacheServiceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderActionObservation) DeepCopyInto(out *HeaderActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionObservation. +func (in *HeaderActionObservation) DeepCopy() *HeaderActionObservation { + if in == nil { + return nil + } + out := new(HeaderActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderActionParameters) DeepCopyInto(out *HeaderActionParameters) { + *out = *in + if in.RequestHeaderToAdd != nil { + in, out := &in.RequestHeaderToAdd, &out.RequestHeaderToAdd + *out = make([]RequestHeaderToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RequestHeaderToRemove != nil { + in, out := &in.RequestHeaderToRemove, &out.RequestHeaderToRemove + *out = make([]RequestHeaderToRemoveParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResponseHeaderToAdd != nil { + in, out := &in.ResponseHeaderToAdd, &out.ResponseHeaderToAdd + *out = make([]ResponseHeaderToAddParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ResponseHeaderToRemove != nil { + in, out := &in.ResponseHeaderToRemove, &out.ResponseHeaderToRemove + *out = make([]ResponseHeaderToRemoveParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderActionParameters. +func (in *HeaderActionParameters) DeepCopy() *HeaderActionParameters { + if in == nil { + return nil + } + out := new(HeaderActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderMatchObservation) DeepCopyInto(out *HeaderMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchObservation. +func (in *HeaderMatchObservation) DeepCopy() *HeaderMatchObservation { + if in == nil { + return nil + } + out := new(HeaderMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HeaderMatchParameters) DeepCopyInto(out *HeaderMatchParameters) { + *out = *in + if in.ExactMatch != nil { + in, out := &in.ExactMatch, &out.ExactMatch + *out = new(string) + **out = **in + } + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.InvertMatch != nil { + in, out := &in.InvertMatch, &out.InvertMatch + *out = new(bool) + **out = **in + } + if in.PrefixMatch != nil { + in, out := &in.PrefixMatch, &out.PrefixMatch + *out = new(string) + **out = **in + } + if in.PresentMatch != nil { + in, out := &in.PresentMatch, &out.PresentMatch + *out = new(bool) + **out = **in + } + if in.SuffixMatch != nil { + in, out := &in.SuffixMatch, &out.SuffixMatch + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderMatchParameters. +func (in *HeaderMatchParameters) DeepCopy() *HeaderMatchParameters { + if in == nil { + return nil + } + out := new(HeaderMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HostRuleObservation) DeepCopyInto(out *HostRuleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostRuleObservation. +func (in *HostRuleObservation) DeepCopy() *HostRuleObservation { + if in == nil { + return nil + } + out := new(HostRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HostRuleParameters) DeepCopyInto(out *HostRuleParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Hosts != nil { + in, out := &in.Hosts, &out.Hosts + *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.PathMatcher != nil { + in, out := &in.PathMatcher, &out.PathMatcher + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostRuleParameters. +func (in *HostRuleParameters) DeepCopy() *HostRuleParameters { + if in == nil { + return nil + } + out := new(HostRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogConfigObservation) DeepCopyInto(out *LogConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogConfigObservation. +func (in *LogConfigObservation) DeepCopy() *LogConfigObservation { + if in == nil { + return nil + } + out := new(LogConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogConfigParameters) DeepCopyInto(out *LogConfigParameters) { + *out = *in + if in.Enable != nil { + in, out := &in.Enable, &out.Enable + *out = new(bool) + **out = **in + } + if in.SampleRate != nil { + in, out := &in.SampleRate, &out.SampleRate + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogConfigParameters. +func (in *LogConfigParameters) DeepCopy() *LogConfigParameters { + if in == nil { + return nil + } + out := new(LogConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchRuleObservation) DeepCopyInto(out *MatchRuleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRuleObservation. +func (in *MatchRuleObservation) DeepCopy() *MatchRuleObservation { + if in == nil { + return nil + } + out := new(MatchRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MatchRuleParameters) DeepCopyInto(out *MatchRuleParameters) { + *out = *in + if in.FullPathMatch != nil { + in, out := &in.FullPathMatch, &out.FullPathMatch + *out = new(string) + **out = **in + } + if in.HeaderMatch != nil { + in, out := &in.HeaderMatch, &out.HeaderMatch + *out = make([]HeaderMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IgnoreCase != nil { + in, out := &in.IgnoreCase, &out.IgnoreCase + *out = new(bool) + **out = **in + } + if in.PathTemplateMatch != nil { + in, out := &in.PathTemplateMatch, &out.PathTemplateMatch + *out = new(string) + **out = **in + } + if in.PrefixMatch != nil { + in, out := &in.PrefixMatch, &out.PrefixMatch + *out = new(string) + **out = **in + } + if in.QueryParameterMatch != nil { + in, out := &in.QueryParameterMatch, &out.QueryParameterMatch + *out = make([]QueryParameterMatchParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchRuleParameters. +func (in *MatchRuleParameters) DeepCopy() *MatchRuleParameters { + if in == nil { + return nil + } + out := new(MatchRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherObservation) DeepCopyInto(out *PathMatcherObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherObservation. +func (in *PathMatcherObservation) DeepCopy() *PathMatcherObservation { + if in == nil { + return nil + } + out := new(PathMatcherObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PathMatcherParameters) DeepCopyInto(out *PathMatcherParameters) { + *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.RouteRule != nil { + in, out := &in.RouteRule, &out.RouteRule + *out = make([]RouteRuleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PathMatcherParameters. +func (in *PathMatcherParameters) DeepCopy() *PathMatcherParameters { + if in == nil { + return nil + } + out := new(PathMatcherParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublicKeyObservation) DeepCopyInto(out *PublicKeyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicKeyObservation. +func (in *PublicKeyObservation) DeepCopy() *PublicKeyObservation { + if in == nil { + return nil + } + out := new(PublicKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublicKeyParameters) DeepCopyInto(out *PublicKeyParameters) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + out.ValueSecretRef = in.ValueSecretRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicKeyParameters. +func (in *PublicKeyParameters) DeepCopy() *PublicKeyParameters { + if in == nil { + return nil + } + out := new(PublicKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueryParameterMatchObservation) DeepCopyInto(out *QueryParameterMatchObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryParameterMatchObservation. +func (in *QueryParameterMatchObservation) DeepCopy() *QueryParameterMatchObservation { + if in == nil { + return nil + } + out := new(QueryParameterMatchObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueryParameterMatchParameters) DeepCopyInto(out *QueryParameterMatchParameters) { + *out = *in + if in.ExactMatch != nil { + in, out := &in.ExactMatch, &out.ExactMatch + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PresentMatch != nil { + in, out := &in.PresentMatch, &out.PresentMatch + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryParameterMatchParameters. +func (in *QueryParameterMatchParameters) DeepCopy() *QueryParameterMatchParameters { + if in == nil { + return nil + } + out := new(QueryParameterMatchParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestHeaderToAddObservation) DeepCopyInto(out *RequestHeaderToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeaderToAddObservation. +func (in *RequestHeaderToAddObservation) DeepCopy() *RequestHeaderToAddObservation { + if in == nil { + return nil + } + out := new(RequestHeaderToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestHeaderToAddParameters) DeepCopyInto(out *RequestHeaderToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeaderToAddParameters. +func (in *RequestHeaderToAddParameters) DeepCopy() *RequestHeaderToAddParameters { + if in == nil { + return nil + } + out := new(RequestHeaderToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestHeaderToRemoveObservation) DeepCopyInto(out *RequestHeaderToRemoveObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeaderToRemoveObservation. +func (in *RequestHeaderToRemoveObservation) DeepCopy() *RequestHeaderToRemoveObservation { + if in == nil { + return nil + } + out := new(RequestHeaderToRemoveObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestHeaderToRemoveParameters) DeepCopyInto(out *RequestHeaderToRemoveParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeaderToRemoveParameters. +func (in *RequestHeaderToRemoveParameters) DeepCopy() *RequestHeaderToRemoveParameters { + if in == nil { + return nil + } + out := new(RequestHeaderToRemoveParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResponseHeaderToAddObservation) DeepCopyInto(out *ResponseHeaderToAddObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResponseHeaderToAddObservation. +func (in *ResponseHeaderToAddObservation) DeepCopy() *ResponseHeaderToAddObservation { + if in == nil { + return nil + } + out := new(ResponseHeaderToAddObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResponseHeaderToAddParameters) DeepCopyInto(out *ResponseHeaderToAddParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } + if in.HeaderValue != nil { + in, out := &in.HeaderValue, &out.HeaderValue + *out = new(string) + **out = **in + } + if in.Replace != nil { + in, out := &in.Replace, &out.Replace + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResponseHeaderToAddParameters. +func (in *ResponseHeaderToAddParameters) DeepCopy() *ResponseHeaderToAddParameters { + if in == nil { + return nil + } + out := new(ResponseHeaderToAddParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResponseHeaderToRemoveObservation) DeepCopyInto(out *ResponseHeaderToRemoveObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResponseHeaderToRemoveObservation. +func (in *ResponseHeaderToRemoveObservation) DeepCopy() *ResponseHeaderToRemoveObservation { + if in == nil { + return nil + } + out := new(ResponseHeaderToRemoveObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResponseHeaderToRemoveParameters) DeepCopyInto(out *ResponseHeaderToRemoveParameters) { + *out = *in + if in.HeaderName != nil { + in, out := &in.HeaderName, &out.HeaderName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResponseHeaderToRemoveParameters. +func (in *ResponseHeaderToRemoveParameters) DeepCopy() *ResponseHeaderToRemoveParameters { + if in == nil { + return nil + } + out := new(ResponseHeaderToRemoveParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionObservation) DeepCopyInto(out *RouteActionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionObservation. +func (in *RouteActionObservation) DeepCopy() *RouteActionObservation { + if in == nil { + return nil + } + out := new(RouteActionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteActionParameters) DeepCopyInto(out *RouteActionParameters) { + *out = *in + if in.CdnPolicy != nil { + in, out := &in.CdnPolicy, &out.CdnPolicy + *out = make([]CdnPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CorsPolicy != nil { + in, out := &in.CorsPolicy, &out.CorsPolicy + *out = make([]CorsPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.URLRewrite != nil { + in, out := &in.URLRewrite, &out.URLRewrite + *out = make([]URLRewriteParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteActionParameters. +func (in *RouteActionParameters) DeepCopy() *RouteActionParameters { + if in == nil { + return nil + } + out := new(RouteActionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRuleObservation) DeepCopyInto(out *RouteRuleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRuleObservation. +func (in *RouteRuleObservation) DeepCopy() *RouteRuleObservation { + if in == nil { + return nil + } + out := new(RouteRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteRuleParameters) DeepCopyInto(out *RouteRuleParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.HeaderAction != nil { + in, out := &in.HeaderAction, &out.HeaderAction + *out = make([]HeaderActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MatchRule != nil { + in, out := &in.MatchRule, &out.MatchRule + *out = make([]MatchRuleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Origin != nil { + in, out := &in.Origin, &out.Origin + *out = new(string) + **out = **in + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(string) + **out = **in + } + if in.RouteAction != nil { + in, out := &in.RouteAction, &out.RouteAction + *out = make([]RouteActionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.URLRedirect != nil { + in, out := &in.URLRedirect, &out.URLRedirect + *out = make([]URLRedirectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRuleParameters. +func (in *RouteRuleParameters) DeepCopy() *RouteRuleParameters { + if in == nil { + return nil + } + out := new(RouteRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutingObservation) DeepCopyInto(out *RoutingObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingObservation. +func (in *RoutingObservation) DeepCopy() *RoutingObservation { + if in == nil { + return nil + } + out := new(RoutingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutingParameters) DeepCopyInto(out *RoutingParameters) { + *out = *in + if in.HostRule != nil { + in, out := &in.HostRule, &out.HostRule + *out = make([]HostRuleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PathMatcher != nil { + in, out := &in.PathMatcher, &out.PathMatcher + *out = make([]PathMatcherParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingParameters. +func (in *RoutingParameters) DeepCopy() *RoutingParameters { + if in == nil { + return nil + } + out := new(RoutingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutObservation) DeepCopyInto(out *TimeoutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutObservation. +func (in *TimeoutObservation) DeepCopy() *TimeoutObservation { + if in == nil { + return nil + } + out := new(TimeoutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeoutParameters) DeepCopyInto(out *TimeoutParameters) { + *out = *in + if in.ConnectTimeout != nil { + in, out := &in.ConnectTimeout, &out.ConnectTimeout + *out = new(string) + **out = **in + } + if in.MaxAttemptsTimeout != nil { + in, out := &in.MaxAttemptsTimeout, &out.MaxAttemptsTimeout + *out = new(string) + **out = **in + } + if in.ResponseTimeout != nil { + in, out := &in.ResponseTimeout, &out.ResponseTimeout + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeoutParameters. +func (in *TimeoutParameters) DeepCopy() *TimeoutParameters { + if in == nil { + return nil + } + out := new(TimeoutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLRedirectObservation) DeepCopyInto(out *URLRedirectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRedirectObservation. +func (in *URLRedirectObservation) DeepCopy() *URLRedirectObservation { + if in == nil { + return nil + } + out := new(URLRedirectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLRedirectParameters) DeepCopyInto(out *URLRedirectParameters) { + *out = *in + if in.HTTPSRedirect != nil { + in, out := &in.HTTPSRedirect, &out.HTTPSRedirect + *out = new(bool) + **out = **in + } + if in.HostRedirect != nil { + in, out := &in.HostRedirect, &out.HostRedirect + *out = new(string) + **out = **in + } + if in.PathRedirect != nil { + in, out := &in.PathRedirect, &out.PathRedirect + *out = new(string) + **out = **in + } + if in.PrefixRedirect != nil { + in, out := &in.PrefixRedirect, &out.PrefixRedirect + *out = new(string) + **out = **in + } + if in.RedirectResponseCode != nil { + in, out := &in.RedirectResponseCode, &out.RedirectResponseCode + *out = new(string) + **out = **in + } + if in.StripQuery != nil { + in, out := &in.StripQuery, &out.StripQuery + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRedirectParameters. +func (in *URLRedirectParameters) DeepCopy() *URLRedirectParameters { + if in == nil { + return nil + } + out := new(URLRedirectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLRewriteObservation) DeepCopyInto(out *URLRewriteObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRewriteObservation. +func (in *URLRewriteObservation) DeepCopy() *URLRewriteObservation { + if in == nil { + return nil + } + out := new(URLRewriteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *URLRewriteParameters) DeepCopyInto(out *URLRewriteParameters) { + *out = *in + if in.HostRewrite != nil { + in, out := &in.HostRewrite, &out.HostRewrite + *out = new(string) + **out = **in + } + if in.PathPrefixRewrite != nil { + in, out := &in.PathPrefixRewrite, &out.PathPrefixRewrite + *out = new(string) + **out = **in + } + if in.PathTemplateRewrite != nil { + in, out := &in.PathTemplateRewrite, &out.PathTemplateRewrite + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLRewriteParameters. +func (in *URLRewriteParameters) DeepCopy() *URLRewriteParameters { + if in == nil { + return nil + } + out := new(URLRewriteParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/networkservices/v1alpha1/zz_generated.managed.go b/apis/networkservices/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..a19bcdaf --- /dev/null +++ b/apis/networkservices/v1alpha1/zz_generated.managed.go @@ -0,0 +1,188 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this EdgeCacheKeyset. +func (mg *EdgeCacheKeyset) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this EdgeCacheKeyset. +func (mg *EdgeCacheKeyset) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this EdgeCacheKeyset. +func (mg *EdgeCacheKeyset) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this EdgeCacheKeyset. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *EdgeCacheKeyset) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this EdgeCacheKeyset. +func (mg *EdgeCacheKeyset) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this EdgeCacheKeyset. +func (mg *EdgeCacheKeyset) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this EdgeCacheKeyset. +func (mg *EdgeCacheKeyset) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this EdgeCacheKeyset. +func (mg *EdgeCacheKeyset) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this EdgeCacheKeyset. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *EdgeCacheKeyset) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this EdgeCacheKeyset. +func (mg *EdgeCacheKeyset) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this EdgeCacheOrigin. +func (mg *EdgeCacheOrigin) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this EdgeCacheOrigin. +func (mg *EdgeCacheOrigin) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this EdgeCacheOrigin. +func (mg *EdgeCacheOrigin) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this EdgeCacheOrigin. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *EdgeCacheOrigin) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this EdgeCacheOrigin. +func (mg *EdgeCacheOrigin) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this EdgeCacheOrigin. +func (mg *EdgeCacheOrigin) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this EdgeCacheOrigin. +func (mg *EdgeCacheOrigin) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this EdgeCacheOrigin. +func (mg *EdgeCacheOrigin) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this EdgeCacheOrigin. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *EdgeCacheOrigin) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this EdgeCacheOrigin. +func (mg *EdgeCacheOrigin) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this EdgeCacheService. +func (mg *EdgeCacheService) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this EdgeCacheService. +func (mg *EdgeCacheService) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this EdgeCacheService. +func (mg *EdgeCacheService) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this EdgeCacheService. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *EdgeCacheService) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this EdgeCacheService. +func (mg *EdgeCacheService) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this EdgeCacheService. +func (mg *EdgeCacheService) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this EdgeCacheService. +func (mg *EdgeCacheService) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this EdgeCacheService. +func (mg *EdgeCacheService) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this EdgeCacheService. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *EdgeCacheService) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this EdgeCacheService. +func (mg *EdgeCacheService) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/networkservices/v1alpha1/zz_generated.managedlist.go b/apis/networkservices/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..41079769 --- /dev/null +++ b/apis/networkservices/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,47 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this EdgeCacheKeysetList. +func (l *EdgeCacheKeysetList) 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 EdgeCacheOriginList. +func (l *EdgeCacheOriginList) 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 EdgeCacheServiceList. +func (l *EdgeCacheServiceList) 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/networkservices/v1alpha1/zz_groupversion_info.go b/apis/networkservices/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..88610150 --- /dev/null +++ b/apis/networkservices/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=networkservices.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "networkservices.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/notebooks/v1alpha1/zz_environment_terraformed.go b/apis/notebooks/v1alpha1/zz_environment_terraformed.go new file mode 100755 index 00000000..8d4b94d7 --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_environment_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Environment +func (mg *Environment) GetTerraformResourceType() string { + return "google_notebooks_environment" +} + +// GetConnectionDetailsMapping for this Environment +func (tr *Environment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Environment +func (tr *Environment) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Environment +func (tr *Environment) SetObservation(obs map[string]interface{}) 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 Environment +func (tr *Environment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Environment +func (tr *Environment) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Environment +func (tr *Environment) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Environment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Environment) LateInitialize(attrs []byte) (bool, error) { + params := &EnvironmentParameters{} + 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 *Environment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/notebooks/v1alpha1/zz_environment_types.go b/apis/notebooks/v1alpha1/zz_environment_types.go new file mode 100755 index 00000000..bfdcb59d --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_environment_types.go @@ -0,0 +1,151 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ContainerImageObservation struct { +} + +type ContainerImageParameters struct { + + // The path to the container image repository. + // For example: gcr.io/{project_id}/{imageName} + // +kubebuilder:validation:Required + Repository *string `json:"repository" tf:"repository,omitempty"` + + // The tag of the container image. If not specified, this defaults to the latest tag. + // +kubebuilder:validation:Optional + Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` +} + +type EnvironmentObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type EnvironmentParameters struct { + + // Use a container image to start the notebook instance. + // +kubebuilder:validation:Optional + ContainerImage []ContainerImageParameters `json:"containerImage,omitempty" tf:"container_image,omitempty"` + + // A brief description of this environment. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Display name of this environment for the UI. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // A reference to the zone where the machine resides. + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // The name specified for the Environment instance. + // Format: projects/{project_id}/locations/{location}/environments/{environmentId} + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Path to a Bash script that automatically runs after a notebook instance fully boots up. + // The path must be a URL or Cloud Storage path. Example: "gs://path-to-file/file-name" + // +kubebuilder:validation:Optional + PostStartupScript *string `json:"postStartupScript,omitempty" tf:"post_startup_script,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Use a Compute Engine VM image to start the notebook instance. + // +kubebuilder:validation:Optional + VMImage []VMImageParameters `json:"vmImage,omitempty" tf:"vm_image,omitempty"` +} + +type VMImageObservation struct { +} + +type VMImageParameters struct { + + // Use this VM image family to find the image; the newest image in this family will be used. + // +kubebuilder:validation:Optional + ImageFamily *string `json:"imageFamily,omitempty" tf:"image_family,omitempty"` + + // Use VM image name to find the image. + // +kubebuilder:validation:Optional + ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"` + + // The name of the Google Cloud project that this VM image belongs to. + // Format: projects/{project_id} + // +kubebuilder:validation:Required + Project *string `json:"project" tf:"project,omitempty"` +} + +// EnvironmentSpec defines the desired state of Environment +type EnvironmentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider EnvironmentParameters `json:"forProvider"` +} + +// EnvironmentStatus defines the observed state of Environment. +type EnvironmentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider EnvironmentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Environment is the Schema for the Environments 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,gcpjet} +type Environment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec EnvironmentSpec `json:"spec"` + Status EnvironmentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// EnvironmentList contains a list of Environments +type EnvironmentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Environment `json:"items"` +} + +// Repository type metadata. +var ( + Environment_Kind = "Environment" + Environment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Environment_Kind}.String() + Environment_KindAPIVersion = Environment_Kind + "." + CRDGroupVersion.String() + Environment_GroupVersionKind = CRDGroupVersion.WithKind(Environment_Kind) +) + +func init() { + SchemeBuilder.Register(&Environment{}, &EnvironmentList{}) +} diff --git a/apis/notebooks/v1alpha1/zz_generated.deepcopy.go b/apis/notebooks/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..c5435595 --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1513 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AcceleratorConfigObservation) DeepCopyInto(out *AcceleratorConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorConfigObservation. +func (in *AcceleratorConfigObservation) DeepCopy() *AcceleratorConfigObservation { + if in == nil { + return nil + } + out := new(AcceleratorConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AcceleratorConfigParameters) DeepCopyInto(out *AcceleratorConfigParameters) { + *out = *in + if in.CoreCount != nil { + in, out := &in.CoreCount, &out.CoreCount + *out = new(int64) + **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 AcceleratorConfigParameters. +func (in *AcceleratorConfigParameters) DeepCopy() *AcceleratorConfigParameters { + if in == nil { + return nil + } + out := new(AcceleratorConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerImageObservation) DeepCopyInto(out *ContainerImageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerImageObservation. +func (in *ContainerImageObservation) DeepCopy() *ContainerImageObservation { + if in == nil { + return nil + } + out := new(ContainerImageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerImageParameters) DeepCopyInto(out *ContainerImageParameters) { + *out = *in + if in.Repository != nil { + in, out := &in.Repository, &out.Repository + *out = new(string) + **out = **in + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerImageParameters. +func (in *ContainerImageParameters) DeepCopy() *ContainerImageParameters { + if in == nil { + return nil + } + out := new(ContainerImageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Environment) DeepCopyInto(out *Environment) { + *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 Environment. +func (in *Environment) DeepCopy() *Environment { + if in == nil { + return nil + } + out := new(Environment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Environment) 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 *EnvironmentList) DeepCopyInto(out *EnvironmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Environment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentList. +func (in *EnvironmentList) DeepCopy() *EnvironmentList { + if in == nil { + return nil + } + out := new(EnvironmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EnvironmentList) 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 *EnvironmentObservation) DeepCopyInto(out *EnvironmentObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentObservation. +func (in *EnvironmentObservation) DeepCopy() *EnvironmentObservation { + if in == nil { + return nil + } + out := new(EnvironmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentParameters) DeepCopyInto(out *EnvironmentParameters) { + *out = *in + if in.ContainerImage != nil { + in, out := &in.ContainerImage, &out.ContainerImage + *out = make([]ContainerImageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PostStartupScript != nil { + in, out := &in.PostStartupScript, &out.PostStartupScript + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.VMImage != nil { + in, out := &in.VMImage, &out.VMImage + *out = make([]VMImageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentParameters. +func (in *EnvironmentParameters) DeepCopy() *EnvironmentParameters { + if in == nil { + return nil + } + out := new(EnvironmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentSpec) DeepCopyInto(out *EnvironmentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentSpec. +func (in *EnvironmentSpec) DeepCopy() *EnvironmentSpec { + if in == nil { + return nil + } + out := new(EnvironmentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnvironmentStatus) DeepCopyInto(out *EnvironmentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentStatus. +func (in *EnvironmentStatus) DeepCopy() *EnvironmentStatus { + if in == nil { + return nil + } + out := new(EnvironmentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Instance) DeepCopyInto(out *Instance) { + *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 Instance. +func (in *Instance) DeepCopy() *Instance { + if in == nil { + return nil + } + out := new(Instance) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Instance) 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 *InstanceContainerImageObservation) DeepCopyInto(out *InstanceContainerImageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceContainerImageObservation. +func (in *InstanceContainerImageObservation) DeepCopy() *InstanceContainerImageObservation { + if in == nil { + return nil + } + out := new(InstanceContainerImageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceContainerImageParameters) DeepCopyInto(out *InstanceContainerImageParameters) { + *out = *in + if in.Repository != nil { + in, out := &in.Repository, &out.Repository + *out = new(string) + **out = **in + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceContainerImageParameters. +func (in *InstanceContainerImageParameters) DeepCopy() *InstanceContainerImageParameters { + if in == nil { + return nil + } + out := new(InstanceContainerImageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBinding) DeepCopyInto(out *InstanceIAMBinding) { + *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 InstanceIAMBinding. +func (in *InstanceIAMBinding) DeepCopy() *InstanceIAMBinding { + if in == nil { + return nil + } + out := new(InstanceIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMBinding) 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 *InstanceIAMBindingList) DeepCopyInto(out *InstanceIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingList. +func (in *InstanceIAMBindingList) DeepCopy() *InstanceIAMBindingList { + if in == nil { + return nil + } + out := new(InstanceIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMBindingList) 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 *InstanceIAMBindingObservation) DeepCopyInto(out *InstanceIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingObservation. +func (in *InstanceIAMBindingObservation) DeepCopy() *InstanceIAMBindingObservation { + if in == nil { + return nil + } + out := new(InstanceIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingParameters) DeepCopyInto(out *InstanceIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceName != nil { + in, out := &in.InstanceName, &out.InstanceName + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingParameters. +func (in *InstanceIAMBindingParameters) DeepCopy() *InstanceIAMBindingParameters { + if in == nil { + return nil + } + out := new(InstanceIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingSpec) DeepCopyInto(out *InstanceIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingSpec. +func (in *InstanceIAMBindingSpec) DeepCopy() *InstanceIAMBindingSpec { + if in == nil { + return nil + } + out := new(InstanceIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingStatus) DeepCopyInto(out *InstanceIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingStatus. +func (in *InstanceIAMBindingStatus) DeepCopy() *InstanceIAMBindingStatus { + if in == nil { + return nil + } + out := new(InstanceIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMember) DeepCopyInto(out *InstanceIAMMember) { + *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 InstanceIAMMember. +func (in *InstanceIAMMember) DeepCopy() *InstanceIAMMember { + if in == nil { + return nil + } + out := new(InstanceIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMMember) 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 *InstanceIAMMemberConditionObservation) DeepCopyInto(out *InstanceIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberConditionObservation. +func (in *InstanceIAMMemberConditionObservation) DeepCopy() *InstanceIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(InstanceIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberConditionParameters) DeepCopyInto(out *InstanceIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberConditionParameters. +func (in *InstanceIAMMemberConditionParameters) DeepCopy() *InstanceIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(InstanceIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberList) DeepCopyInto(out *InstanceIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberList. +func (in *InstanceIAMMemberList) DeepCopy() *InstanceIAMMemberList { + if in == nil { + return nil + } + out := new(InstanceIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMMemberList) 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 *InstanceIAMMemberObservation) DeepCopyInto(out *InstanceIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberObservation. +func (in *InstanceIAMMemberObservation) DeepCopy() *InstanceIAMMemberObservation { + if in == nil { + return nil + } + out := new(InstanceIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberParameters) DeepCopyInto(out *InstanceIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]InstanceIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceName != nil { + in, out := &in.InstanceName, &out.InstanceName + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberParameters. +func (in *InstanceIAMMemberParameters) DeepCopy() *InstanceIAMMemberParameters { + if in == nil { + return nil + } + out := new(InstanceIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberSpec) DeepCopyInto(out *InstanceIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberSpec. +func (in *InstanceIAMMemberSpec) DeepCopy() *InstanceIAMMemberSpec { + if in == nil { + return nil + } + out := new(InstanceIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberStatus) DeepCopyInto(out *InstanceIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberStatus. +func (in *InstanceIAMMemberStatus) DeepCopy() *InstanceIAMMemberStatus { + if in == nil { + return nil + } + out := new(InstanceIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicy) DeepCopyInto(out *InstanceIAMPolicy) { + *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 InstanceIAMPolicy. +func (in *InstanceIAMPolicy) DeepCopy() *InstanceIAMPolicy { + if in == nil { + return nil + } + out := new(InstanceIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMPolicy) 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 *InstanceIAMPolicyList) DeepCopyInto(out *InstanceIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyList. +func (in *InstanceIAMPolicyList) DeepCopy() *InstanceIAMPolicyList { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMPolicyList) 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 *InstanceIAMPolicyObservation) DeepCopyInto(out *InstanceIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyObservation. +func (in *InstanceIAMPolicyObservation) DeepCopy() *InstanceIAMPolicyObservation { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicyParameters) DeepCopyInto(out *InstanceIAMPolicyParameters) { + *out = *in + if in.InstanceName != nil { + in, out := &in.InstanceName, &out.InstanceName + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyParameters. +func (in *InstanceIAMPolicyParameters) DeepCopy() *InstanceIAMPolicyParameters { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicySpec) DeepCopyInto(out *InstanceIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicySpec. +func (in *InstanceIAMPolicySpec) DeepCopy() *InstanceIAMPolicySpec { + if in == nil { + return nil + } + out := new(InstanceIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicyStatus) DeepCopyInto(out *InstanceIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyStatus. +func (in *InstanceIAMPolicyStatus) DeepCopy() *InstanceIAMPolicyStatus { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceList) DeepCopyInto(out *InstanceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Instance, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList. +func (in *InstanceList) DeepCopy() *InstanceList { + if in == nil { + return nil + } + out := new(InstanceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceList) 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 *InstanceObservation) DeepCopyInto(out *InstanceObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.ProxyURI != nil { + in, out := &in.ProxyURI, &out.ProxyURI + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceObservation. +func (in *InstanceObservation) DeepCopy() *InstanceObservation { + if in == nil { + return nil + } + out := new(InstanceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { + *out = *in + if in.AcceleratorConfig != nil { + in, out := &in.AcceleratorConfig, &out.AcceleratorConfig + *out = make([]AcceleratorConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BootDiskSizeGb != nil { + in, out := &in.BootDiskSizeGb, &out.BootDiskSizeGb + *out = new(int64) + **out = **in + } + if in.BootDiskType != nil { + in, out := &in.BootDiskType, &out.BootDiskType + *out = new(string) + **out = **in + } + if in.ContainerImage != nil { + in, out := &in.ContainerImage, &out.ContainerImage + *out = make([]InstanceContainerImageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.CustomGpuDriverPath != nil { + in, out := &in.CustomGpuDriverPath, &out.CustomGpuDriverPath + *out = new(string) + **out = **in + } + if in.DataDiskSizeGb != nil { + in, out := &in.DataDiskSizeGb, &out.DataDiskSizeGb + *out = new(int64) + **out = **in + } + if in.DataDiskType != nil { + in, out := &in.DataDiskType, &out.DataDiskType + *out = new(string) + **out = **in + } + if in.DiskEncryption != nil { + in, out := &in.DiskEncryption, &out.DiskEncryption + *out = new(string) + **out = **in + } + if in.InstallGpuDriver != nil { + in, out := &in.InstallGpuDriver, &out.InstallGpuDriver + *out = new(bool) + **out = **in + } + if in.InstanceOwners != nil { + in, out := &in.InstanceOwners, &out.InstanceOwners + *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.KMSKey != nil { + in, out := &in.KMSKey, &out.KMSKey + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.MachineType != nil { + in, out := &in.MachineType, &out.MachineType + *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.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.NoProxyAccess != nil { + in, out := &in.NoProxyAccess, &out.NoProxyAccess + *out = new(bool) + **out = **in + } + if in.NoPublicIP != nil { + in, out := &in.NoPublicIP, &out.NoPublicIP + *out = new(bool) + **out = **in + } + if in.NoRemoveDataDisk != nil { + in, out := &in.NoRemoveDataDisk, &out.NoRemoveDataDisk + *out = new(bool) + **out = **in + } + if in.PostStartupScript != nil { + in, out := &in.PostStartupScript, &out.PostStartupScript + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } + if in.ServiceAccountScopes != nil { + in, out := &in.ServiceAccountScopes, &out.ServiceAccountScopes + *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.ShieldedInstanceConfig != nil { + in, out := &in.ShieldedInstanceConfig, &out.ShieldedInstanceConfig + *out = make([]ShieldedInstanceConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Subnet != nil { + in, out := &in.Subnet, &out.Subnet + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *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.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } + if in.VMImage != nil { + in, out := &in.VMImage, &out.VMImage + *out = make([]InstanceVMImageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceParameters. +func (in *InstanceParameters) DeepCopy() *InstanceParameters { + if in == nil { + return nil + } + out := new(InstanceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec. +func (in *InstanceSpec) DeepCopy() *InstanceSpec { + if in == nil { + return nil + } + out := new(InstanceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus. +func (in *InstanceStatus) DeepCopy() *InstanceStatus { + if in == nil { + return nil + } + out := new(InstanceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceVMImageObservation) DeepCopyInto(out *InstanceVMImageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceVMImageObservation. +func (in *InstanceVMImageObservation) DeepCopy() *InstanceVMImageObservation { + if in == nil { + return nil + } + out := new(InstanceVMImageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceVMImageParameters) DeepCopyInto(out *InstanceVMImageParameters) { + *out = *in + if in.ImageFamily != nil { + in, out := &in.ImageFamily, &out.ImageFamily + *out = new(string) + **out = **in + } + if in.ImageName != nil { + in, out := &in.ImageName, &out.ImageName + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceVMImageParameters. +func (in *InstanceVMImageParameters) DeepCopy() *InstanceVMImageParameters { + if in == nil { + return nil + } + out := new(InstanceVMImageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Location) DeepCopyInto(out *Location) { + *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 Location. +func (in *Location) DeepCopy() *Location { + if in == nil { + return nil + } + out := new(Location) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Location) 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 *LocationList) DeepCopyInto(out *LocationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Location, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocationList. +func (in *LocationList) DeepCopy() *LocationList { + if in == nil { + return nil + } + out := new(LocationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LocationList) 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 *LocationObservation) DeepCopyInto(out *LocationObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocationObservation. +func (in *LocationObservation) DeepCopy() *LocationObservation { + if in == nil { + return nil + } + out := new(LocationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LocationParameters) DeepCopyInto(out *LocationParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocationParameters. +func (in *LocationParameters) DeepCopy() *LocationParameters { + if in == nil { + return nil + } + out := new(LocationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LocationSpec) DeepCopyInto(out *LocationSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocationSpec. +func (in *LocationSpec) DeepCopy() *LocationSpec { + if in == nil { + return nil + } + out := new(LocationSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LocationStatus) DeepCopyInto(out *LocationStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocationStatus. +func (in *LocationStatus) DeepCopy() *LocationStatus { + if in == nil { + return nil + } + out := new(LocationStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ShieldedInstanceConfigObservation) DeepCopyInto(out *ShieldedInstanceConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShieldedInstanceConfigObservation. +func (in *ShieldedInstanceConfigObservation) DeepCopy() *ShieldedInstanceConfigObservation { + if in == nil { + return nil + } + out := new(ShieldedInstanceConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ShieldedInstanceConfigParameters) DeepCopyInto(out *ShieldedInstanceConfigParameters) { + *out = *in + if in.EnableIntegrityMonitoring != nil { + in, out := &in.EnableIntegrityMonitoring, &out.EnableIntegrityMonitoring + *out = new(bool) + **out = **in + } + if in.EnableSecureBoot != nil { + in, out := &in.EnableSecureBoot, &out.EnableSecureBoot + *out = new(bool) + **out = **in + } + if in.EnableVtpm != nil { + in, out := &in.EnableVtpm, &out.EnableVtpm + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShieldedInstanceConfigParameters. +func (in *ShieldedInstanceConfigParameters) DeepCopy() *ShieldedInstanceConfigParameters { + if in == nil { + return nil + } + out := new(ShieldedInstanceConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VMImageObservation) DeepCopyInto(out *VMImageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMImageObservation. +func (in *VMImageObservation) DeepCopy() *VMImageObservation { + if in == nil { + return nil + } + out := new(VMImageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VMImageParameters) DeepCopyInto(out *VMImageParameters) { + *out = *in + if in.ImageFamily != nil { + in, out := &in.ImageFamily, &out.ImageFamily + *out = new(string) + **out = **in + } + if in.ImageName != nil { + in, out := &in.ImageName, &out.ImageName + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMImageParameters. +func (in *VMImageParameters) DeepCopy() *VMImageParameters { + if in == nil { + return nil + } + out := new(VMImageParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/notebooks/v1alpha1/zz_generated.managed.go b/apis/notebooks/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..6eeec96f --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_generated.managed.go @@ -0,0 +1,356 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Environment. +func (mg *Environment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Environment. +func (mg *Environment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Environment. +func (mg *Environment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Environment. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Environment) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Environment. +func (mg *Environment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Environment. +func (mg *Environment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Environment. +func (mg *Environment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Environment. +func (mg *Environment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Environment. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Environment) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Environment. +func (mg *Environment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Instance. +func (mg *Instance) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Instance. +func (mg *Instance) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Instance. +func (mg *Instance) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Instance. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Instance) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Instance. +func (mg *Instance) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Instance. +func (mg *Instance) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Instance. +func (mg *Instance) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Instance. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Instance) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Location. +func (mg *Location) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Location. +func (mg *Location) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Location. +func (mg *Location) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Location. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Location) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Location. +func (mg *Location) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Location. +func (mg *Location) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Location. +func (mg *Location) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Location. +func (mg *Location) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Location. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Location) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Location. +func (mg *Location) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/notebooks/v1alpha1/zz_generated.managedlist.go b/apis/notebooks/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..cb74bfbc --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,74 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this EnvironmentList. +func (l *EnvironmentList) 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 InstanceIAMBindingList. +func (l *InstanceIAMBindingList) 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 InstanceIAMMemberList. +func (l *InstanceIAMMemberList) 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 InstanceIAMPolicyList. +func (l *InstanceIAMPolicyList) 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 InstanceList. +func (l *InstanceList) 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 LocationList. +func (l *LocationList) 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/notebooks/v1alpha1/zz_groupversion_info.go b/apis/notebooks/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..966f87b7 --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=notebooks.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "notebooks.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/notebooks/v1alpha1/zz_instance_terraformed.go b/apis/notebooks/v1alpha1/zz_instance_terraformed.go new file mode 100755 index 00000000..b60b95ca --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_instance_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Instance +func (mg *Instance) GetTerraformResourceType() string { + return "google_notebooks_instance" +} + +// GetConnectionDetailsMapping for this Instance +func (tr *Instance) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Instance +func (tr *Instance) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Instance +func (tr *Instance) SetObservation(obs map[string]interface{}) 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 Instance +func (tr *Instance) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Instance +func (tr *Instance) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Instance +func (tr *Instance) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Instance using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Instance) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceParameters{} + 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 *Instance) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/notebooks/v1alpha1/zz_instance_types.go b/apis/notebooks/v1alpha1/zz_instance_types.go new file mode 100755 index 00000000..1046d3ac --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_instance_types.go @@ -0,0 +1,307 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AcceleratorConfigObservation struct { +} + +type AcceleratorConfigParameters struct { + + // Count of cores of this accelerator. + // +kubebuilder:validation:Required + CoreCount *int64 `json:"coreCount" tf:"core_count,omitempty"` + + // Type of this accelerator. Possible values: ["ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", "NVIDIA_TESLA_T4_VWS", "NVIDIA_TESLA_P100_VWS", "NVIDIA_TESLA_P4_VWS", "NVIDIA_TESLA_A100", "TPU_V2", "TPU_V3"] + // +kubebuilder:validation:Required + Type *string `json:"type" tf:"type,omitempty"` +} + +type InstanceContainerImageObservation struct { +} + +type InstanceContainerImageParameters struct { + + // The path to the container image repository. + // For example: gcr.io/{project_id}/{imageName} + // +kubebuilder:validation:Required + Repository *string `json:"repository" tf:"repository,omitempty"` + + // The tag of the container image. If not specified, this defaults to the latest tag. + // +kubebuilder:validation:Optional + Tag *string `json:"tag,omitempty" tf:"tag,omitempty"` +} + +type InstanceObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + ProxyURI *string `json:"proxyUri,omitempty" tf:"proxy_uri,omitempty"` + + State *string `json:"state,omitempty" tf:"state,omitempty"` +} + +type InstanceParameters struct { + + // The hardware accelerator used on this instance. If you use accelerators, + // make sure that your configuration has enough vCPUs and memory to support the + // machineType you have selected. + // +kubebuilder:validation:Optional + AcceleratorConfig []AcceleratorConfigParameters `json:"acceleratorConfig,omitempty" tf:"accelerator_config,omitempty"` + + // The size of the boot disk in GB attached to this instance, + // up to a maximum of 64000 GB (64 TB). The minimum recommended value is 100 GB. + // If not specified, this defaults to 100. + // +kubebuilder:validation:Optional + BootDiskSizeGb *int64 `json:"bootDiskSizeGb,omitempty" tf:"boot_disk_size_gb,omitempty"` + + // Possible disk types for notebook instances. Possible values: ["DISK_TYPE_UNSPECIFIED", "PD_STANDARD", "PD_SSD", "PD_BALANCED"] + // +kubebuilder:validation:Optional + BootDiskType *string `json:"bootDiskType,omitempty" tf:"boot_disk_type,omitempty"` + + // Use a container image to start the notebook instance. + // +kubebuilder:validation:Optional + ContainerImage []InstanceContainerImageParameters `json:"containerImage,omitempty" tf:"container_image,omitempty"` + + // Instance creation time + // +kubebuilder:validation:Optional + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + // Specify a custom Cloud Storage path where the GPU driver is stored. + // If not specified, we'll automatically choose from official GPU drivers. + // +kubebuilder:validation:Optional + CustomGpuDriverPath *string `json:"customGpuDriverPath,omitempty" tf:"custom_gpu_driver_path,omitempty"` + + // The size of the data disk in GB attached to this instance, + // up to a maximum of 64000 GB (64 TB). + // You can choose the size of the data disk based on how big your notebooks and data are. + // If not specified, this defaults to 100. + // +kubebuilder:validation:Optional + DataDiskSizeGb *int64 `json:"dataDiskSizeGb,omitempty" tf:"data_disk_size_gb,omitempty"` + + // Possible disk types for notebook instances. Possible values: ["DISK_TYPE_UNSPECIFIED", "PD_STANDARD", "PD_SSD", "PD_BALANCED"] + // +kubebuilder:validation:Optional + DataDiskType *string `json:"dataDiskType,omitempty" tf:"data_disk_type,omitempty"` + + // Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values: ["DISK_ENCRYPTION_UNSPECIFIED", "GMEK", "CMEK"] + // +kubebuilder:validation:Optional + DiskEncryption *string `json:"diskEncryption,omitempty" tf:"disk_encryption,omitempty"` + + // Whether the end user authorizes Google Cloud to install GPU driver + // on this instance. If this field is empty or set to false, the GPU driver + // won't be installed. Only applicable to instances with GPUs. + // +kubebuilder:validation:Optional + InstallGpuDriver *bool `json:"installGpuDriver,omitempty" tf:"install_gpu_driver,omitempty"` + + // The list of owners of this instance after creation. + // Format: alias@example.com. + // Currently supports one owner only. + // If not specified, all of the service account users of + // your VM instance's service account can use the instance. + // +kubebuilder:validation:Optional + InstanceOwners []*string `json:"instanceOwners,omitempty" tf:"instance_owners,omitempty"` + + // The KMS key used to encrypt the disks, only applicable if diskEncryption is CMEK. + // Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id} + // +kubebuilder:validation:Optional + KMSKey *string `json:"kmsKey,omitempty" tf:"kms_key,omitempty"` + + // Labels to apply to this instance. These can be later modified by the setLabels method. + // An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // A reference to the zone where the machine resides. + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // A reference to a machine type which defines VM kind. + // +kubebuilder:validation:Required + MachineType *string `json:"machineType" tf:"machine_type,omitempty"` + + // Custom metadata to apply to this instance. + // An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. + // +kubebuilder:validation:Optional + Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"` + + // The name specified for the Notebook instance. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The name of the VPC that this instance is in. + // Format: projects/{project_id}/global/networks/{network_id} + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // The notebook instance will not register with the proxy.. + // +kubebuilder:validation:Optional + NoProxyAccess *bool `json:"noProxyAccess,omitempty" tf:"no_proxy_access,omitempty"` + + // No public IP will be assigned to this instance. + // +kubebuilder:validation:Optional + NoPublicIP *bool `json:"noPublicIp,omitempty" tf:"no_public_ip,omitempty"` + + // If true, the data disk will not be auto deleted when deleting the instance. + // +kubebuilder:validation:Optional + NoRemoveDataDisk *bool `json:"noRemoveDataDisk,omitempty" tf:"no_remove_data_disk,omitempty"` + + // Path to a Bash script that automatically runs after a + // notebook instance fully boots up. The path must be a URL + // or Cloud Storage path (gs://path-to-file/file-name). + // +kubebuilder:validation:Optional + PostStartupScript *string `json:"postStartupScript,omitempty" tf:"post_startup_script,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The service account on this instance, giving access to other + // Google Cloud services. You can use any service account within + // the same project, but you must have the service account user + // permission to use the instance. If not specified, + // the Compute Engine default service account is used. + // +kubebuilder:validation:Optional + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // Optional. The URIs of service account scopes to be included in Compute Engine instances. + // If not specified, the following scopes are defined: + // - https://www.googleapis.com/auth/cloud-platform + // - https://www.googleapis.com/auth/userinfo.email + // +kubebuilder:validation:Optional + ServiceAccountScopes []*string `json:"serviceAccountScopes,omitempty" tf:"service_account_scopes,omitempty"` + + // A set of Shielded Instance options. Check [Images using supported Shielded VM features] + // Not all combinations are valid + // +kubebuilder:validation:Optional + ShieldedInstanceConfig []ShieldedInstanceConfigParameters `json:"shieldedInstanceConfig,omitempty" tf:"shielded_instance_config,omitempty"` + + // The name of the subnet that this instance is in. + // Format: projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id} + // +kubebuilder:validation:Optional + Subnet *string `json:"subnet,omitempty" tf:"subnet,omitempty"` + + // The Compute Engine tags to add to runtime. + // +kubebuilder:validation:Optional + Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // Instance update time. + // +kubebuilder:validation:Optional + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` + + // Use a Compute Engine VM image to start the notebook instance. + // +kubebuilder:validation:Optional + VMImage []InstanceVMImageParameters `json:"vmImage,omitempty" tf:"vm_image,omitempty"` +} + +type InstanceVMImageObservation struct { +} + +type InstanceVMImageParameters struct { + + // Use this VM image family to find the image; the newest image in this family will be used. + // +kubebuilder:validation:Optional + ImageFamily *string `json:"imageFamily,omitempty" tf:"image_family,omitempty"` + + // Use VM image name to find the image. + // +kubebuilder:validation:Optional + ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"` + + // The name of the Google Cloud project that this VM image belongs to. + // Format: projects/{project_id} + // +kubebuilder:validation:Required + Project *string `json:"project" tf:"project,omitempty"` +} + +type ShieldedInstanceConfigObservation struct { +} + +type ShieldedInstanceConfigParameters struct { + + // Defines whether the instance has integrity monitoring enabled. Enables monitoring and attestation of the + // boot integrity of the instance. The attestation is performed against the integrity policy baseline. + // This baseline is initially derived from the implicitly trusted boot image when the instance is created. + // Enabled by default. + // +kubebuilder:validation:Optional + EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring,omitempty" tf:"enable_integrity_monitoring,omitempty"` + + // Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs + // authentic software by verifying the digital signature of all boot components, and halting the boot process + // if signature verification fails. + // Disabled by default. + // +kubebuilder:validation:Optional + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty" tf:"enable_secure_boot,omitempty"` + + // Defines whether the instance has the vTPM enabled. + // Enabled by default. + // +kubebuilder:validation:Optional + EnableVtpm *bool `json:"enableVtpm,omitempty" tf:"enable_vtpm,omitempty"` +} + +// InstanceSpec defines the desired state of Instance +type InstanceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceParameters `json:"forProvider"` +} + +// InstanceStatus defines the observed state of Instance. +type InstanceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Instance is the Schema for the Instances 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,gcpjet} +type Instance struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceSpec `json:"spec"` + Status InstanceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceList contains a list of Instances +type InstanceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Instance `json:"items"` +} + +// Repository type metadata. +var ( + Instance_Kind = "Instance" + Instance_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Instance_Kind}.String() + Instance_KindAPIVersion = Instance_Kind + "." + CRDGroupVersion.String() + Instance_GroupVersionKind = CRDGroupVersion.WithKind(Instance_Kind) +) + +func init() { + SchemeBuilder.Register(&Instance{}, &InstanceList{}) +} diff --git a/apis/notebooks/v1alpha1/zz_instanceiambinding_terraformed.go b/apis/notebooks/v1alpha1/zz_instanceiambinding_terraformed.go new file mode 100755 index 00000000..8974cd52 --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_instanceiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceIAMBinding +func (mg *InstanceIAMBinding) GetTerraformResourceType() string { + return "google_notebooks_instance_iam_binding" +} + +// GetConnectionDetailsMapping for this InstanceIAMBinding +func (tr *InstanceIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceIAMBinding +func (tr *InstanceIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceIAMBinding +func (tr *InstanceIAMBinding) SetObservation(obs map[string]interface{}) 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 InstanceIAMBinding +func (tr *InstanceIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceIAMBinding +func (tr *InstanceIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceIAMBinding +func (tr *InstanceIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceIAMBindingParameters{} + 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 *InstanceIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/notebooks/v1alpha1/zz_instanceiambinding_types.go b/apis/notebooks/v1alpha1/zz_instanceiambinding_types.go new file mode 100755 index 00000000..650eaf4e --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_instanceiambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type InstanceIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + InstanceName *string `json:"instanceName" tf:"instance_name,omitempty"` + + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// InstanceIAMBindingSpec defines the desired state of InstanceIAMBinding +type InstanceIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceIAMBindingParameters `json:"forProvider"` +} + +// InstanceIAMBindingStatus defines the observed state of InstanceIAMBinding. +type InstanceIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMBinding is the Schema for the InstanceIAMBindings 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,gcpjet} +type InstanceIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceIAMBindingSpec `json:"spec"` + Status InstanceIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMBindingList contains a list of InstanceIAMBindings +type InstanceIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + InstanceIAMBinding_Kind = "InstanceIAMBinding" + InstanceIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceIAMBinding_Kind}.String() + InstanceIAMBinding_KindAPIVersion = InstanceIAMBinding_Kind + "." + CRDGroupVersion.String() + InstanceIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(InstanceIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceIAMBinding{}, &InstanceIAMBindingList{}) +} diff --git a/apis/notebooks/v1alpha1/zz_instanceiammember_terraformed.go b/apis/notebooks/v1alpha1/zz_instanceiammember_terraformed.go new file mode 100755 index 00000000..0f62c00a --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_instanceiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceIAMMember +func (mg *InstanceIAMMember) GetTerraformResourceType() string { + return "google_notebooks_instance_iam_member" +} + +// GetConnectionDetailsMapping for this InstanceIAMMember +func (tr *InstanceIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceIAMMember +func (tr *InstanceIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceIAMMember +func (tr *InstanceIAMMember) SetObservation(obs map[string]interface{}) 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 InstanceIAMMember +func (tr *InstanceIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceIAMMember +func (tr *InstanceIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceIAMMember +func (tr *InstanceIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceIAMMemberParameters{} + 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 *InstanceIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/notebooks/v1alpha1/zz_instanceiammember_types.go b/apis/notebooks/v1alpha1/zz_instanceiammember_types.go new file mode 100755 index 00000000..77e11d69 --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_instanceiammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceIAMMemberConditionObservation struct { +} + +type InstanceIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type InstanceIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []InstanceIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + InstanceName *string `json:"instanceName" tf:"instance_name,omitempty"` + + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// InstanceIAMMemberSpec defines the desired state of InstanceIAMMember +type InstanceIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceIAMMemberParameters `json:"forProvider"` +} + +// InstanceIAMMemberStatus defines the observed state of InstanceIAMMember. +type InstanceIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMMember is the Schema for the InstanceIAMMembers 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,gcpjet} +type InstanceIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceIAMMemberSpec `json:"spec"` + Status InstanceIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMMemberList contains a list of InstanceIAMMembers +type InstanceIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + InstanceIAMMember_Kind = "InstanceIAMMember" + InstanceIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceIAMMember_Kind}.String() + InstanceIAMMember_KindAPIVersion = InstanceIAMMember_Kind + "." + CRDGroupVersion.String() + InstanceIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(InstanceIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceIAMMember{}, &InstanceIAMMemberList{}) +} diff --git a/apis/notebooks/v1alpha1/zz_instanceiampolicy_terraformed.go b/apis/notebooks/v1alpha1/zz_instanceiampolicy_terraformed.go new file mode 100755 index 00000000..f2abed0d --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_instanceiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceIAMPolicy +func (mg *InstanceIAMPolicy) GetTerraformResourceType() string { + return "google_notebooks_instance_iam_policy" +} + +// GetConnectionDetailsMapping for this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) SetObservation(obs map[string]interface{}) 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 InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceIAMPolicyParameters{} + 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 *InstanceIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/notebooks/v1alpha1/zz_instanceiampolicy_types.go b/apis/notebooks/v1alpha1/zz_instanceiampolicy_types.go new file mode 100755 index 00000000..0f0c59b8 --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_instanceiampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + InstanceName *string `json:"instanceName" tf:"instance_name,omitempty"` + + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// InstanceIAMPolicySpec defines the desired state of InstanceIAMPolicy +type InstanceIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceIAMPolicyParameters `json:"forProvider"` +} + +// InstanceIAMPolicyStatus defines the observed state of InstanceIAMPolicy. +type InstanceIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMPolicy is the Schema for the InstanceIAMPolicys 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,gcpjet} +type InstanceIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceIAMPolicySpec `json:"spec"` + Status InstanceIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMPolicyList contains a list of InstanceIAMPolicys +type InstanceIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + InstanceIAMPolicy_Kind = "InstanceIAMPolicy" + InstanceIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceIAMPolicy_Kind}.String() + InstanceIAMPolicy_KindAPIVersion = InstanceIAMPolicy_Kind + "." + CRDGroupVersion.String() + InstanceIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(InstanceIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceIAMPolicy{}, &InstanceIAMPolicyList{}) +} diff --git a/apis/notebooks/v1alpha1/zz_location_terraformed.go b/apis/notebooks/v1alpha1/zz_location_terraformed.go new file mode 100755 index 00000000..1650ed05 --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_location_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Location +func (mg *Location) GetTerraformResourceType() string { + return "google_notebooks_location" +} + +// GetConnectionDetailsMapping for this Location +func (tr *Location) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Location +func (tr *Location) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Location +func (tr *Location) SetObservation(obs map[string]interface{}) 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 Location +func (tr *Location) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Location +func (tr *Location) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Location +func (tr *Location) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Location using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Location) LateInitialize(attrs []byte) (bool, error) { + params := &LocationParameters{} + 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 *Location) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/notebooks/v1alpha1/zz_location_types.go b/apis/notebooks/v1alpha1/zz_location_types.go new file mode 100755 index 00000000..65ffaaf9 --- /dev/null +++ b/apis/notebooks/v1alpha1/zz_location_types.go @@ -0,0 +1,91 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 LocationObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type LocationParameters struct { + + // Name of the Location resource. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// LocationSpec defines the desired state of Location +type LocationSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider LocationParameters `json:"forProvider"` +} + +// LocationStatus defines the observed state of Location. +type LocationStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider LocationObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Location is the Schema for the Locations 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,gcpjet} +type Location struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec LocationSpec `json:"spec"` + Status LocationStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// LocationList contains a list of Locations +type LocationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Location `json:"items"` +} + +// Repository type metadata. +var ( + Location_Kind = "Location" + Location_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Location_Kind}.String() + Location_KindAPIVersion = Location_Kind + "." + CRDGroupVersion.String() + Location_GroupVersionKind = CRDGroupVersion.WithKind(Location_Kind) +) + +func init() { + SchemeBuilder.Register(&Location{}, &LocationList{}) +} diff --git a/apis/orgpolicy/v1alpha1/zz_generated.deepcopy.go b/apis/orgpolicy/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..bbd44c44 --- /dev/null +++ b/apis/orgpolicy/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,388 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Policy) DeepCopyInto(out *Policy) { + *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 Policy. +func (in *Policy) DeepCopy() *Policy { + if in == nil { + return nil + } + out := new(Policy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Policy) 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 *PolicyList) DeepCopyInto(out *PolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Policy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyList. +func (in *PolicyList) DeepCopy() *PolicyList { + if in == nil { + return nil + } + out := new(PolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *PolicyList) 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 *PolicyObservation) DeepCopyInto(out *PolicyObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyObservation. +func (in *PolicyObservation) DeepCopy() *PolicyObservation { + if in == nil { + return nil + } + out := new(PolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicyParameters) DeepCopyInto(out *PolicyParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.Spec != nil { + in, out := &in.Spec, &out.Spec + *out = make([]SpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyParameters. +func (in *PolicyParameters) DeepCopy() *PolicyParameters { + if in == nil { + return nil + } + out := new(PolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicySpec) DeepCopyInto(out *PolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicySpec. +func (in *PolicySpec) DeepCopy() *PolicySpec { + if in == nil { + return nil + } + out := new(PolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicyStatus) DeepCopyInto(out *PolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyStatus. +func (in *PolicyStatus) DeepCopy() *PolicyStatus { + if in == nil { + return nil + } + out := new(PolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RulesObservation) DeepCopyInto(out *RulesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RulesObservation. +func (in *RulesObservation) DeepCopy() *RulesObservation { + if in == nil { + return nil + } + out := new(RulesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RulesParameters) DeepCopyInto(out *RulesParameters) { + *out = *in + if in.AllowAll != nil { + in, out := &in.AllowAll, &out.AllowAll + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DenyAll != nil { + in, out := &in.DenyAll, &out.DenyAll + *out = new(string) + **out = **in + } + if in.Enforce != nil { + in, out := &in.Enforce, &out.Enforce + *out = new(string) + **out = **in + } + if in.Values != nil { + in, out := &in.Values, &out.Values + *out = make([]ValuesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RulesParameters. +func (in *RulesParameters) DeepCopy() *RulesParameters { + if in == nil { + return nil + } + out := new(RulesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecObservation) DeepCopyInto(out *SpecObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecObservation. +func (in *SpecObservation) DeepCopy() *SpecObservation { + if in == nil { + return nil + } + out := new(SpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SpecParameters) DeepCopyInto(out *SpecParameters) { + *out = *in + if in.InheritFromParent != nil { + in, out := &in.InheritFromParent, &out.InheritFromParent + *out = new(bool) + **out = **in + } + if in.Reset != nil { + in, out := &in.Reset, &out.Reset + *out = new(bool) + **out = **in + } + if in.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]RulesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecParameters. +func (in *SpecParameters) DeepCopy() *SpecParameters { + if in == nil { + return nil + } + out := new(SpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValuesObservation) DeepCopyInto(out *ValuesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValuesObservation. +func (in *ValuesObservation) DeepCopy() *ValuesObservation { + if in == nil { + return nil + } + out := new(ValuesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ValuesParameters) DeepCopyInto(out *ValuesParameters) { + *out = *in + if in.AllowedValues != nil { + in, out := &in.AllowedValues, &out.AllowedValues + *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.DeniedValues != nil { + in, out := &in.DeniedValues, &out.DeniedValues + *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 ValuesParameters. +func (in *ValuesParameters) DeepCopy() *ValuesParameters { + if in == nil { + return nil + } + out := new(ValuesParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/orgpolicy/v1alpha1/zz_generated.managed.go b/apis/orgpolicy/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..b081de7e --- /dev/null +++ b/apis/orgpolicy/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Policy. +func (mg *Policy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Policy. +func (mg *Policy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Policy. +func (mg *Policy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Policy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Policy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Policy. +func (mg *Policy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Policy. +func (mg *Policy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Policy. +func (mg *Policy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Policy. +func (mg *Policy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Policy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Policy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Policy. +func (mg *Policy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/orgpolicy/v1alpha1/zz_generated.managedlist.go b/apis/orgpolicy/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..a215478d --- /dev/null +++ b/apis/orgpolicy/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this PolicyList. +func (l *PolicyList) 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/orgpolicy/v1alpha1/zz_groupversion_info.go b/apis/orgpolicy/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..ba8d97fb --- /dev/null +++ b/apis/orgpolicy/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=orgpolicy.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "orgpolicy.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/orgpolicy/v1alpha1/zz_policy_terraformed.go b/apis/orgpolicy/v1alpha1/zz_policy_terraformed.go new file mode 100755 index 00000000..20d3d908 --- /dev/null +++ b/apis/orgpolicy/v1alpha1/zz_policy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Policy +func (mg *Policy) GetTerraformResourceType() string { + return "google_org_policy_policy" +} + +// GetConnectionDetailsMapping for this Policy +func (tr *Policy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Policy +func (tr *Policy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Policy +func (tr *Policy) SetObservation(obs map[string]interface{}) 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 Policy +func (tr *Policy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Policy +func (tr *Policy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Policy +func (tr *Policy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Policy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Policy) LateInitialize(attrs []byte) (bool, error) { + params := &PolicyParameters{} + 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 *Policy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/orgpolicy/v1alpha1/zz_policy_types.go b/apis/orgpolicy/v1alpha1/zz_policy_types.go new file mode 100755 index 00000000..bbd2a676 --- /dev/null +++ b/apis/orgpolicy/v1alpha1/zz_policy_types.go @@ -0,0 +1,177 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Textual representation of an expression in Common Expression Language syntax. + // +kubebuilder:validation:Optional + Expression *string `json:"expression,omitempty" tf:"expression,omitempty"` + + // Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + // +kubebuilder:validation:Optional + Title *string `json:"title,omitempty" tf:"title,omitempty"` +} + +type PolicyObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type PolicyParameters struct { + + // Immutable. The resource name of the Policy. Must be one of the following forms, where constraint_name is the name of the constraint which this Policy configures: * `projects/{project_number}/policies/{constraint_name}` * `folders/{folder_id}/policies/{constraint_name}` * `organizations/{organization_id}/policies/{constraint_name}` For example, "projects/123/policies/compute.disableSerialPortAccess". Note: `projects/{project_id}/policies/{constraint_name}` is also an acceptable name for API requests, but responses will return the name using the equivalent project number. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The parent of the resource. + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` + + // Basic information about the Organization Policy. + // +kubebuilder:validation:Optional + Spec []SpecParameters `json:"spec,omitempty" tf:"spec,omitempty"` +} + +type RulesObservation struct { +} + +type RulesParameters struct { + + // Setting this to true means that all values are allowed. This field can be set only in Policies for list constraints. + // +kubebuilder:validation:Optional + AllowAll *string `json:"allowAll,omitempty" tf:"allow_all,omitempty"` + + // A condition which determines whether this rule is used in the evaluation of the policy. When set, the `expression` field in the `Expr' must include from 1 to 10 subexpressions, joined by the "||" or "&&" operators. Each subexpression must be of the form "resource.matchTag('/tag_key_short_name, 'tag_value_short_name')". or "resource.matchTagId('tagKeys/key_id', 'tagValues/value_id')". where key_name and value_name are the resource names for Label Keys and Values. These names are available from the Tag Manager Service. An example expression is: "resource.matchTag('123456789/environment, 'prod')". or "resource.matchTagId('tagKeys/123', 'tagValues/456')". + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // Setting this to true means that all values are denied. This field can be set only in Policies for list constraints. + // +kubebuilder:validation:Optional + DenyAll *string `json:"denyAll,omitempty" tf:"deny_all,omitempty"` + + // If `true`, then the `Policy` is enforced. If `false`, then any configuration is acceptable. This field can be set only in Policies for boolean constraints. + // +kubebuilder:validation:Optional + Enforce *string `json:"enforce,omitempty" tf:"enforce,omitempty"` + + // List of values to be used for this PolicyRule. This field can be set only in Policies for list constraints. + // +kubebuilder:validation:Optional + Values []ValuesParameters `json:"values,omitempty" tf:"values,omitempty"` +} + +type SpecObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type SpecParameters struct { + + // Determines the inheritance behavior for this `Policy`. If `inherit_from_parent` is true, PolicyRules set higher up in the hierarchy (up to the closest root) are inherited and present in the effective policy. If it is false, then no rules are inherited, and this Policy becomes the new root for evaluation. This field can be set only for Policies which configure list constraints. + // +kubebuilder:validation:Optional + InheritFromParent *bool `json:"inheritFromParent,omitempty" tf:"inherit_from_parent,omitempty"` + + // Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource. This field can be set in policies for either list or boolean constraints. If set, `rules` must be empty and `inherit_from_parent` must be set to false. + // +kubebuilder:validation:Optional + Reset *bool `json:"reset,omitempty" tf:"reset,omitempty"` + + // Up to 10 PolicyRules are allowed. In Policies for boolean constraints, the following requirements apply: - There must be one and only one PolicyRule where condition is unset. - BooleanPolicyRules with conditions must set `enforced` to the opposite of the PolicyRule without a condition. - During policy evaluation, PolicyRules with conditions that are true for a target resource take precedence. + // +kubebuilder:validation:Optional + Rules []RulesParameters `json:"rules,omitempty" tf:"rules,omitempty"` +} + +type ValuesObservation struct { +} + +type ValuesParameters struct { + + // List of values allowed at this resource. + // +kubebuilder:validation:Optional + AllowedValues []*string `json:"allowedValues,omitempty" tf:"allowed_values,omitempty"` + + // List of values denied at this resource. + // +kubebuilder:validation:Optional + DeniedValues []*string `json:"deniedValues,omitempty" tf:"denied_values,omitempty"` +} + +// PolicySpec defines the desired state of Policy +type PolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider PolicyParameters `json:"forProvider"` +} + +// PolicyStatus defines the observed state of Policy. +type PolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider PolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Policy is the Schema for the Policys 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,gcpjet} +type Policy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec PolicySpec `json:"spec"` + Status PolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// PolicyList contains a list of Policys +type PolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Policy `json:"items"` +} + +// Repository type metadata. +var ( + Policy_Kind = "Policy" + Policy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Policy_Kind}.String() + Policy_KindAPIVersion = Policy_Kind + "." + CRDGroupVersion.String() + Policy_GroupVersionKind = CRDGroupVersion.WithKind(Policy_Kind) +) + +func init() { + SchemeBuilder.Register(&Policy{}, &PolicyList{}) +} diff --git a/apis/osconfig/v1alpha1/zz_generated.deepcopy.go b/apis/osconfig/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..6ecd523d --- /dev/null +++ b/apis/osconfig/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1635 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AptObservation) DeepCopyInto(out *AptObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AptObservation. +func (in *AptObservation) DeepCopy() *AptObservation { + if in == nil { + return nil + } + out := new(AptObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AptParameters) DeepCopyInto(out *AptParameters) { + *out = *in + if in.Excludes != nil { + in, out := &in.Excludes, &out.Excludes + *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.ExclusivePackages != nil { + in, out := &in.ExclusivePackages, &out.ExclusivePackages + *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) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AptParameters. +func (in *AptParameters) DeepCopy() *AptParameters { + if in == nil { + return nil + } + out := new(AptParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DisruptionBudgetObservation) DeepCopyInto(out *DisruptionBudgetObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DisruptionBudgetObservation. +func (in *DisruptionBudgetObservation) DeepCopy() *DisruptionBudgetObservation { + if in == nil { + return nil + } + out := new(DisruptionBudgetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DisruptionBudgetParameters) DeepCopyInto(out *DisruptionBudgetParameters) { + *out = *in + if in.Fixed != nil { + in, out := &in.Fixed, &out.Fixed + *out = new(int64) + **out = **in + } + if in.Percentage != nil { + in, out := &in.Percentage, &out.Percentage + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DisruptionBudgetParameters. +func (in *DisruptionBudgetParameters) DeepCopy() *DisruptionBudgetParameters { + if in == nil { + return nil + } + out := new(DisruptionBudgetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GcsObjectObservation) DeepCopyInto(out *GcsObjectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcsObjectObservation. +func (in *GcsObjectObservation) DeepCopy() *GcsObjectObservation { + if in == nil { + return nil + } + out := new(GcsObjectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GcsObjectParameters) DeepCopyInto(out *GcsObjectParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.GenerationNumber != nil { + in, out := &in.GenerationNumber, &out.GenerationNumber + *out = new(string) + **out = **in + } + if in.Object != nil { + in, out := &in.Object, &out.Object + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcsObjectParameters. +func (in *GcsObjectParameters) DeepCopy() *GcsObjectParameters { + if in == nil { + return nil + } + out := new(GcsObjectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GooObservation) DeepCopyInto(out *GooObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GooObservation. +func (in *GooObservation) DeepCopy() *GooObservation { + if in == nil { + return nil + } + out := new(GooObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GooParameters) DeepCopyInto(out *GooParameters) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GooParameters. +func (in *GooParameters) DeepCopy() *GooParameters { + if in == nil { + return nil + } + out := new(GooParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupLabelsObservation) DeepCopyInto(out *GroupLabelsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupLabelsObservation. +func (in *GroupLabelsObservation) DeepCopy() *GroupLabelsObservation { + if in == nil { + return nil + } + out := new(GroupLabelsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupLabelsParameters) DeepCopyInto(out *GroupLabelsParameters) { + *out = *in + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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 + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupLabelsParameters. +func (in *GroupLabelsParameters) DeepCopy() *GroupLabelsParameters { + if in == nil { + return nil + } + out := new(GroupLabelsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFilterObservation) DeepCopyInto(out *InstanceFilterObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceFilterObservation. +func (in *InstanceFilterObservation) DeepCopy() *InstanceFilterObservation { + if in == nil { + return nil + } + out := new(InstanceFilterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceFilterParameters) DeepCopyInto(out *InstanceFilterParameters) { + *out = *in + if in.All != nil { + in, out := &in.All, &out.All + *out = new(bool) + **out = **in + } + if in.GroupLabels != nil { + in, out := &in.GroupLabels, &out.GroupLabels + *out = make([]GroupLabelsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceNamePrefixes != nil { + in, out := &in.InstanceNamePrefixes, &out.InstanceNamePrefixes + *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.Instances != nil { + in, out := &in.Instances, &out.Instances + *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.Zones != nil { + in, out := &in.Zones, &out.Zones + *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 InstanceFilterParameters. +func (in *InstanceFilterParameters) DeepCopy() *InstanceFilterParameters { + if in == nil { + return nil + } + out := new(InstanceFilterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LinuxExecStepConfigGcsObjectObservation) DeepCopyInto(out *LinuxExecStepConfigGcsObjectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxExecStepConfigGcsObjectObservation. +func (in *LinuxExecStepConfigGcsObjectObservation) DeepCopy() *LinuxExecStepConfigGcsObjectObservation { + if in == nil { + return nil + } + out := new(LinuxExecStepConfigGcsObjectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LinuxExecStepConfigGcsObjectParameters) DeepCopyInto(out *LinuxExecStepConfigGcsObjectParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.GenerationNumber != nil { + in, out := &in.GenerationNumber, &out.GenerationNumber + *out = new(string) + **out = **in + } + if in.Object != nil { + in, out := &in.Object, &out.Object + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxExecStepConfigGcsObjectParameters. +func (in *LinuxExecStepConfigGcsObjectParameters) DeepCopy() *LinuxExecStepConfigGcsObjectParameters { + if in == nil { + return nil + } + out := new(LinuxExecStepConfigGcsObjectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LinuxExecStepConfigObservation) DeepCopyInto(out *LinuxExecStepConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxExecStepConfigObservation. +func (in *LinuxExecStepConfigObservation) DeepCopy() *LinuxExecStepConfigObservation { + if in == nil { + return nil + } + out := new(LinuxExecStepConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LinuxExecStepConfigParameters) DeepCopyInto(out *LinuxExecStepConfigParameters) { + *out = *in + if in.AllowedSuccessCodes != nil { + in, out := &in.AllowedSuccessCodes, &out.AllowedSuccessCodes + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } + if in.GcsObject != nil { + in, out := &in.GcsObject, &out.GcsObject + *out = make([]GcsObjectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Interpreter != nil { + in, out := &in.Interpreter, &out.Interpreter + *out = new(string) + **out = **in + } + if in.LocalPath != nil { + in, out := &in.LocalPath, &out.LocalPath + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxExecStepConfigParameters. +func (in *LinuxExecStepConfigParameters) DeepCopy() *LinuxExecStepConfigParameters { + if in == nil { + return nil + } + out := new(LinuxExecStepConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MonthlyObservation) DeepCopyInto(out *MonthlyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonthlyObservation. +func (in *MonthlyObservation) DeepCopy() *MonthlyObservation { + if in == nil { + return nil + } + out := new(MonthlyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MonthlyParameters) DeepCopyInto(out *MonthlyParameters) { + *out = *in + if in.MonthDay != nil { + in, out := &in.MonthDay, &out.MonthDay + *out = new(int64) + **out = **in + } + if in.WeekDayOfMonth != nil { + in, out := &in.WeekDayOfMonth, &out.WeekDayOfMonth + *out = make([]WeekDayOfMonthParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonthlyParameters. +func (in *MonthlyParameters) DeepCopy() *MonthlyParameters { + if in == nil { + return nil + } + out := new(MonthlyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OneTimeScheduleObservation) DeepCopyInto(out *OneTimeScheduleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OneTimeScheduleObservation. +func (in *OneTimeScheduleObservation) DeepCopy() *OneTimeScheduleObservation { + if in == nil { + return nil + } + out := new(OneTimeScheduleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OneTimeScheduleParameters) DeepCopyInto(out *OneTimeScheduleParameters) { + *out = *in + if in.ExecuteTime != nil { + in, out := &in.ExecuteTime, &out.ExecuteTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OneTimeScheduleParameters. +func (in *OneTimeScheduleParameters) DeepCopy() *OneTimeScheduleParameters { + if in == nil { + return nil + } + out := new(OneTimeScheduleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PatchConfigObservation) DeepCopyInto(out *PatchConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchConfigObservation. +func (in *PatchConfigObservation) DeepCopy() *PatchConfigObservation { + if in == nil { + return nil + } + out := new(PatchConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PatchConfigParameters) DeepCopyInto(out *PatchConfigParameters) { + *out = *in + if in.Apt != nil { + in, out := &in.Apt, &out.Apt + *out = make([]AptParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Goo != nil { + in, out := &in.Goo, &out.Goo + *out = make([]GooParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PostStep != nil { + in, out := &in.PostStep, &out.PostStep + *out = make([]PostStepParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PreStep != nil { + in, out := &in.PreStep, &out.PreStep + *out = make([]PreStepParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RebootConfig != nil { + in, out := &in.RebootConfig, &out.RebootConfig + *out = new(string) + **out = **in + } + if in.WindowsUpdate != nil { + in, out := &in.WindowsUpdate, &out.WindowsUpdate + *out = make([]WindowsUpdateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Yum != nil { + in, out := &in.Yum, &out.Yum + *out = make([]YumParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Zypper != nil { + in, out := &in.Zypper, &out.Zypper + *out = make([]ZypperParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchConfigParameters. +func (in *PatchConfigParameters) DeepCopy() *PatchConfigParameters { + if in == nil { + return nil + } + out := new(PatchConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PatchDeployment) DeepCopyInto(out *PatchDeployment) { + *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 PatchDeployment. +func (in *PatchDeployment) DeepCopy() *PatchDeployment { + if in == nil { + return nil + } + out := new(PatchDeployment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *PatchDeployment) 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 *PatchDeploymentList) DeepCopyInto(out *PatchDeploymentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]PatchDeployment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchDeploymentList. +func (in *PatchDeploymentList) DeepCopy() *PatchDeploymentList { + if in == nil { + return nil + } + out := new(PatchDeploymentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *PatchDeploymentList) 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 *PatchDeploymentObservation) DeepCopyInto(out *PatchDeploymentObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LastExecuteTime != nil { + in, out := &in.LastExecuteTime, &out.LastExecuteTime + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchDeploymentObservation. +func (in *PatchDeploymentObservation) DeepCopy() *PatchDeploymentObservation { + if in == nil { + return nil + } + out := new(PatchDeploymentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PatchDeploymentParameters) DeepCopyInto(out *PatchDeploymentParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Duration != nil { + in, out := &in.Duration, &out.Duration + *out = new(string) + **out = **in + } + if in.InstanceFilter != nil { + in, out := &in.InstanceFilter, &out.InstanceFilter + *out = make([]InstanceFilterParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OneTimeSchedule != nil { + in, out := &in.OneTimeSchedule, &out.OneTimeSchedule + *out = make([]OneTimeScheduleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PatchConfig != nil { + in, out := &in.PatchConfig, &out.PatchConfig + *out = make([]PatchConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PatchDeploymentID != nil { + in, out := &in.PatchDeploymentID, &out.PatchDeploymentID + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RecurringSchedule != nil { + in, out := &in.RecurringSchedule, &out.RecurringSchedule + *out = make([]RecurringScheduleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Rollout != nil { + in, out := &in.Rollout, &out.Rollout + *out = make([]RolloutParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchDeploymentParameters. +func (in *PatchDeploymentParameters) DeepCopy() *PatchDeploymentParameters { + if in == nil { + return nil + } + out := new(PatchDeploymentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PatchDeploymentSpec) DeepCopyInto(out *PatchDeploymentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchDeploymentSpec. +func (in *PatchDeploymentSpec) DeepCopy() *PatchDeploymentSpec { + if in == nil { + return nil + } + out := new(PatchDeploymentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PatchDeploymentStatus) DeepCopyInto(out *PatchDeploymentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchDeploymentStatus. +func (in *PatchDeploymentStatus) DeepCopy() *PatchDeploymentStatus { + if in == nil { + return nil + } + out := new(PatchDeploymentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PostStepObservation) DeepCopyInto(out *PostStepObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostStepObservation. +func (in *PostStepObservation) DeepCopy() *PostStepObservation { + if in == nil { + return nil + } + out := new(PostStepObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PostStepParameters) DeepCopyInto(out *PostStepParameters) { + *out = *in + if in.LinuxExecStepConfig != nil { + in, out := &in.LinuxExecStepConfig, &out.LinuxExecStepConfig + *out = make([]LinuxExecStepConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WindowsExecStepConfig != nil { + in, out := &in.WindowsExecStepConfig, &out.WindowsExecStepConfig + *out = make([]WindowsExecStepConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostStepParameters. +func (in *PostStepParameters) DeepCopy() *PostStepParameters { + if in == nil { + return nil + } + out := new(PostStepParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreStepLinuxExecStepConfigObservation) DeepCopyInto(out *PreStepLinuxExecStepConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreStepLinuxExecStepConfigObservation. +func (in *PreStepLinuxExecStepConfigObservation) DeepCopy() *PreStepLinuxExecStepConfigObservation { + if in == nil { + return nil + } + out := new(PreStepLinuxExecStepConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreStepLinuxExecStepConfigParameters) DeepCopyInto(out *PreStepLinuxExecStepConfigParameters) { + *out = *in + if in.AllowedSuccessCodes != nil { + in, out := &in.AllowedSuccessCodes, &out.AllowedSuccessCodes + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } + if in.GcsObject != nil { + in, out := &in.GcsObject, &out.GcsObject + *out = make([]LinuxExecStepConfigGcsObjectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Interpreter != nil { + in, out := &in.Interpreter, &out.Interpreter + *out = new(string) + **out = **in + } + if in.LocalPath != nil { + in, out := &in.LocalPath, &out.LocalPath + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreStepLinuxExecStepConfigParameters. +func (in *PreStepLinuxExecStepConfigParameters) DeepCopy() *PreStepLinuxExecStepConfigParameters { + if in == nil { + return nil + } + out := new(PreStepLinuxExecStepConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreStepObservation) DeepCopyInto(out *PreStepObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreStepObservation. +func (in *PreStepObservation) DeepCopy() *PreStepObservation { + if in == nil { + return nil + } + out := new(PreStepObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreStepParameters) DeepCopyInto(out *PreStepParameters) { + *out = *in + if in.LinuxExecStepConfig != nil { + in, out := &in.LinuxExecStepConfig, &out.LinuxExecStepConfig + *out = make([]PreStepLinuxExecStepConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WindowsExecStepConfig != nil { + in, out := &in.WindowsExecStepConfig, &out.WindowsExecStepConfig + *out = make([]PreStepWindowsExecStepConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreStepParameters. +func (in *PreStepParameters) DeepCopy() *PreStepParameters { + if in == nil { + return nil + } + out := new(PreStepParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreStepWindowsExecStepConfigGcsObjectObservation) DeepCopyInto(out *PreStepWindowsExecStepConfigGcsObjectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreStepWindowsExecStepConfigGcsObjectObservation. +func (in *PreStepWindowsExecStepConfigGcsObjectObservation) DeepCopy() *PreStepWindowsExecStepConfigGcsObjectObservation { + if in == nil { + return nil + } + out := new(PreStepWindowsExecStepConfigGcsObjectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreStepWindowsExecStepConfigGcsObjectParameters) DeepCopyInto(out *PreStepWindowsExecStepConfigGcsObjectParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.GenerationNumber != nil { + in, out := &in.GenerationNumber, &out.GenerationNumber + *out = new(string) + **out = **in + } + if in.Object != nil { + in, out := &in.Object, &out.Object + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreStepWindowsExecStepConfigGcsObjectParameters. +func (in *PreStepWindowsExecStepConfigGcsObjectParameters) DeepCopy() *PreStepWindowsExecStepConfigGcsObjectParameters { + if in == nil { + return nil + } + out := new(PreStepWindowsExecStepConfigGcsObjectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreStepWindowsExecStepConfigObservation) DeepCopyInto(out *PreStepWindowsExecStepConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreStepWindowsExecStepConfigObservation. +func (in *PreStepWindowsExecStepConfigObservation) DeepCopy() *PreStepWindowsExecStepConfigObservation { + if in == nil { + return nil + } + out := new(PreStepWindowsExecStepConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreStepWindowsExecStepConfigParameters) DeepCopyInto(out *PreStepWindowsExecStepConfigParameters) { + *out = *in + if in.AllowedSuccessCodes != nil { + in, out := &in.AllowedSuccessCodes, &out.AllowedSuccessCodes + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } + if in.GcsObject != nil { + in, out := &in.GcsObject, &out.GcsObject + *out = make([]PreStepWindowsExecStepConfigGcsObjectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Interpreter != nil { + in, out := &in.Interpreter, &out.Interpreter + *out = new(string) + **out = **in + } + if in.LocalPath != nil { + in, out := &in.LocalPath, &out.LocalPath + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreStepWindowsExecStepConfigParameters. +func (in *PreStepWindowsExecStepConfigParameters) DeepCopy() *PreStepWindowsExecStepConfigParameters { + if in == nil { + return nil + } + out := new(PreStepWindowsExecStepConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RecurringScheduleObservation) DeepCopyInto(out *RecurringScheduleObservation) { + *out = *in + if in.LastExecuteTime != nil { + in, out := &in.LastExecuteTime, &out.LastExecuteTime + *out = new(string) + **out = **in + } + if in.NextExecuteTime != nil { + in, out := &in.NextExecuteTime, &out.NextExecuteTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecurringScheduleObservation. +func (in *RecurringScheduleObservation) DeepCopy() *RecurringScheduleObservation { + if in == nil { + return nil + } + out := new(RecurringScheduleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RecurringScheduleParameters) DeepCopyInto(out *RecurringScheduleParameters) { + *out = *in + if in.EndTime != nil { + in, out := &in.EndTime, &out.EndTime + *out = new(string) + **out = **in + } + if in.Monthly != nil { + in, out := &in.Monthly, &out.Monthly + *out = make([]MonthlyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } + if in.TimeOfDay != nil { + in, out := &in.TimeOfDay, &out.TimeOfDay + *out = make([]TimeOfDayParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TimeZone != nil { + in, out := &in.TimeZone, &out.TimeZone + *out = make([]TimeZoneParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Weekly != nil { + in, out := &in.Weekly, &out.Weekly + *out = make([]WeeklyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecurringScheduleParameters. +func (in *RecurringScheduleParameters) DeepCopy() *RecurringScheduleParameters { + if in == nil { + return nil + } + out := new(RecurringScheduleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RolloutObservation) DeepCopyInto(out *RolloutObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutObservation. +func (in *RolloutObservation) DeepCopy() *RolloutObservation { + if in == nil { + return nil + } + out := new(RolloutObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RolloutParameters) DeepCopyInto(out *RolloutParameters) { + *out = *in + if in.DisruptionBudget != nil { + in, out := &in.DisruptionBudget, &out.DisruptionBudget + *out = make([]DisruptionBudgetParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutParameters. +func (in *RolloutParameters) DeepCopy() *RolloutParameters { + if in == nil { + return nil + } + out := new(RolloutParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeOfDayObservation) DeepCopyInto(out *TimeOfDayObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeOfDayObservation. +func (in *TimeOfDayObservation) DeepCopy() *TimeOfDayObservation { + if in == nil { + return nil + } + out := new(TimeOfDayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeOfDayParameters) DeepCopyInto(out *TimeOfDayParameters) { + *out = *in + if in.Hours != nil { + in, out := &in.Hours, &out.Hours + *out = new(int64) + **out = **in + } + if in.Minutes != nil { + in, out := &in.Minutes, &out.Minutes + *out = new(int64) + **out = **in + } + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeOfDayParameters. +func (in *TimeOfDayParameters) DeepCopy() *TimeOfDayParameters { + if in == nil { + return nil + } + out := new(TimeOfDayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeZoneObservation) DeepCopyInto(out *TimeZoneObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeZoneObservation. +func (in *TimeZoneObservation) DeepCopy() *TimeZoneObservation { + if in == nil { + return nil + } + out := new(TimeZoneObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeZoneParameters) DeepCopyInto(out *TimeZoneParameters) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *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 TimeZoneParameters. +func (in *TimeZoneParameters) DeepCopy() *TimeZoneParameters { + if in == nil { + return nil + } + out := new(TimeZoneParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeekDayOfMonthObservation) DeepCopyInto(out *WeekDayOfMonthObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeekDayOfMonthObservation. +func (in *WeekDayOfMonthObservation) DeepCopy() *WeekDayOfMonthObservation { + if in == nil { + return nil + } + out := new(WeekDayOfMonthObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeekDayOfMonthParameters) DeepCopyInto(out *WeekDayOfMonthParameters) { + *out = *in + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(string) + **out = **in + } + if in.WeekOrdinal != nil { + in, out := &in.WeekOrdinal, &out.WeekOrdinal + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeekDayOfMonthParameters. +func (in *WeekDayOfMonthParameters) DeepCopy() *WeekDayOfMonthParameters { + if in == nil { + return nil + } + out := new(WeekDayOfMonthParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeeklyObservation) DeepCopyInto(out *WeeklyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeeklyObservation. +func (in *WeeklyObservation) DeepCopy() *WeeklyObservation { + if in == nil { + return nil + } + out := new(WeeklyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeeklyParameters) DeepCopyInto(out *WeeklyParameters) { + *out = *in + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeeklyParameters. +func (in *WeeklyParameters) DeepCopy() *WeeklyParameters { + if in == nil { + return nil + } + out := new(WeeklyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WindowsExecStepConfigGcsObjectObservation) DeepCopyInto(out *WindowsExecStepConfigGcsObjectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsExecStepConfigGcsObjectObservation. +func (in *WindowsExecStepConfigGcsObjectObservation) DeepCopy() *WindowsExecStepConfigGcsObjectObservation { + if in == nil { + return nil + } + out := new(WindowsExecStepConfigGcsObjectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WindowsExecStepConfigGcsObjectParameters) DeepCopyInto(out *WindowsExecStepConfigGcsObjectParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.GenerationNumber != nil { + in, out := &in.GenerationNumber, &out.GenerationNumber + *out = new(string) + **out = **in + } + if in.Object != nil { + in, out := &in.Object, &out.Object + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsExecStepConfigGcsObjectParameters. +func (in *WindowsExecStepConfigGcsObjectParameters) DeepCopy() *WindowsExecStepConfigGcsObjectParameters { + if in == nil { + return nil + } + out := new(WindowsExecStepConfigGcsObjectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WindowsExecStepConfigObservation) DeepCopyInto(out *WindowsExecStepConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsExecStepConfigObservation. +func (in *WindowsExecStepConfigObservation) DeepCopy() *WindowsExecStepConfigObservation { + if in == nil { + return nil + } + out := new(WindowsExecStepConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WindowsExecStepConfigParameters) DeepCopyInto(out *WindowsExecStepConfigParameters) { + *out = *in + if in.AllowedSuccessCodes != nil { + in, out := &in.AllowedSuccessCodes, &out.AllowedSuccessCodes + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } + if in.GcsObject != nil { + in, out := &in.GcsObject, &out.GcsObject + *out = make([]WindowsExecStepConfigGcsObjectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Interpreter != nil { + in, out := &in.Interpreter, &out.Interpreter + *out = new(string) + **out = **in + } + if in.LocalPath != nil { + in, out := &in.LocalPath, &out.LocalPath + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsExecStepConfigParameters. +func (in *WindowsExecStepConfigParameters) DeepCopy() *WindowsExecStepConfigParameters { + if in == nil { + return nil + } + out := new(WindowsExecStepConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WindowsUpdateObservation) DeepCopyInto(out *WindowsUpdateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsUpdateObservation. +func (in *WindowsUpdateObservation) DeepCopy() *WindowsUpdateObservation { + if in == nil { + return nil + } + out := new(WindowsUpdateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WindowsUpdateParameters) DeepCopyInto(out *WindowsUpdateParameters) { + *out = *in + if in.Classifications != nil { + in, out := &in.Classifications, &out.Classifications + *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.Excludes != nil { + in, out := &in.Excludes, &out.Excludes + *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.ExclusivePatches != nil { + in, out := &in.ExclusivePatches, &out.ExclusivePatches + *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 WindowsUpdateParameters. +func (in *WindowsUpdateParameters) DeepCopy() *WindowsUpdateParameters { + if in == nil { + return nil + } + out := new(WindowsUpdateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *YumObservation) DeepCopyInto(out *YumObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new YumObservation. +func (in *YumObservation) DeepCopy() *YumObservation { + if in == nil { + return nil + } + out := new(YumObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *YumParameters) DeepCopyInto(out *YumParameters) { + *out = *in + if in.Excludes != nil { + in, out := &in.Excludes, &out.Excludes + *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.ExclusivePackages != nil { + in, out := &in.ExclusivePackages, &out.ExclusivePackages + *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.Minimal != nil { + in, out := &in.Minimal, &out.Minimal + *out = new(bool) + **out = **in + } + if in.Security != nil { + in, out := &in.Security, &out.Security + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new YumParameters. +func (in *YumParameters) DeepCopy() *YumParameters { + if in == nil { + return nil + } + out := new(YumParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ZypperObservation) DeepCopyInto(out *ZypperObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZypperObservation. +func (in *ZypperObservation) DeepCopy() *ZypperObservation { + if in == nil { + return nil + } + out := new(ZypperObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ZypperParameters) DeepCopyInto(out *ZypperParameters) { + *out = *in + if in.Categories != nil { + in, out := &in.Categories, &out.Categories + *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.Excludes != nil { + in, out := &in.Excludes, &out.Excludes + *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.ExclusivePatches != nil { + in, out := &in.ExclusivePatches, &out.ExclusivePatches + *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.Severities != nil { + in, out := &in.Severities, &out.Severities + *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.WithOptional != nil { + in, out := &in.WithOptional, &out.WithOptional + *out = new(bool) + **out = **in + } + if in.WithUpdate != nil { + in, out := &in.WithUpdate, &out.WithUpdate + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZypperParameters. +func (in *ZypperParameters) DeepCopy() *ZypperParameters { + if in == nil { + return nil + } + out := new(ZypperParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/osconfig/v1alpha1/zz_generated.managed.go b/apis/osconfig/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..6cf75455 --- /dev/null +++ b/apis/osconfig/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this PatchDeployment. +func (mg *PatchDeployment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this PatchDeployment. +func (mg *PatchDeployment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this PatchDeployment. +func (mg *PatchDeployment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this PatchDeployment. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *PatchDeployment) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this PatchDeployment. +func (mg *PatchDeployment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this PatchDeployment. +func (mg *PatchDeployment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this PatchDeployment. +func (mg *PatchDeployment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this PatchDeployment. +func (mg *PatchDeployment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this PatchDeployment. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *PatchDeployment) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this PatchDeployment. +func (mg *PatchDeployment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/osconfig/v1alpha1/zz_generated.managedlist.go b/apis/osconfig/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..c56a1999 --- /dev/null +++ b/apis/osconfig/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this PatchDeploymentList. +func (l *PatchDeploymentList) 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/osconfig/v1alpha1/zz_groupversion_info.go b/apis/osconfig/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..448c2690 --- /dev/null +++ b/apis/osconfig/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=osconfig.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "osconfig.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/osconfig/v1alpha1/zz_patchdeployment_terraformed.go b/apis/osconfig/v1alpha1/zz_patchdeployment_terraformed.go new file mode 100755 index 00000000..e63b8ba9 --- /dev/null +++ b/apis/osconfig/v1alpha1/zz_patchdeployment_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this PatchDeployment +func (mg *PatchDeployment) GetTerraformResourceType() string { + return "google_os_config_patch_deployment" +} + +// GetConnectionDetailsMapping for this PatchDeployment +func (tr *PatchDeployment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this PatchDeployment +func (tr *PatchDeployment) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this PatchDeployment +func (tr *PatchDeployment) SetObservation(obs map[string]interface{}) 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 PatchDeployment +func (tr *PatchDeployment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this PatchDeployment +func (tr *PatchDeployment) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this PatchDeployment +func (tr *PatchDeployment) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this PatchDeployment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *PatchDeployment) LateInitialize(attrs []byte) (bool, error) { + params := &PatchDeploymentParameters{} + 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 *PatchDeployment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/osconfig/v1alpha1/zz_patchdeployment_types.go b/apis/osconfig/v1alpha1/zz_patchdeployment_types.go new file mode 100755 index 00000000..2df632cb --- /dev/null +++ b/apis/osconfig/v1alpha1/zz_patchdeployment_types.go @@ -0,0 +1,660 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AptObservation struct { +} + +type AptParameters struct { + + // List of packages to exclude from update. These packages will be excluded. + // +kubebuilder:validation:Optional + Excludes []*string `json:"excludes,omitempty" tf:"excludes,omitempty"` + + // An exclusive list of packages to be updated. These are the only packages that will be updated. + // If these packages are not installed, they will be ignored. This field cannot be specified with + // any other patch configuration fields. + // +kubebuilder:validation:Optional + ExclusivePackages []*string `json:"exclusivePackages,omitempty" tf:"exclusive_packages,omitempty"` + + // By changing the type to DIST, the patching is performed using apt-get dist-upgrade instead. Possible values: ["DIST", "UPGRADE"] + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type DisruptionBudgetObservation struct { +} + +type DisruptionBudgetParameters struct { + + // Specifies a fixed value. + // +kubebuilder:validation:Optional + Fixed *int64 `json:"fixed,omitempty" tf:"fixed,omitempty"` + + // Specifies the relative value defined as a percentage, which will be multiplied by a reference value. + // +kubebuilder:validation:Optional + Percentage *int64 `json:"percentage,omitempty" tf:"percentage,omitempty"` +} + +type GcsObjectObservation struct { +} + +type GcsObjectParameters struct { + + // Bucket of the Cloud Storage object. + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change. + // +kubebuilder:validation:Required + GenerationNumber *string `json:"generationNumber" tf:"generation_number,omitempty"` + + // Name of the Cloud Storage object. + // +kubebuilder:validation:Required + Object *string `json:"object" tf:"object,omitempty"` +} + +type GooObservation struct { +} + +type GooParameters struct { + + // goo update settings. Use this setting to override the default goo patch rules. + // +kubebuilder:validation:Required + Enabled *bool `json:"enabled" tf:"enabled,omitempty"` +} + +type GroupLabelsObservation struct { +} + +type GroupLabelsParameters struct { + + // Compute Engine instance labels that must be present for a VM instance to be targeted by this filter + // +kubebuilder:validation:Required + Labels map[string]*string `json:"labels" tf:"labels,omitempty"` +} + +type InstanceFilterObservation struct { +} + +type InstanceFilterParameters struct { + + // Target all VM instances in the project. If true, no other criteria is permitted. + // +kubebuilder:validation:Optional + All *bool `json:"all,omitempty" tf:"all,omitempty"` + + // Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances. + // +kubebuilder:validation:Optional + GroupLabels []GroupLabelsParameters `json:"groupLabels,omitempty" tf:"group_labels,omitempty"` + + // Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group + // VMs when targeting configs, for example prefix="prod-". + // +kubebuilder:validation:Optional + InstanceNamePrefixes []*string `json:"instanceNamePrefixes,omitempty" tf:"instance_name_prefixes,omitempty"` + + // Targets any of the VM instances specified. Instances are specified by their URI in the 'form zones/{{zone}}/instances/{{instance_name}}', + // 'projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}', or + // 'https://www.googleapis.com/compute/v1/projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}' + // +kubebuilder:validation:Optional + Instances []*string `json:"instances,omitempty" tf:"instances,omitempty"` + + // Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone. + // +kubebuilder:validation:Optional + Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"` +} + +type LinuxExecStepConfigGcsObjectObservation struct { +} + +type LinuxExecStepConfigGcsObjectParameters struct { + + // Bucket of the Cloud Storage object. + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change. + // +kubebuilder:validation:Required + GenerationNumber *string `json:"generationNumber" tf:"generation_number,omitempty"` + + // Name of the Cloud Storage object. + // +kubebuilder:validation:Required + Object *string `json:"object" tf:"object,omitempty"` +} + +type LinuxExecStepConfigObservation struct { +} + +type LinuxExecStepConfigParameters struct { + + // Defaults to [0]. A list of possible return values that the execution can return to indicate a success. + // +kubebuilder:validation:Optional + AllowedSuccessCodes []*int64 `json:"allowedSuccessCodes,omitempty" tf:"allowed_success_codes,omitempty"` + + // A Cloud Storage object containing the executable. + // +kubebuilder:validation:Optional + GcsObject []GcsObjectParameters `json:"gcsObject,omitempty" tf:"gcs_object,omitempty"` + + // The script interpreter to use to run the script. If no interpreter is specified the script will + // be executed directly, which will likely only succeed for scripts with shebang lines. Possible values: ["SHELL", "POWERSHELL"] + // +kubebuilder:validation:Optional + Interpreter *string `json:"interpreter,omitempty" tf:"interpreter,omitempty"` + + // An absolute path to the executable on the VM. + // +kubebuilder:validation:Optional + LocalPath *string `json:"localPath,omitempty" tf:"local_path,omitempty"` +} + +type MonthlyObservation struct { +} + +type MonthlyParameters struct { + + // One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. + // Months without the target day will be skipped. For example, a schedule to run "every month on the 31st" + // will not run in February, April, June, etc. + // +kubebuilder:validation:Optional + MonthDay *int64 `json:"monthDay,omitempty" tf:"month_day,omitempty"` + + // Week day in a month. + // +kubebuilder:validation:Optional + WeekDayOfMonth []WeekDayOfMonthParameters `json:"weekDayOfMonth,omitempty" tf:"week_day_of_month,omitempty"` +} + +type OneTimeScheduleObservation struct { +} + +type OneTimeScheduleParameters struct { + + // The desired patch job execution time. A timestamp in RFC3339 UTC "Zulu" format, + // accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". + // +kubebuilder:validation:Required + ExecuteTime *string `json:"executeTime" tf:"execute_time,omitempty"` +} + +type PatchConfigObservation struct { +} + +type PatchConfigParameters struct { + + // Apt update settings. Use this setting to override the default apt patch rules. + // +kubebuilder:validation:Optional + Apt []AptParameters `json:"apt,omitempty" tf:"apt,omitempty"` + + // goo update settings. Use this setting to override the default goo patch rules. + // +kubebuilder:validation:Optional + Goo []GooParameters `json:"goo,omitempty" tf:"goo,omitempty"` + + // The ExecStep to run after the patch update. + // +kubebuilder:validation:Optional + PostStep []PostStepParameters `json:"postStep,omitempty" tf:"post_step,omitempty"` + + // The ExecStep to run before the patch update. + // +kubebuilder:validation:Optional + PreStep []PreStepParameters `json:"preStep,omitempty" tf:"pre_step,omitempty"` + + // Post-patch reboot settings. Possible values: ["DEFAULT", "ALWAYS", "NEVER"] + // +kubebuilder:validation:Optional + RebootConfig *string `json:"rebootConfig,omitempty" tf:"reboot_config,omitempty"` + + // Windows update settings. Use this setting to override the default Windows patch rules. + // +kubebuilder:validation:Optional + WindowsUpdate []WindowsUpdateParameters `json:"windowsUpdate,omitempty" tf:"windows_update,omitempty"` + + // Yum update settings. Use this setting to override the default yum patch rules. + // +kubebuilder:validation:Optional + Yum []YumParameters `json:"yum,omitempty" tf:"yum,omitempty"` + + // zypper update settings. Use this setting to override the default zypper patch rules. + // +kubebuilder:validation:Optional + Zypper []ZypperParameters `json:"zypper,omitempty" tf:"zypper,omitempty"` +} + +type PatchDeploymentObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LastExecuteTime *string `json:"lastExecuteTime,omitempty" tf:"last_execute_time,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type PatchDeploymentParameters struct { + + // Description of the patch deployment. Length of the description is limited to 1024 characters. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Duration of the patch. After the duration ends, the patch times out. + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s" + // +kubebuilder:validation:Optional + Duration *string `json:"duration,omitempty" tf:"duration,omitempty"` + + // VM instances to patch. + // +kubebuilder:validation:Required + InstanceFilter []InstanceFilterParameters `json:"instanceFilter" tf:"instance_filter,omitempty"` + + // Schedule a one-time execution. + // +kubebuilder:validation:Optional + OneTimeSchedule []OneTimeScheduleParameters `json:"oneTimeSchedule,omitempty" tf:"one_time_schedule,omitempty"` + + // Patch configuration that is applied. + // +kubebuilder:validation:Optional + PatchConfig []PatchConfigParameters `json:"patchConfig,omitempty" tf:"patch_config,omitempty"` + + // A name for the patch deployment in the project. When creating a name the following rules apply: + // * Must contain only lowercase letters, numbers, and hyphens. + // * Must start with a letter. + // * Must be between 1-63 characters. + // * Must end with a number or a letter. + // * Must be unique within the project. + // +kubebuilder:validation:Required + PatchDeploymentID *string `json:"patchDeploymentId" tf:"patch_deployment_id,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Schedule recurring executions. + // +kubebuilder:validation:Optional + RecurringSchedule []RecurringScheduleParameters `json:"recurringSchedule,omitempty" tf:"recurring_schedule,omitempty"` + + // Rollout strategy of the patch job. + // +kubebuilder:validation:Optional + Rollout []RolloutParameters `json:"rollout,omitempty" tf:"rollout,omitempty"` +} + +type PostStepObservation struct { +} + +type PostStepParameters struct { + + // The ExecStepConfig for all Linux VMs targeted by the PatchJob. + // +kubebuilder:validation:Optional + LinuxExecStepConfig []LinuxExecStepConfigParameters `json:"linuxExecStepConfig,omitempty" tf:"linux_exec_step_config,omitempty"` + + // The ExecStepConfig for all Windows VMs targeted by the PatchJob. + // +kubebuilder:validation:Optional + WindowsExecStepConfig []WindowsExecStepConfigParameters `json:"windowsExecStepConfig,omitempty" tf:"windows_exec_step_config,omitempty"` +} + +type PreStepLinuxExecStepConfigObservation struct { +} + +type PreStepLinuxExecStepConfigParameters struct { + + // Defaults to [0]. A list of possible return values that the execution can return to indicate a success. + // +kubebuilder:validation:Optional + AllowedSuccessCodes []*int64 `json:"allowedSuccessCodes,omitempty" tf:"allowed_success_codes,omitempty"` + + // A Cloud Storage object containing the executable. + // +kubebuilder:validation:Optional + GcsObject []LinuxExecStepConfigGcsObjectParameters `json:"gcsObject,omitempty" tf:"gcs_object,omitempty"` + + // The script interpreter to use to run the script. If no interpreter is specified the script will + // be executed directly, which will likely only succeed for scripts with shebang lines. Possible values: ["SHELL", "POWERSHELL"] + // +kubebuilder:validation:Optional + Interpreter *string `json:"interpreter,omitempty" tf:"interpreter,omitempty"` + + // An absolute path to the executable on the VM. + // +kubebuilder:validation:Optional + LocalPath *string `json:"localPath,omitempty" tf:"local_path,omitempty"` +} + +type PreStepObservation struct { +} + +type PreStepParameters struct { + + // The ExecStepConfig for all Linux VMs targeted by the PatchJob. + // +kubebuilder:validation:Optional + LinuxExecStepConfig []PreStepLinuxExecStepConfigParameters `json:"linuxExecStepConfig,omitempty" tf:"linux_exec_step_config,omitempty"` + + // The ExecStepConfig for all Windows VMs targeted by the PatchJob. + // +kubebuilder:validation:Optional + WindowsExecStepConfig []PreStepWindowsExecStepConfigParameters `json:"windowsExecStepConfig,omitempty" tf:"windows_exec_step_config,omitempty"` +} + +type PreStepWindowsExecStepConfigGcsObjectObservation struct { +} + +type PreStepWindowsExecStepConfigGcsObjectParameters struct { + + // Bucket of the Cloud Storage object. + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change. + // +kubebuilder:validation:Required + GenerationNumber *string `json:"generationNumber" tf:"generation_number,omitempty"` + + // Name of the Cloud Storage object. + // +kubebuilder:validation:Required + Object *string `json:"object" tf:"object,omitempty"` +} + +type PreStepWindowsExecStepConfigObservation struct { +} + +type PreStepWindowsExecStepConfigParameters struct { + + // Defaults to [0]. A list of possible return values that the execution can return to indicate a success. + // +kubebuilder:validation:Optional + AllowedSuccessCodes []*int64 `json:"allowedSuccessCodes,omitempty" tf:"allowed_success_codes,omitempty"` + + // A Cloud Storage object containing the executable. + // +kubebuilder:validation:Optional + GcsObject []PreStepWindowsExecStepConfigGcsObjectParameters `json:"gcsObject,omitempty" tf:"gcs_object,omitempty"` + + // The script interpreter to use to run the script. If no interpreter is specified the script will + // be executed directly, which will likely only succeed for scripts with shebang lines. Possible values: ["SHELL", "POWERSHELL"] + // +kubebuilder:validation:Optional + Interpreter *string `json:"interpreter,omitempty" tf:"interpreter,omitempty"` + + // An absolute path to the executable on the VM. + // +kubebuilder:validation:Optional + LocalPath *string `json:"localPath,omitempty" tf:"local_path,omitempty"` +} + +type RecurringScheduleObservation struct { + LastExecuteTime *string `json:"lastExecuteTime,omitempty" tf:"last_execute_time,omitempty"` + + NextExecuteTime *string `json:"nextExecuteTime,omitempty" tf:"next_execute_time,omitempty"` +} + +type RecurringScheduleParameters struct { + + // The end time at which a recurring patch deployment schedule is no longer active. + // A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". + // +kubebuilder:validation:Optional + EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"` + + // Schedule with monthly executions. + // +kubebuilder:validation:Optional + Monthly []MonthlyParameters `json:"monthly,omitempty" tf:"monthly,omitempty"` + + // The time that the recurring schedule becomes effective. Defaults to createTime of the patch deployment. + // A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". + // +kubebuilder:validation:Optional + StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"` + + // Time of the day to run a recurring deployment. + // +kubebuilder:validation:Required + TimeOfDay []TimeOfDayParameters `json:"timeOfDay" tf:"time_of_day,omitempty"` + + // Defines the time zone that timeOfDay is relative to. The rules for daylight saving time are + // determined by the chosen time zone. + // +kubebuilder:validation:Required + TimeZone []TimeZoneParameters `json:"timeZone" tf:"time_zone,omitempty"` + + // Schedule with weekly executions. + // +kubebuilder:validation:Optional + Weekly []WeeklyParameters `json:"weekly,omitempty" tf:"weekly,omitempty"` +} + +type RolloutObservation struct { +} + +type RolloutParameters struct { + + // The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. + // During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. + // A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. + // For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. + // For example, if the disruption budget has a fixed value of 10, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops. + // +kubebuilder:validation:Required + DisruptionBudget []DisruptionBudgetParameters `json:"disruptionBudget" tf:"disruption_budget,omitempty"` + + // Mode of the patch rollout. Possible values: ["ZONE_BY_ZONE", "CONCURRENT_ZONES"] + // +kubebuilder:validation:Required + Mode *string `json:"mode" tf:"mode,omitempty"` +} + +type TimeOfDayObservation struct { +} + +type TimeOfDayParameters struct { + + // Hours of day in 24 hour format. Should be from 0 to 23. + // An API may choose to allow the value "24:00:00" for scenarios like business closing time. + // +kubebuilder:validation:Optional + Hours *int64 `json:"hours,omitempty" tf:"hours,omitempty"` + + // Minutes of hour of day. Must be from 0 to 59. + // +kubebuilder:validation:Optional + Minutes *int64 `json:"minutes,omitempty" tf:"minutes,omitempty"` + + // Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + // +kubebuilder:validation:Optional + Nanos *int64 `json:"nanos,omitempty" tf:"nanos,omitempty"` + + // Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + // +kubebuilder:validation:Optional + Seconds *int64 `json:"seconds,omitempty" tf:"seconds,omitempty"` +} + +type TimeZoneObservation struct { +} + +type TimeZoneParameters struct { + + // IANA Time Zone Database time zone, e.g. "America/New_York". + // +kubebuilder:validation:Required + ID *string `json:"id" tf:"id,omitempty"` + + // IANA Time Zone Database version number, e.g. "2019a". + // +kubebuilder:validation:Optional + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type WeekDayOfMonthObservation struct { +} + +type WeekDayOfMonthParameters struct { + + // A day of the week. Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"] + // +kubebuilder:validation:Required + DayOfWeek *string `json:"dayOfWeek" tf:"day_of_week,omitempty"` + + // Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month. + // +kubebuilder:validation:Required + WeekOrdinal *int64 `json:"weekOrdinal" tf:"week_ordinal,omitempty"` +} + +type WeeklyObservation struct { +} + +type WeeklyParameters struct { + + // IANA Time Zone Database time zone, e.g. "America/New_York". Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"] + // +kubebuilder:validation:Required + DayOfWeek *string `json:"dayOfWeek" tf:"day_of_week,omitempty"` +} + +type WindowsExecStepConfigGcsObjectObservation struct { +} + +type WindowsExecStepConfigGcsObjectParameters struct { + + // Bucket of the Cloud Storage object. + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change. + // +kubebuilder:validation:Required + GenerationNumber *string `json:"generationNumber" tf:"generation_number,omitempty"` + + // Name of the Cloud Storage object. + // +kubebuilder:validation:Required + Object *string `json:"object" tf:"object,omitempty"` +} + +type WindowsExecStepConfigObservation struct { +} + +type WindowsExecStepConfigParameters struct { + + // Defaults to [0]. A list of possible return values that the execution can return to indicate a success. + // +kubebuilder:validation:Optional + AllowedSuccessCodes []*int64 `json:"allowedSuccessCodes,omitempty" tf:"allowed_success_codes,omitempty"` + + // A Cloud Storage object containing the executable. + // +kubebuilder:validation:Optional + GcsObject []WindowsExecStepConfigGcsObjectParameters `json:"gcsObject,omitempty" tf:"gcs_object,omitempty"` + + // The script interpreter to use to run the script. If no interpreter is specified the script will + // be executed directly, which will likely only succeed for scripts with shebang lines. Possible values: ["SHELL", "POWERSHELL"] + // +kubebuilder:validation:Optional + Interpreter *string `json:"interpreter,omitempty" tf:"interpreter,omitempty"` + + // An absolute path to the executable on the VM. + // +kubebuilder:validation:Optional + LocalPath *string `json:"localPath,omitempty" tf:"local_path,omitempty"` +} + +type WindowsUpdateObservation struct { +} + +type WindowsUpdateParameters struct { + + // Only apply updates of these windows update classifications. If empty, all updates are applied. Possible values: ["CRITICAL", "SECURITY", "DEFINITION", "DRIVER", "FEATURE_PACK", "SERVICE_PACK", "TOOL", "UPDATE_ROLLUP", "UPDATE"] + // +kubebuilder:validation:Optional + Classifications []*string `json:"classifications,omitempty" tf:"classifications,omitempty"` + + // List of KBs to exclude from update. + // +kubebuilder:validation:Optional + Excludes []*string `json:"excludes,omitempty" tf:"excludes,omitempty"` + + // An exclusive list of kbs to be updated. These are the only patches that will be updated. + // This field must not be used with other patch configurations. + // +kubebuilder:validation:Optional + ExclusivePatches []*string `json:"exclusivePatches,omitempty" tf:"exclusive_patches,omitempty"` +} + +type YumObservation struct { +} + +type YumParameters struct { + + // List of packages to exclude from update. These packages will be excluded. + // +kubebuilder:validation:Optional + Excludes []*string `json:"excludes,omitempty" tf:"excludes,omitempty"` + + // An exclusive list of packages to be updated. These are the only packages that will be updated. + // If these packages are not installed, they will be ignored. This field cannot be specified with + // any other patch configuration fields. + // +kubebuilder:validation:Optional + ExclusivePackages []*string `json:"exclusivePackages,omitempty" tf:"exclusive_packages,omitempty"` + + // Will cause patch to run yum update-minimal instead. + // +kubebuilder:validation:Optional + Minimal *bool `json:"minimal,omitempty" tf:"minimal,omitempty"` + + // Adds the --security flag to yum update. Not supported on all platforms. + // +kubebuilder:validation:Optional + Security *bool `json:"security,omitempty" tf:"security,omitempty"` +} + +type ZypperObservation struct { +} + +type ZypperParameters struct { + + // Install only patches with these categories. Common categories include security, recommended, and feature. + // +kubebuilder:validation:Optional + Categories []*string `json:"categories,omitempty" tf:"categories,omitempty"` + + // List of packages to exclude from update. + // +kubebuilder:validation:Optional + Excludes []*string `json:"excludes,omitempty" tf:"excludes,omitempty"` + + // An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. + // This field must not be used with any other patch configuration fields. + // +kubebuilder:validation:Optional + ExclusivePatches []*string `json:"exclusivePatches,omitempty" tf:"exclusive_patches,omitempty"` + + // Install only patches with these severities. Common severities include critical, important, moderate, and low. + // +kubebuilder:validation:Optional + Severities []*string `json:"severities,omitempty" tf:"severities,omitempty"` + + // Adds the --with-optional flag to zypper patch. + // +kubebuilder:validation:Optional + WithOptional *bool `json:"withOptional,omitempty" tf:"with_optional,omitempty"` + + // Adds the --with-update flag, to zypper patch. + // +kubebuilder:validation:Optional + WithUpdate *bool `json:"withUpdate,omitempty" tf:"with_update,omitempty"` +} + +// PatchDeploymentSpec defines the desired state of PatchDeployment +type PatchDeploymentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider PatchDeploymentParameters `json:"forProvider"` +} + +// PatchDeploymentStatus defines the observed state of PatchDeployment. +type PatchDeploymentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider PatchDeploymentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// PatchDeployment is the Schema for the PatchDeployments 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,gcpjet} +type PatchDeployment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec PatchDeploymentSpec `json:"spec"` + Status PatchDeploymentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// PatchDeploymentList contains a list of PatchDeployments +type PatchDeploymentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []PatchDeployment `json:"items"` +} + +// Repository type metadata. +var ( + PatchDeployment_Kind = "PatchDeployment" + PatchDeployment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: PatchDeployment_Kind}.String() + PatchDeployment_KindAPIVersion = PatchDeployment_Kind + "." + CRDGroupVersion.String() + PatchDeployment_GroupVersionKind = CRDGroupVersion.WithKind(PatchDeployment_Kind) +) + +func init() { + SchemeBuilder.Register(&PatchDeployment{}, &PatchDeploymentList{}) +} diff --git a/apis/oslogin/v1alpha1/zz_generated.deepcopy.go b/apis/oslogin/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..af9c9692 --- /dev/null +++ b/apis/oslogin/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,178 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSHPublicKey) DeepCopyInto(out *SSHPublicKey) { + *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 SSHPublicKey. +func (in *SSHPublicKey) DeepCopy() *SSHPublicKey { + if in == nil { + return nil + } + out := new(SSHPublicKey) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SSHPublicKey) 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 *SSHPublicKeyList) DeepCopyInto(out *SSHPublicKeyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SSHPublicKey, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHPublicKeyList. +func (in *SSHPublicKeyList) DeepCopy() *SSHPublicKeyList { + if in == nil { + return nil + } + out := new(SSHPublicKeyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SSHPublicKeyList) 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 *SSHPublicKeyObservation) DeepCopyInto(out *SSHPublicKeyObservation) { + *out = *in + if in.Fingerprint != nil { + in, out := &in.Fingerprint, &out.Fingerprint + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHPublicKeyObservation. +func (in *SSHPublicKeyObservation) DeepCopy() *SSHPublicKeyObservation { + if in == nil { + return nil + } + out := new(SSHPublicKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSHPublicKeyParameters) DeepCopyInto(out *SSHPublicKeyParameters) { + *out = *in + if in.ExpirationTimeUsec != nil { + in, out := &in.ExpirationTimeUsec, &out.ExpirationTimeUsec + *out = new(string) + **out = **in + } + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.User != nil { + in, out := &in.User, &out.User + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHPublicKeyParameters. +func (in *SSHPublicKeyParameters) DeepCopy() *SSHPublicKeyParameters { + if in == nil { + return nil + } + out := new(SSHPublicKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSHPublicKeySpec) DeepCopyInto(out *SSHPublicKeySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHPublicKeySpec. +func (in *SSHPublicKeySpec) DeepCopy() *SSHPublicKeySpec { + if in == nil { + return nil + } + out := new(SSHPublicKeySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SSHPublicKeyStatus) DeepCopyInto(out *SSHPublicKeyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHPublicKeyStatus. +func (in *SSHPublicKeyStatus) DeepCopy() *SSHPublicKeyStatus { + if in == nil { + return nil + } + out := new(SSHPublicKeyStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/oslogin/v1alpha1/zz_generated.managed.go b/apis/oslogin/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..4823f9b7 --- /dev/null +++ b/apis/oslogin/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this SSHPublicKey. +func (mg *SSHPublicKey) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SSHPublicKey. +func (mg *SSHPublicKey) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SSHPublicKey. +func (mg *SSHPublicKey) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SSHPublicKey. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SSHPublicKey) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SSHPublicKey. +func (mg *SSHPublicKey) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SSHPublicKey. +func (mg *SSHPublicKey) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SSHPublicKey. +func (mg *SSHPublicKey) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SSHPublicKey. +func (mg *SSHPublicKey) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SSHPublicKey. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SSHPublicKey) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SSHPublicKey. +func (mg *SSHPublicKey) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/oslogin/v1alpha1/zz_generated.managedlist.go b/apis/oslogin/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..eedf3f19 --- /dev/null +++ b/apis/oslogin/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this SSHPublicKeyList. +func (l *SSHPublicKeyList) 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/oslogin/v1alpha1/zz_groupversion_info.go b/apis/oslogin/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..e4d9a590 --- /dev/null +++ b/apis/oslogin/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=oslogin.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "oslogin.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/oslogin/v1alpha1/zz_sshpublickey_terraformed.go b/apis/oslogin/v1alpha1/zz_sshpublickey_terraformed.go new file mode 100755 index 00000000..2e28253a --- /dev/null +++ b/apis/oslogin/v1alpha1/zz_sshpublickey_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SSHPublicKey +func (mg *SSHPublicKey) GetTerraformResourceType() string { + return "google_os_login_ssh_public_key" +} + +// GetConnectionDetailsMapping for this SSHPublicKey +func (tr *SSHPublicKey) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SSHPublicKey +func (tr *SSHPublicKey) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SSHPublicKey +func (tr *SSHPublicKey) SetObservation(obs map[string]interface{}) 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 SSHPublicKey +func (tr *SSHPublicKey) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SSHPublicKey +func (tr *SSHPublicKey) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SSHPublicKey +func (tr *SSHPublicKey) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SSHPublicKey using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SSHPublicKey) LateInitialize(attrs []byte) (bool, error) { + params := &SSHPublicKeyParameters{} + 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 *SSHPublicKey) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/oslogin/v1alpha1/zz_sshpublickey_types.go b/apis/oslogin/v1alpha1/zz_sshpublickey_types.go new file mode 100755 index 00000000..1a75b059 --- /dev/null +++ b/apis/oslogin/v1alpha1/zz_sshpublickey_types.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SSHPublicKeyObservation struct { + Fingerprint *string `json:"fingerprint,omitempty" tf:"fingerprint,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SSHPublicKeyParameters struct { + + // An expiration time in microseconds since epoch. + // +kubebuilder:validation:Optional + ExpirationTimeUsec *string `json:"expirationTimeUsec,omitempty" tf:"expiration_time_usec,omitempty"` + + // Public key text in SSH format, defined by RFC4253 section 6.6. + // +kubebuilder:validation:Required + Key *string `json:"key" tf:"key,omitempty"` + + // The project ID of the Google Cloud Platform project. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The user email. + // +kubebuilder:validation:Required + User *string `json:"user" tf:"user,omitempty"` +} + +// SSHPublicKeySpec defines the desired state of SSHPublicKey +type SSHPublicKeySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SSHPublicKeyParameters `json:"forProvider"` +} + +// SSHPublicKeyStatus defines the observed state of SSHPublicKey. +type SSHPublicKeyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SSHPublicKeyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SSHPublicKey is the Schema for the SSHPublicKeys 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,gcpjet} +type SSHPublicKey struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SSHPublicKeySpec `json:"spec"` + Status SSHPublicKeyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SSHPublicKeyList contains a list of SSHPublicKeys +type SSHPublicKeyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SSHPublicKey `json:"items"` +} + +// Repository type metadata. +var ( + SSHPublicKey_Kind = "SSHPublicKey" + SSHPublicKey_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SSHPublicKey_Kind}.String() + SSHPublicKey_KindAPIVersion = SSHPublicKey_Kind + "." + CRDGroupVersion.String() + SSHPublicKey_GroupVersionKind = CRDGroupVersion.WithKind(SSHPublicKey_Kind) +) + +func init() { + SchemeBuilder.Register(&SSHPublicKey{}, &SSHPublicKeyList{}) +} diff --git a/apis/privateca/v1alpha1/zz_capool_terraformed.go b/apis/privateca/v1alpha1/zz_capool_terraformed.go new file mode 100755 index 00000000..ca15f127 --- /dev/null +++ b/apis/privateca/v1alpha1/zz_capool_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this CAPool +func (mg *CAPool) GetTerraformResourceType() string { + return "google_privateca_ca_pool" +} + +// GetConnectionDetailsMapping for this CAPool +func (tr *CAPool) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this CAPool +func (tr *CAPool) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this CAPool +func (tr *CAPool) SetObservation(obs map[string]interface{}) 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 CAPool +func (tr *CAPool) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this CAPool +func (tr *CAPool) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this CAPool +func (tr *CAPool) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this CAPool using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *CAPool) LateInitialize(attrs []byte) (bool, error) { + params := &CAPoolParameters{} + 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 *CAPool) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/privateca/v1alpha1/zz_capool_types.go b/apis/privateca/v1alpha1/zz_capool_types.go new file mode 100755 index 00000000..f9005c1e --- /dev/null +++ b/apis/privateca/v1alpha1/zz_capool_types.go @@ -0,0 +1,445 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AdditionalExtensionsObservation struct { +} + +type AdditionalExtensionsParameters struct { + + // Indicates whether or not this extension is critical (i.e., if the client does not know how to + // handle this extension, the client should consider this to be an error). + // +kubebuilder:validation:Required + Critical *bool `json:"critical" tf:"critical,omitempty"` + + // Describes values that are relevant in a CA certificate. + // +kubebuilder:validation:Required + ObjectID []ObjectIDParameters `json:"objectId" tf:"object_id,omitempty"` + + // The value of this X.509 extension. A base64-encoded string. + // +kubebuilder:validation:Required + Value *string `json:"value" tf:"value,omitempty"` +} + +type AllowedIssuanceModesObservation struct { +} + +type AllowedIssuanceModesParameters struct { + + // When true, allows callers to create Certificates by specifying a CertificateConfig. + // +kubebuilder:validation:Required + AllowConfigBasedIssuance *bool `json:"allowConfigBasedIssuance" tf:"allow_config_based_issuance,omitempty"` + + // When true, allows callers to create Certificates by specifying a CSR. + // +kubebuilder:validation:Required + AllowCsrBasedIssuance *bool `json:"allowCsrBasedIssuance" tf:"allow_csr_based_issuance,omitempty"` +} + +type AllowedKeyTypesObservation struct { +} + +type AllowedKeyTypesParameters struct { + + // Represents an allowed Elliptic Curve key type. + // +kubebuilder:validation:Optional + EllipticCurve []EllipticCurveParameters `json:"ellipticCurve,omitempty" tf:"elliptic_curve,omitempty"` + + // Describes an RSA key that may be used in a Certificate issued from a CaPool. + // +kubebuilder:validation:Optional + Rsa []RsaParameters `json:"rsa,omitempty" tf:"rsa,omitempty"` +} + +type BaseKeyUsageObservation struct { +} + +type BaseKeyUsageParameters struct { + + // The key may be used to sign certificates. + // +kubebuilder:validation:Optional + CertSign *bool `json:"certSign,omitempty" tf:"cert_sign,omitempty"` + + // The key may be used for cryptographic commitments. Note that this may also be referred to as "non-repudiation". + // +kubebuilder:validation:Optional + ContentCommitment *bool `json:"contentCommitment,omitempty" tf:"content_commitment,omitempty"` + + // The key may be used sign certificate revocation lists. + // +kubebuilder:validation:Optional + CrlSign *bool `json:"crlSign,omitempty" tf:"crl_sign,omitempty"` + + // The key may be used to encipher data. + // +kubebuilder:validation:Optional + DataEncipherment *bool `json:"dataEncipherment,omitempty" tf:"data_encipherment,omitempty"` + + // The key may be used to decipher only. + // +kubebuilder:validation:Optional + DecipherOnly *bool `json:"decipherOnly,omitempty" tf:"decipher_only,omitempty"` + + // The key may be used for digital signatures. + // +kubebuilder:validation:Optional + DigitalSignature *bool `json:"digitalSignature,omitempty" tf:"digital_signature,omitempty"` + + // The key may be used to encipher only. + // +kubebuilder:validation:Optional + EncipherOnly *bool `json:"encipherOnly,omitempty" tf:"encipher_only,omitempty"` + + // The key may be used in a key agreement protocol. + // +kubebuilder:validation:Optional + KeyAgreement *bool `json:"keyAgreement,omitempty" tf:"key_agreement,omitempty"` + + // The key may be used to encipher other keys. + // +kubebuilder:validation:Optional + KeyEncipherment *bool `json:"keyEncipherment,omitempty" tf:"key_encipherment,omitempty"` +} + +type BaselineValuesObservation struct { +} + +type BaselineValuesParameters struct { + + // Specifies an X.509 extension, which may be used in different parts of X.509 objects like certificates, CSRs, and CRLs. + // +kubebuilder:validation:Optional + AdditionalExtensions []AdditionalExtensionsParameters `json:"additionalExtensions,omitempty" tf:"additional_extensions,omitempty"` + + // Describes Online Certificate Status Protocol (OCSP) endpoint addresses that appear in the + // "Authority Information Access" extension in the certificate. + // +kubebuilder:validation:Optional + AiaOcspServers []*string `json:"aiaOcspServers,omitempty" tf:"aia_ocsp_servers,omitempty"` + + // Describes values that are relevant in a CA certificate. + // +kubebuilder:validation:Required + CAOptions []CAOptionsParameters `json:"caOptions" tf:"ca_options,omitempty"` + + // Indicates the intended use for keys that correspond to a certificate. + // +kubebuilder:validation:Required + KeyUsage []KeyUsageParameters `json:"keyUsage" tf:"key_usage,omitempty"` + + // Describes the X.509 certificate policy object identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4. + // +kubebuilder:validation:Optional + PolicyIds []PolicyIdsParameters `json:"policyIds,omitempty" tf:"policy_ids,omitempty"` +} + +type CAOptionsObservation struct { +} + +type CAOptionsParameters struct { + + // Refers to the "CA" X.509 extension, which is a boolean value. When this value is missing, + // the extension will be omitted from the CA certificate. + // +kubebuilder:validation:Optional + IsCA *bool `json:"isCa,omitempty" tf:"is_ca,omitempty"` + + // Refers to the path length restriction X.509 extension. For a CA certificate, this value describes the depth of + // subordinate CA certificates that are allowed. If this value is less than 0, the request will fail. If this + // value is missing, the max path length will be omitted from the CA certificate. + // +kubebuilder:validation:Optional + MaxIssuerPathLength *int64 `json:"maxIssuerPathLength,omitempty" tf:"max_issuer_path_length,omitempty"` +} + +type CAPoolObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type CAPoolParameters struct { + + // The IssuancePolicy to control how Certificates will be issued from this CaPool. + // +kubebuilder:validation:Optional + IssuancePolicy []IssuancePolicyParameters `json:"issuancePolicy,omitempty" tf:"issuance_policy,omitempty"` + + // Labels with user-defined metadata. + // + // An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": + // "1.3kg", "count": "3" }. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Location of the CaPool. A full list of valid locations can be found by + // running 'gcloud privateca locations list'. + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // The name for this CaPool. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The PublishingOptions to follow when issuing Certificates from any CertificateAuthority in this CaPool. + // +kubebuilder:validation:Optional + PublishingOptions []PublishingOptionsParameters `json:"publishingOptions,omitempty" tf:"publishing_options,omitempty"` + + // The Tier of this CaPool. Possible values: ["ENTERPRISE", "DEVOPS"] + // +kubebuilder:validation:Required + Tier *string `json:"tier" tf:"tier,omitempty"` +} + +type CelExpressionObservation struct { +} + +type CelExpressionParameters struct { + + // Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Textual representation of an expression in Common Expression Language syntax. + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + // +kubebuilder:validation:Optional + Title *string `json:"title,omitempty" tf:"title,omitempty"` +} + +type EllipticCurveObservation struct { +} + +type EllipticCurveParameters struct { + + // The algorithm used. Possible values: ["ECDSA_P256", "ECDSA_P384", "EDDSA_25519"] + // +kubebuilder:validation:Required + SignatureAlgorithm *string `json:"signatureAlgorithm" tf:"signature_algorithm,omitempty"` +} + +type ExtendedKeyUsageObservation struct { +} + +type ExtendedKeyUsageParameters struct { + + // Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client authentication", though regularly used for non-WWW TLS. + // +kubebuilder:validation:Optional + ClientAuth *bool `json:"clientAuth,omitempty" tf:"client_auth,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of downloadable executable code client authentication". + // +kubebuilder:validation:Optional + CodeSigning *bool `json:"codeSigning,omitempty" tf:"code_signing,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email protection". + // +kubebuilder:validation:Optional + EmailProtection *bool `json:"emailProtection,omitempty" tf:"email_protection,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP responses". + // +kubebuilder:validation:Optional + OcspSigning *bool `json:"ocspSigning,omitempty" tf:"ocsp_signing,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server authentication", though regularly used for non-WWW TLS. + // +kubebuilder:validation:Optional + ServerAuth *bool `json:"serverAuth,omitempty" tf:"server_auth,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the hash of an object to a time". + // +kubebuilder:validation:Optional + TimeStamping *bool `json:"timeStamping,omitempty" tf:"time_stamping,omitempty"` +} + +type IdentityConstraintsObservation struct { +} + +type IdentityConstraintsParameters struct { + + // If this is set, the SubjectAltNames extension may be copied from a certificate request into the signed certificate. + // Otherwise, the requested SubjectAltNames will be discarded. + // +kubebuilder:validation:Required + AllowSubjectAltNamesPassthrough *bool `json:"allowSubjectAltNamesPassthrough" tf:"allow_subject_alt_names_passthrough,omitempty"` + + // If this is set, the Subject field may be copied from a certificate request into the signed certificate. + // Otherwise, the requested Subject will be discarded. + // +kubebuilder:validation:Required + AllowSubjectPassthrough *bool `json:"allowSubjectPassthrough" tf:"allow_subject_passthrough,omitempty"` + + // A CEL expression that may be used to validate the resolved X.509 Subject and/or Subject Alternative Name before a + // certificate is signed. To see the full allowed syntax and some examples, + // see https://cloud.google.com/certificate-authority-service/docs/cel-guide + // +kubebuilder:validation:Optional + CelExpression []CelExpressionParameters `json:"celExpression,omitempty" tf:"cel_expression,omitempty"` +} + +type IssuancePolicyObservation struct { +} + +type IssuancePolicyParameters struct { + + // IssuanceModes specifies the allowed ways in which Certificates may be requested from this CaPool. + // +kubebuilder:validation:Optional + AllowedIssuanceModes []AllowedIssuanceModesParameters `json:"allowedIssuanceModes,omitempty" tf:"allowed_issuance_modes,omitempty"` + + // If any AllowedKeyType is specified, then the certificate request's public key must match one of the key types listed here. + // Otherwise, any key may be used. + // +kubebuilder:validation:Optional + AllowedKeyTypes []AllowedKeyTypesParameters `json:"allowedKeyTypes,omitempty" tf:"allowed_key_types,omitempty"` + + // A set of X.509 values that will be applied to all certificates issued through this CaPool. If a certificate request + // includes conflicting values for the same properties, they will be overwritten by the values defined here. If a certificate + // request uses a CertificateTemplate that defines conflicting predefinedValues for the same properties, the certificate + // issuance request will fail. + // +kubebuilder:validation:Optional + BaselineValues []BaselineValuesParameters `json:"baselineValues,omitempty" tf:"baseline_values,omitempty"` + + // Describes constraints on identities that may appear in Certificates issued through this CaPool. + // If this is omitted, then this CaPool will not add restrictions on a certificate's identity. + // +kubebuilder:validation:Optional + IdentityConstraints []IdentityConstraintsParameters `json:"identityConstraints,omitempty" tf:"identity_constraints,omitempty"` + + // The maximum lifetime allowed for issued Certificates. Note that if the issuing CertificateAuthority + // expires before a Certificate's requested maximumLifetime, the effective lifetime will be explicitly truncated to match it. + // +kubebuilder:validation:Optional + MaximumLifetime *string `json:"maximumLifetime,omitempty" tf:"maximum_lifetime,omitempty"` +} + +type KeyUsageObservation struct { +} + +type KeyUsageParameters struct { + + // Describes high-level ways in which a key may be used. + // +kubebuilder:validation:Required + BaseKeyUsage []BaseKeyUsageParameters `json:"baseKeyUsage" tf:"base_key_usage,omitempty"` + + // Describes high-level ways in which a key may be used. + // +kubebuilder:validation:Required + ExtendedKeyUsage []ExtendedKeyUsageParameters `json:"extendedKeyUsage" tf:"extended_key_usage,omitempty"` + + // An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. + // +kubebuilder:validation:Optional + UnknownExtendedKeyUsages []UnknownExtendedKeyUsagesParameters `json:"unknownExtendedKeyUsages,omitempty" tf:"unknown_extended_key_usages,omitempty"` +} + +type ObjectIDObservation struct { +} + +type ObjectIDParameters struct { + + // An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. + // +kubebuilder:validation:Required + ObjectIDPath []*int64 `json:"objectIdPath" tf:"object_id_path,omitempty"` +} + +type PolicyIdsObservation struct { +} + +type PolicyIdsParameters struct { + + // An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. + // +kubebuilder:validation:Required + ObjectIDPath []*int64 `json:"objectIdPath" tf:"object_id_path,omitempty"` +} + +type PublishingOptionsObservation struct { +} + +type PublishingOptionsParameters struct { + + // When true, publishes each CertificateAuthority's CA certificate and includes its URL in the "Authority Information Access" + // X.509 extension in all issued Certificates. If this is false, the CA certificate will not be published and the corresponding + // X.509 extension will not be written in issued certificates. + // +kubebuilder:validation:Required + PublishCACert *bool `json:"publishCaCert" tf:"publish_ca_cert,omitempty"` + + // When true, publishes each CertificateAuthority's CRL and includes its URL in the "CRL Distribution Points" X.509 extension + // in all issued Certificates. If this is false, CRLs will not be published and the corresponding X.509 extension will not + // be written in issued certificates. CRLs will expire 7 days from their creation. However, we will rebuild daily. CRLs are + // also rebuilt shortly after a certificate is revoked. + // +kubebuilder:validation:Required + PublishCrl *bool `json:"publishCrl" tf:"publish_crl,omitempty"` +} + +type RsaObservation struct { +} + +type RsaParameters struct { + + // The maximum allowed RSA modulus size, in bits. If this is not set, or if set to zero, the + // service will not enforce an explicit upper bound on RSA modulus sizes. + // +kubebuilder:validation:Optional + MaxModulusSize *string `json:"maxModulusSize,omitempty" tf:"max_modulus_size,omitempty"` + + // The minimum allowed RSA modulus size, in bits. If this is not set, or if set to zero, the + // service-level min RSA modulus size will continue to apply. + // +kubebuilder:validation:Optional + MinModulusSize *string `json:"minModulusSize,omitempty" tf:"min_modulus_size,omitempty"` +} + +type UnknownExtendedKeyUsagesObservation struct { +} + +type UnknownExtendedKeyUsagesParameters struct { + + // An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. + // +kubebuilder:validation:Required + ObjectIDPath []*int64 `json:"objectIdPath" tf:"object_id_path,omitempty"` +} + +// CAPoolSpec defines the desired state of CAPool +type CAPoolSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider CAPoolParameters `json:"forProvider"` +} + +// CAPoolStatus defines the observed state of CAPool. +type CAPoolStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider CAPoolObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// CAPool is the Schema for the CAPools 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,gcpjet} +type CAPool struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec CAPoolSpec `json:"spec"` + Status CAPoolStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// CAPoolList contains a list of CAPools +type CAPoolList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CAPool `json:"items"` +} + +// Repository type metadata. +var ( + CAPool_Kind = "CAPool" + CAPool_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: CAPool_Kind}.String() + CAPool_KindAPIVersion = CAPool_Kind + "." + CRDGroupVersion.String() + CAPool_GroupVersionKind = CRDGroupVersion.WithKind(CAPool_Kind) +) + +func init() { + SchemeBuilder.Register(&CAPool{}, &CAPoolList{}) +} diff --git a/apis/privateca/v1alpha1/zz_capooliambinding_terraformed.go b/apis/privateca/v1alpha1/zz_capooliambinding_terraformed.go new file mode 100755 index 00000000..eb2c9434 --- /dev/null +++ b/apis/privateca/v1alpha1/zz_capooliambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this CAPoolIAMBinding +func (mg *CAPoolIAMBinding) GetTerraformResourceType() string { + return "google_privateca_ca_pool_iam_binding" +} + +// GetConnectionDetailsMapping for this CAPoolIAMBinding +func (tr *CAPoolIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this CAPoolIAMBinding +func (tr *CAPoolIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this CAPoolIAMBinding +func (tr *CAPoolIAMBinding) SetObservation(obs map[string]interface{}) 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 CAPoolIAMBinding +func (tr *CAPoolIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this CAPoolIAMBinding +func (tr *CAPoolIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this CAPoolIAMBinding +func (tr *CAPoolIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this CAPoolIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *CAPoolIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &CAPoolIAMBindingParameters{} + 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 *CAPoolIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/privateca/v1alpha1/zz_capooliambinding_types.go b/apis/privateca/v1alpha1/zz_capooliambinding_types.go new file mode 100755 index 00000000..0ca9b62f --- /dev/null +++ b/apis/privateca/v1alpha1/zz_capooliambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CAPoolIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type CAPoolIAMBindingParameters struct { + + // +kubebuilder:validation:Required + CAPool *string `json:"caPool" tf:"ca_pool,omitempty"` + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +type ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +// CAPoolIAMBindingSpec defines the desired state of CAPoolIAMBinding +type CAPoolIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider CAPoolIAMBindingParameters `json:"forProvider"` +} + +// CAPoolIAMBindingStatus defines the observed state of CAPoolIAMBinding. +type CAPoolIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider CAPoolIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// CAPoolIAMBinding is the Schema for the CAPoolIAMBindings 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,gcpjet} +type CAPoolIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec CAPoolIAMBindingSpec `json:"spec"` + Status CAPoolIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// CAPoolIAMBindingList contains a list of CAPoolIAMBindings +type CAPoolIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CAPoolIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + CAPoolIAMBinding_Kind = "CAPoolIAMBinding" + CAPoolIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: CAPoolIAMBinding_Kind}.String() + CAPoolIAMBinding_KindAPIVersion = CAPoolIAMBinding_Kind + "." + CRDGroupVersion.String() + CAPoolIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(CAPoolIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&CAPoolIAMBinding{}, &CAPoolIAMBindingList{}) +} diff --git a/apis/privateca/v1alpha1/zz_capooliammember_terraformed.go b/apis/privateca/v1alpha1/zz_capooliammember_terraformed.go new file mode 100755 index 00000000..e4022b5e --- /dev/null +++ b/apis/privateca/v1alpha1/zz_capooliammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this CAPoolIAMMember +func (mg *CAPoolIAMMember) GetTerraformResourceType() string { + return "google_privateca_ca_pool_iam_member" +} + +// GetConnectionDetailsMapping for this CAPoolIAMMember +func (tr *CAPoolIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this CAPoolIAMMember +func (tr *CAPoolIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this CAPoolIAMMember +func (tr *CAPoolIAMMember) SetObservation(obs map[string]interface{}) 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 CAPoolIAMMember +func (tr *CAPoolIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this CAPoolIAMMember +func (tr *CAPoolIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this CAPoolIAMMember +func (tr *CAPoolIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this CAPoolIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *CAPoolIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &CAPoolIAMMemberParameters{} + 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 *CAPoolIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/privateca/v1alpha1/zz_capooliammember_types.go b/apis/privateca/v1alpha1/zz_capooliammember_types.go new file mode 100755 index 00000000..f165be60 --- /dev/null +++ b/apis/privateca/v1alpha1/zz_capooliammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CAPoolIAMMemberConditionObservation struct { +} + +type CAPoolIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type CAPoolIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type CAPoolIAMMemberParameters struct { + + // +kubebuilder:validation:Required + CAPool *string `json:"caPool" tf:"ca_pool,omitempty"` + + // +kubebuilder:validation:Optional + Condition []CAPoolIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// CAPoolIAMMemberSpec defines the desired state of CAPoolIAMMember +type CAPoolIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider CAPoolIAMMemberParameters `json:"forProvider"` +} + +// CAPoolIAMMemberStatus defines the observed state of CAPoolIAMMember. +type CAPoolIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider CAPoolIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// CAPoolIAMMember is the Schema for the CAPoolIAMMembers 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,gcpjet} +type CAPoolIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec CAPoolIAMMemberSpec `json:"spec"` + Status CAPoolIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// CAPoolIAMMemberList contains a list of CAPoolIAMMembers +type CAPoolIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CAPoolIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + CAPoolIAMMember_Kind = "CAPoolIAMMember" + CAPoolIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: CAPoolIAMMember_Kind}.String() + CAPoolIAMMember_KindAPIVersion = CAPoolIAMMember_Kind + "." + CRDGroupVersion.String() + CAPoolIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(CAPoolIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&CAPoolIAMMember{}, &CAPoolIAMMemberList{}) +} diff --git a/apis/privateca/v1alpha1/zz_capooliampolicy_terraformed.go b/apis/privateca/v1alpha1/zz_capooliampolicy_terraformed.go new file mode 100755 index 00000000..c7d4078f --- /dev/null +++ b/apis/privateca/v1alpha1/zz_capooliampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this CAPoolIAMPolicy +func (mg *CAPoolIAMPolicy) GetTerraformResourceType() string { + return "google_privateca_ca_pool_iam_policy" +} + +// GetConnectionDetailsMapping for this CAPoolIAMPolicy +func (tr *CAPoolIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this CAPoolIAMPolicy +func (tr *CAPoolIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this CAPoolIAMPolicy +func (tr *CAPoolIAMPolicy) SetObservation(obs map[string]interface{}) 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 CAPoolIAMPolicy +func (tr *CAPoolIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this CAPoolIAMPolicy +func (tr *CAPoolIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this CAPoolIAMPolicy +func (tr *CAPoolIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this CAPoolIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *CAPoolIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &CAPoolIAMPolicyParameters{} + 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 *CAPoolIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/privateca/v1alpha1/zz_capooliampolicy_types.go b/apis/privateca/v1alpha1/zz_capooliampolicy_types.go new file mode 100755 index 00000000..d6325d8f --- /dev/null +++ b/apis/privateca/v1alpha1/zz_capooliampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CAPoolIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type CAPoolIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + CAPool *string `json:"caPool" tf:"ca_pool,omitempty"` + + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// CAPoolIAMPolicySpec defines the desired state of CAPoolIAMPolicy +type CAPoolIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider CAPoolIAMPolicyParameters `json:"forProvider"` +} + +// CAPoolIAMPolicyStatus defines the observed state of CAPoolIAMPolicy. +type CAPoolIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider CAPoolIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// CAPoolIAMPolicy is the Schema for the CAPoolIAMPolicys 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,gcpjet} +type CAPoolIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec CAPoolIAMPolicySpec `json:"spec"` + Status CAPoolIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// CAPoolIAMPolicyList contains a list of CAPoolIAMPolicys +type CAPoolIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CAPoolIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + CAPoolIAMPolicy_Kind = "CAPoolIAMPolicy" + CAPoolIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: CAPoolIAMPolicy_Kind}.String() + CAPoolIAMPolicy_KindAPIVersion = CAPoolIAMPolicy_Kind + "." + CRDGroupVersion.String() + CAPoolIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(CAPoolIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&CAPoolIAMPolicy{}, &CAPoolIAMPolicyList{}) +} diff --git a/apis/privateca/v1alpha1/zz_certificate_terraformed.go b/apis/privateca/v1alpha1/zz_certificate_terraformed.go new file mode 100755 index 00000000..ba6675f0 --- /dev/null +++ b/apis/privateca/v1alpha1/zz_certificate_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Certificate +func (mg *Certificate) GetTerraformResourceType() string { + return "google_privateca_certificate" +} + +// GetConnectionDetailsMapping for this Certificate +func (tr *Certificate) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Certificate +func (tr *Certificate) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Certificate +func (tr *Certificate) SetObservation(obs map[string]interface{}) 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 Certificate +func (tr *Certificate) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Certificate +func (tr *Certificate) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Certificate +func (tr *Certificate) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Certificate using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Certificate) LateInitialize(attrs []byte) (bool, error) { + params := &CertificateParameters{} + 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 *Certificate) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/privateca/v1alpha1/zz_certificate_types.go b/apis/privateca/v1alpha1/zz_certificate_types.go new file mode 100755 index 00000000..f0f3c777 --- /dev/null +++ b/apis/privateca/v1alpha1/zz_certificate_types.go @@ -0,0 +1,639 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AdditionalExtensionsObjectIDObservation struct { +} + +type AdditionalExtensionsObjectIDParameters struct { + + // An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. + // +kubebuilder:validation:Required + ObjectIDPath []*int64 `json:"objectIdPath" tf:"object_id_path,omitempty"` +} + +type AuthorityKeyIDObservation struct { + KeyID *string `json:"keyId,omitempty" tf:"key_id,omitempty"` +} + +type AuthorityKeyIDParameters struct { +} + +type CertFingerprintObservation struct { + Sha256Hash *string `json:"sha256Hash,omitempty" tf:"sha256_hash,omitempty"` +} + +type CertFingerprintParameters struct { +} + +type CertificateDescriptionObservation struct { + AiaIssuingCertificateUrls []*string `json:"aiaIssuingCertificateUrls,omitempty" tf:"aia_issuing_certificate_urls,omitempty"` + + AuthorityKeyID []AuthorityKeyIDObservation `json:"authorityKeyId,omitempty" tf:"authority_key_id,omitempty"` + + CertFingerprint []CertFingerprintObservation `json:"certFingerprint,omitempty" tf:"cert_fingerprint,omitempty"` + + ConfigValues []ConfigValuesObservation `json:"configValues,omitempty" tf:"config_values,omitempty"` + + CrlDistributionPoints []*string `json:"crlDistributionPoints,omitempty" tf:"crl_distribution_points,omitempty"` + + PublicKey []PublicKeyObservation `json:"publicKey,omitempty" tf:"public_key,omitempty"` + + SubjectDescription []SubjectDescriptionObservation `json:"subjectDescription,omitempty" tf:"subject_description,omitempty"` + + SubjectKeyID []SubjectKeyIDObservation `json:"subjectKeyId,omitempty" tf:"subject_key_id,omitempty"` +} + +type CertificateDescriptionParameters struct { +} + +type CertificateObservation struct { + CertificateDescription []CertificateDescriptionObservation `json:"certificateDescription,omitempty" tf:"certificate_description,omitempty"` + + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + PemCertificate *string `json:"pemCertificate,omitempty" tf:"pem_certificate,omitempty"` + + PemCertificates []*string `json:"pemCertificates,omitempty" tf:"pem_certificates,omitempty"` + + RevocationDetails []RevocationDetailsObservation `json:"revocationDetails,omitempty" tf:"revocation_details,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type CertificateParameters struct { + + // Certificate Authority name. + // +kubebuilder:validation:Optional + CertificateAuthority *string `json:"certificateAuthority,omitempty" tf:"certificate_authority,omitempty"` + + // The resource name for a CertificateTemplate used to issue this certificate, + // in the format 'projects/*/locations/*/certificateTemplates/*'. If this is specified, + // the caller must have the necessary permission to use this template. If this is + // omitted, no template will be used. This template must be in the same location + // as the Certificate. + // +kubebuilder:validation:Optional + CertificateTemplate *string `json:"certificateTemplate,omitempty" tf:"certificate_template,omitempty"` + + // The config used to create a self-signed X.509 certificate or CSR. + // +kubebuilder:validation:Optional + Config []ConfigParameters `json:"config,omitempty" tf:"config,omitempty"` + + // Labels with user-defined metadata to apply to this resource. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The desired lifetime of the CA certificate. Used to create the "notBeforeTime" and + // "notAfterTime" fields inside an X.509 certificate. A duration in seconds with up to nine + // fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + Lifetime *string `json:"lifetime,omitempty" tf:"lifetime,omitempty"` + + // Location of the Certificate. A full list of valid locations can be found by + // running 'gcloud privateca locations list'. + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // The name for this Certificate. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Immutable. A pem-encoded X.509 certificate signing request (CSR). + // +kubebuilder:validation:Optional + PemCsr *string `json:"pemCsr,omitempty" tf:"pem_csr,omitempty"` + + // The name of the CaPool this Certificate belongs to. + // +kubebuilder:validation:Required + Pool *string `json:"pool" tf:"pool,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +type ConfigObservation struct { +} + +type ConfigParameters struct { + + // A PublicKey describes a public key. + // +kubebuilder:validation:Required + PublicKey []ConfigPublicKeyParameters `json:"publicKey" tf:"public_key,omitempty"` + + // Specifies some of the values in a certificate that are related to the subject. + // +kubebuilder:validation:Required + SubjectConfig []SubjectConfigParameters `json:"subjectConfig" tf:"subject_config,omitempty"` + + // Describes how some of the technical X.509 fields in a certificate should be populated. + // +kubebuilder:validation:Required + X509Config []X509ConfigParameters `json:"x509Config" tf:"x509_config,omitempty"` +} + +type ConfigPublicKeyObservation struct { +} + +type ConfigPublicKeyParameters struct { + + // The format of the public key. Currently, only PEM format is supported. Possible values: ["KEY_TYPE_UNSPECIFIED", "PEM"] + // +kubebuilder:validation:Required + Format *string `json:"format" tf:"format,omitempty"` + + // Required. A public key. When this is specified in a request, the padding and encoding can be any of the options described by the respective 'KeyType' value. When this is generated by the service, it will always be an RFC 5280 SubjectPublicKeyInfo structure containing an algorithm identifier and a key. A base64-encoded string. + // +kubebuilder:validation:Optional + Key *string `json:"key,omitempty" tf:"key,omitempty"` +} + +type ConfigValuesKeyUsageObservation struct { + BaseKeyUsage []KeyUsageBaseKeyUsageObservation `json:"baseKeyUsage,omitempty" tf:"base_key_usage,omitempty"` + + ExtendedKeyUsage []KeyUsageExtendedKeyUsageObservation `json:"extendedKeyUsage,omitempty" tf:"extended_key_usage,omitempty"` + + UnknownExtendedKeyUsages []KeyUsageUnknownExtendedKeyUsagesObservation `json:"unknownExtendedKeyUsages,omitempty" tf:"unknown_extended_key_usages,omitempty"` +} + +type ConfigValuesKeyUsageParameters struct { +} + +type ConfigValuesObservation struct { + KeyUsage []ConfigValuesKeyUsageObservation `json:"keyUsage,omitempty" tf:"key_usage,omitempty"` +} + +type ConfigValuesParameters struct { +} + +type CustomSansObectIDObservation struct { + ObjectIDPath []*int64 `json:"objectIdPath,omitempty" tf:"object_id_path,omitempty"` +} + +type CustomSansObectIDParameters struct { +} + +type CustomSansObservation struct { + Critical *bool `json:"critical,omitempty" tf:"critical,omitempty"` + + ObectID []CustomSansObectIDObservation `json:"obectId,omitempty" tf:"obect_id,omitempty"` + + Value *string `json:"value,omitempty" tf:"value,omitempty"` +} + +type CustomSansParameters struct { +} + +type KeyUsageBaseKeyUsageObservation struct { + KeyUsageOptions []KeyUsageOptionsObservation `json:"keyUsageOptions,omitempty" tf:"key_usage_options,omitempty"` +} + +type KeyUsageBaseKeyUsageParameters struct { +} + +type KeyUsageExtendedKeyUsageObservation struct { + ClientAuth *bool `json:"clientAuth,omitempty" tf:"client_auth,omitempty"` + + CodeSigning *bool `json:"codeSigning,omitempty" tf:"code_signing,omitempty"` + + EmailProtection *bool `json:"emailProtection,omitempty" tf:"email_protection,omitempty"` + + OcspSigning *bool `json:"ocspSigning,omitempty" tf:"ocsp_signing,omitempty"` + + ServerAuth *bool `json:"serverAuth,omitempty" tf:"server_auth,omitempty"` + + TimeStamping *bool `json:"timeStamping,omitempty" tf:"time_stamping,omitempty"` +} + +type KeyUsageExtendedKeyUsageParameters struct { +} + +type KeyUsageOptionsObservation struct { + CertSign *bool `json:"certSign,omitempty" tf:"cert_sign,omitempty"` + + ContentCommitment *bool `json:"contentCommitment,omitempty" tf:"content_commitment,omitempty"` + + CrlSign *bool `json:"crlSign,omitempty" tf:"crl_sign,omitempty"` + + DataEncipherment *bool `json:"dataEncipherment,omitempty" tf:"data_encipherment,omitempty"` + + DecipherOnly *bool `json:"decipherOnly,omitempty" tf:"decipher_only,omitempty"` + + DigitalSignature *bool `json:"digitalSignature,omitempty" tf:"digital_signature,omitempty"` + + EncipherOnly *bool `json:"encipherOnly,omitempty" tf:"encipher_only,omitempty"` + + KeyAgreement *bool `json:"keyAgreement,omitempty" tf:"key_agreement,omitempty"` + + KeyEncipherment *bool `json:"keyEncipherment,omitempty" tf:"key_encipherment,omitempty"` +} + +type KeyUsageOptionsParameters struct { +} + +type KeyUsageUnknownExtendedKeyUsagesObservation struct { + ObectID []ObectIDObservation `json:"obectId,omitempty" tf:"obect_id,omitempty"` +} + +type KeyUsageUnknownExtendedKeyUsagesParameters struct { +} + +type ObectIDObservation struct { + ObjectIDPath []*int64 `json:"objectIdPath,omitempty" tf:"object_id_path,omitempty"` +} + +type ObectIDParameters struct { +} + +type PublicKeyObservation struct { + Format *string `json:"format,omitempty" tf:"format,omitempty"` + + Key *string `json:"key,omitempty" tf:"key,omitempty"` +} + +type PublicKeyParameters struct { +} + +type RevocationDetailsObservation struct { + RevocationState *string `json:"revocationState,omitempty" tf:"revocation_state,omitempty"` + + RevocationTime *string `json:"revocationTime,omitempty" tf:"revocation_time,omitempty"` +} + +type RevocationDetailsParameters struct { +} + +type SubjectAltNameObservation struct { + CustomSans []CustomSansObservation `json:"customSans,omitempty" tf:"custom_sans,omitempty"` + + DNSNames []*string `json:"dnsNames,omitempty" tf:"dns_names,omitempty"` + + EmailAddresses []*string `json:"emailAddresses,omitempty" tf:"email_addresses,omitempty"` + + IPAddresses []*string `json:"ipAddresses,omitempty" tf:"ip_addresses,omitempty"` + + Uris []*string `json:"uris,omitempty" tf:"uris,omitempty"` +} + +type SubjectAltNameParameters struct { +} + +type SubjectConfigObservation struct { +} + +type SubjectConfigParameters struct { + + // Contains distinguished name fields such as the location and organization. + // +kubebuilder:validation:Required + Subject []SubjectConfigSubjectParameters `json:"subject" tf:"subject,omitempty"` + + // The subject alternative name fields. + // +kubebuilder:validation:Optional + SubjectAltName []SubjectConfigSubjectAltNameParameters `json:"subjectAltName,omitempty" tf:"subject_alt_name,omitempty"` +} + +type SubjectConfigSubjectAltNameObservation struct { +} + +type SubjectConfigSubjectAltNameParameters struct { + + // Contains only valid, fully-qualified host names. + // +kubebuilder:validation:Optional + DNSNames []*string `json:"dnsNames,omitempty" tf:"dns_names,omitempty"` + + // Contains only valid RFC 2822 E-mail addresses. + // +kubebuilder:validation:Optional + EmailAddresses []*string `json:"emailAddresses,omitempty" tf:"email_addresses,omitempty"` + + // Contains only valid 32-bit IPv4 addresses or RFC 4291 IPv6 addresses. + // +kubebuilder:validation:Optional + IPAddresses []*string `json:"ipAddresses,omitempty" tf:"ip_addresses,omitempty"` + + // Contains only valid RFC 3986 URIs. + // +kubebuilder:validation:Optional + Uris []*string `json:"uris,omitempty" tf:"uris,omitempty"` +} + +type SubjectConfigSubjectObservation struct { +} + +type SubjectConfigSubjectParameters struct { + + // The common name of the distinguished name. + // +kubebuilder:validation:Required + CommonName *string `json:"commonName" tf:"common_name,omitempty"` + + // The country code of the subject. + // +kubebuilder:validation:Optional + CountryCode *string `json:"countryCode,omitempty" tf:"country_code,omitempty"` + + // The locality or city of the subject. + // +kubebuilder:validation:Optional + Locality *string `json:"locality,omitempty" tf:"locality,omitempty"` + + // The organization of the subject. + // +kubebuilder:validation:Required + Organization *string `json:"organization" tf:"organization,omitempty"` + + // The organizational unit of the subject. + // +kubebuilder:validation:Optional + OrganizationalUnit *string `json:"organizationalUnit,omitempty" tf:"organizational_unit,omitempty"` + + // The postal code of the subject. + // +kubebuilder:validation:Optional + PostalCode *string `json:"postalCode,omitempty" tf:"postal_code,omitempty"` + + // The province, territory, or regional state of the subject. + // +kubebuilder:validation:Optional + Province *string `json:"province,omitempty" tf:"province,omitempty"` + + // The street address of the subject. + // +kubebuilder:validation:Optional + StreetAddress *string `json:"streetAddress,omitempty" tf:"street_address,omitempty"` +} + +type SubjectDescriptionObservation struct { + HexSerialNumber *string `json:"hexSerialNumber,omitempty" tf:"hex_serial_number,omitempty"` + + Lifetime *string `json:"lifetime,omitempty" tf:"lifetime,omitempty"` + + NotAfterTime *string `json:"notAfterTime,omitempty" tf:"not_after_time,omitempty"` + + NotBeforeTime *string `json:"notBeforeTime,omitempty" tf:"not_before_time,omitempty"` + + Subject []SubjectObservation `json:"subject,omitempty" tf:"subject,omitempty"` + + SubjectAltName []SubjectAltNameObservation `json:"subjectAltName,omitempty" tf:"subject_alt_name,omitempty"` +} + +type SubjectDescriptionParameters struct { +} + +type SubjectKeyIDObservation struct { + KeyID *string `json:"keyId,omitempty" tf:"key_id,omitempty"` +} + +type SubjectKeyIDParameters struct { +} + +type SubjectObservation struct { + CommonName *string `json:"commonName,omitempty" tf:"common_name,omitempty"` + + CountryCode *string `json:"countryCode,omitempty" tf:"country_code,omitempty"` + + Locality *string `json:"locality,omitempty" tf:"locality,omitempty"` + + Organization *string `json:"organization,omitempty" tf:"organization,omitempty"` + + OrganizationalUnit *string `json:"organizationalUnit,omitempty" tf:"organizational_unit,omitempty"` + + PostalCode *string `json:"postalCode,omitempty" tf:"postal_code,omitempty"` + + Province *string `json:"province,omitempty" tf:"province,omitempty"` + + StreetAddress *string `json:"streetAddress,omitempty" tf:"street_address,omitempty"` +} + +type SubjectParameters struct { +} + +type X509ConfigAdditionalExtensionsObservation struct { +} + +type X509ConfigAdditionalExtensionsParameters struct { + + // Indicates whether or not this extension is critical (i.e., if the client does not know how to + // handle this extension, the client should consider this to be an error). + // +kubebuilder:validation:Required + Critical *bool `json:"critical" tf:"critical,omitempty"` + + // Describes values that are relevant in a CA certificate. + // +kubebuilder:validation:Required + ObjectID []AdditionalExtensionsObjectIDParameters `json:"objectId" tf:"object_id,omitempty"` + + // The value of this X.509 extension. A base64-encoded string. + // +kubebuilder:validation:Required + Value *string `json:"value" tf:"value,omitempty"` +} + +type X509ConfigCAOptionsObservation struct { +} + +type X509ConfigCAOptionsParameters struct { + + // Refers to the "CA" X.509 extension, which is a boolean value. When this value is missing, + // the extension will be omitted from the CA certificate. + // +kubebuilder:validation:Optional + IsCA *bool `json:"isCa,omitempty" tf:"is_ca,omitempty"` + + // Refers to the path length restriction X.509 extension. For a CA certificate, this value describes the depth of + // subordinate CA certificates that are allowed. If this value is less than 0, the request will fail. If this + // value is missing, the max path length will be omitted from the CA certificate. + // +kubebuilder:validation:Optional + MaxIssuerPathLength *int64 `json:"maxIssuerPathLength,omitempty" tf:"max_issuer_path_length,omitempty"` +} + +type X509ConfigKeyUsageBaseKeyUsageObservation struct { +} + +type X509ConfigKeyUsageBaseKeyUsageParameters struct { + + // The key may be used to sign certificates. + // +kubebuilder:validation:Optional + CertSign *bool `json:"certSign,omitempty" tf:"cert_sign,omitempty"` + + // The key may be used for cryptographic commitments. Note that this may also be referred to as "non-repudiation". + // +kubebuilder:validation:Optional + ContentCommitment *bool `json:"contentCommitment,omitempty" tf:"content_commitment,omitempty"` + + // The key may be used sign certificate revocation lists. + // +kubebuilder:validation:Optional + CrlSign *bool `json:"crlSign,omitempty" tf:"crl_sign,omitempty"` + + // The key may be used to encipher data. + // +kubebuilder:validation:Optional + DataEncipherment *bool `json:"dataEncipherment,omitempty" tf:"data_encipherment,omitempty"` + + // The key may be used to decipher only. + // +kubebuilder:validation:Optional + DecipherOnly *bool `json:"decipherOnly,omitempty" tf:"decipher_only,omitempty"` + + // The key may be used for digital signatures. + // +kubebuilder:validation:Optional + DigitalSignature *bool `json:"digitalSignature,omitempty" tf:"digital_signature,omitempty"` + + // The key may be used to encipher only. + // +kubebuilder:validation:Optional + EncipherOnly *bool `json:"encipherOnly,omitempty" tf:"encipher_only,omitempty"` + + // The key may be used in a key agreement protocol. + // +kubebuilder:validation:Optional + KeyAgreement *bool `json:"keyAgreement,omitempty" tf:"key_agreement,omitempty"` + + // The key may be used to encipher other keys. + // +kubebuilder:validation:Optional + KeyEncipherment *bool `json:"keyEncipherment,omitempty" tf:"key_encipherment,omitempty"` +} + +type X509ConfigKeyUsageExtendedKeyUsageObservation struct { +} + +type X509ConfigKeyUsageExtendedKeyUsageParameters struct { + + // Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client authentication", though regularly used for non-WWW TLS. + // +kubebuilder:validation:Optional + ClientAuth *bool `json:"clientAuth,omitempty" tf:"client_auth,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of downloadable executable code client authentication". + // +kubebuilder:validation:Optional + CodeSigning *bool `json:"codeSigning,omitempty" tf:"code_signing,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email protection". + // +kubebuilder:validation:Optional + EmailProtection *bool `json:"emailProtection,omitempty" tf:"email_protection,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP responses". + // +kubebuilder:validation:Optional + OcspSigning *bool `json:"ocspSigning,omitempty" tf:"ocsp_signing,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server authentication", though regularly used for non-WWW TLS. + // +kubebuilder:validation:Optional + ServerAuth *bool `json:"serverAuth,omitempty" tf:"server_auth,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the hash of an object to a time". + // +kubebuilder:validation:Optional + TimeStamping *bool `json:"timeStamping,omitempty" tf:"time_stamping,omitempty"` +} + +type X509ConfigKeyUsageObservation struct { +} + +type X509ConfigKeyUsageParameters struct { + + // Describes high-level ways in which a key may be used. + // +kubebuilder:validation:Required + BaseKeyUsage []X509ConfigKeyUsageBaseKeyUsageParameters `json:"baseKeyUsage" tf:"base_key_usage,omitempty"` + + // Describes high-level ways in which a key may be used. + // +kubebuilder:validation:Required + ExtendedKeyUsage []X509ConfigKeyUsageExtendedKeyUsageParameters `json:"extendedKeyUsage" tf:"extended_key_usage,omitempty"` + + // An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. + // +kubebuilder:validation:Optional + UnknownExtendedKeyUsages []X509ConfigKeyUsageUnknownExtendedKeyUsagesParameters `json:"unknownExtendedKeyUsages,omitempty" tf:"unknown_extended_key_usages,omitempty"` +} + +type X509ConfigKeyUsageUnknownExtendedKeyUsagesObservation struct { +} + +type X509ConfigKeyUsageUnknownExtendedKeyUsagesParameters struct { + + // An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. + // +kubebuilder:validation:Required + ObjectIDPath []*int64 `json:"objectIdPath" tf:"object_id_path,omitempty"` +} + +type X509ConfigObservation struct { +} + +type X509ConfigParameters struct { + + // Specifies an X.509 extension, which may be used in different parts of X.509 objects like certificates, CSRs, and CRLs. + // +kubebuilder:validation:Optional + AdditionalExtensions []X509ConfigAdditionalExtensionsParameters `json:"additionalExtensions,omitempty" tf:"additional_extensions,omitempty"` + + // Describes Online Certificate Status Protocol (OCSP) endpoint addresses that appear in the + // "Authority Information Access" extension in the certificate. + // +kubebuilder:validation:Optional + AiaOcspServers []*string `json:"aiaOcspServers,omitempty" tf:"aia_ocsp_servers,omitempty"` + + // Describes values that are relevant in a CA certificate. + // +kubebuilder:validation:Optional + CAOptions []X509ConfigCAOptionsParameters `json:"caOptions,omitempty" tf:"ca_options,omitempty"` + + // Indicates the intended use for keys that correspond to a certificate. + // +kubebuilder:validation:Required + KeyUsage []X509ConfigKeyUsageParameters `json:"keyUsage" tf:"key_usage,omitempty"` + + // Describes the X.509 certificate policy object identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4. + // +kubebuilder:validation:Optional + PolicyIds []X509ConfigPolicyIdsParameters `json:"policyIds,omitempty" tf:"policy_ids,omitempty"` +} + +type X509ConfigPolicyIdsObservation struct { +} + +type X509ConfigPolicyIdsParameters struct { + + // An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. + // +kubebuilder:validation:Required + ObjectIDPath []*int64 `json:"objectIdPath" tf:"object_id_path,omitempty"` +} + +// CertificateSpec defines the desired state of Certificate +type CertificateSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider CertificateParameters `json:"forProvider"` +} + +// CertificateStatus defines the observed state of Certificate. +type CertificateStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider CertificateObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Certificate is the Schema for the Certificates 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,gcpjet} +type Certificate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec CertificateSpec `json:"spec"` + Status CertificateStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// CertificateList contains a list of Certificates +type CertificateList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Certificate `json:"items"` +} + +// Repository type metadata. +var ( + Certificate_Kind = "Certificate" + Certificate_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Certificate_Kind}.String() + Certificate_KindAPIVersion = Certificate_Kind + "." + CRDGroupVersion.String() + Certificate_GroupVersionKind = CRDGroupVersion.WithKind(Certificate_Kind) +) + +func init() { + SchemeBuilder.Register(&Certificate{}, &CertificateList{}) +} diff --git a/apis/privateca/v1alpha1/zz_certificateauthority_terraformed.go b/apis/privateca/v1alpha1/zz_certificateauthority_terraformed.go new file mode 100755 index 00000000..b04beea3 --- /dev/null +++ b/apis/privateca/v1alpha1/zz_certificateauthority_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this CertificateAuthority +func (mg *CertificateAuthority) GetTerraformResourceType() string { + return "google_privateca_certificate_authority" +} + +// GetConnectionDetailsMapping for this CertificateAuthority +func (tr *CertificateAuthority) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this CertificateAuthority +func (tr *CertificateAuthority) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this CertificateAuthority +func (tr *CertificateAuthority) SetObservation(obs map[string]interface{}) 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 CertificateAuthority +func (tr *CertificateAuthority) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this CertificateAuthority +func (tr *CertificateAuthority) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this CertificateAuthority +func (tr *CertificateAuthority) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this CertificateAuthority using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *CertificateAuthority) LateInitialize(attrs []byte) (bool, error) { + params := &CertificateAuthorityParameters{} + 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 *CertificateAuthority) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/privateca/v1alpha1/zz_certificateauthority_types.go b/apis/privateca/v1alpha1/zz_certificateauthority_types.go new file mode 100755 index 00000000..c8cc1cc9 --- /dev/null +++ b/apis/privateca/v1alpha1/zz_certificateauthority_types.go @@ -0,0 +1,450 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AccessUrlsObservation struct { + CACertificateAccessURL *string `json:"caCertificateAccessUrl,omitempty" tf:"ca_certificate_access_url,omitempty"` + + CrlAccessURL *string `json:"crlAccessUrl,omitempty" tf:"crl_access_url,omitempty"` +} + +type AccessUrlsParameters struct { +} + +type CertificateAuthorityConfigObservation struct { +} + +type CertificateAuthorityConfigParameters struct { + + // Specifies some of the values in a certificate that are related to the subject. + // +kubebuilder:validation:Required + SubjectConfig []ConfigSubjectConfigParameters `json:"subjectConfig" tf:"subject_config,omitempty"` + + // Describes how some of the technical X.509 fields in a certificate should be populated. + // +kubebuilder:validation:Required + X509Config []ConfigX509ConfigParameters `json:"x509Config" tf:"x509_config,omitempty"` +} + +type CertificateAuthorityObservation struct { + AccessUrls []AccessUrlsObservation `json:"accessUrls,omitempty" tf:"access_urls,omitempty"` + + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + PemCACertificates []*string `json:"pemCaCertificates,omitempty" tf:"pem_ca_certificates,omitempty"` + + State *string `json:"state,omitempty" tf:"state,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type CertificateAuthorityParameters struct { + + // The user provided Resource ID for this Certificate Authority. + // +kubebuilder:validation:Required + CertificateAuthorityID *string `json:"certificateAuthorityId" tf:"certificate_authority_id,omitempty"` + + // The config used to create a self-signed X.509 certificate or CSR. + // +kubebuilder:validation:Required + Config []CertificateAuthorityConfigParameters `json:"config" tf:"config,omitempty"` + + // The name of a Cloud Storage bucket where this CertificateAuthority will publish content, + // such as the CA certificate and CRLs. This must be a bucket name, without any prefixes + // (such as 'gs://') or suffixes (such as '.googleapis.com'). For example, to use a bucket named + // my-bucket, you would simply specify 'my-bucket'. If not specified, a managed bucket will be + // created. + // +kubebuilder:validation:Optional + GcsBucket *string `json:"gcsBucket,omitempty" tf:"gcs_bucket,omitempty"` + + // This field allows the CA to be deleted even if the CA has active certs. Active certs include both unrevoked and unexpired certs. + // Use with care. Defaults to 'false'. + // +kubebuilder:validation:Optional + IgnoreActiveCertificatesOnDeletion *bool `json:"ignoreActiveCertificatesOnDeletion,omitempty" tf:"ignore_active_certificates_on_deletion,omitempty"` + + // Used when issuing certificates for this CertificateAuthority. If this CertificateAuthority + // is a self-signed CertificateAuthority, this key is also used to sign the self-signed CA + // certificate. Otherwise, it is used to sign a CSR. + // +kubebuilder:validation:Required + KeySpec []KeySpecParameters `json:"keySpec" tf:"key_spec,omitempty"` + + // Labels with user-defined metadata. + // + // An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": + // "1.3kg", "count": "3" }. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The desired lifetime of the CA certificate. Used to create the "notBeforeTime" and + // "notAfterTime" fields inside an X.509 certificate. A duration in seconds with up to nine + // fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + Lifetime *string `json:"lifetime,omitempty" tf:"lifetime,omitempty"` + + // Location of the CertificateAuthority. A full list of valid locations can be found by + // running 'gcloud privateca locations list'. + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // The name of the CaPool this Certificate Authority belongs to. + // +kubebuilder:validation:Required + Pool *string `json:"pool" tf:"pool,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The Type of this CertificateAuthority. + // + // ~> **Note:** For 'SUBORDINATE' Certificate Authorities, they need to + // be manually activated (via Cloud Console of 'gcloud') before they can + // issue certificates. Default value: "SELF_SIGNED" Possible values: ["SELF_SIGNED", "SUBORDINATE"] + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type ConfigSubjectConfigObservation struct { +} + +type ConfigSubjectConfigParameters struct { + + // Contains distinguished name fields such as the location and organization. + // +kubebuilder:validation:Required + Subject []ConfigSubjectConfigSubjectParameters `json:"subject" tf:"subject,omitempty"` + + // The subject alternative name fields. + // +kubebuilder:validation:Optional + SubjectAltName []ConfigSubjectConfigSubjectAltNameParameters `json:"subjectAltName,omitempty" tf:"subject_alt_name,omitempty"` +} + +type ConfigSubjectConfigSubjectAltNameObservation struct { +} + +type ConfigSubjectConfigSubjectAltNameParameters struct { + + // Contains only valid, fully-qualified host names. + // +kubebuilder:validation:Optional + DNSNames []*string `json:"dnsNames,omitempty" tf:"dns_names,omitempty"` + + // Contains only valid RFC 2822 E-mail addresses. + // +kubebuilder:validation:Optional + EmailAddresses []*string `json:"emailAddresses,omitempty" tf:"email_addresses,omitempty"` + + // Contains only valid 32-bit IPv4 addresses or RFC 4291 IPv6 addresses. + // +kubebuilder:validation:Optional + IPAddresses []*string `json:"ipAddresses,omitempty" tf:"ip_addresses,omitempty"` + + // Contains only valid RFC 3986 URIs. + // +kubebuilder:validation:Optional + Uris []*string `json:"uris,omitempty" tf:"uris,omitempty"` +} + +type ConfigSubjectConfigSubjectObservation struct { +} + +type ConfigSubjectConfigSubjectParameters struct { + + // The common name of the distinguished name. + // +kubebuilder:validation:Required + CommonName *string `json:"commonName" tf:"common_name,omitempty"` + + // The country code of the subject. + // +kubebuilder:validation:Optional + CountryCode *string `json:"countryCode,omitempty" tf:"country_code,omitempty"` + + // The locality or city of the subject. + // +kubebuilder:validation:Optional + Locality *string `json:"locality,omitempty" tf:"locality,omitempty"` + + // The organization of the subject. + // +kubebuilder:validation:Required + Organization *string `json:"organization" tf:"organization,omitempty"` + + // The organizational unit of the subject. + // +kubebuilder:validation:Optional + OrganizationalUnit *string `json:"organizationalUnit,omitempty" tf:"organizational_unit,omitempty"` + + // The postal code of the subject. + // +kubebuilder:validation:Optional + PostalCode *string `json:"postalCode,omitempty" tf:"postal_code,omitempty"` + + // The province, territory, or regional state of the subject. + // +kubebuilder:validation:Optional + Province *string `json:"province,omitempty" tf:"province,omitempty"` + + // The street address of the subject. + // +kubebuilder:validation:Optional + StreetAddress *string `json:"streetAddress,omitempty" tf:"street_address,omitempty"` +} + +type ConfigX509ConfigAdditionalExtensionsObservation struct { +} + +type ConfigX509ConfigAdditionalExtensionsParameters struct { + + // Indicates whether or not this extension is critical (i.e., if the client does not know how to + // handle this extension, the client should consider this to be an error). + // +kubebuilder:validation:Required + Critical *bool `json:"critical" tf:"critical,omitempty"` + + // Describes values that are relevant in a CA certificate. + // +kubebuilder:validation:Required + ObjectID []X509ConfigAdditionalExtensionsObjectIDParameters `json:"objectId" tf:"object_id,omitempty"` + + // The value of this X.509 extension. A base64-encoded string. + // +kubebuilder:validation:Required + Value *string `json:"value" tf:"value,omitempty"` +} + +type ConfigX509ConfigCAOptionsObservation struct { +} + +type ConfigX509ConfigCAOptionsParameters struct { + + // Refers to the "CA" X.509 extension, which is a boolean value. When this value is missing, + // the extension will be omitted from the CA certificate. + // +kubebuilder:validation:Required + IsCA *bool `json:"isCa" tf:"is_ca,omitempty"` + + // Refers to the path length restriction X.509 extension. For a CA certificate, this value describes the depth of + // subordinate CA certificates that are allowed. If this value is less than 0, the request will fail. If this + // value is missing, the max path length will be omitted from the CA certificate. + // +kubebuilder:validation:Optional + MaxIssuerPathLength *int64 `json:"maxIssuerPathLength,omitempty" tf:"max_issuer_path_length,omitempty"` +} + +type ConfigX509ConfigKeyUsageBaseKeyUsageObservation struct { +} + +type ConfigX509ConfigKeyUsageBaseKeyUsageParameters struct { + + // The key may be used to sign certificates. + // +kubebuilder:validation:Optional + CertSign *bool `json:"certSign,omitempty" tf:"cert_sign,omitempty"` + + // The key may be used for cryptographic commitments. Note that this may also be referred to as "non-repudiation". + // +kubebuilder:validation:Optional + ContentCommitment *bool `json:"contentCommitment,omitempty" tf:"content_commitment,omitempty"` + + // The key may be used sign certificate revocation lists. + // +kubebuilder:validation:Optional + CrlSign *bool `json:"crlSign,omitempty" tf:"crl_sign,omitempty"` + + // The key may be used to encipher data. + // +kubebuilder:validation:Optional + DataEncipherment *bool `json:"dataEncipherment,omitempty" tf:"data_encipherment,omitempty"` + + // The key may be used to decipher only. + // +kubebuilder:validation:Optional + DecipherOnly *bool `json:"decipherOnly,omitempty" tf:"decipher_only,omitempty"` + + // The key may be used for digital signatures. + // +kubebuilder:validation:Optional + DigitalSignature *bool `json:"digitalSignature,omitempty" tf:"digital_signature,omitempty"` + + // The key may be used to encipher only. + // +kubebuilder:validation:Optional + EncipherOnly *bool `json:"encipherOnly,omitempty" tf:"encipher_only,omitempty"` + + // The key may be used in a key agreement protocol. + // +kubebuilder:validation:Optional + KeyAgreement *bool `json:"keyAgreement,omitempty" tf:"key_agreement,omitempty"` + + // The key may be used to encipher other keys. + // +kubebuilder:validation:Optional + KeyEncipherment *bool `json:"keyEncipherment,omitempty" tf:"key_encipherment,omitempty"` +} + +type ConfigX509ConfigKeyUsageExtendedKeyUsageObservation struct { +} + +type ConfigX509ConfigKeyUsageExtendedKeyUsageParameters struct { + + // Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client authentication", though regularly used for non-WWW TLS. + // +kubebuilder:validation:Optional + ClientAuth *bool `json:"clientAuth,omitempty" tf:"client_auth,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of downloadable executable code client authentication". + // +kubebuilder:validation:Optional + CodeSigning *bool `json:"codeSigning,omitempty" tf:"code_signing,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email protection". + // +kubebuilder:validation:Optional + EmailProtection *bool `json:"emailProtection,omitempty" tf:"email_protection,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP responses". + // +kubebuilder:validation:Optional + OcspSigning *bool `json:"ocspSigning,omitempty" tf:"ocsp_signing,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server authentication", though regularly used for non-WWW TLS. + // +kubebuilder:validation:Optional + ServerAuth *bool `json:"serverAuth,omitempty" tf:"server_auth,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the hash of an object to a time". + // +kubebuilder:validation:Optional + TimeStamping *bool `json:"timeStamping,omitempty" tf:"time_stamping,omitempty"` +} + +type ConfigX509ConfigKeyUsageObservation struct { +} + +type ConfigX509ConfigKeyUsageParameters struct { + + // Describes high-level ways in which a key may be used. + // +kubebuilder:validation:Required + BaseKeyUsage []ConfigX509ConfigKeyUsageBaseKeyUsageParameters `json:"baseKeyUsage" tf:"base_key_usage,omitempty"` + + // Describes high-level ways in which a key may be used. + // +kubebuilder:validation:Required + ExtendedKeyUsage []ConfigX509ConfigKeyUsageExtendedKeyUsageParameters `json:"extendedKeyUsage" tf:"extended_key_usage,omitempty"` + + // An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. + // +kubebuilder:validation:Optional + UnknownExtendedKeyUsages []ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesParameters `json:"unknownExtendedKeyUsages,omitempty" tf:"unknown_extended_key_usages,omitempty"` +} + +type ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesObservation struct { +} + +type ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesParameters struct { + + // An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. + // +kubebuilder:validation:Required + ObjectIDPath []*int64 `json:"objectIdPath" tf:"object_id_path,omitempty"` +} + +type ConfigX509ConfigObservation struct { +} + +type ConfigX509ConfigParameters struct { + + // Specifies an X.509 extension, which may be used in different parts of X.509 objects like certificates, CSRs, and CRLs. + // +kubebuilder:validation:Optional + AdditionalExtensions []ConfigX509ConfigAdditionalExtensionsParameters `json:"additionalExtensions,omitempty" tf:"additional_extensions,omitempty"` + + // Describes Online Certificate Status Protocol (OCSP) endpoint addresses that appear in the + // "Authority Information Access" extension in the certificate. + // +kubebuilder:validation:Optional + AiaOcspServers []*string `json:"aiaOcspServers,omitempty" tf:"aia_ocsp_servers,omitempty"` + + // Describes values that are relevant in a CA certificate. + // +kubebuilder:validation:Required + CAOptions []ConfigX509ConfigCAOptionsParameters `json:"caOptions" tf:"ca_options,omitempty"` + + // Indicates the intended use for keys that correspond to a certificate. + // +kubebuilder:validation:Required + KeyUsage []ConfigX509ConfigKeyUsageParameters `json:"keyUsage" tf:"key_usage,omitempty"` + + // Describes the X.509 certificate policy object identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4. + // +kubebuilder:validation:Optional + PolicyIds []ConfigX509ConfigPolicyIdsParameters `json:"policyIds,omitempty" tf:"policy_ids,omitempty"` +} + +type ConfigX509ConfigPolicyIdsObservation struct { +} + +type ConfigX509ConfigPolicyIdsParameters struct { + + // An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. + // +kubebuilder:validation:Required + ObjectIDPath []*int64 `json:"objectIdPath" tf:"object_id_path,omitempty"` +} + +type KeySpecObservation struct { +} + +type KeySpecParameters struct { + + // The algorithm to use for creating a managed Cloud KMS key for a for a simplified + // experience. All managed keys will be have their ProtectionLevel as HSM. Possible values: ["SIGN_HASH_ALGORITHM_UNSPECIFIED", "RSA_PSS_2048_SHA256", "RSA_PSS_3072_SHA256", "RSA_PSS_4096_SHA256", "RSA_PKCS1_2048_SHA256", "RSA_PKCS1_3072_SHA256", "RSA_PKCS1_4096_SHA256", "EC_P256_SHA256", "EC_P384_SHA384"] + // +kubebuilder:validation:Optional + Algorithm *string `json:"algorithm,omitempty" tf:"algorithm,omitempty"` + + // The resource name for an existing Cloud KMS CryptoKeyVersion in the format + // 'projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*'. + // +kubebuilder:validation:Optional + CloudKMSKeyVersion *string `json:"cloudKmsKeyVersion,omitempty" tf:"cloud_kms_key_version,omitempty"` +} + +type X509ConfigAdditionalExtensionsObjectIDObservation struct { +} + +type X509ConfigAdditionalExtensionsObjectIDParameters struct { + + // An ObjectId specifies an object identifier (OID). These provide context and describe types in ASN.1 messages. + // +kubebuilder:validation:Required + ObjectIDPath []*int64 `json:"objectIdPath" tf:"object_id_path,omitempty"` +} + +// CertificateAuthoritySpec defines the desired state of CertificateAuthority +type CertificateAuthoritySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider CertificateAuthorityParameters `json:"forProvider"` +} + +// CertificateAuthorityStatus defines the observed state of CertificateAuthority. +type CertificateAuthorityStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider CertificateAuthorityObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// CertificateAuthority is the Schema for the CertificateAuthoritys 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,gcpjet} +type CertificateAuthority struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec CertificateAuthoritySpec `json:"spec"` + Status CertificateAuthorityStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// CertificateAuthorityList contains a list of CertificateAuthoritys +type CertificateAuthorityList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CertificateAuthority `json:"items"` +} + +// Repository type metadata. +var ( + CertificateAuthority_Kind = "CertificateAuthority" + CertificateAuthority_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: CertificateAuthority_Kind}.String() + CertificateAuthority_KindAPIVersion = CertificateAuthority_Kind + "." + CRDGroupVersion.String() + CertificateAuthority_GroupVersionKind = CRDGroupVersion.WithKind(CertificateAuthority_Kind) +) + +func init() { + SchemeBuilder.Register(&CertificateAuthority{}, &CertificateAuthorityList{}) +} diff --git a/apis/privateca/v1alpha1/zz_certificatetemplate_terraformed.go b/apis/privateca/v1alpha1/zz_certificatetemplate_terraformed.go new file mode 100755 index 00000000..3ab7dcd3 --- /dev/null +++ b/apis/privateca/v1alpha1/zz_certificatetemplate_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this CertificateTemplate +func (mg *CertificateTemplate) GetTerraformResourceType() string { + return "google_privateca_certificate_template" +} + +// GetConnectionDetailsMapping for this CertificateTemplate +func (tr *CertificateTemplate) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this CertificateTemplate +func (tr *CertificateTemplate) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this CertificateTemplate +func (tr *CertificateTemplate) SetObservation(obs map[string]interface{}) 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 CertificateTemplate +func (tr *CertificateTemplate) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this CertificateTemplate +func (tr *CertificateTemplate) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this CertificateTemplate +func (tr *CertificateTemplate) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this CertificateTemplate using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *CertificateTemplate) LateInitialize(attrs []byte) (bool, error) { + params := &CertificateTemplateParameters{} + 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 *CertificateTemplate) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/privateca/v1alpha1/zz_certificatetemplate_types.go b/apis/privateca/v1alpha1/zz_certificatetemplate_types.go new file mode 100755 index 00000000..005dfabe --- /dev/null +++ b/apis/privateca/v1alpha1/zz_certificatetemplate_types.go @@ -0,0 +1,360 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CertificateTemplateIdentityConstraintsObservation struct { +} + +type CertificateTemplateIdentityConstraintsParameters struct { + + // Required. If this is true, the SubjectAltNames extension may be copied from a certificate request into the signed certificate. Otherwise, the requested SubjectAltNames will be discarded. + // +kubebuilder:validation:Required + AllowSubjectAltNamesPassthrough *bool `json:"allowSubjectAltNamesPassthrough" tf:"allow_subject_alt_names_passthrough,omitempty"` + + // Required. If this is true, the Subject field may be copied from a certificate request into the signed certificate. Otherwise, the requested Subject will be discarded. + // +kubebuilder:validation:Required + AllowSubjectPassthrough *bool `json:"allowSubjectPassthrough" tf:"allow_subject_passthrough,omitempty"` + + // Optional. A CEL expression that may be used to validate the resolved X.509 Subject and/or Subject Alternative Name before a certificate is signed. To see the full allowed syntax and some examples, see https://cloud.google.com/certificate-authority-service/docs/using-cel + // +kubebuilder:validation:Optional + CelExpression []IdentityConstraintsCelExpressionParameters `json:"celExpression,omitempty" tf:"cel_expression,omitempty"` +} + +type CertificateTemplateObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type CertificateTemplateParameters struct { + + // Optional. A human-readable description of scenarios this template is intended for. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Optional. Describes constraints on identities that may be appear in Certificates issued using this template. If this is omitted, then this template will not add restrictions on a certificate's identity. + // +kubebuilder:validation:Optional + IdentityConstraints []CertificateTemplateIdentityConstraintsParameters `json:"identityConstraints,omitempty" tf:"identity_constraints,omitempty"` + + // Optional. Labels with user-defined metadata. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The location for the resource + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` + + // The resource name for this CertificateTemplate in the format `projects/*/locations/*/certificateTemplates/*`. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Optional. Describes the set of X.509 extensions that may appear in a Certificate issued using this CertificateTemplate. If a certificate request sets extensions that don't appear in the passthrough_extensions, those extensions will be dropped. If the issuing CaPool's IssuancePolicy defines baseline_values that don't appear here, the certificate issuance request will fail. If this is omitted, then this template will not add restrictions on a certificate's X.509 extensions. These constraints do not apply to X.509 extensions set in this CertificateTemplate's predefined_values. + // +kubebuilder:validation:Optional + PassthroughExtensions []PassthroughExtensionsParameters `json:"passthroughExtensions,omitempty" tf:"passthrough_extensions,omitempty"` + + // Optional. A set of X.509 values that will be applied to all issued certificates that use this template. If the certificate request includes conflicting values for the same properties, they will be overwritten by the values defined here. If the issuing CaPool's IssuancePolicy defines conflicting baseline_values for the same properties, the certificate issuance request will fail. + // +kubebuilder:validation:Optional + PredefinedValues []PredefinedValuesParameters `json:"predefinedValues,omitempty" tf:"predefined_values,omitempty"` + + // The project for the resource + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +type IdentityConstraintsCelExpressionObservation struct { +} + +type IdentityConstraintsCelExpressionParameters struct { + + // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Textual representation of an expression in Common Expression Language syntax. + // +kubebuilder:validation:Optional + Expression *string `json:"expression,omitempty" tf:"expression,omitempty"` + + // Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + // +kubebuilder:validation:Optional + Location *string `json:"location,omitempty" tf:"location,omitempty"` + + // Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + // +kubebuilder:validation:Optional + Title *string `json:"title,omitempty" tf:"title,omitempty"` +} + +type PassthroughExtensionsAdditionalExtensionsObservation struct { +} + +type PassthroughExtensionsAdditionalExtensionsParameters struct { + + // Required. The parts of an OID path. The most significant parts of the path come first. + // +kubebuilder:validation:Required + ObjectIDPath []*int64 `json:"objectIdPath" tf:"object_id_path,omitempty"` +} + +type PassthroughExtensionsObservation struct { +} + +type PassthroughExtensionsParameters struct { + + // Optional. A set of ObjectIds identifying custom X.509 extensions. Will be combined with known_extensions to determine the full set of X.509 extensions. + // +kubebuilder:validation:Optional + AdditionalExtensions []PassthroughExtensionsAdditionalExtensionsParameters `json:"additionalExtensions,omitempty" tf:"additional_extensions,omitempty"` + + // Optional. A set of named X.509 extensions. Will be combined with additional_extensions to determine the full set of X.509 extensions. + // +kubebuilder:validation:Optional + KnownExtensions []*string `json:"knownExtensions,omitempty" tf:"known_extensions,omitempty"` +} + +type PredefinedValuesAdditionalExtensionsObjectIDObservation struct { +} + +type PredefinedValuesAdditionalExtensionsObjectIDParameters struct { + + // Required. The parts of an OID path. The most significant parts of the path come first. + // +kubebuilder:validation:Required + ObjectIDPath []*int64 `json:"objectIdPath" tf:"object_id_path,omitempty"` +} + +type PredefinedValuesAdditionalExtensionsObservation struct { +} + +type PredefinedValuesAdditionalExtensionsParameters struct { + + // Optional. Indicates whether or not this extension is critical (i.e., if the client does not know how to handle this extension, the client should consider this to be an error). + // +kubebuilder:validation:Optional + Critical *bool `json:"critical,omitempty" tf:"critical,omitempty"` + + // Required. The OID for this X.509 extension. + // +kubebuilder:validation:Required + ObjectID []PredefinedValuesAdditionalExtensionsObjectIDParameters `json:"objectId" tf:"object_id,omitempty"` + + // Required. The value of this X.509 extension. + // +kubebuilder:validation:Required + Value *string `json:"value" tf:"value,omitempty"` +} + +type PredefinedValuesCAOptionsObservation struct { +} + +type PredefinedValuesCAOptionsParameters struct { + + // Optional. Refers to the "CA" X.509 extension, which is a boolean value. When this value is missing, the extension will be omitted from the CA certificate. + // +kubebuilder:validation:Optional + IsCA *bool `json:"isCa,omitempty" tf:"is_ca,omitempty"` + + // Optional. Refers to the path length restriction X.509 extension. For a CA certificate, this value describes the depth of subordinate CA certificates that are allowed. If this value is less than 0, the request will fail. If this value is missing, the max path length will be omitted from the CA certificate. + // +kubebuilder:validation:Optional + MaxIssuerPathLength *int64 `json:"maxIssuerPathLength,omitempty" tf:"max_issuer_path_length,omitempty"` +} + +type PredefinedValuesKeyUsageBaseKeyUsageObservation struct { +} + +type PredefinedValuesKeyUsageBaseKeyUsageParameters struct { + + // The key may be used to sign certificates. + // +kubebuilder:validation:Optional + CertSign *bool `json:"certSign,omitempty" tf:"cert_sign,omitempty"` + + // The key may be used for cryptographic commitments. Note that this may also be referred to as "non-repudiation". + // +kubebuilder:validation:Optional + ContentCommitment *bool `json:"contentCommitment,omitempty" tf:"content_commitment,omitempty"` + + // The key may be used sign certificate revocation lists. + // +kubebuilder:validation:Optional + CrlSign *bool `json:"crlSign,omitempty" tf:"crl_sign,omitempty"` + + // The key may be used to encipher data. + // +kubebuilder:validation:Optional + DataEncipherment *bool `json:"dataEncipherment,omitempty" tf:"data_encipherment,omitempty"` + + // The key may be used to decipher only. + // +kubebuilder:validation:Optional + DecipherOnly *bool `json:"decipherOnly,omitempty" tf:"decipher_only,omitempty"` + + // The key may be used for digital signatures. + // +kubebuilder:validation:Optional + DigitalSignature *bool `json:"digitalSignature,omitempty" tf:"digital_signature,omitempty"` + + // The key may be used to encipher only. + // +kubebuilder:validation:Optional + EncipherOnly *bool `json:"encipherOnly,omitempty" tf:"encipher_only,omitempty"` + + // The key may be used in a key agreement protocol. + // +kubebuilder:validation:Optional + KeyAgreement *bool `json:"keyAgreement,omitempty" tf:"key_agreement,omitempty"` + + // The key may be used to encipher other keys. + // +kubebuilder:validation:Optional + KeyEncipherment *bool `json:"keyEncipherment,omitempty" tf:"key_encipherment,omitempty"` +} + +type PredefinedValuesKeyUsageExtendedKeyUsageObservation struct { +} + +type PredefinedValuesKeyUsageExtendedKeyUsageParameters struct { + + // Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client authentication", though regularly used for non-WWW TLS. + // +kubebuilder:validation:Optional + ClientAuth *bool `json:"clientAuth,omitempty" tf:"client_auth,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of downloadable executable code client authentication". + // +kubebuilder:validation:Optional + CodeSigning *bool `json:"codeSigning,omitempty" tf:"code_signing,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email protection". + // +kubebuilder:validation:Optional + EmailProtection *bool `json:"emailProtection,omitempty" tf:"email_protection,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP responses". + // +kubebuilder:validation:Optional + OcspSigning *bool `json:"ocspSigning,omitempty" tf:"ocsp_signing,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server authentication", though regularly used for non-WWW TLS. + // +kubebuilder:validation:Optional + ServerAuth *bool `json:"serverAuth,omitempty" tf:"server_auth,omitempty"` + + // Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the hash of an object to a time". + // +kubebuilder:validation:Optional + TimeStamping *bool `json:"timeStamping,omitempty" tf:"time_stamping,omitempty"` +} + +type PredefinedValuesKeyUsageObservation struct { +} + +type PredefinedValuesKeyUsageParameters struct { + + // Describes high-level ways in which a key may be used. + // +kubebuilder:validation:Optional + BaseKeyUsage []PredefinedValuesKeyUsageBaseKeyUsageParameters `json:"baseKeyUsage,omitempty" tf:"base_key_usage,omitempty"` + + // Detailed scenarios in which a key may be used. + // +kubebuilder:validation:Optional + ExtendedKeyUsage []PredefinedValuesKeyUsageExtendedKeyUsageParameters `json:"extendedKeyUsage,omitempty" tf:"extended_key_usage,omitempty"` + + // Used to describe extended key usages that are not listed in the KeyUsage.ExtendedKeyUsageOptions message. + // +kubebuilder:validation:Optional + UnknownExtendedKeyUsages []PredefinedValuesKeyUsageUnknownExtendedKeyUsagesParameters `json:"unknownExtendedKeyUsages,omitempty" tf:"unknown_extended_key_usages,omitempty"` +} + +type PredefinedValuesKeyUsageUnknownExtendedKeyUsagesObservation struct { +} + +type PredefinedValuesKeyUsageUnknownExtendedKeyUsagesParameters struct { + + // Required. The parts of an OID path. The most significant parts of the path come first. + // +kubebuilder:validation:Required + ObjectIDPath []*int64 `json:"objectIdPath" tf:"object_id_path,omitempty"` +} + +type PredefinedValuesObservation struct { +} + +type PredefinedValuesParameters struct { + + // Optional. Describes custom X.509 extensions. + // +kubebuilder:validation:Optional + AdditionalExtensions []PredefinedValuesAdditionalExtensionsParameters `json:"additionalExtensions,omitempty" tf:"additional_extensions,omitempty"` + + // Optional. Describes Online Certificate Status Protocol (OCSP) endpoint addresses that appear in the "Authority Information Access" extension in the certificate. + // +kubebuilder:validation:Optional + AiaOcspServers []*string `json:"aiaOcspServers,omitempty" tf:"aia_ocsp_servers,omitempty"` + + // Optional. Describes options in this X509Parameters that are relevant in a CA certificate. + // +kubebuilder:validation:Optional + CAOptions []PredefinedValuesCAOptionsParameters `json:"caOptions,omitempty" tf:"ca_options,omitempty"` + + // Optional. Indicates the intended use for keys that correspond to a certificate. + // +kubebuilder:validation:Optional + KeyUsage []PredefinedValuesKeyUsageParameters `json:"keyUsage,omitempty" tf:"key_usage,omitempty"` + + // Optional. Describes the X.509 certificate policy object identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4. + // +kubebuilder:validation:Optional + PolicyIds []PredefinedValuesPolicyIdsParameters `json:"policyIds,omitempty" tf:"policy_ids,omitempty"` +} + +type PredefinedValuesPolicyIdsObservation struct { +} + +type PredefinedValuesPolicyIdsParameters struct { + + // Required. The parts of an OID path. The most significant parts of the path come first. + // +kubebuilder:validation:Required + ObjectIDPath []*int64 `json:"objectIdPath" tf:"object_id_path,omitempty"` +} + +// CertificateTemplateSpec defines the desired state of CertificateTemplate +type CertificateTemplateSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider CertificateTemplateParameters `json:"forProvider"` +} + +// CertificateTemplateStatus defines the observed state of CertificateTemplate. +type CertificateTemplateStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider CertificateTemplateObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// CertificateTemplate is the Schema for the CertificateTemplates 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,gcpjet} +type CertificateTemplate struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec CertificateTemplateSpec `json:"spec"` + Status CertificateTemplateStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// CertificateTemplateList contains a list of CertificateTemplates +type CertificateTemplateList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []CertificateTemplate `json:"items"` +} + +// Repository type metadata. +var ( + CertificateTemplate_Kind = "CertificateTemplate" + CertificateTemplate_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: CertificateTemplate_Kind}.String() + CertificateTemplate_KindAPIVersion = CertificateTemplate_Kind + "." + CRDGroupVersion.String() + CertificateTemplate_GroupVersionKind = CRDGroupVersion.WithKind(CertificateTemplate_Kind) +) + +func init() { + SchemeBuilder.Register(&CertificateTemplate{}, &CertificateTemplateList{}) +} diff --git a/apis/privateca/v1alpha1/zz_generated.deepcopy.go b/apis/privateca/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..40b6a12f --- /dev/null +++ b/apis/privateca/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,5356 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessUrlsObservation) DeepCopyInto(out *AccessUrlsObservation) { + *out = *in + if in.CACertificateAccessURL != nil { + in, out := &in.CACertificateAccessURL, &out.CACertificateAccessURL + *out = new(string) + **out = **in + } + if in.CrlAccessURL != nil { + in, out := &in.CrlAccessURL, &out.CrlAccessURL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessUrlsObservation. +func (in *AccessUrlsObservation) DeepCopy() *AccessUrlsObservation { + if in == nil { + return nil + } + out := new(AccessUrlsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AccessUrlsParameters) DeepCopyInto(out *AccessUrlsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessUrlsParameters. +func (in *AccessUrlsParameters) DeepCopy() *AccessUrlsParameters { + if in == nil { + return nil + } + out := new(AccessUrlsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdditionalExtensionsObjectIDObservation) DeepCopyInto(out *AdditionalExtensionsObjectIDObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalExtensionsObjectIDObservation. +func (in *AdditionalExtensionsObjectIDObservation) DeepCopy() *AdditionalExtensionsObjectIDObservation { + if in == nil { + return nil + } + out := new(AdditionalExtensionsObjectIDObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdditionalExtensionsObjectIDParameters) DeepCopyInto(out *AdditionalExtensionsObjectIDParameters) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalExtensionsObjectIDParameters. +func (in *AdditionalExtensionsObjectIDParameters) DeepCopy() *AdditionalExtensionsObjectIDParameters { + if in == nil { + return nil + } + out := new(AdditionalExtensionsObjectIDParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdditionalExtensionsObservation) DeepCopyInto(out *AdditionalExtensionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalExtensionsObservation. +func (in *AdditionalExtensionsObservation) DeepCopy() *AdditionalExtensionsObservation { + if in == nil { + return nil + } + out := new(AdditionalExtensionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdditionalExtensionsParameters) DeepCopyInto(out *AdditionalExtensionsParameters) { + *out = *in + if in.Critical != nil { + in, out := &in.Critical, &out.Critical + *out = new(bool) + **out = **in + } + if in.ObjectID != nil { + in, out := &in.ObjectID, &out.ObjectID + *out = make([]ObjectIDParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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 AdditionalExtensionsParameters. +func (in *AdditionalExtensionsParameters) DeepCopy() *AdditionalExtensionsParameters { + if in == nil { + return nil + } + out := new(AdditionalExtensionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowedIssuanceModesObservation) DeepCopyInto(out *AllowedIssuanceModesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedIssuanceModesObservation. +func (in *AllowedIssuanceModesObservation) DeepCopy() *AllowedIssuanceModesObservation { + if in == nil { + return nil + } + out := new(AllowedIssuanceModesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowedIssuanceModesParameters) DeepCopyInto(out *AllowedIssuanceModesParameters) { + *out = *in + if in.AllowConfigBasedIssuance != nil { + in, out := &in.AllowConfigBasedIssuance, &out.AllowConfigBasedIssuance + *out = new(bool) + **out = **in + } + if in.AllowCsrBasedIssuance != nil { + in, out := &in.AllowCsrBasedIssuance, &out.AllowCsrBasedIssuance + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedIssuanceModesParameters. +func (in *AllowedIssuanceModesParameters) DeepCopy() *AllowedIssuanceModesParameters { + if in == nil { + return nil + } + out := new(AllowedIssuanceModesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowedKeyTypesObservation) DeepCopyInto(out *AllowedKeyTypesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedKeyTypesObservation. +func (in *AllowedKeyTypesObservation) DeepCopy() *AllowedKeyTypesObservation { + if in == nil { + return nil + } + out := new(AllowedKeyTypesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowedKeyTypesParameters) DeepCopyInto(out *AllowedKeyTypesParameters) { + *out = *in + if in.EllipticCurve != nil { + in, out := &in.EllipticCurve, &out.EllipticCurve + *out = make([]EllipticCurveParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Rsa != nil { + in, out := &in.Rsa, &out.Rsa + *out = make([]RsaParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedKeyTypesParameters. +func (in *AllowedKeyTypesParameters) DeepCopy() *AllowedKeyTypesParameters { + if in == nil { + return nil + } + out := new(AllowedKeyTypesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuthorityKeyIDObservation) DeepCopyInto(out *AuthorityKeyIDObservation) { + *out = *in + if in.KeyID != nil { + in, out := &in.KeyID, &out.KeyID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthorityKeyIDObservation. +func (in *AuthorityKeyIDObservation) DeepCopy() *AuthorityKeyIDObservation { + if in == nil { + return nil + } + out := new(AuthorityKeyIDObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuthorityKeyIDParameters) DeepCopyInto(out *AuthorityKeyIDParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthorityKeyIDParameters. +func (in *AuthorityKeyIDParameters) DeepCopy() *AuthorityKeyIDParameters { + if in == nil { + return nil + } + out := new(AuthorityKeyIDParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BaseKeyUsageObservation) DeepCopyInto(out *BaseKeyUsageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseKeyUsageObservation. +func (in *BaseKeyUsageObservation) DeepCopy() *BaseKeyUsageObservation { + if in == nil { + return nil + } + out := new(BaseKeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BaseKeyUsageParameters) DeepCopyInto(out *BaseKeyUsageParameters) { + *out = *in + if in.CertSign != nil { + in, out := &in.CertSign, &out.CertSign + *out = new(bool) + **out = **in + } + if in.ContentCommitment != nil { + in, out := &in.ContentCommitment, &out.ContentCommitment + *out = new(bool) + **out = **in + } + if in.CrlSign != nil { + in, out := &in.CrlSign, &out.CrlSign + *out = new(bool) + **out = **in + } + if in.DataEncipherment != nil { + in, out := &in.DataEncipherment, &out.DataEncipherment + *out = new(bool) + **out = **in + } + if in.DecipherOnly != nil { + in, out := &in.DecipherOnly, &out.DecipherOnly + *out = new(bool) + **out = **in + } + if in.DigitalSignature != nil { + in, out := &in.DigitalSignature, &out.DigitalSignature + *out = new(bool) + **out = **in + } + if in.EncipherOnly != nil { + in, out := &in.EncipherOnly, &out.EncipherOnly + *out = new(bool) + **out = **in + } + if in.KeyAgreement != nil { + in, out := &in.KeyAgreement, &out.KeyAgreement + *out = new(bool) + **out = **in + } + if in.KeyEncipherment != nil { + in, out := &in.KeyEncipherment, &out.KeyEncipherment + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseKeyUsageParameters. +func (in *BaseKeyUsageParameters) DeepCopy() *BaseKeyUsageParameters { + if in == nil { + return nil + } + out := new(BaseKeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BaselineValuesObservation) DeepCopyInto(out *BaselineValuesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaselineValuesObservation. +func (in *BaselineValuesObservation) DeepCopy() *BaselineValuesObservation { + if in == nil { + return nil + } + out := new(BaselineValuesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BaselineValuesParameters) DeepCopyInto(out *BaselineValuesParameters) { + *out = *in + if in.AdditionalExtensions != nil { + in, out := &in.AdditionalExtensions, &out.AdditionalExtensions + *out = make([]AdditionalExtensionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AiaOcspServers != nil { + in, out := &in.AiaOcspServers, &out.AiaOcspServers + *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.CAOptions != nil { + in, out := &in.CAOptions, &out.CAOptions + *out = make([]CAOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.KeyUsage != nil { + in, out := &in.KeyUsage, &out.KeyUsage + *out = make([]KeyUsageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PolicyIds != nil { + in, out := &in.PolicyIds, &out.PolicyIds + *out = make([]PolicyIdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaselineValuesParameters. +func (in *BaselineValuesParameters) DeepCopy() *BaselineValuesParameters { + if in == nil { + return nil + } + out := new(BaselineValuesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAOptionsObservation) DeepCopyInto(out *CAOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAOptionsObservation. +func (in *CAOptionsObservation) DeepCopy() *CAOptionsObservation { + if in == nil { + return nil + } + out := new(CAOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAOptionsParameters) DeepCopyInto(out *CAOptionsParameters) { + *out = *in + if in.IsCA != nil { + in, out := &in.IsCA, &out.IsCA + *out = new(bool) + **out = **in + } + if in.MaxIssuerPathLength != nil { + in, out := &in.MaxIssuerPathLength, &out.MaxIssuerPathLength + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAOptionsParameters. +func (in *CAOptionsParameters) DeepCopy() *CAOptionsParameters { + if in == nil { + return nil + } + out := new(CAOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPool) DeepCopyInto(out *CAPool) { + *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 CAPool. +func (in *CAPool) DeepCopy() *CAPool { + if in == nil { + return nil + } + out := new(CAPool) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CAPool) 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 *CAPoolIAMBinding) DeepCopyInto(out *CAPoolIAMBinding) { + *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 CAPoolIAMBinding. +func (in *CAPoolIAMBinding) DeepCopy() *CAPoolIAMBinding { + if in == nil { + return nil + } + out := new(CAPoolIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CAPoolIAMBinding) 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 *CAPoolIAMBindingList) DeepCopyInto(out *CAPoolIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CAPoolIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMBindingList. +func (in *CAPoolIAMBindingList) DeepCopy() *CAPoolIAMBindingList { + if in == nil { + return nil + } + out := new(CAPoolIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CAPoolIAMBindingList) 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 *CAPoolIAMBindingObservation) DeepCopyInto(out *CAPoolIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMBindingObservation. +func (in *CAPoolIAMBindingObservation) DeepCopy() *CAPoolIAMBindingObservation { + if in == nil { + return nil + } + out := new(CAPoolIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolIAMBindingParameters) DeepCopyInto(out *CAPoolIAMBindingParameters) { + *out = *in + if in.CAPool != nil { + in, out := &in.CAPool, &out.CAPool + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMBindingParameters. +func (in *CAPoolIAMBindingParameters) DeepCopy() *CAPoolIAMBindingParameters { + if in == nil { + return nil + } + out := new(CAPoolIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolIAMBindingSpec) DeepCopyInto(out *CAPoolIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMBindingSpec. +func (in *CAPoolIAMBindingSpec) DeepCopy() *CAPoolIAMBindingSpec { + if in == nil { + return nil + } + out := new(CAPoolIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolIAMBindingStatus) DeepCopyInto(out *CAPoolIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMBindingStatus. +func (in *CAPoolIAMBindingStatus) DeepCopy() *CAPoolIAMBindingStatus { + if in == nil { + return nil + } + out := new(CAPoolIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolIAMMember) DeepCopyInto(out *CAPoolIAMMember) { + *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 CAPoolIAMMember. +func (in *CAPoolIAMMember) DeepCopy() *CAPoolIAMMember { + if in == nil { + return nil + } + out := new(CAPoolIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CAPoolIAMMember) 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 *CAPoolIAMMemberConditionObservation) DeepCopyInto(out *CAPoolIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMMemberConditionObservation. +func (in *CAPoolIAMMemberConditionObservation) DeepCopy() *CAPoolIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(CAPoolIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolIAMMemberConditionParameters) DeepCopyInto(out *CAPoolIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMMemberConditionParameters. +func (in *CAPoolIAMMemberConditionParameters) DeepCopy() *CAPoolIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(CAPoolIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolIAMMemberList) DeepCopyInto(out *CAPoolIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CAPoolIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMMemberList. +func (in *CAPoolIAMMemberList) DeepCopy() *CAPoolIAMMemberList { + if in == nil { + return nil + } + out := new(CAPoolIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CAPoolIAMMemberList) 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 *CAPoolIAMMemberObservation) DeepCopyInto(out *CAPoolIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMMemberObservation. +func (in *CAPoolIAMMemberObservation) DeepCopy() *CAPoolIAMMemberObservation { + if in == nil { + return nil + } + out := new(CAPoolIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolIAMMemberParameters) DeepCopyInto(out *CAPoolIAMMemberParameters) { + *out = *in + if in.CAPool != nil { + in, out := &in.CAPool, &out.CAPool + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]CAPoolIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMMemberParameters. +func (in *CAPoolIAMMemberParameters) DeepCopy() *CAPoolIAMMemberParameters { + if in == nil { + return nil + } + out := new(CAPoolIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolIAMMemberSpec) DeepCopyInto(out *CAPoolIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMMemberSpec. +func (in *CAPoolIAMMemberSpec) DeepCopy() *CAPoolIAMMemberSpec { + if in == nil { + return nil + } + out := new(CAPoolIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolIAMMemberStatus) DeepCopyInto(out *CAPoolIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMMemberStatus. +func (in *CAPoolIAMMemberStatus) DeepCopy() *CAPoolIAMMemberStatus { + if in == nil { + return nil + } + out := new(CAPoolIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolIAMPolicy) DeepCopyInto(out *CAPoolIAMPolicy) { + *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 CAPoolIAMPolicy. +func (in *CAPoolIAMPolicy) DeepCopy() *CAPoolIAMPolicy { + if in == nil { + return nil + } + out := new(CAPoolIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CAPoolIAMPolicy) 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 *CAPoolIAMPolicyList) DeepCopyInto(out *CAPoolIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CAPoolIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMPolicyList. +func (in *CAPoolIAMPolicyList) DeepCopy() *CAPoolIAMPolicyList { + if in == nil { + return nil + } + out := new(CAPoolIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CAPoolIAMPolicyList) 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 *CAPoolIAMPolicyObservation) DeepCopyInto(out *CAPoolIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMPolicyObservation. +func (in *CAPoolIAMPolicyObservation) DeepCopy() *CAPoolIAMPolicyObservation { + if in == nil { + return nil + } + out := new(CAPoolIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolIAMPolicyParameters) DeepCopyInto(out *CAPoolIAMPolicyParameters) { + *out = *in + if in.CAPool != nil { + in, out := &in.CAPool, &out.CAPool + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMPolicyParameters. +func (in *CAPoolIAMPolicyParameters) DeepCopy() *CAPoolIAMPolicyParameters { + if in == nil { + return nil + } + out := new(CAPoolIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolIAMPolicySpec) DeepCopyInto(out *CAPoolIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMPolicySpec. +func (in *CAPoolIAMPolicySpec) DeepCopy() *CAPoolIAMPolicySpec { + if in == nil { + return nil + } + out := new(CAPoolIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolIAMPolicyStatus) DeepCopyInto(out *CAPoolIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolIAMPolicyStatus. +func (in *CAPoolIAMPolicyStatus) DeepCopy() *CAPoolIAMPolicyStatus { + if in == nil { + return nil + } + out := new(CAPoolIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolList) DeepCopyInto(out *CAPoolList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CAPool, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolList. +func (in *CAPoolList) DeepCopy() *CAPoolList { + if in == nil { + return nil + } + out := new(CAPoolList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CAPoolList) 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 *CAPoolObservation) DeepCopyInto(out *CAPoolObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolObservation. +func (in *CAPoolObservation) DeepCopy() *CAPoolObservation { + if in == nil { + return nil + } + out := new(CAPoolObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolParameters) DeepCopyInto(out *CAPoolParameters) { + *out = *in + if in.IssuancePolicy != nil { + in, out := &in.IssuancePolicy, &out.IssuancePolicy + *out = make([]IssuancePolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.PublishingOptions != nil { + in, out := &in.PublishingOptions, &out.PublishingOptions + *out = make([]PublishingOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolParameters. +func (in *CAPoolParameters) DeepCopy() *CAPoolParameters { + if in == nil { + return nil + } + out := new(CAPoolParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolSpec) DeepCopyInto(out *CAPoolSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolSpec. +func (in *CAPoolSpec) DeepCopy() *CAPoolSpec { + if in == nil { + return nil + } + out := new(CAPoolSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CAPoolStatus) DeepCopyInto(out *CAPoolStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CAPoolStatus. +func (in *CAPoolStatus) DeepCopy() *CAPoolStatus { + if in == nil { + return nil + } + out := new(CAPoolStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CelExpressionObservation) DeepCopyInto(out *CelExpressionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CelExpressionObservation. +func (in *CelExpressionObservation) DeepCopy() *CelExpressionObservation { + if in == nil { + return nil + } + out := new(CelExpressionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CelExpressionParameters) DeepCopyInto(out *CelExpressionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CelExpressionParameters. +func (in *CelExpressionParameters) DeepCopy() *CelExpressionParameters { + if in == nil { + return nil + } + out := new(CelExpressionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertFingerprintObservation) DeepCopyInto(out *CertFingerprintObservation) { + *out = *in + if in.Sha256Hash != nil { + in, out := &in.Sha256Hash, &out.Sha256Hash + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertFingerprintObservation. +func (in *CertFingerprintObservation) DeepCopy() *CertFingerprintObservation { + if in == nil { + return nil + } + out := new(CertFingerprintObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertFingerprintParameters) DeepCopyInto(out *CertFingerprintParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertFingerprintParameters. +func (in *CertFingerprintParameters) DeepCopy() *CertFingerprintParameters { + if in == nil { + return nil + } + out := new(CertFingerprintParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Certificate) DeepCopyInto(out *Certificate) { + *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 Certificate. +func (in *Certificate) DeepCopy() *Certificate { + if in == nil { + return nil + } + out := new(Certificate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Certificate) 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 *CertificateAuthority) DeepCopyInto(out *CertificateAuthority) { + *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 CertificateAuthority. +func (in *CertificateAuthority) DeepCopy() *CertificateAuthority { + if in == nil { + return nil + } + out := new(CertificateAuthority) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CertificateAuthority) 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 *CertificateAuthorityConfigObservation) DeepCopyInto(out *CertificateAuthorityConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateAuthorityConfigObservation. +func (in *CertificateAuthorityConfigObservation) DeepCopy() *CertificateAuthorityConfigObservation { + if in == nil { + return nil + } + out := new(CertificateAuthorityConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateAuthorityConfigParameters) DeepCopyInto(out *CertificateAuthorityConfigParameters) { + *out = *in + if in.SubjectConfig != nil { + in, out := &in.SubjectConfig, &out.SubjectConfig + *out = make([]ConfigSubjectConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.X509Config != nil { + in, out := &in.X509Config, &out.X509Config + *out = make([]ConfigX509ConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateAuthorityConfigParameters. +func (in *CertificateAuthorityConfigParameters) DeepCopy() *CertificateAuthorityConfigParameters { + if in == nil { + return nil + } + out := new(CertificateAuthorityConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateAuthorityList) DeepCopyInto(out *CertificateAuthorityList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CertificateAuthority, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateAuthorityList. +func (in *CertificateAuthorityList) DeepCopy() *CertificateAuthorityList { + if in == nil { + return nil + } + out := new(CertificateAuthorityList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CertificateAuthorityList) 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 *CertificateAuthorityObservation) DeepCopyInto(out *CertificateAuthorityObservation) { + *out = *in + if in.AccessUrls != nil { + in, out := &in.AccessUrls, &out.AccessUrls + *out = make([]AccessUrlsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *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.PemCACertificates != nil { + in, out := &in.PemCACertificates, &out.PemCACertificates + *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.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateAuthorityObservation. +func (in *CertificateAuthorityObservation) DeepCopy() *CertificateAuthorityObservation { + if in == nil { + return nil + } + out := new(CertificateAuthorityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateAuthorityParameters) DeepCopyInto(out *CertificateAuthorityParameters) { + *out = *in + if in.CertificateAuthorityID != nil { + in, out := &in.CertificateAuthorityID, &out.CertificateAuthorityID + *out = new(string) + **out = **in + } + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = make([]CertificateAuthorityConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GcsBucket != nil { + in, out := &in.GcsBucket, &out.GcsBucket + *out = new(string) + **out = **in + } + if in.IgnoreActiveCertificatesOnDeletion != nil { + in, out := &in.IgnoreActiveCertificatesOnDeletion, &out.IgnoreActiveCertificatesOnDeletion + *out = new(bool) + **out = **in + } + if in.KeySpec != nil { + in, out := &in.KeySpec, &out.KeySpec + *out = make([]KeySpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Lifetime != nil { + in, out := &in.Lifetime, &out.Lifetime + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Pool != nil { + in, out := &in.Pool, &out.Pool + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **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 CertificateAuthorityParameters. +func (in *CertificateAuthorityParameters) DeepCopy() *CertificateAuthorityParameters { + if in == nil { + return nil + } + out := new(CertificateAuthorityParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateAuthoritySpec) DeepCopyInto(out *CertificateAuthoritySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateAuthoritySpec. +func (in *CertificateAuthoritySpec) DeepCopy() *CertificateAuthoritySpec { + if in == nil { + return nil + } + out := new(CertificateAuthoritySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateAuthorityStatus) DeepCopyInto(out *CertificateAuthorityStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateAuthorityStatus. +func (in *CertificateAuthorityStatus) DeepCopy() *CertificateAuthorityStatus { + if in == nil { + return nil + } + out := new(CertificateAuthorityStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateDescriptionObservation) DeepCopyInto(out *CertificateDescriptionObservation) { + *out = *in + if in.AiaIssuingCertificateUrls != nil { + in, out := &in.AiaIssuingCertificateUrls, &out.AiaIssuingCertificateUrls + *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.AuthorityKeyID != nil { + in, out := &in.AuthorityKeyID, &out.AuthorityKeyID + *out = make([]AuthorityKeyIDObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CertFingerprint != nil { + in, out := &in.CertFingerprint, &out.CertFingerprint + *out = make([]CertFingerprintObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ConfigValues != nil { + in, out := &in.ConfigValues, &out.ConfigValues + *out = make([]ConfigValuesObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CrlDistributionPoints != nil { + in, out := &in.CrlDistributionPoints, &out.CrlDistributionPoints + *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.PublicKey != nil { + in, out := &in.PublicKey, &out.PublicKey + *out = make([]PublicKeyObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SubjectDescription != nil { + in, out := &in.SubjectDescription, &out.SubjectDescription + *out = make([]SubjectDescriptionObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SubjectKeyID != nil { + in, out := &in.SubjectKeyID, &out.SubjectKeyID + *out = make([]SubjectKeyIDObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateDescriptionObservation. +func (in *CertificateDescriptionObservation) DeepCopy() *CertificateDescriptionObservation { + if in == nil { + return nil + } + out := new(CertificateDescriptionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateDescriptionParameters) DeepCopyInto(out *CertificateDescriptionParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateDescriptionParameters. +func (in *CertificateDescriptionParameters) DeepCopy() *CertificateDescriptionParameters { + if in == nil { + return nil + } + out := new(CertificateDescriptionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateList) DeepCopyInto(out *CertificateList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Certificate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateList. +func (in *CertificateList) DeepCopy() *CertificateList { + if in == nil { + return nil + } + out := new(CertificateList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CertificateList) 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 *CertificateObservation) DeepCopyInto(out *CertificateObservation) { + *out = *in + if in.CertificateDescription != nil { + in, out := &in.CertificateDescription, &out.CertificateDescription + *out = make([]CertificateDescriptionObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.PemCertificate != nil { + in, out := &in.PemCertificate, &out.PemCertificate + *out = new(string) + **out = **in + } + if in.PemCertificates != nil { + in, out := &in.PemCertificates, &out.PemCertificates + *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.RevocationDetails != nil { + in, out := &in.RevocationDetails, &out.RevocationDetails + *out = make([]RevocationDetailsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateObservation. +func (in *CertificateObservation) DeepCopy() *CertificateObservation { + if in == nil { + return nil + } + out := new(CertificateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateParameters) DeepCopyInto(out *CertificateParameters) { + *out = *in + if in.CertificateAuthority != nil { + in, out := &in.CertificateAuthority, &out.CertificateAuthority + *out = new(string) + **out = **in + } + if in.CertificateTemplate != nil { + in, out := &in.CertificateTemplate, &out.CertificateTemplate + *out = new(string) + **out = **in + } + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = make([]ConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Lifetime != nil { + in, out := &in.Lifetime, &out.Lifetime + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PemCsr != nil { + in, out := &in.PemCsr, &out.PemCsr + *out = new(string) + **out = **in + } + if in.Pool != nil { + in, out := &in.Pool, &out.Pool + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateParameters. +func (in *CertificateParameters) DeepCopy() *CertificateParameters { + if in == nil { + return nil + } + out := new(CertificateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateSpec) DeepCopyInto(out *CertificateSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateSpec. +func (in *CertificateSpec) DeepCopy() *CertificateSpec { + if in == nil { + return nil + } + out := new(CertificateSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateStatus) DeepCopyInto(out *CertificateStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateStatus. +func (in *CertificateStatus) DeepCopy() *CertificateStatus { + if in == nil { + return nil + } + out := new(CertificateStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateTemplate) DeepCopyInto(out *CertificateTemplate) { + *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 CertificateTemplate. +func (in *CertificateTemplate) DeepCopy() *CertificateTemplate { + if in == nil { + return nil + } + out := new(CertificateTemplate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CertificateTemplate) 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 *CertificateTemplateIdentityConstraintsObservation) DeepCopyInto(out *CertificateTemplateIdentityConstraintsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateTemplateIdentityConstraintsObservation. +func (in *CertificateTemplateIdentityConstraintsObservation) DeepCopy() *CertificateTemplateIdentityConstraintsObservation { + if in == nil { + return nil + } + out := new(CertificateTemplateIdentityConstraintsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateTemplateIdentityConstraintsParameters) DeepCopyInto(out *CertificateTemplateIdentityConstraintsParameters) { + *out = *in + if in.AllowSubjectAltNamesPassthrough != nil { + in, out := &in.AllowSubjectAltNamesPassthrough, &out.AllowSubjectAltNamesPassthrough + *out = new(bool) + **out = **in + } + if in.AllowSubjectPassthrough != nil { + in, out := &in.AllowSubjectPassthrough, &out.AllowSubjectPassthrough + *out = new(bool) + **out = **in + } + if in.CelExpression != nil { + in, out := &in.CelExpression, &out.CelExpression + *out = make([]IdentityConstraintsCelExpressionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateTemplateIdentityConstraintsParameters. +func (in *CertificateTemplateIdentityConstraintsParameters) DeepCopy() *CertificateTemplateIdentityConstraintsParameters { + if in == nil { + return nil + } + out := new(CertificateTemplateIdentityConstraintsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateTemplateList) DeepCopyInto(out *CertificateTemplateList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CertificateTemplate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateTemplateList. +func (in *CertificateTemplateList) DeepCopy() *CertificateTemplateList { + if in == nil { + return nil + } + out := new(CertificateTemplateList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CertificateTemplateList) 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 *CertificateTemplateObservation) DeepCopyInto(out *CertificateTemplateObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateTemplateObservation. +func (in *CertificateTemplateObservation) DeepCopy() *CertificateTemplateObservation { + if in == nil { + return nil + } + out := new(CertificateTemplateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateTemplateParameters) DeepCopyInto(out *CertificateTemplateParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.IdentityConstraints != nil { + in, out := &in.IdentityConstraints, &out.IdentityConstraints + *out = make([]CertificateTemplateIdentityConstraintsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PassthroughExtensions != nil { + in, out := &in.PassthroughExtensions, &out.PassthroughExtensions + *out = make([]PassthroughExtensionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PredefinedValues != nil { + in, out := &in.PredefinedValues, &out.PredefinedValues + *out = make([]PredefinedValuesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateTemplateParameters. +func (in *CertificateTemplateParameters) DeepCopy() *CertificateTemplateParameters { + if in == nil { + return nil + } + out := new(CertificateTemplateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateTemplateSpec) DeepCopyInto(out *CertificateTemplateSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateTemplateSpec. +func (in *CertificateTemplateSpec) DeepCopy() *CertificateTemplateSpec { + if in == nil { + return nil + } + out := new(CertificateTemplateSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertificateTemplateStatus) DeepCopyInto(out *CertificateTemplateStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateTemplateStatus. +func (in *CertificateTemplateStatus) DeepCopy() *CertificateTemplateStatus { + if in == nil { + return nil + } + out := new(CertificateTemplateStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigObservation) DeepCopyInto(out *ConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigObservation. +func (in *ConfigObservation) DeepCopy() *ConfigObservation { + if in == nil { + return nil + } + out := new(ConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigParameters) DeepCopyInto(out *ConfigParameters) { + *out = *in + if in.PublicKey != nil { + in, out := &in.PublicKey, &out.PublicKey + *out = make([]ConfigPublicKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SubjectConfig != nil { + in, out := &in.SubjectConfig, &out.SubjectConfig + *out = make([]SubjectConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.X509Config != nil { + in, out := &in.X509Config, &out.X509Config + *out = make([]X509ConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigParameters. +func (in *ConfigParameters) DeepCopy() *ConfigParameters { + if in == nil { + return nil + } + out := new(ConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigPublicKeyObservation) DeepCopyInto(out *ConfigPublicKeyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigPublicKeyObservation. +func (in *ConfigPublicKeyObservation) DeepCopy() *ConfigPublicKeyObservation { + if in == nil { + return nil + } + out := new(ConfigPublicKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigPublicKeyParameters) DeepCopyInto(out *ConfigPublicKeyParameters) { + *out = *in + if in.Format != nil { + in, out := &in.Format, &out.Format + *out = new(string) + **out = **in + } + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigPublicKeyParameters. +func (in *ConfigPublicKeyParameters) DeepCopy() *ConfigPublicKeyParameters { + if in == nil { + return nil + } + out := new(ConfigPublicKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigSubjectConfigObservation) DeepCopyInto(out *ConfigSubjectConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSubjectConfigObservation. +func (in *ConfigSubjectConfigObservation) DeepCopy() *ConfigSubjectConfigObservation { + if in == nil { + return nil + } + out := new(ConfigSubjectConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigSubjectConfigParameters) DeepCopyInto(out *ConfigSubjectConfigParameters) { + *out = *in + if in.Subject != nil { + in, out := &in.Subject, &out.Subject + *out = make([]ConfigSubjectConfigSubjectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SubjectAltName != nil { + in, out := &in.SubjectAltName, &out.SubjectAltName + *out = make([]ConfigSubjectConfigSubjectAltNameParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSubjectConfigParameters. +func (in *ConfigSubjectConfigParameters) DeepCopy() *ConfigSubjectConfigParameters { + if in == nil { + return nil + } + out := new(ConfigSubjectConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigSubjectConfigSubjectAltNameObservation) DeepCopyInto(out *ConfigSubjectConfigSubjectAltNameObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSubjectConfigSubjectAltNameObservation. +func (in *ConfigSubjectConfigSubjectAltNameObservation) DeepCopy() *ConfigSubjectConfigSubjectAltNameObservation { + if in == nil { + return nil + } + out := new(ConfigSubjectConfigSubjectAltNameObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigSubjectConfigSubjectAltNameParameters) DeepCopyInto(out *ConfigSubjectConfigSubjectAltNameParameters) { + *out = *in + if in.DNSNames != nil { + in, out := &in.DNSNames, &out.DNSNames + *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.EmailAddresses != nil { + in, out := &in.EmailAddresses, &out.EmailAddresses + *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.IPAddresses != nil { + in, out := &in.IPAddresses, &out.IPAddresses + *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.Uris != nil { + in, out := &in.Uris, &out.Uris + *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 ConfigSubjectConfigSubjectAltNameParameters. +func (in *ConfigSubjectConfigSubjectAltNameParameters) DeepCopy() *ConfigSubjectConfigSubjectAltNameParameters { + if in == nil { + return nil + } + out := new(ConfigSubjectConfigSubjectAltNameParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigSubjectConfigSubjectObservation) DeepCopyInto(out *ConfigSubjectConfigSubjectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSubjectConfigSubjectObservation. +func (in *ConfigSubjectConfigSubjectObservation) DeepCopy() *ConfigSubjectConfigSubjectObservation { + if in == nil { + return nil + } + out := new(ConfigSubjectConfigSubjectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigSubjectConfigSubjectParameters) DeepCopyInto(out *ConfigSubjectConfigSubjectParameters) { + *out = *in + if in.CommonName != nil { + in, out := &in.CommonName, &out.CommonName + *out = new(string) + **out = **in + } + if in.CountryCode != nil { + in, out := &in.CountryCode, &out.CountryCode + *out = new(string) + **out = **in + } + if in.Locality != nil { + in, out := &in.Locality, &out.Locality + *out = new(string) + **out = **in + } + if in.Organization != nil { + in, out := &in.Organization, &out.Organization + *out = new(string) + **out = **in + } + if in.OrganizationalUnit != nil { + in, out := &in.OrganizationalUnit, &out.OrganizationalUnit + *out = new(string) + **out = **in + } + if in.PostalCode != nil { + in, out := &in.PostalCode, &out.PostalCode + *out = new(string) + **out = **in + } + if in.Province != nil { + in, out := &in.Province, &out.Province + *out = new(string) + **out = **in + } + if in.StreetAddress != nil { + in, out := &in.StreetAddress, &out.StreetAddress + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSubjectConfigSubjectParameters. +func (in *ConfigSubjectConfigSubjectParameters) DeepCopy() *ConfigSubjectConfigSubjectParameters { + if in == nil { + return nil + } + out := new(ConfigSubjectConfigSubjectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigValuesKeyUsageObservation) DeepCopyInto(out *ConfigValuesKeyUsageObservation) { + *out = *in + if in.BaseKeyUsage != nil { + in, out := &in.BaseKeyUsage, &out.BaseKeyUsage + *out = make([]KeyUsageBaseKeyUsageObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExtendedKeyUsage != nil { + in, out := &in.ExtendedKeyUsage, &out.ExtendedKeyUsage + *out = make([]KeyUsageExtendedKeyUsageObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UnknownExtendedKeyUsages != nil { + in, out := &in.UnknownExtendedKeyUsages, &out.UnknownExtendedKeyUsages + *out = make([]KeyUsageUnknownExtendedKeyUsagesObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigValuesKeyUsageObservation. +func (in *ConfigValuesKeyUsageObservation) DeepCopy() *ConfigValuesKeyUsageObservation { + if in == nil { + return nil + } + out := new(ConfigValuesKeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigValuesKeyUsageParameters) DeepCopyInto(out *ConfigValuesKeyUsageParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigValuesKeyUsageParameters. +func (in *ConfigValuesKeyUsageParameters) DeepCopy() *ConfigValuesKeyUsageParameters { + if in == nil { + return nil + } + out := new(ConfigValuesKeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigValuesObservation) DeepCopyInto(out *ConfigValuesObservation) { + *out = *in + if in.KeyUsage != nil { + in, out := &in.KeyUsage, &out.KeyUsage + *out = make([]ConfigValuesKeyUsageObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigValuesObservation. +func (in *ConfigValuesObservation) DeepCopy() *ConfigValuesObservation { + if in == nil { + return nil + } + out := new(ConfigValuesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigValuesParameters) DeepCopyInto(out *ConfigValuesParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigValuesParameters. +func (in *ConfigValuesParameters) DeepCopy() *ConfigValuesParameters { + if in == nil { + return nil + } + out := new(ConfigValuesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigAdditionalExtensionsObservation) DeepCopyInto(out *ConfigX509ConfigAdditionalExtensionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigAdditionalExtensionsObservation. +func (in *ConfigX509ConfigAdditionalExtensionsObservation) DeepCopy() *ConfigX509ConfigAdditionalExtensionsObservation { + if in == nil { + return nil + } + out := new(ConfigX509ConfigAdditionalExtensionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigAdditionalExtensionsParameters) DeepCopyInto(out *ConfigX509ConfigAdditionalExtensionsParameters) { + *out = *in + if in.Critical != nil { + in, out := &in.Critical, &out.Critical + *out = new(bool) + **out = **in + } + if in.ObjectID != nil { + in, out := &in.ObjectID, &out.ObjectID + *out = make([]X509ConfigAdditionalExtensionsObjectIDParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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 ConfigX509ConfigAdditionalExtensionsParameters. +func (in *ConfigX509ConfigAdditionalExtensionsParameters) DeepCopy() *ConfigX509ConfigAdditionalExtensionsParameters { + if in == nil { + return nil + } + out := new(ConfigX509ConfigAdditionalExtensionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigCAOptionsObservation) DeepCopyInto(out *ConfigX509ConfigCAOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigCAOptionsObservation. +func (in *ConfigX509ConfigCAOptionsObservation) DeepCopy() *ConfigX509ConfigCAOptionsObservation { + if in == nil { + return nil + } + out := new(ConfigX509ConfigCAOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigCAOptionsParameters) DeepCopyInto(out *ConfigX509ConfigCAOptionsParameters) { + *out = *in + if in.IsCA != nil { + in, out := &in.IsCA, &out.IsCA + *out = new(bool) + **out = **in + } + if in.MaxIssuerPathLength != nil { + in, out := &in.MaxIssuerPathLength, &out.MaxIssuerPathLength + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigCAOptionsParameters. +func (in *ConfigX509ConfigCAOptionsParameters) DeepCopy() *ConfigX509ConfigCAOptionsParameters { + if in == nil { + return nil + } + out := new(ConfigX509ConfigCAOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigKeyUsageBaseKeyUsageObservation) DeepCopyInto(out *ConfigX509ConfigKeyUsageBaseKeyUsageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigKeyUsageBaseKeyUsageObservation. +func (in *ConfigX509ConfigKeyUsageBaseKeyUsageObservation) DeepCopy() *ConfigX509ConfigKeyUsageBaseKeyUsageObservation { + if in == nil { + return nil + } + out := new(ConfigX509ConfigKeyUsageBaseKeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigKeyUsageBaseKeyUsageParameters) DeepCopyInto(out *ConfigX509ConfigKeyUsageBaseKeyUsageParameters) { + *out = *in + if in.CertSign != nil { + in, out := &in.CertSign, &out.CertSign + *out = new(bool) + **out = **in + } + if in.ContentCommitment != nil { + in, out := &in.ContentCommitment, &out.ContentCommitment + *out = new(bool) + **out = **in + } + if in.CrlSign != nil { + in, out := &in.CrlSign, &out.CrlSign + *out = new(bool) + **out = **in + } + if in.DataEncipherment != nil { + in, out := &in.DataEncipherment, &out.DataEncipherment + *out = new(bool) + **out = **in + } + if in.DecipherOnly != nil { + in, out := &in.DecipherOnly, &out.DecipherOnly + *out = new(bool) + **out = **in + } + if in.DigitalSignature != nil { + in, out := &in.DigitalSignature, &out.DigitalSignature + *out = new(bool) + **out = **in + } + if in.EncipherOnly != nil { + in, out := &in.EncipherOnly, &out.EncipherOnly + *out = new(bool) + **out = **in + } + if in.KeyAgreement != nil { + in, out := &in.KeyAgreement, &out.KeyAgreement + *out = new(bool) + **out = **in + } + if in.KeyEncipherment != nil { + in, out := &in.KeyEncipherment, &out.KeyEncipherment + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigKeyUsageBaseKeyUsageParameters. +func (in *ConfigX509ConfigKeyUsageBaseKeyUsageParameters) DeepCopy() *ConfigX509ConfigKeyUsageBaseKeyUsageParameters { + if in == nil { + return nil + } + out := new(ConfigX509ConfigKeyUsageBaseKeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigKeyUsageExtendedKeyUsageObservation) DeepCopyInto(out *ConfigX509ConfigKeyUsageExtendedKeyUsageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigKeyUsageExtendedKeyUsageObservation. +func (in *ConfigX509ConfigKeyUsageExtendedKeyUsageObservation) DeepCopy() *ConfigX509ConfigKeyUsageExtendedKeyUsageObservation { + if in == nil { + return nil + } + out := new(ConfigX509ConfigKeyUsageExtendedKeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigKeyUsageExtendedKeyUsageParameters) DeepCopyInto(out *ConfigX509ConfigKeyUsageExtendedKeyUsageParameters) { + *out = *in + if in.ClientAuth != nil { + in, out := &in.ClientAuth, &out.ClientAuth + *out = new(bool) + **out = **in + } + if in.CodeSigning != nil { + in, out := &in.CodeSigning, &out.CodeSigning + *out = new(bool) + **out = **in + } + if in.EmailProtection != nil { + in, out := &in.EmailProtection, &out.EmailProtection + *out = new(bool) + **out = **in + } + if in.OcspSigning != nil { + in, out := &in.OcspSigning, &out.OcspSigning + *out = new(bool) + **out = **in + } + if in.ServerAuth != nil { + in, out := &in.ServerAuth, &out.ServerAuth + *out = new(bool) + **out = **in + } + if in.TimeStamping != nil { + in, out := &in.TimeStamping, &out.TimeStamping + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigKeyUsageExtendedKeyUsageParameters. +func (in *ConfigX509ConfigKeyUsageExtendedKeyUsageParameters) DeepCopy() *ConfigX509ConfigKeyUsageExtendedKeyUsageParameters { + if in == nil { + return nil + } + out := new(ConfigX509ConfigKeyUsageExtendedKeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigKeyUsageObservation) DeepCopyInto(out *ConfigX509ConfigKeyUsageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigKeyUsageObservation. +func (in *ConfigX509ConfigKeyUsageObservation) DeepCopy() *ConfigX509ConfigKeyUsageObservation { + if in == nil { + return nil + } + out := new(ConfigX509ConfigKeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigKeyUsageParameters) DeepCopyInto(out *ConfigX509ConfigKeyUsageParameters) { + *out = *in + if in.BaseKeyUsage != nil { + in, out := &in.BaseKeyUsage, &out.BaseKeyUsage + *out = make([]ConfigX509ConfigKeyUsageBaseKeyUsageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExtendedKeyUsage != nil { + in, out := &in.ExtendedKeyUsage, &out.ExtendedKeyUsage + *out = make([]ConfigX509ConfigKeyUsageExtendedKeyUsageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UnknownExtendedKeyUsages != nil { + in, out := &in.UnknownExtendedKeyUsages, &out.UnknownExtendedKeyUsages + *out = make([]ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigKeyUsageParameters. +func (in *ConfigX509ConfigKeyUsageParameters) DeepCopy() *ConfigX509ConfigKeyUsageParameters { + if in == nil { + return nil + } + out := new(ConfigX509ConfigKeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesObservation) DeepCopyInto(out *ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesObservation. +func (in *ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesObservation) DeepCopy() *ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesObservation { + if in == nil { + return nil + } + out := new(ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesParameters) DeepCopyInto(out *ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesParameters) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesParameters. +func (in *ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesParameters) DeepCopy() *ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesParameters { + if in == nil { + return nil + } + out := new(ConfigX509ConfigKeyUsageUnknownExtendedKeyUsagesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigObservation) DeepCopyInto(out *ConfigX509ConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigObservation. +func (in *ConfigX509ConfigObservation) DeepCopy() *ConfigX509ConfigObservation { + if in == nil { + return nil + } + out := new(ConfigX509ConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigParameters) DeepCopyInto(out *ConfigX509ConfigParameters) { + *out = *in + if in.AdditionalExtensions != nil { + in, out := &in.AdditionalExtensions, &out.AdditionalExtensions + *out = make([]ConfigX509ConfigAdditionalExtensionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AiaOcspServers != nil { + in, out := &in.AiaOcspServers, &out.AiaOcspServers + *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.CAOptions != nil { + in, out := &in.CAOptions, &out.CAOptions + *out = make([]ConfigX509ConfigCAOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.KeyUsage != nil { + in, out := &in.KeyUsage, &out.KeyUsage + *out = make([]ConfigX509ConfigKeyUsageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PolicyIds != nil { + in, out := &in.PolicyIds, &out.PolicyIds + *out = make([]ConfigX509ConfigPolicyIdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigParameters. +func (in *ConfigX509ConfigParameters) DeepCopy() *ConfigX509ConfigParameters { + if in == nil { + return nil + } + out := new(ConfigX509ConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigPolicyIdsObservation) DeepCopyInto(out *ConfigX509ConfigPolicyIdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigPolicyIdsObservation. +func (in *ConfigX509ConfigPolicyIdsObservation) DeepCopy() *ConfigX509ConfigPolicyIdsObservation { + if in == nil { + return nil + } + out := new(ConfigX509ConfigPolicyIdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigX509ConfigPolicyIdsParameters) DeepCopyInto(out *ConfigX509ConfigPolicyIdsParameters) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigX509ConfigPolicyIdsParameters. +func (in *ConfigX509ConfigPolicyIdsParameters) DeepCopy() *ConfigX509ConfigPolicyIdsParameters { + if in == nil { + return nil + } + out := new(ConfigX509ConfigPolicyIdsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomSansObectIDObservation) DeepCopyInto(out *CustomSansObectIDObservation) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomSansObectIDObservation. +func (in *CustomSansObectIDObservation) DeepCopy() *CustomSansObectIDObservation { + if in == nil { + return nil + } + out := new(CustomSansObectIDObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomSansObectIDParameters) DeepCopyInto(out *CustomSansObectIDParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomSansObectIDParameters. +func (in *CustomSansObectIDParameters) DeepCopy() *CustomSansObectIDParameters { + if in == nil { + return nil + } + out := new(CustomSansObectIDParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomSansObservation) DeepCopyInto(out *CustomSansObservation) { + *out = *in + if in.Critical != nil { + in, out := &in.Critical, &out.Critical + *out = new(bool) + **out = **in + } + if in.ObectID != nil { + in, out := &in.ObectID, &out.ObectID + *out = make([]CustomSansObectIDObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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 CustomSansObservation. +func (in *CustomSansObservation) DeepCopy() *CustomSansObservation { + if in == nil { + return nil + } + out := new(CustomSansObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomSansParameters) DeepCopyInto(out *CustomSansParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomSansParameters. +func (in *CustomSansParameters) DeepCopy() *CustomSansParameters { + if in == nil { + return nil + } + out := new(CustomSansParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EllipticCurveObservation) DeepCopyInto(out *EllipticCurveObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EllipticCurveObservation. +func (in *EllipticCurveObservation) DeepCopy() *EllipticCurveObservation { + if in == nil { + return nil + } + out := new(EllipticCurveObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EllipticCurveParameters) DeepCopyInto(out *EllipticCurveParameters) { + *out = *in + if in.SignatureAlgorithm != nil { + in, out := &in.SignatureAlgorithm, &out.SignatureAlgorithm + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EllipticCurveParameters. +func (in *EllipticCurveParameters) DeepCopy() *EllipticCurveParameters { + if in == nil { + return nil + } + out := new(EllipticCurveParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExtendedKeyUsageObservation) DeepCopyInto(out *ExtendedKeyUsageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtendedKeyUsageObservation. +func (in *ExtendedKeyUsageObservation) DeepCopy() *ExtendedKeyUsageObservation { + if in == nil { + return nil + } + out := new(ExtendedKeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExtendedKeyUsageParameters) DeepCopyInto(out *ExtendedKeyUsageParameters) { + *out = *in + if in.ClientAuth != nil { + in, out := &in.ClientAuth, &out.ClientAuth + *out = new(bool) + **out = **in + } + if in.CodeSigning != nil { + in, out := &in.CodeSigning, &out.CodeSigning + *out = new(bool) + **out = **in + } + if in.EmailProtection != nil { + in, out := &in.EmailProtection, &out.EmailProtection + *out = new(bool) + **out = **in + } + if in.OcspSigning != nil { + in, out := &in.OcspSigning, &out.OcspSigning + *out = new(bool) + **out = **in + } + if in.ServerAuth != nil { + in, out := &in.ServerAuth, &out.ServerAuth + *out = new(bool) + **out = **in + } + if in.TimeStamping != nil { + in, out := &in.TimeStamping, &out.TimeStamping + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtendedKeyUsageParameters. +func (in *ExtendedKeyUsageParameters) DeepCopy() *ExtendedKeyUsageParameters { + if in == nil { + return nil + } + out := new(ExtendedKeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdentityConstraintsCelExpressionObservation) DeepCopyInto(out *IdentityConstraintsCelExpressionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityConstraintsCelExpressionObservation. +func (in *IdentityConstraintsCelExpressionObservation) DeepCopy() *IdentityConstraintsCelExpressionObservation { + if in == nil { + return nil + } + out := new(IdentityConstraintsCelExpressionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdentityConstraintsCelExpressionParameters) DeepCopyInto(out *IdentityConstraintsCelExpressionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityConstraintsCelExpressionParameters. +func (in *IdentityConstraintsCelExpressionParameters) DeepCopy() *IdentityConstraintsCelExpressionParameters { + if in == nil { + return nil + } + out := new(IdentityConstraintsCelExpressionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdentityConstraintsObservation) DeepCopyInto(out *IdentityConstraintsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityConstraintsObservation. +func (in *IdentityConstraintsObservation) DeepCopy() *IdentityConstraintsObservation { + if in == nil { + return nil + } + out := new(IdentityConstraintsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdentityConstraintsParameters) DeepCopyInto(out *IdentityConstraintsParameters) { + *out = *in + if in.AllowSubjectAltNamesPassthrough != nil { + in, out := &in.AllowSubjectAltNamesPassthrough, &out.AllowSubjectAltNamesPassthrough + *out = new(bool) + **out = **in + } + if in.AllowSubjectPassthrough != nil { + in, out := &in.AllowSubjectPassthrough, &out.AllowSubjectPassthrough + *out = new(bool) + **out = **in + } + if in.CelExpression != nil { + in, out := &in.CelExpression, &out.CelExpression + *out = make([]CelExpressionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityConstraintsParameters. +func (in *IdentityConstraintsParameters) DeepCopy() *IdentityConstraintsParameters { + if in == nil { + return nil + } + out := new(IdentityConstraintsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IssuancePolicyObservation) DeepCopyInto(out *IssuancePolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IssuancePolicyObservation. +func (in *IssuancePolicyObservation) DeepCopy() *IssuancePolicyObservation { + if in == nil { + return nil + } + out := new(IssuancePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IssuancePolicyParameters) DeepCopyInto(out *IssuancePolicyParameters) { + *out = *in + if in.AllowedIssuanceModes != nil { + in, out := &in.AllowedIssuanceModes, &out.AllowedIssuanceModes + *out = make([]AllowedIssuanceModesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AllowedKeyTypes != nil { + in, out := &in.AllowedKeyTypes, &out.AllowedKeyTypes + *out = make([]AllowedKeyTypesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BaselineValues != nil { + in, out := &in.BaselineValues, &out.BaselineValues + *out = make([]BaselineValuesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdentityConstraints != nil { + in, out := &in.IdentityConstraints, &out.IdentityConstraints + *out = make([]IdentityConstraintsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaximumLifetime != nil { + in, out := &in.MaximumLifetime, &out.MaximumLifetime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IssuancePolicyParameters. +func (in *IssuancePolicyParameters) DeepCopy() *IssuancePolicyParameters { + if in == nil { + return nil + } + out := new(IssuancePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeySpecObservation) DeepCopyInto(out *KeySpecObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeySpecObservation. +func (in *KeySpecObservation) DeepCopy() *KeySpecObservation { + if in == nil { + return nil + } + out := new(KeySpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeySpecParameters) DeepCopyInto(out *KeySpecParameters) { + *out = *in + if in.Algorithm != nil { + in, out := &in.Algorithm, &out.Algorithm + *out = new(string) + **out = **in + } + if in.CloudKMSKeyVersion != nil { + in, out := &in.CloudKMSKeyVersion, &out.CloudKMSKeyVersion + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeySpecParameters. +func (in *KeySpecParameters) DeepCopy() *KeySpecParameters { + if in == nil { + return nil + } + out := new(KeySpecParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyUsageBaseKeyUsageObservation) DeepCopyInto(out *KeyUsageBaseKeyUsageObservation) { + *out = *in + if in.KeyUsageOptions != nil { + in, out := &in.KeyUsageOptions, &out.KeyUsageOptions + *out = make([]KeyUsageOptionsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyUsageBaseKeyUsageObservation. +func (in *KeyUsageBaseKeyUsageObservation) DeepCopy() *KeyUsageBaseKeyUsageObservation { + if in == nil { + return nil + } + out := new(KeyUsageBaseKeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyUsageBaseKeyUsageParameters) DeepCopyInto(out *KeyUsageBaseKeyUsageParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyUsageBaseKeyUsageParameters. +func (in *KeyUsageBaseKeyUsageParameters) DeepCopy() *KeyUsageBaseKeyUsageParameters { + if in == nil { + return nil + } + out := new(KeyUsageBaseKeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyUsageExtendedKeyUsageObservation) DeepCopyInto(out *KeyUsageExtendedKeyUsageObservation) { + *out = *in + if in.ClientAuth != nil { + in, out := &in.ClientAuth, &out.ClientAuth + *out = new(bool) + **out = **in + } + if in.CodeSigning != nil { + in, out := &in.CodeSigning, &out.CodeSigning + *out = new(bool) + **out = **in + } + if in.EmailProtection != nil { + in, out := &in.EmailProtection, &out.EmailProtection + *out = new(bool) + **out = **in + } + if in.OcspSigning != nil { + in, out := &in.OcspSigning, &out.OcspSigning + *out = new(bool) + **out = **in + } + if in.ServerAuth != nil { + in, out := &in.ServerAuth, &out.ServerAuth + *out = new(bool) + **out = **in + } + if in.TimeStamping != nil { + in, out := &in.TimeStamping, &out.TimeStamping + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyUsageExtendedKeyUsageObservation. +func (in *KeyUsageExtendedKeyUsageObservation) DeepCopy() *KeyUsageExtendedKeyUsageObservation { + if in == nil { + return nil + } + out := new(KeyUsageExtendedKeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyUsageExtendedKeyUsageParameters) DeepCopyInto(out *KeyUsageExtendedKeyUsageParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyUsageExtendedKeyUsageParameters. +func (in *KeyUsageExtendedKeyUsageParameters) DeepCopy() *KeyUsageExtendedKeyUsageParameters { + if in == nil { + return nil + } + out := new(KeyUsageExtendedKeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyUsageObservation) DeepCopyInto(out *KeyUsageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyUsageObservation. +func (in *KeyUsageObservation) DeepCopy() *KeyUsageObservation { + if in == nil { + return nil + } + out := new(KeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyUsageOptionsObservation) DeepCopyInto(out *KeyUsageOptionsObservation) { + *out = *in + if in.CertSign != nil { + in, out := &in.CertSign, &out.CertSign + *out = new(bool) + **out = **in + } + if in.ContentCommitment != nil { + in, out := &in.ContentCommitment, &out.ContentCommitment + *out = new(bool) + **out = **in + } + if in.CrlSign != nil { + in, out := &in.CrlSign, &out.CrlSign + *out = new(bool) + **out = **in + } + if in.DataEncipherment != nil { + in, out := &in.DataEncipherment, &out.DataEncipherment + *out = new(bool) + **out = **in + } + if in.DecipherOnly != nil { + in, out := &in.DecipherOnly, &out.DecipherOnly + *out = new(bool) + **out = **in + } + if in.DigitalSignature != nil { + in, out := &in.DigitalSignature, &out.DigitalSignature + *out = new(bool) + **out = **in + } + if in.EncipherOnly != nil { + in, out := &in.EncipherOnly, &out.EncipherOnly + *out = new(bool) + **out = **in + } + if in.KeyAgreement != nil { + in, out := &in.KeyAgreement, &out.KeyAgreement + *out = new(bool) + **out = **in + } + if in.KeyEncipherment != nil { + in, out := &in.KeyEncipherment, &out.KeyEncipherment + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyUsageOptionsObservation. +func (in *KeyUsageOptionsObservation) DeepCopy() *KeyUsageOptionsObservation { + if in == nil { + return nil + } + out := new(KeyUsageOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyUsageOptionsParameters) DeepCopyInto(out *KeyUsageOptionsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyUsageOptionsParameters. +func (in *KeyUsageOptionsParameters) DeepCopy() *KeyUsageOptionsParameters { + if in == nil { + return nil + } + out := new(KeyUsageOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyUsageParameters) DeepCopyInto(out *KeyUsageParameters) { + *out = *in + if in.BaseKeyUsage != nil { + in, out := &in.BaseKeyUsage, &out.BaseKeyUsage + *out = make([]BaseKeyUsageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExtendedKeyUsage != nil { + in, out := &in.ExtendedKeyUsage, &out.ExtendedKeyUsage + *out = make([]ExtendedKeyUsageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UnknownExtendedKeyUsages != nil { + in, out := &in.UnknownExtendedKeyUsages, &out.UnknownExtendedKeyUsages + *out = make([]UnknownExtendedKeyUsagesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyUsageParameters. +func (in *KeyUsageParameters) DeepCopy() *KeyUsageParameters { + if in == nil { + return nil + } + out := new(KeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyUsageUnknownExtendedKeyUsagesObservation) DeepCopyInto(out *KeyUsageUnknownExtendedKeyUsagesObservation) { + *out = *in + if in.ObectID != nil { + in, out := &in.ObectID, &out.ObectID + *out = make([]ObectIDObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyUsageUnknownExtendedKeyUsagesObservation. +func (in *KeyUsageUnknownExtendedKeyUsagesObservation) DeepCopy() *KeyUsageUnknownExtendedKeyUsagesObservation { + if in == nil { + return nil + } + out := new(KeyUsageUnknownExtendedKeyUsagesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyUsageUnknownExtendedKeyUsagesParameters) DeepCopyInto(out *KeyUsageUnknownExtendedKeyUsagesParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyUsageUnknownExtendedKeyUsagesParameters. +func (in *KeyUsageUnknownExtendedKeyUsagesParameters) DeepCopy() *KeyUsageUnknownExtendedKeyUsagesParameters { + if in == nil { + return nil + } + out := new(KeyUsageUnknownExtendedKeyUsagesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObectIDObservation) DeepCopyInto(out *ObectIDObservation) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObectIDObservation. +func (in *ObectIDObservation) DeepCopy() *ObectIDObservation { + if in == nil { + return nil + } + out := new(ObectIDObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObectIDParameters) DeepCopyInto(out *ObectIDParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObectIDParameters. +func (in *ObectIDParameters) DeepCopy() *ObectIDParameters { + if in == nil { + return nil + } + out := new(ObectIDParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectIDObservation) DeepCopyInto(out *ObjectIDObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectIDObservation. +func (in *ObjectIDObservation) DeepCopy() *ObjectIDObservation { + if in == nil { + return nil + } + out := new(ObjectIDObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectIDParameters) DeepCopyInto(out *ObjectIDParameters) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectIDParameters. +func (in *ObjectIDParameters) DeepCopy() *ObjectIDParameters { + if in == nil { + return nil + } + out := new(ObjectIDParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PassthroughExtensionsAdditionalExtensionsObservation) DeepCopyInto(out *PassthroughExtensionsAdditionalExtensionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PassthroughExtensionsAdditionalExtensionsObservation. +func (in *PassthroughExtensionsAdditionalExtensionsObservation) DeepCopy() *PassthroughExtensionsAdditionalExtensionsObservation { + if in == nil { + return nil + } + out := new(PassthroughExtensionsAdditionalExtensionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PassthroughExtensionsAdditionalExtensionsParameters) DeepCopyInto(out *PassthroughExtensionsAdditionalExtensionsParameters) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PassthroughExtensionsAdditionalExtensionsParameters. +func (in *PassthroughExtensionsAdditionalExtensionsParameters) DeepCopy() *PassthroughExtensionsAdditionalExtensionsParameters { + if in == nil { + return nil + } + out := new(PassthroughExtensionsAdditionalExtensionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PassthroughExtensionsObservation) DeepCopyInto(out *PassthroughExtensionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PassthroughExtensionsObservation. +func (in *PassthroughExtensionsObservation) DeepCopy() *PassthroughExtensionsObservation { + if in == nil { + return nil + } + out := new(PassthroughExtensionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PassthroughExtensionsParameters) DeepCopyInto(out *PassthroughExtensionsParameters) { + *out = *in + if in.AdditionalExtensions != nil { + in, out := &in.AdditionalExtensions, &out.AdditionalExtensions + *out = make([]PassthroughExtensionsAdditionalExtensionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.KnownExtensions != nil { + in, out := &in.KnownExtensions, &out.KnownExtensions + *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 PassthroughExtensionsParameters. +func (in *PassthroughExtensionsParameters) DeepCopy() *PassthroughExtensionsParameters { + if in == nil { + return nil + } + out := new(PassthroughExtensionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicyIdsObservation) DeepCopyInto(out *PolicyIdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyIdsObservation. +func (in *PolicyIdsObservation) DeepCopy() *PolicyIdsObservation { + if in == nil { + return nil + } + out := new(PolicyIdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicyIdsParameters) DeepCopyInto(out *PolicyIdsParameters) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyIdsParameters. +func (in *PolicyIdsParameters) DeepCopy() *PolicyIdsParameters { + if in == nil { + return nil + } + out := new(PolicyIdsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesAdditionalExtensionsObjectIDObservation) DeepCopyInto(out *PredefinedValuesAdditionalExtensionsObjectIDObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesAdditionalExtensionsObjectIDObservation. +func (in *PredefinedValuesAdditionalExtensionsObjectIDObservation) DeepCopy() *PredefinedValuesAdditionalExtensionsObjectIDObservation { + if in == nil { + return nil + } + out := new(PredefinedValuesAdditionalExtensionsObjectIDObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesAdditionalExtensionsObjectIDParameters) DeepCopyInto(out *PredefinedValuesAdditionalExtensionsObjectIDParameters) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesAdditionalExtensionsObjectIDParameters. +func (in *PredefinedValuesAdditionalExtensionsObjectIDParameters) DeepCopy() *PredefinedValuesAdditionalExtensionsObjectIDParameters { + if in == nil { + return nil + } + out := new(PredefinedValuesAdditionalExtensionsObjectIDParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesAdditionalExtensionsObservation) DeepCopyInto(out *PredefinedValuesAdditionalExtensionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesAdditionalExtensionsObservation. +func (in *PredefinedValuesAdditionalExtensionsObservation) DeepCopy() *PredefinedValuesAdditionalExtensionsObservation { + if in == nil { + return nil + } + out := new(PredefinedValuesAdditionalExtensionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesAdditionalExtensionsParameters) DeepCopyInto(out *PredefinedValuesAdditionalExtensionsParameters) { + *out = *in + if in.Critical != nil { + in, out := &in.Critical, &out.Critical + *out = new(bool) + **out = **in + } + if in.ObjectID != nil { + in, out := &in.ObjectID, &out.ObjectID + *out = make([]PredefinedValuesAdditionalExtensionsObjectIDParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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 PredefinedValuesAdditionalExtensionsParameters. +func (in *PredefinedValuesAdditionalExtensionsParameters) DeepCopy() *PredefinedValuesAdditionalExtensionsParameters { + if in == nil { + return nil + } + out := new(PredefinedValuesAdditionalExtensionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesCAOptionsObservation) DeepCopyInto(out *PredefinedValuesCAOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesCAOptionsObservation. +func (in *PredefinedValuesCAOptionsObservation) DeepCopy() *PredefinedValuesCAOptionsObservation { + if in == nil { + return nil + } + out := new(PredefinedValuesCAOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesCAOptionsParameters) DeepCopyInto(out *PredefinedValuesCAOptionsParameters) { + *out = *in + if in.IsCA != nil { + in, out := &in.IsCA, &out.IsCA + *out = new(bool) + **out = **in + } + if in.MaxIssuerPathLength != nil { + in, out := &in.MaxIssuerPathLength, &out.MaxIssuerPathLength + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesCAOptionsParameters. +func (in *PredefinedValuesCAOptionsParameters) DeepCopy() *PredefinedValuesCAOptionsParameters { + if in == nil { + return nil + } + out := new(PredefinedValuesCAOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesKeyUsageBaseKeyUsageObservation) DeepCopyInto(out *PredefinedValuesKeyUsageBaseKeyUsageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesKeyUsageBaseKeyUsageObservation. +func (in *PredefinedValuesKeyUsageBaseKeyUsageObservation) DeepCopy() *PredefinedValuesKeyUsageBaseKeyUsageObservation { + if in == nil { + return nil + } + out := new(PredefinedValuesKeyUsageBaseKeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesKeyUsageBaseKeyUsageParameters) DeepCopyInto(out *PredefinedValuesKeyUsageBaseKeyUsageParameters) { + *out = *in + if in.CertSign != nil { + in, out := &in.CertSign, &out.CertSign + *out = new(bool) + **out = **in + } + if in.ContentCommitment != nil { + in, out := &in.ContentCommitment, &out.ContentCommitment + *out = new(bool) + **out = **in + } + if in.CrlSign != nil { + in, out := &in.CrlSign, &out.CrlSign + *out = new(bool) + **out = **in + } + if in.DataEncipherment != nil { + in, out := &in.DataEncipherment, &out.DataEncipherment + *out = new(bool) + **out = **in + } + if in.DecipherOnly != nil { + in, out := &in.DecipherOnly, &out.DecipherOnly + *out = new(bool) + **out = **in + } + if in.DigitalSignature != nil { + in, out := &in.DigitalSignature, &out.DigitalSignature + *out = new(bool) + **out = **in + } + if in.EncipherOnly != nil { + in, out := &in.EncipherOnly, &out.EncipherOnly + *out = new(bool) + **out = **in + } + if in.KeyAgreement != nil { + in, out := &in.KeyAgreement, &out.KeyAgreement + *out = new(bool) + **out = **in + } + if in.KeyEncipherment != nil { + in, out := &in.KeyEncipherment, &out.KeyEncipherment + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesKeyUsageBaseKeyUsageParameters. +func (in *PredefinedValuesKeyUsageBaseKeyUsageParameters) DeepCopy() *PredefinedValuesKeyUsageBaseKeyUsageParameters { + if in == nil { + return nil + } + out := new(PredefinedValuesKeyUsageBaseKeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesKeyUsageExtendedKeyUsageObservation) DeepCopyInto(out *PredefinedValuesKeyUsageExtendedKeyUsageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesKeyUsageExtendedKeyUsageObservation. +func (in *PredefinedValuesKeyUsageExtendedKeyUsageObservation) DeepCopy() *PredefinedValuesKeyUsageExtendedKeyUsageObservation { + if in == nil { + return nil + } + out := new(PredefinedValuesKeyUsageExtendedKeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesKeyUsageExtendedKeyUsageParameters) DeepCopyInto(out *PredefinedValuesKeyUsageExtendedKeyUsageParameters) { + *out = *in + if in.ClientAuth != nil { + in, out := &in.ClientAuth, &out.ClientAuth + *out = new(bool) + **out = **in + } + if in.CodeSigning != nil { + in, out := &in.CodeSigning, &out.CodeSigning + *out = new(bool) + **out = **in + } + if in.EmailProtection != nil { + in, out := &in.EmailProtection, &out.EmailProtection + *out = new(bool) + **out = **in + } + if in.OcspSigning != nil { + in, out := &in.OcspSigning, &out.OcspSigning + *out = new(bool) + **out = **in + } + if in.ServerAuth != nil { + in, out := &in.ServerAuth, &out.ServerAuth + *out = new(bool) + **out = **in + } + if in.TimeStamping != nil { + in, out := &in.TimeStamping, &out.TimeStamping + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesKeyUsageExtendedKeyUsageParameters. +func (in *PredefinedValuesKeyUsageExtendedKeyUsageParameters) DeepCopy() *PredefinedValuesKeyUsageExtendedKeyUsageParameters { + if in == nil { + return nil + } + out := new(PredefinedValuesKeyUsageExtendedKeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesKeyUsageObservation) DeepCopyInto(out *PredefinedValuesKeyUsageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesKeyUsageObservation. +func (in *PredefinedValuesKeyUsageObservation) DeepCopy() *PredefinedValuesKeyUsageObservation { + if in == nil { + return nil + } + out := new(PredefinedValuesKeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesKeyUsageParameters) DeepCopyInto(out *PredefinedValuesKeyUsageParameters) { + *out = *in + if in.BaseKeyUsage != nil { + in, out := &in.BaseKeyUsage, &out.BaseKeyUsage + *out = make([]PredefinedValuesKeyUsageBaseKeyUsageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExtendedKeyUsage != nil { + in, out := &in.ExtendedKeyUsage, &out.ExtendedKeyUsage + *out = make([]PredefinedValuesKeyUsageExtendedKeyUsageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UnknownExtendedKeyUsages != nil { + in, out := &in.UnknownExtendedKeyUsages, &out.UnknownExtendedKeyUsages + *out = make([]PredefinedValuesKeyUsageUnknownExtendedKeyUsagesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesKeyUsageParameters. +func (in *PredefinedValuesKeyUsageParameters) DeepCopy() *PredefinedValuesKeyUsageParameters { + if in == nil { + return nil + } + out := new(PredefinedValuesKeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesKeyUsageUnknownExtendedKeyUsagesObservation) DeepCopyInto(out *PredefinedValuesKeyUsageUnknownExtendedKeyUsagesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesKeyUsageUnknownExtendedKeyUsagesObservation. +func (in *PredefinedValuesKeyUsageUnknownExtendedKeyUsagesObservation) DeepCopy() *PredefinedValuesKeyUsageUnknownExtendedKeyUsagesObservation { + if in == nil { + return nil + } + out := new(PredefinedValuesKeyUsageUnknownExtendedKeyUsagesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesKeyUsageUnknownExtendedKeyUsagesParameters) DeepCopyInto(out *PredefinedValuesKeyUsageUnknownExtendedKeyUsagesParameters) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesKeyUsageUnknownExtendedKeyUsagesParameters. +func (in *PredefinedValuesKeyUsageUnknownExtendedKeyUsagesParameters) DeepCopy() *PredefinedValuesKeyUsageUnknownExtendedKeyUsagesParameters { + if in == nil { + return nil + } + out := new(PredefinedValuesKeyUsageUnknownExtendedKeyUsagesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesObservation) DeepCopyInto(out *PredefinedValuesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesObservation. +func (in *PredefinedValuesObservation) DeepCopy() *PredefinedValuesObservation { + if in == nil { + return nil + } + out := new(PredefinedValuesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesParameters) DeepCopyInto(out *PredefinedValuesParameters) { + *out = *in + if in.AdditionalExtensions != nil { + in, out := &in.AdditionalExtensions, &out.AdditionalExtensions + *out = make([]PredefinedValuesAdditionalExtensionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AiaOcspServers != nil { + in, out := &in.AiaOcspServers, &out.AiaOcspServers + *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.CAOptions != nil { + in, out := &in.CAOptions, &out.CAOptions + *out = make([]PredefinedValuesCAOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.KeyUsage != nil { + in, out := &in.KeyUsage, &out.KeyUsage + *out = make([]PredefinedValuesKeyUsageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PolicyIds != nil { + in, out := &in.PolicyIds, &out.PolicyIds + *out = make([]PredefinedValuesPolicyIdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesParameters. +func (in *PredefinedValuesParameters) DeepCopy() *PredefinedValuesParameters { + if in == nil { + return nil + } + out := new(PredefinedValuesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesPolicyIdsObservation) DeepCopyInto(out *PredefinedValuesPolicyIdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesPolicyIdsObservation. +func (in *PredefinedValuesPolicyIdsObservation) DeepCopy() *PredefinedValuesPolicyIdsObservation { + if in == nil { + return nil + } + out := new(PredefinedValuesPolicyIdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PredefinedValuesPolicyIdsParameters) DeepCopyInto(out *PredefinedValuesPolicyIdsParameters) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredefinedValuesPolicyIdsParameters. +func (in *PredefinedValuesPolicyIdsParameters) DeepCopy() *PredefinedValuesPolicyIdsParameters { + if in == nil { + return nil + } + out := new(PredefinedValuesPolicyIdsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublicKeyObservation) DeepCopyInto(out *PublicKeyObservation) { + *out = *in + if in.Format != nil { + in, out := &in.Format, &out.Format + *out = new(string) + **out = **in + } + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicKeyObservation. +func (in *PublicKeyObservation) DeepCopy() *PublicKeyObservation { + if in == nil { + return nil + } + out := new(PublicKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublicKeyParameters) DeepCopyInto(out *PublicKeyParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicKeyParameters. +func (in *PublicKeyParameters) DeepCopy() *PublicKeyParameters { + if in == nil { + return nil + } + out := new(PublicKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublishingOptionsObservation) DeepCopyInto(out *PublishingOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublishingOptionsObservation. +func (in *PublishingOptionsObservation) DeepCopy() *PublishingOptionsObservation { + if in == nil { + return nil + } + out := new(PublishingOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublishingOptionsParameters) DeepCopyInto(out *PublishingOptionsParameters) { + *out = *in + if in.PublishCACert != nil { + in, out := &in.PublishCACert, &out.PublishCACert + *out = new(bool) + **out = **in + } + if in.PublishCrl != nil { + in, out := &in.PublishCrl, &out.PublishCrl + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublishingOptionsParameters. +func (in *PublishingOptionsParameters) DeepCopy() *PublishingOptionsParameters { + if in == nil { + return nil + } + out := new(PublishingOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RevocationDetailsObservation) DeepCopyInto(out *RevocationDetailsObservation) { + *out = *in + if in.RevocationState != nil { + in, out := &in.RevocationState, &out.RevocationState + *out = new(string) + **out = **in + } + if in.RevocationTime != nil { + in, out := &in.RevocationTime, &out.RevocationTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RevocationDetailsObservation. +func (in *RevocationDetailsObservation) DeepCopy() *RevocationDetailsObservation { + if in == nil { + return nil + } + out := new(RevocationDetailsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RevocationDetailsParameters) DeepCopyInto(out *RevocationDetailsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RevocationDetailsParameters. +func (in *RevocationDetailsParameters) DeepCopy() *RevocationDetailsParameters { + if in == nil { + return nil + } + out := new(RevocationDetailsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RsaObservation) DeepCopyInto(out *RsaObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RsaObservation. +func (in *RsaObservation) DeepCopy() *RsaObservation { + if in == nil { + return nil + } + out := new(RsaObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RsaParameters) DeepCopyInto(out *RsaParameters) { + *out = *in + if in.MaxModulusSize != nil { + in, out := &in.MaxModulusSize, &out.MaxModulusSize + *out = new(string) + **out = **in + } + if in.MinModulusSize != nil { + in, out := &in.MinModulusSize, &out.MinModulusSize + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RsaParameters. +func (in *RsaParameters) DeepCopy() *RsaParameters { + if in == nil { + return nil + } + out := new(RsaParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectAltNameObservation) DeepCopyInto(out *SubjectAltNameObservation) { + *out = *in + if in.CustomSans != nil { + in, out := &in.CustomSans, &out.CustomSans + *out = make([]CustomSansObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DNSNames != nil { + in, out := &in.DNSNames, &out.DNSNames + *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.EmailAddresses != nil { + in, out := &in.EmailAddresses, &out.EmailAddresses + *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.IPAddresses != nil { + in, out := &in.IPAddresses, &out.IPAddresses + *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.Uris != nil { + in, out := &in.Uris, &out.Uris + *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 SubjectAltNameObservation. +func (in *SubjectAltNameObservation) DeepCopy() *SubjectAltNameObservation { + if in == nil { + return nil + } + out := new(SubjectAltNameObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectAltNameParameters) DeepCopyInto(out *SubjectAltNameParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectAltNameParameters. +func (in *SubjectAltNameParameters) DeepCopy() *SubjectAltNameParameters { + if in == nil { + return nil + } + out := new(SubjectAltNameParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectConfigObservation) DeepCopyInto(out *SubjectConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectConfigObservation. +func (in *SubjectConfigObservation) DeepCopy() *SubjectConfigObservation { + if in == nil { + return nil + } + out := new(SubjectConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectConfigParameters) DeepCopyInto(out *SubjectConfigParameters) { + *out = *in + if in.Subject != nil { + in, out := &in.Subject, &out.Subject + *out = make([]SubjectConfigSubjectParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SubjectAltName != nil { + in, out := &in.SubjectAltName, &out.SubjectAltName + *out = make([]SubjectConfigSubjectAltNameParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectConfigParameters. +func (in *SubjectConfigParameters) DeepCopy() *SubjectConfigParameters { + if in == nil { + return nil + } + out := new(SubjectConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectConfigSubjectAltNameObservation) DeepCopyInto(out *SubjectConfigSubjectAltNameObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectConfigSubjectAltNameObservation. +func (in *SubjectConfigSubjectAltNameObservation) DeepCopy() *SubjectConfigSubjectAltNameObservation { + if in == nil { + return nil + } + out := new(SubjectConfigSubjectAltNameObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectConfigSubjectAltNameParameters) DeepCopyInto(out *SubjectConfigSubjectAltNameParameters) { + *out = *in + if in.DNSNames != nil { + in, out := &in.DNSNames, &out.DNSNames + *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.EmailAddresses != nil { + in, out := &in.EmailAddresses, &out.EmailAddresses + *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.IPAddresses != nil { + in, out := &in.IPAddresses, &out.IPAddresses + *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.Uris != nil { + in, out := &in.Uris, &out.Uris + *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 SubjectConfigSubjectAltNameParameters. +func (in *SubjectConfigSubjectAltNameParameters) DeepCopy() *SubjectConfigSubjectAltNameParameters { + if in == nil { + return nil + } + out := new(SubjectConfigSubjectAltNameParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectConfigSubjectObservation) DeepCopyInto(out *SubjectConfigSubjectObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectConfigSubjectObservation. +func (in *SubjectConfigSubjectObservation) DeepCopy() *SubjectConfigSubjectObservation { + if in == nil { + return nil + } + out := new(SubjectConfigSubjectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectConfigSubjectParameters) DeepCopyInto(out *SubjectConfigSubjectParameters) { + *out = *in + if in.CommonName != nil { + in, out := &in.CommonName, &out.CommonName + *out = new(string) + **out = **in + } + if in.CountryCode != nil { + in, out := &in.CountryCode, &out.CountryCode + *out = new(string) + **out = **in + } + if in.Locality != nil { + in, out := &in.Locality, &out.Locality + *out = new(string) + **out = **in + } + if in.Organization != nil { + in, out := &in.Organization, &out.Organization + *out = new(string) + **out = **in + } + if in.OrganizationalUnit != nil { + in, out := &in.OrganizationalUnit, &out.OrganizationalUnit + *out = new(string) + **out = **in + } + if in.PostalCode != nil { + in, out := &in.PostalCode, &out.PostalCode + *out = new(string) + **out = **in + } + if in.Province != nil { + in, out := &in.Province, &out.Province + *out = new(string) + **out = **in + } + if in.StreetAddress != nil { + in, out := &in.StreetAddress, &out.StreetAddress + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectConfigSubjectParameters. +func (in *SubjectConfigSubjectParameters) DeepCopy() *SubjectConfigSubjectParameters { + if in == nil { + return nil + } + out := new(SubjectConfigSubjectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectDescriptionObservation) DeepCopyInto(out *SubjectDescriptionObservation) { + *out = *in + if in.HexSerialNumber != nil { + in, out := &in.HexSerialNumber, &out.HexSerialNumber + *out = new(string) + **out = **in + } + if in.Lifetime != nil { + in, out := &in.Lifetime, &out.Lifetime + *out = new(string) + **out = **in + } + if in.NotAfterTime != nil { + in, out := &in.NotAfterTime, &out.NotAfterTime + *out = new(string) + **out = **in + } + if in.NotBeforeTime != nil { + in, out := &in.NotBeforeTime, &out.NotBeforeTime + *out = new(string) + **out = **in + } + if in.Subject != nil { + in, out := &in.Subject, &out.Subject + *out = make([]SubjectObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SubjectAltName != nil { + in, out := &in.SubjectAltName, &out.SubjectAltName + *out = make([]SubjectAltNameObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectDescriptionObservation. +func (in *SubjectDescriptionObservation) DeepCopy() *SubjectDescriptionObservation { + if in == nil { + return nil + } + out := new(SubjectDescriptionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectDescriptionParameters) DeepCopyInto(out *SubjectDescriptionParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectDescriptionParameters. +func (in *SubjectDescriptionParameters) DeepCopy() *SubjectDescriptionParameters { + if in == nil { + return nil + } + out := new(SubjectDescriptionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectKeyIDObservation) DeepCopyInto(out *SubjectKeyIDObservation) { + *out = *in + if in.KeyID != nil { + in, out := &in.KeyID, &out.KeyID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectKeyIDObservation. +func (in *SubjectKeyIDObservation) DeepCopy() *SubjectKeyIDObservation { + if in == nil { + return nil + } + out := new(SubjectKeyIDObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectKeyIDParameters) DeepCopyInto(out *SubjectKeyIDParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectKeyIDParameters. +func (in *SubjectKeyIDParameters) DeepCopy() *SubjectKeyIDParameters { + if in == nil { + return nil + } + out := new(SubjectKeyIDParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectObservation) DeepCopyInto(out *SubjectObservation) { + *out = *in + if in.CommonName != nil { + in, out := &in.CommonName, &out.CommonName + *out = new(string) + **out = **in + } + if in.CountryCode != nil { + in, out := &in.CountryCode, &out.CountryCode + *out = new(string) + **out = **in + } + if in.Locality != nil { + in, out := &in.Locality, &out.Locality + *out = new(string) + **out = **in + } + if in.Organization != nil { + in, out := &in.Organization, &out.Organization + *out = new(string) + **out = **in + } + if in.OrganizationalUnit != nil { + in, out := &in.OrganizationalUnit, &out.OrganizationalUnit + *out = new(string) + **out = **in + } + if in.PostalCode != nil { + in, out := &in.PostalCode, &out.PostalCode + *out = new(string) + **out = **in + } + if in.Province != nil { + in, out := &in.Province, &out.Province + *out = new(string) + **out = **in + } + if in.StreetAddress != nil { + in, out := &in.StreetAddress, &out.StreetAddress + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectObservation. +func (in *SubjectObservation) DeepCopy() *SubjectObservation { + if in == nil { + return nil + } + out := new(SubjectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectParameters) DeepCopyInto(out *SubjectParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectParameters. +func (in *SubjectParameters) DeepCopy() *SubjectParameters { + if in == nil { + return nil + } + out := new(SubjectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UnknownExtendedKeyUsagesObservation) DeepCopyInto(out *UnknownExtendedKeyUsagesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnknownExtendedKeyUsagesObservation. +func (in *UnknownExtendedKeyUsagesObservation) DeepCopy() *UnknownExtendedKeyUsagesObservation { + if in == nil { + return nil + } + out := new(UnknownExtendedKeyUsagesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UnknownExtendedKeyUsagesParameters) DeepCopyInto(out *UnknownExtendedKeyUsagesParameters) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnknownExtendedKeyUsagesParameters. +func (in *UnknownExtendedKeyUsagesParameters) DeepCopy() *UnknownExtendedKeyUsagesParameters { + if in == nil { + return nil + } + out := new(UnknownExtendedKeyUsagesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigAdditionalExtensionsObjectIDObservation) DeepCopyInto(out *X509ConfigAdditionalExtensionsObjectIDObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigAdditionalExtensionsObjectIDObservation. +func (in *X509ConfigAdditionalExtensionsObjectIDObservation) DeepCopy() *X509ConfigAdditionalExtensionsObjectIDObservation { + if in == nil { + return nil + } + out := new(X509ConfigAdditionalExtensionsObjectIDObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigAdditionalExtensionsObjectIDParameters) DeepCopyInto(out *X509ConfigAdditionalExtensionsObjectIDParameters) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigAdditionalExtensionsObjectIDParameters. +func (in *X509ConfigAdditionalExtensionsObjectIDParameters) DeepCopy() *X509ConfigAdditionalExtensionsObjectIDParameters { + if in == nil { + return nil + } + out := new(X509ConfigAdditionalExtensionsObjectIDParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigAdditionalExtensionsObservation) DeepCopyInto(out *X509ConfigAdditionalExtensionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigAdditionalExtensionsObservation. +func (in *X509ConfigAdditionalExtensionsObservation) DeepCopy() *X509ConfigAdditionalExtensionsObservation { + if in == nil { + return nil + } + out := new(X509ConfigAdditionalExtensionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigAdditionalExtensionsParameters) DeepCopyInto(out *X509ConfigAdditionalExtensionsParameters) { + *out = *in + if in.Critical != nil { + in, out := &in.Critical, &out.Critical + *out = new(bool) + **out = **in + } + if in.ObjectID != nil { + in, out := &in.ObjectID, &out.ObjectID + *out = make([]AdditionalExtensionsObjectIDParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + 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 X509ConfigAdditionalExtensionsParameters. +func (in *X509ConfigAdditionalExtensionsParameters) DeepCopy() *X509ConfigAdditionalExtensionsParameters { + if in == nil { + return nil + } + out := new(X509ConfigAdditionalExtensionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigCAOptionsObservation) DeepCopyInto(out *X509ConfigCAOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigCAOptionsObservation. +func (in *X509ConfigCAOptionsObservation) DeepCopy() *X509ConfigCAOptionsObservation { + if in == nil { + return nil + } + out := new(X509ConfigCAOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigCAOptionsParameters) DeepCopyInto(out *X509ConfigCAOptionsParameters) { + *out = *in + if in.IsCA != nil { + in, out := &in.IsCA, &out.IsCA + *out = new(bool) + **out = **in + } + if in.MaxIssuerPathLength != nil { + in, out := &in.MaxIssuerPathLength, &out.MaxIssuerPathLength + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigCAOptionsParameters. +func (in *X509ConfigCAOptionsParameters) DeepCopy() *X509ConfigCAOptionsParameters { + if in == nil { + return nil + } + out := new(X509ConfigCAOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigKeyUsageBaseKeyUsageObservation) DeepCopyInto(out *X509ConfigKeyUsageBaseKeyUsageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigKeyUsageBaseKeyUsageObservation. +func (in *X509ConfigKeyUsageBaseKeyUsageObservation) DeepCopy() *X509ConfigKeyUsageBaseKeyUsageObservation { + if in == nil { + return nil + } + out := new(X509ConfigKeyUsageBaseKeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigKeyUsageBaseKeyUsageParameters) DeepCopyInto(out *X509ConfigKeyUsageBaseKeyUsageParameters) { + *out = *in + if in.CertSign != nil { + in, out := &in.CertSign, &out.CertSign + *out = new(bool) + **out = **in + } + if in.ContentCommitment != nil { + in, out := &in.ContentCommitment, &out.ContentCommitment + *out = new(bool) + **out = **in + } + if in.CrlSign != nil { + in, out := &in.CrlSign, &out.CrlSign + *out = new(bool) + **out = **in + } + if in.DataEncipherment != nil { + in, out := &in.DataEncipherment, &out.DataEncipherment + *out = new(bool) + **out = **in + } + if in.DecipherOnly != nil { + in, out := &in.DecipherOnly, &out.DecipherOnly + *out = new(bool) + **out = **in + } + if in.DigitalSignature != nil { + in, out := &in.DigitalSignature, &out.DigitalSignature + *out = new(bool) + **out = **in + } + if in.EncipherOnly != nil { + in, out := &in.EncipherOnly, &out.EncipherOnly + *out = new(bool) + **out = **in + } + if in.KeyAgreement != nil { + in, out := &in.KeyAgreement, &out.KeyAgreement + *out = new(bool) + **out = **in + } + if in.KeyEncipherment != nil { + in, out := &in.KeyEncipherment, &out.KeyEncipherment + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigKeyUsageBaseKeyUsageParameters. +func (in *X509ConfigKeyUsageBaseKeyUsageParameters) DeepCopy() *X509ConfigKeyUsageBaseKeyUsageParameters { + if in == nil { + return nil + } + out := new(X509ConfigKeyUsageBaseKeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigKeyUsageExtendedKeyUsageObservation) DeepCopyInto(out *X509ConfigKeyUsageExtendedKeyUsageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigKeyUsageExtendedKeyUsageObservation. +func (in *X509ConfigKeyUsageExtendedKeyUsageObservation) DeepCopy() *X509ConfigKeyUsageExtendedKeyUsageObservation { + if in == nil { + return nil + } + out := new(X509ConfigKeyUsageExtendedKeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigKeyUsageExtendedKeyUsageParameters) DeepCopyInto(out *X509ConfigKeyUsageExtendedKeyUsageParameters) { + *out = *in + if in.ClientAuth != nil { + in, out := &in.ClientAuth, &out.ClientAuth + *out = new(bool) + **out = **in + } + if in.CodeSigning != nil { + in, out := &in.CodeSigning, &out.CodeSigning + *out = new(bool) + **out = **in + } + if in.EmailProtection != nil { + in, out := &in.EmailProtection, &out.EmailProtection + *out = new(bool) + **out = **in + } + if in.OcspSigning != nil { + in, out := &in.OcspSigning, &out.OcspSigning + *out = new(bool) + **out = **in + } + if in.ServerAuth != nil { + in, out := &in.ServerAuth, &out.ServerAuth + *out = new(bool) + **out = **in + } + if in.TimeStamping != nil { + in, out := &in.TimeStamping, &out.TimeStamping + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigKeyUsageExtendedKeyUsageParameters. +func (in *X509ConfigKeyUsageExtendedKeyUsageParameters) DeepCopy() *X509ConfigKeyUsageExtendedKeyUsageParameters { + if in == nil { + return nil + } + out := new(X509ConfigKeyUsageExtendedKeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigKeyUsageObservation) DeepCopyInto(out *X509ConfigKeyUsageObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigKeyUsageObservation. +func (in *X509ConfigKeyUsageObservation) DeepCopy() *X509ConfigKeyUsageObservation { + if in == nil { + return nil + } + out := new(X509ConfigKeyUsageObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigKeyUsageParameters) DeepCopyInto(out *X509ConfigKeyUsageParameters) { + *out = *in + if in.BaseKeyUsage != nil { + in, out := &in.BaseKeyUsage, &out.BaseKeyUsage + *out = make([]X509ConfigKeyUsageBaseKeyUsageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ExtendedKeyUsage != nil { + in, out := &in.ExtendedKeyUsage, &out.ExtendedKeyUsage + *out = make([]X509ConfigKeyUsageExtendedKeyUsageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UnknownExtendedKeyUsages != nil { + in, out := &in.UnknownExtendedKeyUsages, &out.UnknownExtendedKeyUsages + *out = make([]X509ConfigKeyUsageUnknownExtendedKeyUsagesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigKeyUsageParameters. +func (in *X509ConfigKeyUsageParameters) DeepCopy() *X509ConfigKeyUsageParameters { + if in == nil { + return nil + } + out := new(X509ConfigKeyUsageParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigKeyUsageUnknownExtendedKeyUsagesObservation) DeepCopyInto(out *X509ConfigKeyUsageUnknownExtendedKeyUsagesObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigKeyUsageUnknownExtendedKeyUsagesObservation. +func (in *X509ConfigKeyUsageUnknownExtendedKeyUsagesObservation) DeepCopy() *X509ConfigKeyUsageUnknownExtendedKeyUsagesObservation { + if in == nil { + return nil + } + out := new(X509ConfigKeyUsageUnknownExtendedKeyUsagesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigKeyUsageUnknownExtendedKeyUsagesParameters) DeepCopyInto(out *X509ConfigKeyUsageUnknownExtendedKeyUsagesParameters) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigKeyUsageUnknownExtendedKeyUsagesParameters. +func (in *X509ConfigKeyUsageUnknownExtendedKeyUsagesParameters) DeepCopy() *X509ConfigKeyUsageUnknownExtendedKeyUsagesParameters { + if in == nil { + return nil + } + out := new(X509ConfigKeyUsageUnknownExtendedKeyUsagesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigObservation) DeepCopyInto(out *X509ConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigObservation. +func (in *X509ConfigObservation) DeepCopy() *X509ConfigObservation { + if in == nil { + return nil + } + out := new(X509ConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigParameters) DeepCopyInto(out *X509ConfigParameters) { + *out = *in + if in.AdditionalExtensions != nil { + in, out := &in.AdditionalExtensions, &out.AdditionalExtensions + *out = make([]X509ConfigAdditionalExtensionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AiaOcspServers != nil { + in, out := &in.AiaOcspServers, &out.AiaOcspServers + *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.CAOptions != nil { + in, out := &in.CAOptions, &out.CAOptions + *out = make([]X509ConfigCAOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.KeyUsage != nil { + in, out := &in.KeyUsage, &out.KeyUsage + *out = make([]X509ConfigKeyUsageParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PolicyIds != nil { + in, out := &in.PolicyIds, &out.PolicyIds + *out = make([]X509ConfigPolicyIdsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigParameters. +func (in *X509ConfigParameters) DeepCopy() *X509ConfigParameters { + if in == nil { + return nil + } + out := new(X509ConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigPolicyIdsObservation) DeepCopyInto(out *X509ConfigPolicyIdsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigPolicyIdsObservation. +func (in *X509ConfigPolicyIdsObservation) DeepCopy() *X509ConfigPolicyIdsObservation { + if in == nil { + return nil + } + out := new(X509ConfigPolicyIdsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *X509ConfigPolicyIdsParameters) DeepCopyInto(out *X509ConfigPolicyIdsParameters) { + *out = *in + if in.ObjectIDPath != nil { + in, out := &in.ObjectIDPath, &out.ObjectIDPath + *out = make([]*int64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(int64) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new X509ConfigPolicyIdsParameters. +func (in *X509ConfigPolicyIdsParameters) DeepCopy() *X509ConfigPolicyIdsParameters { + if in == nil { + return nil + } + out := new(X509ConfigPolicyIdsParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/privateca/v1alpha1/zz_generated.managed.go b/apis/privateca/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..98aba033 --- /dev/null +++ b/apis/privateca/v1alpha1/zz_generated.managed.go @@ -0,0 +1,412 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this CAPool. +func (mg *CAPool) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this CAPool. +func (mg *CAPool) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this CAPool. +func (mg *CAPool) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this CAPool. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *CAPool) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this CAPool. +func (mg *CAPool) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this CAPool. +func (mg *CAPool) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this CAPool. +func (mg *CAPool) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this CAPool. +func (mg *CAPool) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this CAPool. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *CAPool) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this CAPool. +func (mg *CAPool) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this CAPoolIAMBinding. +func (mg *CAPoolIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this CAPoolIAMBinding. +func (mg *CAPoolIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this CAPoolIAMBinding. +func (mg *CAPoolIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this CAPoolIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *CAPoolIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this CAPoolIAMBinding. +func (mg *CAPoolIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this CAPoolIAMBinding. +func (mg *CAPoolIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this CAPoolIAMBinding. +func (mg *CAPoolIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this CAPoolIAMBinding. +func (mg *CAPoolIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this CAPoolIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *CAPoolIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this CAPoolIAMBinding. +func (mg *CAPoolIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this CAPoolIAMMember. +func (mg *CAPoolIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this CAPoolIAMMember. +func (mg *CAPoolIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this CAPoolIAMMember. +func (mg *CAPoolIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this CAPoolIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *CAPoolIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this CAPoolIAMMember. +func (mg *CAPoolIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this CAPoolIAMMember. +func (mg *CAPoolIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this CAPoolIAMMember. +func (mg *CAPoolIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this CAPoolIAMMember. +func (mg *CAPoolIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this CAPoolIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *CAPoolIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this CAPoolIAMMember. +func (mg *CAPoolIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this CAPoolIAMPolicy. +func (mg *CAPoolIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this CAPoolIAMPolicy. +func (mg *CAPoolIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this CAPoolIAMPolicy. +func (mg *CAPoolIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this CAPoolIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *CAPoolIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this CAPoolIAMPolicy. +func (mg *CAPoolIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this CAPoolIAMPolicy. +func (mg *CAPoolIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this CAPoolIAMPolicy. +func (mg *CAPoolIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this CAPoolIAMPolicy. +func (mg *CAPoolIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this CAPoolIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *CAPoolIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this CAPoolIAMPolicy. +func (mg *CAPoolIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Certificate. +func (mg *Certificate) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Certificate. +func (mg *Certificate) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Certificate. +func (mg *Certificate) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Certificate. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Certificate) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Certificate. +func (mg *Certificate) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Certificate. +func (mg *Certificate) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Certificate. +func (mg *Certificate) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Certificate. +func (mg *Certificate) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Certificate. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Certificate) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Certificate. +func (mg *Certificate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this CertificateAuthority. +func (mg *CertificateAuthority) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this CertificateAuthority. +func (mg *CertificateAuthority) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this CertificateAuthority. +func (mg *CertificateAuthority) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this CertificateAuthority. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *CertificateAuthority) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this CertificateAuthority. +func (mg *CertificateAuthority) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this CertificateAuthority. +func (mg *CertificateAuthority) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this CertificateAuthority. +func (mg *CertificateAuthority) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this CertificateAuthority. +func (mg *CertificateAuthority) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this CertificateAuthority. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *CertificateAuthority) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this CertificateAuthority. +func (mg *CertificateAuthority) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this CertificateTemplate. +func (mg *CertificateTemplate) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this CertificateTemplate. +func (mg *CertificateTemplate) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this CertificateTemplate. +func (mg *CertificateTemplate) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this CertificateTemplate. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *CertificateTemplate) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this CertificateTemplate. +func (mg *CertificateTemplate) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this CertificateTemplate. +func (mg *CertificateTemplate) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this CertificateTemplate. +func (mg *CertificateTemplate) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this CertificateTemplate. +func (mg *CertificateTemplate) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this CertificateTemplate. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *CertificateTemplate) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this CertificateTemplate. +func (mg *CertificateTemplate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/privateca/v1alpha1/zz_generated.managedlist.go b/apis/privateca/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..47f033ab --- /dev/null +++ b/apis/privateca/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,83 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this CAPoolIAMBindingList. +func (l *CAPoolIAMBindingList) 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 CAPoolIAMMemberList. +func (l *CAPoolIAMMemberList) 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 CAPoolIAMPolicyList. +func (l *CAPoolIAMPolicyList) 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 CAPoolList. +func (l *CAPoolList) 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 CertificateAuthorityList. +func (l *CertificateAuthorityList) 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 CertificateList. +func (l *CertificateList) 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 CertificateTemplateList. +func (l *CertificateTemplateList) 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/privateca/v1alpha1/zz_groupversion_info.go b/apis/privateca/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..1878bd3e --- /dev/null +++ b/apis/privateca/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=privateca.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "privateca.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/pubsub/v1alpha1/zz_generated.deepcopy.go b/apis/pubsub/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..b87db5ef --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,2646 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CapacityObservation) DeepCopyInto(out *CapacityObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityObservation. +func (in *CapacityObservation) DeepCopy() *CapacityObservation { + if in == nil { + return nil + } + out := new(CapacityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CapacityParameters) DeepCopyInto(out *CapacityParameters) { + *out = *in + if in.PublishMibPerSec != nil { + in, out := &in.PublishMibPerSec, &out.PublishMibPerSec + *out = new(int64) + **out = **in + } + if in.SubscribeMibPerSec != nil { + in, out := &in.SubscribeMibPerSec, &out.SubscribeMibPerSec + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityParameters. +func (in *CapacityParameters) DeepCopy() *CapacityParameters { + if in == nil { + return nil + } + out := new(CapacityParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeadLetterPolicyObservation) DeepCopyInto(out *DeadLetterPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeadLetterPolicyObservation. +func (in *DeadLetterPolicyObservation) DeepCopy() *DeadLetterPolicyObservation { + if in == nil { + return nil + } + out := new(DeadLetterPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeadLetterPolicyParameters) DeepCopyInto(out *DeadLetterPolicyParameters) { + *out = *in + if in.DeadLetterTopic != nil { + in, out := &in.DeadLetterTopic, &out.DeadLetterTopic + *out = new(string) + **out = **in + } + if in.MaxDeliveryAttempts != nil { + in, out := &in.MaxDeliveryAttempts, &out.MaxDeliveryAttempts + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeadLetterPolicyParameters. +func (in *DeadLetterPolicyParameters) DeepCopy() *DeadLetterPolicyParameters { + if in == nil { + return nil + } + out := new(DeadLetterPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeliveryConfigObservation) DeepCopyInto(out *DeliveryConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeliveryConfigObservation. +func (in *DeliveryConfigObservation) DeepCopy() *DeliveryConfigObservation { + if in == nil { + return nil + } + out := new(DeliveryConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeliveryConfigParameters) DeepCopyInto(out *DeliveryConfigParameters) { + *out = *in + if in.DeliveryRequirement != nil { + in, out := &in.DeliveryRequirement, &out.DeliveryRequirement + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeliveryConfigParameters. +func (in *DeliveryConfigParameters) DeepCopy() *DeliveryConfigParameters { + if in == nil { + return nil + } + out := new(DeliveryConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExpirationPolicyObservation) DeepCopyInto(out *ExpirationPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExpirationPolicyObservation. +func (in *ExpirationPolicyObservation) DeepCopy() *ExpirationPolicyObservation { + if in == nil { + return nil + } + out := new(ExpirationPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExpirationPolicyParameters) DeepCopyInto(out *ExpirationPolicyParameters) { + *out = *in + if in.TTL != nil { + in, out := &in.TTL, &out.TTL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExpirationPolicyParameters. +func (in *ExpirationPolicyParameters) DeepCopy() *ExpirationPolicyParameters { + if in == nil { + return nil + } + out := new(ExpirationPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LiteReservation) DeepCopyInto(out *LiteReservation) { + *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 LiteReservation. +func (in *LiteReservation) DeepCopy() *LiteReservation { + if in == nil { + return nil + } + out := new(LiteReservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LiteReservation) 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 *LiteReservationList) DeepCopyInto(out *LiteReservationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]LiteReservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteReservationList. +func (in *LiteReservationList) DeepCopy() *LiteReservationList { + if in == nil { + return nil + } + out := new(LiteReservationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LiteReservationList) 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 *LiteReservationObservation) DeepCopyInto(out *LiteReservationObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteReservationObservation. +func (in *LiteReservationObservation) DeepCopy() *LiteReservationObservation { + if in == nil { + return nil + } + out := new(LiteReservationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LiteReservationParameters) DeepCopyInto(out *LiteReservationParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.ThroughputCapacity != nil { + in, out := &in.ThroughputCapacity, &out.ThroughputCapacity + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteReservationParameters. +func (in *LiteReservationParameters) DeepCopy() *LiteReservationParameters { + if in == nil { + return nil + } + out := new(LiteReservationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LiteReservationSpec) DeepCopyInto(out *LiteReservationSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteReservationSpec. +func (in *LiteReservationSpec) DeepCopy() *LiteReservationSpec { + if in == nil { + return nil + } + out := new(LiteReservationSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LiteReservationStatus) DeepCopyInto(out *LiteReservationStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteReservationStatus. +func (in *LiteReservationStatus) DeepCopy() *LiteReservationStatus { + if in == nil { + return nil + } + out := new(LiteReservationStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LiteSubscription) DeepCopyInto(out *LiteSubscription) { + *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 LiteSubscription. +func (in *LiteSubscription) DeepCopy() *LiteSubscription { + if in == nil { + return nil + } + out := new(LiteSubscription) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LiteSubscription) 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 *LiteSubscriptionList) DeepCopyInto(out *LiteSubscriptionList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]LiteSubscription, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteSubscriptionList. +func (in *LiteSubscriptionList) DeepCopy() *LiteSubscriptionList { + if in == nil { + return nil + } + out := new(LiteSubscriptionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LiteSubscriptionList) 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 *LiteSubscriptionObservation) DeepCopyInto(out *LiteSubscriptionObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteSubscriptionObservation. +func (in *LiteSubscriptionObservation) DeepCopy() *LiteSubscriptionObservation { + if in == nil { + return nil + } + out := new(LiteSubscriptionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LiteSubscriptionParameters) DeepCopyInto(out *LiteSubscriptionParameters) { + *out = *in + if in.DeliveryConfig != nil { + in, out := &in.DeliveryConfig, &out.DeliveryConfig + *out = make([]DeliveryConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteSubscriptionParameters. +func (in *LiteSubscriptionParameters) DeepCopy() *LiteSubscriptionParameters { + if in == nil { + return nil + } + out := new(LiteSubscriptionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LiteSubscriptionSpec) DeepCopyInto(out *LiteSubscriptionSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteSubscriptionSpec. +func (in *LiteSubscriptionSpec) DeepCopy() *LiteSubscriptionSpec { + if in == nil { + return nil + } + out := new(LiteSubscriptionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LiteSubscriptionStatus) DeepCopyInto(out *LiteSubscriptionStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteSubscriptionStatus. +func (in *LiteSubscriptionStatus) DeepCopy() *LiteSubscriptionStatus { + if in == nil { + return nil + } + out := new(LiteSubscriptionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LiteTopic) DeepCopyInto(out *LiteTopic) { + *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 LiteTopic. +func (in *LiteTopic) DeepCopy() *LiteTopic { + if in == nil { + return nil + } + out := new(LiteTopic) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LiteTopic) 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 *LiteTopicList) DeepCopyInto(out *LiteTopicList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]LiteTopic, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteTopicList. +func (in *LiteTopicList) DeepCopy() *LiteTopicList { + if in == nil { + return nil + } + out := new(LiteTopicList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LiteTopicList) 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 *LiteTopicObservation) DeepCopyInto(out *LiteTopicObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteTopicObservation. +func (in *LiteTopicObservation) DeepCopy() *LiteTopicObservation { + if in == nil { + return nil + } + out := new(LiteTopicObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LiteTopicParameters) DeepCopyInto(out *LiteTopicParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PartitionConfig != nil { + in, out := &in.PartitionConfig, &out.PartitionConfig + *out = make([]PartitionConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.ReservationConfig != nil { + in, out := &in.ReservationConfig, &out.ReservationConfig + *out = make([]ReservationConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetentionConfig != nil { + in, out := &in.RetentionConfig, &out.RetentionConfig + *out = make([]RetentionConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteTopicParameters. +func (in *LiteTopicParameters) DeepCopy() *LiteTopicParameters { + if in == nil { + return nil + } + out := new(LiteTopicParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LiteTopicSpec) DeepCopyInto(out *LiteTopicSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteTopicSpec. +func (in *LiteTopicSpec) DeepCopy() *LiteTopicSpec { + if in == nil { + return nil + } + out := new(LiteTopicSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LiteTopicStatus) DeepCopyInto(out *LiteTopicStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteTopicStatus. +func (in *LiteTopicStatus) DeepCopy() *LiteTopicStatus { + if in == nil { + return nil + } + out := new(LiteTopicStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MessageStoragePolicyObservation) DeepCopyInto(out *MessageStoragePolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MessageStoragePolicyObservation. +func (in *MessageStoragePolicyObservation) DeepCopy() *MessageStoragePolicyObservation { + if in == nil { + return nil + } + out := new(MessageStoragePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MessageStoragePolicyParameters) DeepCopyInto(out *MessageStoragePolicyParameters) { + *out = *in + if in.AllowedPersistenceRegions != nil { + in, out := &in.AllowedPersistenceRegions, &out.AllowedPersistenceRegions + *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 MessageStoragePolicyParameters. +func (in *MessageStoragePolicyParameters) DeepCopy() *MessageStoragePolicyParameters { + if in == nil { + return nil + } + out := new(MessageStoragePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OidcTokenObservation) DeepCopyInto(out *OidcTokenObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OidcTokenObservation. +func (in *OidcTokenObservation) DeepCopy() *OidcTokenObservation { + if in == nil { + return nil + } + out := new(OidcTokenObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OidcTokenParameters) DeepCopyInto(out *OidcTokenParameters) { + *out = *in + if in.Audience != nil { + in, out := &in.Audience, &out.Audience + *out = new(string) + **out = **in + } + if in.ServiceAccountEmail != nil { + in, out := &in.ServiceAccountEmail, &out.ServiceAccountEmail + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OidcTokenParameters. +func (in *OidcTokenParameters) DeepCopy() *OidcTokenParameters { + if in == nil { + return nil + } + out := new(OidcTokenParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PartitionConfigObservation) DeepCopyInto(out *PartitionConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PartitionConfigObservation. +func (in *PartitionConfigObservation) DeepCopy() *PartitionConfigObservation { + if in == nil { + return nil + } + out := new(PartitionConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PartitionConfigParameters) DeepCopyInto(out *PartitionConfigParameters) { + *out = *in + if in.Capacity != nil { + in, out := &in.Capacity, &out.Capacity + *out = make([]CapacityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PartitionConfigParameters. +func (in *PartitionConfigParameters) DeepCopy() *PartitionConfigParameters { + if in == nil { + return nil + } + out := new(PartitionConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PushConfigObservation) DeepCopyInto(out *PushConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PushConfigObservation. +func (in *PushConfigObservation) DeepCopy() *PushConfigObservation { + if in == nil { + return nil + } + out := new(PushConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PushConfigParameters) DeepCopyInto(out *PushConfigParameters) { + *out = *in + if in.Attributes != nil { + in, out := &in.Attributes, &out.Attributes + *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.OidcToken != nil { + in, out := &in.OidcToken, &out.OidcToken + *out = make([]OidcTokenParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PushEndpoint != nil { + in, out := &in.PushEndpoint, &out.PushEndpoint + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PushConfigParameters. +func (in *PushConfigParameters) DeepCopy() *PushConfigParameters { + if in == nil { + return nil + } + out := new(PushConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReservationConfigObservation) DeepCopyInto(out *ReservationConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationConfigObservation. +func (in *ReservationConfigObservation) DeepCopy() *ReservationConfigObservation { + if in == nil { + return nil + } + out := new(ReservationConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReservationConfigParameters) DeepCopyInto(out *ReservationConfigParameters) { + *out = *in + if in.ThroughputReservation != nil { + in, out := &in.ThroughputReservation, &out.ThroughputReservation + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservationConfigParameters. +func (in *ReservationConfigParameters) DeepCopy() *ReservationConfigParameters { + if in == nil { + return nil + } + out := new(ReservationConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetentionConfigObservation) DeepCopyInto(out *RetentionConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionConfigObservation. +func (in *RetentionConfigObservation) DeepCopy() *RetentionConfigObservation { + if in == nil { + return nil + } + out := new(RetentionConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetentionConfigParameters) DeepCopyInto(out *RetentionConfigParameters) { + *out = *in + if in.PerPartitionBytes != nil { + in, out := &in.PerPartitionBytes, &out.PerPartitionBytes + *out = new(string) + **out = **in + } + if in.Period != nil { + in, out := &in.Period, &out.Period + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionConfigParameters. +func (in *RetentionConfigParameters) DeepCopy() *RetentionConfigParameters { + if in == nil { + return nil + } + out := new(RetentionConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetryPolicyObservation) DeepCopyInto(out *RetryPolicyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyObservation. +func (in *RetryPolicyObservation) DeepCopy() *RetryPolicyObservation { + if in == nil { + return nil + } + out := new(RetryPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RetryPolicyParameters) DeepCopyInto(out *RetryPolicyParameters) { + *out = *in + if in.MaximumBackoff != nil { + in, out := &in.MaximumBackoff, &out.MaximumBackoff + *out = new(string) + **out = **in + } + if in.MinimumBackoff != nil { + in, out := &in.MinimumBackoff, &out.MinimumBackoff + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryPolicyParameters. +func (in *RetryPolicyParameters) DeepCopy() *RetryPolicyParameters { + if in == nil { + return nil + } + out := new(RetryPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Schema) DeepCopyInto(out *Schema) { + *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 Schema. +func (in *Schema) DeepCopy() *Schema { + if in == nil { + return nil + } + out := new(Schema) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Schema) 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 *SchemaList) DeepCopyInto(out *SchemaList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Schema, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchemaList. +func (in *SchemaList) DeepCopy() *SchemaList { + if in == nil { + return nil + } + out := new(SchemaList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SchemaList) 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 *SchemaObservation) DeepCopyInto(out *SchemaObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchemaObservation. +func (in *SchemaObservation) DeepCopy() *SchemaObservation { + if in == nil { + return nil + } + out := new(SchemaObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchemaParameters) DeepCopyInto(out *SchemaParameters) { + *out = *in + if in.Definition != nil { + in, out := &in.Definition, &out.Definition + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **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 SchemaParameters. +func (in *SchemaParameters) DeepCopy() *SchemaParameters { + if in == nil { + return nil + } + out := new(SchemaParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchemaSettingsObservation) DeepCopyInto(out *SchemaSettingsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchemaSettingsObservation. +func (in *SchemaSettingsObservation) DeepCopy() *SchemaSettingsObservation { + if in == nil { + return nil + } + out := new(SchemaSettingsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchemaSettingsParameters) DeepCopyInto(out *SchemaSettingsParameters) { + *out = *in + if in.Encoding != nil { + in, out := &in.Encoding, &out.Encoding + *out = new(string) + **out = **in + } + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchemaSettingsParameters. +func (in *SchemaSettingsParameters) DeepCopy() *SchemaSettingsParameters { + if in == nil { + return nil + } + out := new(SchemaSettingsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchemaSpec) DeepCopyInto(out *SchemaSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchemaSpec. +func (in *SchemaSpec) DeepCopy() *SchemaSpec { + if in == nil { + return nil + } + out := new(SchemaSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchemaStatus) DeepCopyInto(out *SchemaStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchemaStatus. +func (in *SchemaStatus) DeepCopy() *SchemaStatus { + if in == nil { + return nil + } + out := new(SchemaStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Subscription) DeepCopyInto(out *Subscription) { + *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 Subscription. +func (in *Subscription) DeepCopy() *Subscription { + if in == nil { + return nil + } + out := new(Subscription) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Subscription) 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 *SubscriptionIAMBinding) DeepCopyInto(out *SubscriptionIAMBinding) { + *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 SubscriptionIAMBinding. +func (in *SubscriptionIAMBinding) DeepCopy() *SubscriptionIAMBinding { + if in == nil { + return nil + } + out := new(SubscriptionIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubscriptionIAMBinding) 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 *SubscriptionIAMBindingList) DeepCopyInto(out *SubscriptionIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SubscriptionIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMBindingList. +func (in *SubscriptionIAMBindingList) DeepCopy() *SubscriptionIAMBindingList { + if in == nil { + return nil + } + out := new(SubscriptionIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubscriptionIAMBindingList) 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 *SubscriptionIAMBindingObservation) DeepCopyInto(out *SubscriptionIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMBindingObservation. +func (in *SubscriptionIAMBindingObservation) DeepCopy() *SubscriptionIAMBindingObservation { + if in == nil { + return nil + } + out := new(SubscriptionIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionIAMBindingParameters) DeepCopyInto(out *SubscriptionIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Subscription != nil { + in, out := &in.Subscription, &out.Subscription + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMBindingParameters. +func (in *SubscriptionIAMBindingParameters) DeepCopy() *SubscriptionIAMBindingParameters { + if in == nil { + return nil + } + out := new(SubscriptionIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionIAMBindingSpec) DeepCopyInto(out *SubscriptionIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMBindingSpec. +func (in *SubscriptionIAMBindingSpec) DeepCopy() *SubscriptionIAMBindingSpec { + if in == nil { + return nil + } + out := new(SubscriptionIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionIAMBindingStatus) DeepCopyInto(out *SubscriptionIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMBindingStatus. +func (in *SubscriptionIAMBindingStatus) DeepCopy() *SubscriptionIAMBindingStatus { + if in == nil { + return nil + } + out := new(SubscriptionIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionIAMMember) DeepCopyInto(out *SubscriptionIAMMember) { + *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 SubscriptionIAMMember. +func (in *SubscriptionIAMMember) DeepCopy() *SubscriptionIAMMember { + if in == nil { + return nil + } + out := new(SubscriptionIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubscriptionIAMMember) 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 *SubscriptionIAMMemberConditionObservation) DeepCopyInto(out *SubscriptionIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMMemberConditionObservation. +func (in *SubscriptionIAMMemberConditionObservation) DeepCopy() *SubscriptionIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(SubscriptionIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionIAMMemberConditionParameters) DeepCopyInto(out *SubscriptionIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMMemberConditionParameters. +func (in *SubscriptionIAMMemberConditionParameters) DeepCopy() *SubscriptionIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(SubscriptionIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionIAMMemberList) DeepCopyInto(out *SubscriptionIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SubscriptionIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMMemberList. +func (in *SubscriptionIAMMemberList) DeepCopy() *SubscriptionIAMMemberList { + if in == nil { + return nil + } + out := new(SubscriptionIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubscriptionIAMMemberList) 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 *SubscriptionIAMMemberObservation) DeepCopyInto(out *SubscriptionIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMMemberObservation. +func (in *SubscriptionIAMMemberObservation) DeepCopy() *SubscriptionIAMMemberObservation { + if in == nil { + return nil + } + out := new(SubscriptionIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionIAMMemberParameters) DeepCopyInto(out *SubscriptionIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]SubscriptionIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Subscription != nil { + in, out := &in.Subscription, &out.Subscription + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMMemberParameters. +func (in *SubscriptionIAMMemberParameters) DeepCopy() *SubscriptionIAMMemberParameters { + if in == nil { + return nil + } + out := new(SubscriptionIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionIAMMemberSpec) DeepCopyInto(out *SubscriptionIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMMemberSpec. +func (in *SubscriptionIAMMemberSpec) DeepCopy() *SubscriptionIAMMemberSpec { + if in == nil { + return nil + } + out := new(SubscriptionIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionIAMMemberStatus) DeepCopyInto(out *SubscriptionIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMMemberStatus. +func (in *SubscriptionIAMMemberStatus) DeepCopy() *SubscriptionIAMMemberStatus { + if in == nil { + return nil + } + out := new(SubscriptionIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionIAMPolicy) DeepCopyInto(out *SubscriptionIAMPolicy) { + *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 SubscriptionIAMPolicy. +func (in *SubscriptionIAMPolicy) DeepCopy() *SubscriptionIAMPolicy { + if in == nil { + return nil + } + out := new(SubscriptionIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubscriptionIAMPolicy) 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 *SubscriptionIAMPolicyList) DeepCopyInto(out *SubscriptionIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SubscriptionIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMPolicyList. +func (in *SubscriptionIAMPolicyList) DeepCopy() *SubscriptionIAMPolicyList { + if in == nil { + return nil + } + out := new(SubscriptionIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubscriptionIAMPolicyList) 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 *SubscriptionIAMPolicyObservation) DeepCopyInto(out *SubscriptionIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMPolicyObservation. +func (in *SubscriptionIAMPolicyObservation) DeepCopy() *SubscriptionIAMPolicyObservation { + if in == nil { + return nil + } + out := new(SubscriptionIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionIAMPolicyParameters) DeepCopyInto(out *SubscriptionIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Subscription != nil { + in, out := &in.Subscription, &out.Subscription + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMPolicyParameters. +func (in *SubscriptionIAMPolicyParameters) DeepCopy() *SubscriptionIAMPolicyParameters { + if in == nil { + return nil + } + out := new(SubscriptionIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionIAMPolicySpec) DeepCopyInto(out *SubscriptionIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMPolicySpec. +func (in *SubscriptionIAMPolicySpec) DeepCopy() *SubscriptionIAMPolicySpec { + if in == nil { + return nil + } + out := new(SubscriptionIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionIAMPolicyStatus) DeepCopyInto(out *SubscriptionIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionIAMPolicyStatus. +func (in *SubscriptionIAMPolicyStatus) DeepCopy() *SubscriptionIAMPolicyStatus { + if in == nil { + return nil + } + out := new(SubscriptionIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionList) DeepCopyInto(out *SubscriptionList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Subscription, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionList. +func (in *SubscriptionList) DeepCopy() *SubscriptionList { + if in == nil { + return nil + } + out := new(SubscriptionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubscriptionList) 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 *SubscriptionObservation) DeepCopyInto(out *SubscriptionObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionObservation. +func (in *SubscriptionObservation) DeepCopy() *SubscriptionObservation { + if in == nil { + return nil + } + out := new(SubscriptionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionParameters) DeepCopyInto(out *SubscriptionParameters) { + *out = *in + if in.AckDeadlineSeconds != nil { + in, out := &in.AckDeadlineSeconds, &out.AckDeadlineSeconds + *out = new(int64) + **out = **in + } + if in.DeadLetterPolicy != nil { + in, out := &in.DeadLetterPolicy, &out.DeadLetterPolicy + *out = make([]DeadLetterPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EnableMessageOrdering != nil { + in, out := &in.EnableMessageOrdering, &out.EnableMessageOrdering + *out = new(bool) + **out = **in + } + if in.ExpirationPolicy != nil { + in, out := &in.ExpirationPolicy, &out.ExpirationPolicy + *out = make([]ExpirationPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.MessageRetentionDuration != nil { + in, out := &in.MessageRetentionDuration, &out.MessageRetentionDuration + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.PushConfig != nil { + in, out := &in.PushConfig, &out.PushConfig + *out = make([]PushConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RetainAckedMessages != nil { + in, out := &in.RetainAckedMessages, &out.RetainAckedMessages + *out = new(bool) + **out = **in + } + if in.RetryPolicy != nil { + in, out := &in.RetryPolicy, &out.RetryPolicy + *out = make([]RetryPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionParameters. +func (in *SubscriptionParameters) DeepCopy() *SubscriptionParameters { + if in == nil { + return nil + } + out := new(SubscriptionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionSpec) DeepCopyInto(out *SubscriptionSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionSpec. +func (in *SubscriptionSpec) DeepCopy() *SubscriptionSpec { + if in == nil { + return nil + } + out := new(SubscriptionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubscriptionStatus) DeepCopyInto(out *SubscriptionStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionStatus. +func (in *SubscriptionStatus) DeepCopy() *SubscriptionStatus { + if in == nil { + return nil + } + out := new(SubscriptionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Topic) DeepCopyInto(out *Topic) { + *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 Topic. +func (in *Topic) DeepCopy() *Topic { + if in == nil { + return nil + } + out := new(Topic) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Topic) 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 *TopicIAMBinding) DeepCopyInto(out *TopicIAMBinding) { + *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 TopicIAMBinding. +func (in *TopicIAMBinding) DeepCopy() *TopicIAMBinding { + if in == nil { + return nil + } + out := new(TopicIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TopicIAMBinding) 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 *TopicIAMBindingConditionObservation) DeepCopyInto(out *TopicIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMBindingConditionObservation. +func (in *TopicIAMBindingConditionObservation) DeepCopy() *TopicIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(TopicIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMBindingConditionParameters) DeepCopyInto(out *TopicIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMBindingConditionParameters. +func (in *TopicIAMBindingConditionParameters) DeepCopy() *TopicIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(TopicIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMBindingList) DeepCopyInto(out *TopicIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TopicIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMBindingList. +func (in *TopicIAMBindingList) DeepCopy() *TopicIAMBindingList { + if in == nil { + return nil + } + out := new(TopicIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TopicIAMBindingList) 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 *TopicIAMBindingObservation) DeepCopyInto(out *TopicIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMBindingObservation. +func (in *TopicIAMBindingObservation) DeepCopy() *TopicIAMBindingObservation { + if in == nil { + return nil + } + out := new(TopicIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMBindingParameters) DeepCopyInto(out *TopicIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TopicIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMBindingParameters. +func (in *TopicIAMBindingParameters) DeepCopy() *TopicIAMBindingParameters { + if in == nil { + return nil + } + out := new(TopicIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMBindingSpec) DeepCopyInto(out *TopicIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMBindingSpec. +func (in *TopicIAMBindingSpec) DeepCopy() *TopicIAMBindingSpec { + if in == nil { + return nil + } + out := new(TopicIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMBindingStatus) DeepCopyInto(out *TopicIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMBindingStatus. +func (in *TopicIAMBindingStatus) DeepCopy() *TopicIAMBindingStatus { + if in == nil { + return nil + } + out := new(TopicIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMMember) DeepCopyInto(out *TopicIAMMember) { + *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 TopicIAMMember. +func (in *TopicIAMMember) DeepCopy() *TopicIAMMember { + if in == nil { + return nil + } + out := new(TopicIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TopicIAMMember) 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 *TopicIAMMemberConditionObservation) DeepCopyInto(out *TopicIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMMemberConditionObservation. +func (in *TopicIAMMemberConditionObservation) DeepCopy() *TopicIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(TopicIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMMemberConditionParameters) DeepCopyInto(out *TopicIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMMemberConditionParameters. +func (in *TopicIAMMemberConditionParameters) DeepCopy() *TopicIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(TopicIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMMemberList) DeepCopyInto(out *TopicIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TopicIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMMemberList. +func (in *TopicIAMMemberList) DeepCopy() *TopicIAMMemberList { + if in == nil { + return nil + } + out := new(TopicIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TopicIAMMemberList) 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 *TopicIAMMemberObservation) DeepCopyInto(out *TopicIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMMemberObservation. +func (in *TopicIAMMemberObservation) DeepCopy() *TopicIAMMemberObservation { + if in == nil { + return nil + } + out := new(TopicIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMMemberParameters) DeepCopyInto(out *TopicIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TopicIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMMemberParameters. +func (in *TopicIAMMemberParameters) DeepCopy() *TopicIAMMemberParameters { + if in == nil { + return nil + } + out := new(TopicIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMMemberSpec) DeepCopyInto(out *TopicIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMMemberSpec. +func (in *TopicIAMMemberSpec) DeepCopy() *TopicIAMMemberSpec { + if in == nil { + return nil + } + out := new(TopicIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMMemberStatus) DeepCopyInto(out *TopicIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMMemberStatus. +func (in *TopicIAMMemberStatus) DeepCopy() *TopicIAMMemberStatus { + if in == nil { + return nil + } + out := new(TopicIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMPolicy) DeepCopyInto(out *TopicIAMPolicy) { + *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 TopicIAMPolicy. +func (in *TopicIAMPolicy) DeepCopy() *TopicIAMPolicy { + if in == nil { + return nil + } + out := new(TopicIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TopicIAMPolicy) 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 *TopicIAMPolicyList) DeepCopyInto(out *TopicIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TopicIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMPolicyList. +func (in *TopicIAMPolicyList) DeepCopy() *TopicIAMPolicyList { + if in == nil { + return nil + } + out := new(TopicIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TopicIAMPolicyList) 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 *TopicIAMPolicyObservation) DeepCopyInto(out *TopicIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMPolicyObservation. +func (in *TopicIAMPolicyObservation) DeepCopy() *TopicIAMPolicyObservation { + if in == nil { + return nil + } + out := new(TopicIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMPolicyParameters) DeepCopyInto(out *TopicIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMPolicyParameters. +func (in *TopicIAMPolicyParameters) DeepCopy() *TopicIAMPolicyParameters { + if in == nil { + return nil + } + out := new(TopicIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMPolicySpec) DeepCopyInto(out *TopicIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMPolicySpec. +func (in *TopicIAMPolicySpec) DeepCopy() *TopicIAMPolicySpec { + if in == nil { + return nil + } + out := new(TopicIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicIAMPolicyStatus) DeepCopyInto(out *TopicIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicIAMPolicyStatus. +func (in *TopicIAMPolicyStatus) DeepCopy() *TopicIAMPolicyStatus { + if in == nil { + return nil + } + out := new(TopicIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicList) DeepCopyInto(out *TopicList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Topic, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicList. +func (in *TopicList) DeepCopy() *TopicList { + if in == nil { + return nil + } + out := new(TopicList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TopicList) 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 *TopicObservation) DeepCopyInto(out *TopicObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicObservation. +func (in *TopicObservation) DeepCopy() *TopicObservation { + if in == nil { + return nil + } + out := new(TopicObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicParameters) DeepCopyInto(out *TopicParameters) { + *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.MessageStoragePolicy != nil { + in, out := &in.MessageStoragePolicy, &out.MessageStoragePolicy + *out = make([]MessageStoragePolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SchemaSettings != nil { + in, out := &in.SchemaSettings, &out.SchemaSettings + *out = make([]SchemaSettingsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicParameters. +func (in *TopicParameters) DeepCopy() *TopicParameters { + if in == nil { + return nil + } + out := new(TopicParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicSpec) DeepCopyInto(out *TopicSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicSpec. +func (in *TopicSpec) DeepCopy() *TopicSpec { + if in == nil { + return nil + } + out := new(TopicSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicStatus) DeepCopyInto(out *TopicStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicStatus. +func (in *TopicStatus) DeepCopy() *TopicStatus { + if in == nil { + return nil + } + out := new(TopicStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/pubsub/v1alpha1/zz_generated.managed.go b/apis/pubsub/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..7adacba4 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_generated.managed.go @@ -0,0 +1,692 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this LiteReservation. +func (mg *LiteReservation) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this LiteReservation. +func (mg *LiteReservation) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this LiteReservation. +func (mg *LiteReservation) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this LiteReservation. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *LiteReservation) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this LiteReservation. +func (mg *LiteReservation) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this LiteReservation. +func (mg *LiteReservation) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this LiteReservation. +func (mg *LiteReservation) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this LiteReservation. +func (mg *LiteReservation) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this LiteReservation. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *LiteReservation) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this LiteReservation. +func (mg *LiteReservation) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this LiteSubscription. +func (mg *LiteSubscription) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this LiteSubscription. +func (mg *LiteSubscription) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this LiteSubscription. +func (mg *LiteSubscription) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this LiteSubscription. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *LiteSubscription) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this LiteSubscription. +func (mg *LiteSubscription) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this LiteSubscription. +func (mg *LiteSubscription) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this LiteSubscription. +func (mg *LiteSubscription) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this LiteSubscription. +func (mg *LiteSubscription) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this LiteSubscription. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *LiteSubscription) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this LiteSubscription. +func (mg *LiteSubscription) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this LiteTopic. +func (mg *LiteTopic) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this LiteTopic. +func (mg *LiteTopic) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this LiteTopic. +func (mg *LiteTopic) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this LiteTopic. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *LiteTopic) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this LiteTopic. +func (mg *LiteTopic) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this LiteTopic. +func (mg *LiteTopic) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this LiteTopic. +func (mg *LiteTopic) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this LiteTopic. +func (mg *LiteTopic) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this LiteTopic. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *LiteTopic) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this LiteTopic. +func (mg *LiteTopic) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Schema. +func (mg *Schema) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Schema. +func (mg *Schema) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Schema. +func (mg *Schema) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Schema. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Schema) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Schema. +func (mg *Schema) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Schema. +func (mg *Schema) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Schema. +func (mg *Schema) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Schema. +func (mg *Schema) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Schema. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Schema) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Schema. +func (mg *Schema) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Subscription. +func (mg *Subscription) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Subscription. +func (mg *Subscription) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Subscription. +func (mg *Subscription) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Subscription. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Subscription) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Subscription. +func (mg *Subscription) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Subscription. +func (mg *Subscription) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Subscription. +func (mg *Subscription) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Subscription. +func (mg *Subscription) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Subscription. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Subscription) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Subscription. +func (mg *Subscription) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SubscriptionIAMBinding. +func (mg *SubscriptionIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SubscriptionIAMBinding. +func (mg *SubscriptionIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SubscriptionIAMBinding. +func (mg *SubscriptionIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SubscriptionIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SubscriptionIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SubscriptionIAMBinding. +func (mg *SubscriptionIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SubscriptionIAMBinding. +func (mg *SubscriptionIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SubscriptionIAMBinding. +func (mg *SubscriptionIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SubscriptionIAMBinding. +func (mg *SubscriptionIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SubscriptionIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SubscriptionIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SubscriptionIAMBinding. +func (mg *SubscriptionIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SubscriptionIAMMember. +func (mg *SubscriptionIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SubscriptionIAMMember. +func (mg *SubscriptionIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SubscriptionIAMMember. +func (mg *SubscriptionIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SubscriptionIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SubscriptionIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SubscriptionIAMMember. +func (mg *SubscriptionIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SubscriptionIAMMember. +func (mg *SubscriptionIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SubscriptionIAMMember. +func (mg *SubscriptionIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SubscriptionIAMMember. +func (mg *SubscriptionIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SubscriptionIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SubscriptionIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SubscriptionIAMMember. +func (mg *SubscriptionIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SubscriptionIAMPolicy. +func (mg *SubscriptionIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SubscriptionIAMPolicy. +func (mg *SubscriptionIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SubscriptionIAMPolicy. +func (mg *SubscriptionIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SubscriptionIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SubscriptionIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SubscriptionIAMPolicy. +func (mg *SubscriptionIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SubscriptionIAMPolicy. +func (mg *SubscriptionIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SubscriptionIAMPolicy. +func (mg *SubscriptionIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SubscriptionIAMPolicy. +func (mg *SubscriptionIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SubscriptionIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SubscriptionIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SubscriptionIAMPolicy. +func (mg *SubscriptionIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Topic. +func (mg *Topic) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Topic. +func (mg *Topic) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Topic. +func (mg *Topic) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Topic. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Topic) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Topic. +func (mg *Topic) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Topic. +func (mg *Topic) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Topic. +func (mg *Topic) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Topic. +func (mg *Topic) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Topic. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Topic) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Topic. +func (mg *Topic) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TopicIAMBinding. +func (mg *TopicIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TopicIAMBinding. +func (mg *TopicIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TopicIAMBinding. +func (mg *TopicIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TopicIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TopicIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TopicIAMBinding. +func (mg *TopicIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TopicIAMBinding. +func (mg *TopicIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TopicIAMBinding. +func (mg *TopicIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TopicIAMBinding. +func (mg *TopicIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TopicIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TopicIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TopicIAMBinding. +func (mg *TopicIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TopicIAMMember. +func (mg *TopicIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TopicIAMMember. +func (mg *TopicIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TopicIAMMember. +func (mg *TopicIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TopicIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TopicIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TopicIAMMember. +func (mg *TopicIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TopicIAMMember. +func (mg *TopicIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TopicIAMMember. +func (mg *TopicIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TopicIAMMember. +func (mg *TopicIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TopicIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TopicIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TopicIAMMember. +func (mg *TopicIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TopicIAMPolicy. +func (mg *TopicIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TopicIAMPolicy. +func (mg *TopicIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TopicIAMPolicy. +func (mg *TopicIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TopicIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TopicIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TopicIAMPolicy. +func (mg *TopicIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TopicIAMPolicy. +func (mg *TopicIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TopicIAMPolicy. +func (mg *TopicIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TopicIAMPolicy. +func (mg *TopicIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TopicIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TopicIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TopicIAMPolicy. +func (mg *TopicIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/pubsub/v1alpha1/zz_generated.managedlist.go b/apis/pubsub/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..73778faa --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,128 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this LiteReservationList. +func (l *LiteReservationList) 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 LiteSubscriptionList. +func (l *LiteSubscriptionList) 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 LiteTopicList. +func (l *LiteTopicList) 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 SchemaList. +func (l *SchemaList) 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 SubscriptionIAMBindingList. +func (l *SubscriptionIAMBindingList) 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 SubscriptionIAMMemberList. +func (l *SubscriptionIAMMemberList) 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 SubscriptionIAMPolicyList. +func (l *SubscriptionIAMPolicyList) 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 SubscriptionList. +func (l *SubscriptionList) 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 TopicIAMBindingList. +func (l *TopicIAMBindingList) 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 TopicIAMMemberList. +func (l *TopicIAMMemberList) 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 TopicIAMPolicyList. +func (l *TopicIAMPolicyList) 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 TopicList. +func (l *TopicList) 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/pubsub/v1alpha1/zz_groupversion_info.go b/apis/pubsub/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..772dbfda --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=pubsub.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "pubsub.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/pubsub/v1alpha1/zz_litereservation_terraformed.go b/apis/pubsub/v1alpha1/zz_litereservation_terraformed.go new file mode 100755 index 00000000..b7ad9bf2 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_litereservation_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this LiteReservation +func (mg *LiteReservation) GetTerraformResourceType() string { + return "google_pubsub_lite_reservation" +} + +// GetConnectionDetailsMapping for this LiteReservation +func (tr *LiteReservation) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this LiteReservation +func (tr *LiteReservation) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this LiteReservation +func (tr *LiteReservation) SetObservation(obs map[string]interface{}) 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 LiteReservation +func (tr *LiteReservation) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this LiteReservation +func (tr *LiteReservation) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this LiteReservation +func (tr *LiteReservation) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this LiteReservation using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *LiteReservation) LateInitialize(attrs []byte) (bool, error) { + params := &LiteReservationParameters{} + 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 *LiteReservation) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/pubsub/v1alpha1/zz_litereservation_types.go b/apis/pubsub/v1alpha1/zz_litereservation_types.go new file mode 100755 index 00000000..66aab390 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_litereservation_types.go @@ -0,0 +1,99 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 LiteReservationObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type LiteReservationParameters struct { + + // Name of the reservation. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The region of the pubsub lite reservation. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // The reserved throughput capacity. Every unit of throughput capacity is + // equivalent to 1 MiB/s of published messages or 2 MiB/s of subscribed + // messages. + // +kubebuilder:validation:Required + ThroughputCapacity *int64 `json:"throughputCapacity" tf:"throughput_capacity,omitempty"` +} + +// LiteReservationSpec defines the desired state of LiteReservation +type LiteReservationSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider LiteReservationParameters `json:"forProvider"` +} + +// LiteReservationStatus defines the observed state of LiteReservation. +type LiteReservationStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider LiteReservationObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// LiteReservation is the Schema for the LiteReservations 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,gcpjet} +type LiteReservation struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec LiteReservationSpec `json:"spec"` + Status LiteReservationStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// LiteReservationList contains a list of LiteReservations +type LiteReservationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []LiteReservation `json:"items"` +} + +// Repository type metadata. +var ( + LiteReservation_Kind = "LiteReservation" + LiteReservation_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: LiteReservation_Kind}.String() + LiteReservation_KindAPIVersion = LiteReservation_Kind + "." + CRDGroupVersion.String() + LiteReservation_GroupVersionKind = CRDGroupVersion.WithKind(LiteReservation_Kind) +) + +func init() { + SchemeBuilder.Register(&LiteReservation{}, &LiteReservationList{}) +} diff --git a/apis/pubsub/v1alpha1/zz_litesubscription_terraformed.go b/apis/pubsub/v1alpha1/zz_litesubscription_terraformed.go new file mode 100755 index 00000000..1e4bb0bc --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_litesubscription_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this LiteSubscription +func (mg *LiteSubscription) GetTerraformResourceType() string { + return "google_pubsub_lite_subscription" +} + +// GetConnectionDetailsMapping for this LiteSubscription +func (tr *LiteSubscription) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this LiteSubscription +func (tr *LiteSubscription) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this LiteSubscription +func (tr *LiteSubscription) SetObservation(obs map[string]interface{}) 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 LiteSubscription +func (tr *LiteSubscription) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this LiteSubscription +func (tr *LiteSubscription) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this LiteSubscription +func (tr *LiteSubscription) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this LiteSubscription using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *LiteSubscription) LateInitialize(attrs []byte) (bool, error) { + params := &LiteSubscriptionParameters{} + 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 *LiteSubscription) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/pubsub/v1alpha1/zz_litesubscription_types.go b/apis/pubsub/v1alpha1/zz_litesubscription_types.go new file mode 100755 index 00000000..408ef034 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_litesubscription_types.go @@ -0,0 +1,115 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DeliveryConfigObservation struct { +} + +type DeliveryConfigParameters struct { + + // When this subscription should send messages to subscribers relative to messages persistence in storage. Possible values: ["DELIVER_IMMEDIATELY", "DELIVER_AFTER_STORED", "DELIVERY_REQUIREMENT_UNSPECIFIED"] + // +kubebuilder:validation:Required + DeliveryRequirement *string `json:"deliveryRequirement" tf:"delivery_requirement,omitempty"` +} + +type LiteSubscriptionObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type LiteSubscriptionParameters struct { + + // The settings for this subscription's message delivery. + // +kubebuilder:validation:Optional + DeliveryConfig []DeliveryConfigParameters `json:"deliveryConfig,omitempty" tf:"delivery_config,omitempty"` + + // Name of the subscription. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The region of the pubsub lite topic. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // A reference to a Topic resource. + // +kubebuilder:validation:Required + Topic *string `json:"topic" tf:"topic,omitempty"` + + // The zone of the pubsub lite topic. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// LiteSubscriptionSpec defines the desired state of LiteSubscription +type LiteSubscriptionSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider LiteSubscriptionParameters `json:"forProvider"` +} + +// LiteSubscriptionStatus defines the observed state of LiteSubscription. +type LiteSubscriptionStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider LiteSubscriptionObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// LiteSubscription is the Schema for the LiteSubscriptions 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,gcpjet} +type LiteSubscription struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec LiteSubscriptionSpec `json:"spec"` + Status LiteSubscriptionStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// LiteSubscriptionList contains a list of LiteSubscriptions +type LiteSubscriptionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []LiteSubscription `json:"items"` +} + +// Repository type metadata. +var ( + LiteSubscription_Kind = "LiteSubscription" + LiteSubscription_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: LiteSubscription_Kind}.String() + LiteSubscription_KindAPIVersion = LiteSubscription_Kind + "." + CRDGroupVersion.String() + LiteSubscription_GroupVersionKind = CRDGroupVersion.WithKind(LiteSubscription_Kind) +) + +func init() { + SchemeBuilder.Register(&LiteSubscription{}, &LiteSubscriptionList{}) +} diff --git a/apis/pubsub/v1alpha1/zz_litetopic_terraformed.go b/apis/pubsub/v1alpha1/zz_litetopic_terraformed.go new file mode 100755 index 00000000..65273f0e --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_litetopic_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this LiteTopic +func (mg *LiteTopic) GetTerraformResourceType() string { + return "google_pubsub_lite_topic" +} + +// GetConnectionDetailsMapping for this LiteTopic +func (tr *LiteTopic) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this LiteTopic +func (tr *LiteTopic) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this LiteTopic +func (tr *LiteTopic) SetObservation(obs map[string]interface{}) 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 LiteTopic +func (tr *LiteTopic) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this LiteTopic +func (tr *LiteTopic) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this LiteTopic +func (tr *LiteTopic) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this LiteTopic using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *LiteTopic) LateInitialize(attrs []byte) (bool, error) { + params := &LiteTopicParameters{} + 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 *LiteTopic) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/pubsub/v1alpha1/zz_litetopic_types.go b/apis/pubsub/v1alpha1/zz_litetopic_types.go new file mode 100755 index 00000000..7f8a1465 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_litetopic_types.go @@ -0,0 +1,164 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CapacityObservation struct { +} + +type CapacityParameters struct { + + // Subscribe throughput capacity per partition in MiB/s. Must be >= 4 and <= 16. + // +kubebuilder:validation:Required + PublishMibPerSec *int64 `json:"publishMibPerSec" tf:"publish_mib_per_sec,omitempty"` + + // Publish throughput capacity per partition in MiB/s. Must be >= 4 and <= 16. + // +kubebuilder:validation:Required + SubscribeMibPerSec *int64 `json:"subscribeMibPerSec" tf:"subscribe_mib_per_sec,omitempty"` +} + +type LiteTopicObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type LiteTopicParameters struct { + + // Name of the topic. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The settings for this topic's partitions. + // +kubebuilder:validation:Optional + PartitionConfig []PartitionConfigParameters `json:"partitionConfig,omitempty" tf:"partition_config,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The region of the pubsub lite topic. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // The settings for this topic's Reservation usage. + // +kubebuilder:validation:Optional + ReservationConfig []ReservationConfigParameters `json:"reservationConfig,omitempty" tf:"reservation_config,omitempty"` + + // The settings for a topic's message retention. + // +kubebuilder:validation:Optional + RetentionConfig []RetentionConfigParameters `json:"retentionConfig,omitempty" tf:"retention_config,omitempty"` + + // The zone of the pubsub lite topic. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type PartitionConfigObservation struct { +} + +type PartitionConfigParameters struct { + + // The capacity configuration. + // +kubebuilder:validation:Optional + Capacity []CapacityParameters `json:"capacity,omitempty" tf:"capacity,omitempty"` + + // The number of partitions in the topic. Must be at least 1. + // +kubebuilder:validation:Required + Count *int64 `json:"count" tf:"count,omitempty"` +} + +type ReservationConfigObservation struct { +} + +type ReservationConfigParameters struct { + + // The Reservation to use for this topic's throughput capacity. + // +kubebuilder:validation:Optional + ThroughputReservation *string `json:"throughputReservation,omitempty" tf:"throughput_reservation,omitempty"` +} + +type RetentionConfigObservation struct { +} + +type RetentionConfigParameters struct { + + // The provisioned storage, in bytes, per partition. If the number of bytes stored + // in any of the topic's partitions grows beyond this value, older messages will be + // dropped to make room for newer ones, regardless of the value of period. + // +kubebuilder:validation:Required + PerPartitionBytes *string `json:"perPartitionBytes" tf:"per_partition_bytes,omitempty"` + + // How long a published message is retained. If unset, messages will be retained as + // long as the bytes retained for each partition is below perPartitionBytes. + // +kubebuilder:validation:Optional + Period *string `json:"period,omitempty" tf:"period,omitempty"` +} + +// LiteTopicSpec defines the desired state of LiteTopic +type LiteTopicSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider LiteTopicParameters `json:"forProvider"` +} + +// LiteTopicStatus defines the observed state of LiteTopic. +type LiteTopicStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider LiteTopicObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// LiteTopic is the Schema for the LiteTopics 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,gcpjet} +type LiteTopic struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec LiteTopicSpec `json:"spec"` + Status LiteTopicStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// LiteTopicList contains a list of LiteTopics +type LiteTopicList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []LiteTopic `json:"items"` +} + +// Repository type metadata. +var ( + LiteTopic_Kind = "LiteTopic" + LiteTopic_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: LiteTopic_Kind}.String() + LiteTopic_KindAPIVersion = LiteTopic_Kind + "." + CRDGroupVersion.String() + LiteTopic_GroupVersionKind = CRDGroupVersion.WithKind(LiteTopic_Kind) +) + +func init() { + SchemeBuilder.Register(&LiteTopic{}, &LiteTopicList{}) +} diff --git a/apis/pubsub/v1alpha1/zz_schema_terraformed.go b/apis/pubsub/v1alpha1/zz_schema_terraformed.go new file mode 100755 index 00000000..53530f16 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_schema_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Schema +func (mg *Schema) GetTerraformResourceType() string { + return "google_pubsub_schema" +} + +// GetConnectionDetailsMapping for this Schema +func (tr *Schema) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Schema +func (tr *Schema) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Schema +func (tr *Schema) SetObservation(obs map[string]interface{}) 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 Schema +func (tr *Schema) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Schema +func (tr *Schema) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Schema +func (tr *Schema) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Schema using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Schema) LateInitialize(attrs []byte) (bool, error) { + params := &SchemaParameters{} + 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 *Schema) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/pubsub/v1alpha1/zz_schema_types.go b/apis/pubsub/v1alpha1/zz_schema_types.go new file mode 100755 index 00000000..3a13d637 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_schema_types.go @@ -0,0 +1,99 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SchemaObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SchemaParameters struct { + + // The definition of the schema. + // This should contain a string representing the full definition of the schema + // that is a valid schema definition of the type specified in type. + // +kubebuilder:validation:Optional + Definition *string `json:"definition,omitempty" tf:"definition,omitempty"` + + // The ID to use for the schema, which will become the final component of the schema's resource name. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The type of the schema definition Default value: "TYPE_UNSPECIFIED" Possible values: ["TYPE_UNSPECIFIED", "PROTOCOL_BUFFER", "AVRO"] + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +// SchemaSpec defines the desired state of Schema +type SchemaSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SchemaParameters `json:"forProvider"` +} + +// SchemaStatus defines the observed state of Schema. +type SchemaStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SchemaObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Schema is the Schema for the Schemas 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,gcpjet} +type Schema struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SchemaSpec `json:"spec"` + Status SchemaStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SchemaList contains a list of Schemas +type SchemaList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Schema `json:"items"` +} + +// Repository type metadata. +var ( + Schema_Kind = "Schema" + Schema_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Schema_Kind}.String() + Schema_KindAPIVersion = Schema_Kind + "." + CRDGroupVersion.String() + Schema_GroupVersionKind = CRDGroupVersion.WithKind(Schema_Kind) +) + +func init() { + SchemeBuilder.Register(&Schema{}, &SchemaList{}) +} diff --git a/apis/pubsub/v1alpha1/zz_subscription_terraformed.go b/apis/pubsub/v1alpha1/zz_subscription_terraformed.go new file mode 100755 index 00000000..7c39395f --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_subscription_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Subscription +func (mg *Subscription) GetTerraformResourceType() string { + return "google_pubsub_subscription" +} + +// GetConnectionDetailsMapping for this Subscription +func (tr *Subscription) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Subscription +func (tr *Subscription) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Subscription +func (tr *Subscription) SetObservation(obs map[string]interface{}) 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 Subscription +func (tr *Subscription) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Subscription +func (tr *Subscription) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Subscription +func (tr *Subscription) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Subscription using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Subscription) LateInitialize(attrs []byte) (bool, error) { + params := &SubscriptionParameters{} + 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 *Subscription) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/pubsub/v1alpha1/zz_subscription_types.go b/apis/pubsub/v1alpha1/zz_subscription_types.go new file mode 100755 index 00000000..82af6af2 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_subscription_types.go @@ -0,0 +1,314 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DeadLetterPolicyObservation struct { +} + +type DeadLetterPolicyParameters struct { + + // The name of the topic to which dead letter messages should be published. + // Format is 'projects/{project}/topics/{topic}'. + // + // The Cloud Pub/Sub service account associated with the enclosing subscription's + // parent project (i.e., + // service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have + // permission to Publish() to this topic. + // + // The operation will fail if the topic does not exist. + // Users should ensure that there is a subscription attached to this topic + // since messages published to a topic with no subscriptions are lost. + // +kubebuilder:validation:Optional + DeadLetterTopic *string `json:"deadLetterTopic,omitempty" tf:"dead_letter_topic,omitempty"` + + // The maximum number of delivery attempts for any message. The value must be + // between 5 and 100. + // + // The number of delivery attempts is defined as 1 + (the sum of number of + // NACKs and number of times the acknowledgement deadline has been exceeded for the message). + // + // A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that + // client libraries may automatically extend ack_deadlines. + // + // This field will be honored on a best effort basis. + // + // If this parameter is 0, a default value of 5 is used. + // +kubebuilder:validation:Optional + MaxDeliveryAttempts *int64 `json:"maxDeliveryAttempts,omitempty" tf:"max_delivery_attempts,omitempty"` +} + +type ExpirationPolicyObservation struct { +} + +type ExpirationPolicyParameters struct { + + // Specifies the "time-to-live" duration for an associated resource. The + // resource expires if it is not active for a period of ttl. + // If ttl is not set, the associated resource never expires. + // A duration in seconds with up to nine fractional digits, terminated by 's'. + // Example - "3.5s". + // +kubebuilder:validation:Required + TTL *string `json:"ttl" tf:"ttl,omitempty"` +} + +type OidcTokenObservation struct { +} + +type OidcTokenParameters struct { + + // Audience to be used when generating OIDC token. The audience claim + // identifies the recipients that the JWT is intended for. The audience + // value is a single case-sensitive string. Having multiple values (array) + // for the audience field is not supported. More info about the OIDC JWT + // token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3 + // Note: if not specified, the Push endpoint URL will be used. + // +kubebuilder:validation:Optional + Audience *string `json:"audience,omitempty" tf:"audience,omitempty"` + + // Service account email to be used for generating the OIDC token. + // The caller (for subscriptions.create, subscriptions.patch, and + // subscriptions.modifyPushConfig RPCs) must have the + // iam.serviceAccounts.actAs permission for the service account. + // +kubebuilder:validation:Required + ServiceAccountEmail *string `json:"serviceAccountEmail" tf:"service_account_email,omitempty"` +} + +type PushConfigObservation struct { +} + +type PushConfigParameters struct { + + // Endpoint configuration attributes. + // + // Every endpoint has a set of API supported attributes that can + // be used to control different aspects of the message delivery. + // + // The currently supported attribute is x-goog-version, which you + // can use to change the format of the pushed message. This + // attribute indicates the version of the data expected by + // the endpoint. This controls the shape of the pushed message + // (i.e., its fields and metadata). The endpoint version is + // based on the version of the Pub/Sub API. + // + // If not present during the subscriptions.create call, + // it will default to the version of the API used to make + // such call. If not present during a subscriptions.modifyPushConfig + // call, its value will not be changed. subscriptions.get + // calls will always return a valid version, even if the + // subscription was created without this attribute. + // + // The possible values for this attribute are: + // + // - v1beta1: uses the push format defined in the v1beta1 Pub/Sub API. + // - v1 or v1beta2: uses the push format defined in the v1 Pub/Sub API. + // +kubebuilder:validation:Optional + Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"` + + // If specified, Pub/Sub will generate and attach an OIDC JWT token as + // an Authorization header in the HTTP request for every pushed message. + // +kubebuilder:validation:Optional + OidcToken []OidcTokenParameters `json:"oidcToken,omitempty" tf:"oidc_token,omitempty"` + + // A URL locating the endpoint to which messages should be pushed. + // For example, a Webhook endpoint might use + // "https://example.com/push". + // +kubebuilder:validation:Required + PushEndpoint *string `json:"pushEndpoint" tf:"push_endpoint,omitempty"` +} + +type RetryPolicyObservation struct { +} + +type RetryPolicyParameters struct { + + // The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds. + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + MaximumBackoff *string `json:"maximumBackoff,omitempty" tf:"maximum_backoff,omitempty"` + + // The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds. + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + MinimumBackoff *string `json:"minimumBackoff,omitempty" tf:"minimum_backoff,omitempty"` +} + +type SubscriptionObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SubscriptionParameters struct { + + // This value is the maximum time after a subscriber receives a message + // before the subscriber should acknowledge the message. After message + // delivery but before the ack deadline expires and before the message is + // acknowledged, it is an outstanding message and will not be delivered + // again during that time (on a best-effort basis). + // + // For pull subscriptions, this value is used as the initial value for + // the ack deadline. To override this value for a given message, call + // subscriptions.modifyAckDeadline with the corresponding ackId if using + // pull. The minimum custom deadline you can specify is 10 seconds. The + // maximum custom deadline you can specify is 600 seconds (10 minutes). + // If this parameter is 0, a default value of 10 seconds is used. + // + // For push delivery, this value is also used to set the request timeout + // for the call to the push endpoint. + // + // If the subscriber never acknowledges the message, the Pub/Sub system + // will eventually redeliver the message. + // +kubebuilder:validation:Optional + AckDeadlineSeconds *int64 `json:"ackDeadlineSeconds,omitempty" tf:"ack_deadline_seconds,omitempty"` + + // A policy that specifies the conditions for dead lettering messages in + // this subscription. If dead_letter_policy is not set, dead lettering + // is disabled. + // + // The Cloud Pub/Sub service account associated with this subscription's + // parent project (i.e., + // service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have + // permission to Acknowledge() messages on this subscription. + // +kubebuilder:validation:Optional + DeadLetterPolicy []DeadLetterPolicyParameters `json:"deadLetterPolicy,omitempty" tf:"dead_letter_policy,omitempty"` + + // If 'true', messages published with the same orderingKey in PubsubMessage will be delivered to + // the subscribers in the order in which they are received by the Pub/Sub system. Otherwise, they + // may be delivered in any order. + // +kubebuilder:validation:Optional + EnableMessageOrdering *bool `json:"enableMessageOrdering,omitempty" tf:"enable_message_ordering,omitempty"` + + // A policy that specifies the conditions for this subscription's expiration. + // A subscription is considered active as long as any connected subscriber + // is successfully consuming messages from the subscription or is issuing + // operations on the subscription. If expirationPolicy is not set, a default + // policy with ttl of 31 days will be used. If it is set but ttl is "", the + // resource never expires. The minimum allowed value for expirationPolicy.ttl + // is 1 day. + // +kubebuilder:validation:Optional + ExpirationPolicy []ExpirationPolicyParameters `json:"expirationPolicy,omitempty" tf:"expiration_policy,omitempty"` + + // The subscription only delivers the messages that match the filter. + // Pub/Sub automatically acknowledges the messages that don't match the filter. You can filter messages + // by their attributes. The maximum length of a filter is 256 bytes. After creating the subscription, + // you can't modify the filter. + // +kubebuilder:validation:Optional + Filter *string `json:"filter,omitempty" tf:"filter,omitempty"` + + // A set of key/value label pairs to assign to this Subscription. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // How long to retain unacknowledged messages in the subscription's + // backlog, from the moment a message is published. If + // retainAckedMessages is true, then this also configures the retention + // of acknowledged messages, and thus configures how far back in time a + // subscriptions.seek can be done. Defaults to 7 days. Cannot be more + // than 7 days ('"604800s"') or less than 10 minutes ('"600s"'). + // + // A duration in seconds with up to nine fractional digits, terminated + // by 's'. Example: '"600.5s"'. + // +kubebuilder:validation:Optional + MessageRetentionDuration *string `json:"messageRetentionDuration,omitempty" tf:"message_retention_duration,omitempty"` + + // Name of the subscription. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // If push delivery is used with this subscription, this field is used to + // configure it. An empty pushConfig signifies that the subscriber will + // pull and ack messages using API methods. + // +kubebuilder:validation:Optional + PushConfig []PushConfigParameters `json:"pushConfig,omitempty" tf:"push_config,omitempty"` + + // Indicates whether to retain acknowledged messages. If 'true', then + // messages are not expunged from the subscription's backlog, even if + // they are acknowledged, until they fall out of the + // messageRetentionDuration window. + // +kubebuilder:validation:Optional + RetainAckedMessages *bool `json:"retainAckedMessages,omitempty" tf:"retain_acked_messages,omitempty"` + + // A policy that specifies how Pub/Sub retries message delivery for this subscription. + // + // If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers. + // RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message + // +kubebuilder:validation:Optional + RetryPolicy []RetryPolicyParameters `json:"retryPolicy,omitempty" tf:"retry_policy,omitempty"` + + // A reference to a Topic resource. + // +kubebuilder:validation:Required + Topic *string `json:"topic" tf:"topic,omitempty"` +} + +// SubscriptionSpec defines the desired state of Subscription +type SubscriptionSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SubscriptionParameters `json:"forProvider"` +} + +// SubscriptionStatus defines the observed state of Subscription. +type SubscriptionStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SubscriptionObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Subscription is the Schema for the Subscriptions 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,gcpjet} +type Subscription struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SubscriptionSpec `json:"spec"` + Status SubscriptionStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubscriptionList contains a list of Subscriptions +type SubscriptionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Subscription `json:"items"` +} + +// Repository type metadata. +var ( + Subscription_Kind = "Subscription" + Subscription_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Subscription_Kind}.String() + Subscription_KindAPIVersion = Subscription_Kind + "." + CRDGroupVersion.String() + Subscription_GroupVersionKind = CRDGroupVersion.WithKind(Subscription_Kind) +) + +func init() { + SchemeBuilder.Register(&Subscription{}, &SubscriptionList{}) +} diff --git a/apis/pubsub/v1alpha1/zz_subscriptioniambinding_terraformed.go b/apis/pubsub/v1alpha1/zz_subscriptioniambinding_terraformed.go new file mode 100755 index 00000000..b12f6138 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_subscriptioniambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SubscriptionIAMBinding +func (mg *SubscriptionIAMBinding) GetTerraformResourceType() string { + return "google_pubsub_subscription_iam_binding" +} + +// GetConnectionDetailsMapping for this SubscriptionIAMBinding +func (tr *SubscriptionIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SubscriptionIAMBinding +func (tr *SubscriptionIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SubscriptionIAMBinding +func (tr *SubscriptionIAMBinding) SetObservation(obs map[string]interface{}) 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 SubscriptionIAMBinding +func (tr *SubscriptionIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SubscriptionIAMBinding +func (tr *SubscriptionIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SubscriptionIAMBinding +func (tr *SubscriptionIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SubscriptionIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SubscriptionIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &SubscriptionIAMBindingParameters{} + 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 *SubscriptionIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/pubsub/v1alpha1/zz_subscriptioniambinding_types.go b/apis/pubsub/v1alpha1/zz_subscriptioniambinding_types.go new file mode 100755 index 00000000..22559ba6 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_subscriptioniambinding_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type SubscriptionIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SubscriptionIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + Subscription *string `json:"subscription" tf:"subscription,omitempty"` +} + +// SubscriptionIAMBindingSpec defines the desired state of SubscriptionIAMBinding +type SubscriptionIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SubscriptionIAMBindingParameters `json:"forProvider"` +} + +// SubscriptionIAMBindingStatus defines the observed state of SubscriptionIAMBinding. +type SubscriptionIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SubscriptionIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubscriptionIAMBinding is the Schema for the SubscriptionIAMBindings 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,gcpjet} +type SubscriptionIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SubscriptionIAMBindingSpec `json:"spec"` + Status SubscriptionIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubscriptionIAMBindingList contains a list of SubscriptionIAMBindings +type SubscriptionIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SubscriptionIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + SubscriptionIAMBinding_Kind = "SubscriptionIAMBinding" + SubscriptionIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SubscriptionIAMBinding_Kind}.String() + SubscriptionIAMBinding_KindAPIVersion = SubscriptionIAMBinding_Kind + "." + CRDGroupVersion.String() + SubscriptionIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(SubscriptionIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&SubscriptionIAMBinding{}, &SubscriptionIAMBindingList{}) +} diff --git a/apis/pubsub/v1alpha1/zz_subscriptioniammember_terraformed.go b/apis/pubsub/v1alpha1/zz_subscriptioniammember_terraformed.go new file mode 100755 index 00000000..70f5045a --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_subscriptioniammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SubscriptionIAMMember +func (mg *SubscriptionIAMMember) GetTerraformResourceType() string { + return "google_pubsub_subscription_iam_member" +} + +// GetConnectionDetailsMapping for this SubscriptionIAMMember +func (tr *SubscriptionIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SubscriptionIAMMember +func (tr *SubscriptionIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SubscriptionIAMMember +func (tr *SubscriptionIAMMember) SetObservation(obs map[string]interface{}) 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 SubscriptionIAMMember +func (tr *SubscriptionIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SubscriptionIAMMember +func (tr *SubscriptionIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SubscriptionIAMMember +func (tr *SubscriptionIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SubscriptionIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SubscriptionIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &SubscriptionIAMMemberParameters{} + 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 *SubscriptionIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/pubsub/v1alpha1/zz_subscriptioniammember_types.go b/apis/pubsub/v1alpha1/zz_subscriptioniammember_types.go new file mode 100755 index 00000000..2e918d46 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_subscriptioniammember_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SubscriptionIAMMemberConditionObservation struct { +} + +type SubscriptionIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type SubscriptionIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SubscriptionIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []SubscriptionIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + Subscription *string `json:"subscription" tf:"subscription,omitempty"` +} + +// SubscriptionIAMMemberSpec defines the desired state of SubscriptionIAMMember +type SubscriptionIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SubscriptionIAMMemberParameters `json:"forProvider"` +} + +// SubscriptionIAMMemberStatus defines the observed state of SubscriptionIAMMember. +type SubscriptionIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SubscriptionIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubscriptionIAMMember is the Schema for the SubscriptionIAMMembers 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,gcpjet} +type SubscriptionIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SubscriptionIAMMemberSpec `json:"spec"` + Status SubscriptionIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubscriptionIAMMemberList contains a list of SubscriptionIAMMembers +type SubscriptionIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SubscriptionIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + SubscriptionIAMMember_Kind = "SubscriptionIAMMember" + SubscriptionIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SubscriptionIAMMember_Kind}.String() + SubscriptionIAMMember_KindAPIVersion = SubscriptionIAMMember_Kind + "." + CRDGroupVersion.String() + SubscriptionIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(SubscriptionIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&SubscriptionIAMMember{}, &SubscriptionIAMMemberList{}) +} diff --git a/apis/pubsub/v1alpha1/zz_subscriptioniampolicy_terraformed.go b/apis/pubsub/v1alpha1/zz_subscriptioniampolicy_terraformed.go new file mode 100755 index 00000000..421067a1 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_subscriptioniampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SubscriptionIAMPolicy +func (mg *SubscriptionIAMPolicy) GetTerraformResourceType() string { + return "google_pubsub_subscription_iam_policy" +} + +// GetConnectionDetailsMapping for this SubscriptionIAMPolicy +func (tr *SubscriptionIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SubscriptionIAMPolicy +func (tr *SubscriptionIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SubscriptionIAMPolicy +func (tr *SubscriptionIAMPolicy) SetObservation(obs map[string]interface{}) 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 SubscriptionIAMPolicy +func (tr *SubscriptionIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SubscriptionIAMPolicy +func (tr *SubscriptionIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SubscriptionIAMPolicy +func (tr *SubscriptionIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SubscriptionIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SubscriptionIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &SubscriptionIAMPolicyParameters{} + 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 *SubscriptionIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/pubsub/v1alpha1/zz_subscriptioniampolicy_types.go b/apis/pubsub/v1alpha1/zz_subscriptioniampolicy_types.go new file mode 100755 index 00000000..7ba293bf --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_subscriptioniampolicy_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SubscriptionIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SubscriptionIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Subscription *string `json:"subscription" tf:"subscription,omitempty"` +} + +// SubscriptionIAMPolicySpec defines the desired state of SubscriptionIAMPolicy +type SubscriptionIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SubscriptionIAMPolicyParameters `json:"forProvider"` +} + +// SubscriptionIAMPolicyStatus defines the observed state of SubscriptionIAMPolicy. +type SubscriptionIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SubscriptionIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubscriptionIAMPolicy is the Schema for the SubscriptionIAMPolicys 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,gcpjet} +type SubscriptionIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SubscriptionIAMPolicySpec `json:"spec"` + Status SubscriptionIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SubscriptionIAMPolicyList contains a list of SubscriptionIAMPolicys +type SubscriptionIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SubscriptionIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + SubscriptionIAMPolicy_Kind = "SubscriptionIAMPolicy" + SubscriptionIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SubscriptionIAMPolicy_Kind}.String() + SubscriptionIAMPolicy_KindAPIVersion = SubscriptionIAMPolicy_Kind + "." + CRDGroupVersion.String() + SubscriptionIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(SubscriptionIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&SubscriptionIAMPolicy{}, &SubscriptionIAMPolicyList{}) +} diff --git a/apis/pubsub/v1alpha1/zz_topic_terraformed.go b/apis/pubsub/v1alpha1/zz_topic_terraformed.go new file mode 100755 index 00000000..6890bf36 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_topic_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Topic +func (mg *Topic) GetTerraformResourceType() string { + return "google_pubsub_topic" +} + +// GetConnectionDetailsMapping for this Topic +func (tr *Topic) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Topic +func (tr *Topic) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Topic +func (tr *Topic) SetObservation(obs map[string]interface{}) 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 Topic +func (tr *Topic) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Topic +func (tr *Topic) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Topic +func (tr *Topic) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Topic using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Topic) LateInitialize(attrs []byte) (bool, error) { + params := &TopicParameters{} + 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 *Topic) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/pubsub/v1alpha1/zz_topic_types.go b/apis/pubsub/v1alpha1/zz_topic_types.go new file mode 100755 index 00000000..df08719e --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_topic_types.go @@ -0,0 +1,143 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 MessageStoragePolicyObservation struct { +} + +type MessageStoragePolicyParameters struct { + + // A list of IDs of GCP regions where messages that are published to + // the topic may be persisted in storage. Messages published by + // publishers running in non-allowed GCP regions (or running outside + // of GCP altogether) will be routed for storage in one of the + // allowed regions. An empty list means that no regions are allowed, + // and is not a valid configuration. + // +kubebuilder:validation:Required + AllowedPersistenceRegions []*string `json:"allowedPersistenceRegions" tf:"allowed_persistence_regions,omitempty"` +} + +type SchemaSettingsObservation struct { +} + +type SchemaSettingsParameters struct { + + // The encoding of messages validated against schema. Default value: "ENCODING_UNSPECIFIED" Possible values: ["ENCODING_UNSPECIFIED", "JSON", "BINARY"] + // +kubebuilder:validation:Optional + Encoding *string `json:"encoding,omitempty" tf:"encoding,omitempty"` + + // The name of the schema that messages published should be + // validated against. Format is projects/{project}/schemas/{schema}. + // The value of this field will be _deleted-schema_ + // if the schema has been deleted. + // +kubebuilder:validation:Required + Schema *string `json:"schema" tf:"schema,omitempty"` +} + +type TopicObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TopicParameters struct { + + // The resource name of the Cloud KMS CryptoKey to be used to protect access + // to messages published on this topic. Your project's PubSub service account + // ('service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com') must have + // 'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use this feature. + // The expected format is 'projects/*/locations/*/keyRings/*/cryptoKeys/*' + // +kubebuilder:validation:Optional + KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"` + + // A set of key/value label pairs to assign to this Topic. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Policy constraining the set of Google Cloud Platform regions where + // messages published to the topic may be stored. If not present, then no + // constraints are in effect. + // +kubebuilder:validation:Optional + MessageStoragePolicy []MessageStoragePolicyParameters `json:"messageStoragePolicy,omitempty" tf:"message_storage_policy,omitempty"` + + // Name of the topic. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Settings for validating messages published against a schema. + // +kubebuilder:validation:Optional + SchemaSettings []SchemaSettingsParameters `json:"schemaSettings,omitempty" tf:"schema_settings,omitempty"` +} + +// TopicSpec defines the desired state of Topic +type TopicSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TopicParameters `json:"forProvider"` +} + +// TopicStatus defines the observed state of Topic. +type TopicStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TopicObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Topic is the Schema for the Topics 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,gcpjet} +type Topic struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TopicSpec `json:"spec"` + Status TopicStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TopicList contains a list of Topics +type TopicList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Topic `json:"items"` +} + +// Repository type metadata. +var ( + Topic_Kind = "Topic" + Topic_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Topic_Kind}.String() + Topic_KindAPIVersion = Topic_Kind + "." + CRDGroupVersion.String() + Topic_GroupVersionKind = CRDGroupVersion.WithKind(Topic_Kind) +) + +func init() { + SchemeBuilder.Register(&Topic{}, &TopicList{}) +} diff --git a/apis/pubsub/v1alpha1/zz_topiciambinding_terraformed.go b/apis/pubsub/v1alpha1/zz_topiciambinding_terraformed.go new file mode 100755 index 00000000..5dbc5e0b --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_topiciambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TopicIAMBinding +func (mg *TopicIAMBinding) GetTerraformResourceType() string { + return "google_pubsub_topic_iam_binding" +} + +// GetConnectionDetailsMapping for this TopicIAMBinding +func (tr *TopicIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TopicIAMBinding +func (tr *TopicIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TopicIAMBinding +func (tr *TopicIAMBinding) SetObservation(obs map[string]interface{}) 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 TopicIAMBinding +func (tr *TopicIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TopicIAMBinding +func (tr *TopicIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TopicIAMBinding +func (tr *TopicIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TopicIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TopicIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &TopicIAMBindingParameters{} + 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 *TopicIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/pubsub/v1alpha1/zz_topiciambinding_types.go b/apis/pubsub/v1alpha1/zz_topiciambinding_types.go new file mode 100755 index 00000000..c90e18a2 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_topiciambinding_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TopicIAMBindingConditionObservation struct { +} + +type TopicIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TopicIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TopicIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []TopicIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + Topic *string `json:"topic" tf:"topic,omitempty"` +} + +// TopicIAMBindingSpec defines the desired state of TopicIAMBinding +type TopicIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TopicIAMBindingParameters `json:"forProvider"` +} + +// TopicIAMBindingStatus defines the observed state of TopicIAMBinding. +type TopicIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TopicIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TopicIAMBinding is the Schema for the TopicIAMBindings 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,gcpjet} +type TopicIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TopicIAMBindingSpec `json:"spec"` + Status TopicIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TopicIAMBindingList contains a list of TopicIAMBindings +type TopicIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TopicIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + TopicIAMBinding_Kind = "TopicIAMBinding" + TopicIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TopicIAMBinding_Kind}.String() + TopicIAMBinding_KindAPIVersion = TopicIAMBinding_Kind + "." + CRDGroupVersion.String() + TopicIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(TopicIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&TopicIAMBinding{}, &TopicIAMBindingList{}) +} diff --git a/apis/pubsub/v1alpha1/zz_topiciammember_terraformed.go b/apis/pubsub/v1alpha1/zz_topiciammember_terraformed.go new file mode 100755 index 00000000..3e1cebd5 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_topiciammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TopicIAMMember +func (mg *TopicIAMMember) GetTerraformResourceType() string { + return "google_pubsub_topic_iam_member" +} + +// GetConnectionDetailsMapping for this TopicIAMMember +func (tr *TopicIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TopicIAMMember +func (tr *TopicIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TopicIAMMember +func (tr *TopicIAMMember) SetObservation(obs map[string]interface{}) 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 TopicIAMMember +func (tr *TopicIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TopicIAMMember +func (tr *TopicIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TopicIAMMember +func (tr *TopicIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TopicIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TopicIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &TopicIAMMemberParameters{} + 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 *TopicIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/pubsub/v1alpha1/zz_topiciammember_types.go b/apis/pubsub/v1alpha1/zz_topiciammember_types.go new file mode 100755 index 00000000..4bd1e2f5 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_topiciammember_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TopicIAMMemberConditionObservation struct { +} + +type TopicIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TopicIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TopicIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []TopicIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + Topic *string `json:"topic" tf:"topic,omitempty"` +} + +// TopicIAMMemberSpec defines the desired state of TopicIAMMember +type TopicIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TopicIAMMemberParameters `json:"forProvider"` +} + +// TopicIAMMemberStatus defines the observed state of TopicIAMMember. +type TopicIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TopicIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TopicIAMMember is the Schema for the TopicIAMMembers 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,gcpjet} +type TopicIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TopicIAMMemberSpec `json:"spec"` + Status TopicIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TopicIAMMemberList contains a list of TopicIAMMembers +type TopicIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TopicIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + TopicIAMMember_Kind = "TopicIAMMember" + TopicIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TopicIAMMember_Kind}.String() + TopicIAMMember_KindAPIVersion = TopicIAMMember_Kind + "." + CRDGroupVersion.String() + TopicIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(TopicIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&TopicIAMMember{}, &TopicIAMMemberList{}) +} diff --git a/apis/pubsub/v1alpha1/zz_topiciampolicy_terraformed.go b/apis/pubsub/v1alpha1/zz_topiciampolicy_terraformed.go new file mode 100755 index 00000000..999b8681 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_topiciampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TopicIAMPolicy +func (mg *TopicIAMPolicy) GetTerraformResourceType() string { + return "google_pubsub_topic_iam_policy" +} + +// GetConnectionDetailsMapping for this TopicIAMPolicy +func (tr *TopicIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TopicIAMPolicy +func (tr *TopicIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TopicIAMPolicy +func (tr *TopicIAMPolicy) SetObservation(obs map[string]interface{}) 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 TopicIAMPolicy +func (tr *TopicIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TopicIAMPolicy +func (tr *TopicIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TopicIAMPolicy +func (tr *TopicIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TopicIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TopicIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &TopicIAMPolicyParameters{} + 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 *TopicIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/pubsub/v1alpha1/zz_topiciampolicy_types.go b/apis/pubsub/v1alpha1/zz_topiciampolicy_types.go new file mode 100755 index 00000000..f5dba969 --- /dev/null +++ b/apis/pubsub/v1alpha1/zz_topiciampolicy_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TopicIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TopicIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Topic *string `json:"topic" tf:"topic,omitempty"` +} + +// TopicIAMPolicySpec defines the desired state of TopicIAMPolicy +type TopicIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TopicIAMPolicyParameters `json:"forProvider"` +} + +// TopicIAMPolicyStatus defines the observed state of TopicIAMPolicy. +type TopicIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TopicIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TopicIAMPolicy is the Schema for the TopicIAMPolicys 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,gcpjet} +type TopicIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TopicIAMPolicySpec `json:"spec"` + Status TopicIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TopicIAMPolicyList contains a list of TopicIAMPolicys +type TopicIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TopicIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + TopicIAMPolicy_Kind = "TopicIAMPolicy" + TopicIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TopicIAMPolicy_Kind}.String() + TopicIAMPolicy_KindAPIVersion = TopicIAMPolicy_Kind + "." + CRDGroupVersion.String() + TopicIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(TopicIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&TopicIAMPolicy{}, &TopicIAMPolicyList{}) +} diff --git a/apis/redis/v1alpha1/zz_generated.deepcopy.go b/apis/redis/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..12f27639 --- /dev/null +++ b/apis/redis/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,340 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Instance) DeepCopyInto(out *Instance) { + *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 Instance. +func (in *Instance) DeepCopy() *Instance { + if in == nil { + return nil + } + out := new(Instance) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Instance) 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 *InstanceList) DeepCopyInto(out *InstanceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Instance, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList. +func (in *InstanceList) DeepCopy() *InstanceList { + if in == nil { + return nil + } + out := new(InstanceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceList) 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 *InstanceObservation) DeepCopyInto(out *InstanceObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.CurrentLocationID != nil { + in, out := &in.CurrentLocationID, &out.CurrentLocationID + *out = new(string) + **out = **in + } + if in.Host != nil { + in, out := &in.Host, &out.Host + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.PersistenceIAMIdentity != nil { + in, out := &in.PersistenceIAMIdentity, &out.PersistenceIAMIdentity + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } + if in.ServerCACerts != nil { + in, out := &in.ServerCACerts, &out.ServerCACerts + *out = make([]ServerCACertsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceObservation. +func (in *InstanceObservation) DeepCopy() *InstanceObservation { + if in == nil { + return nil + } + out := new(InstanceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { + *out = *in + if in.AlternativeLocationID != nil { + in, out := &in.AlternativeLocationID, &out.AlternativeLocationID + *out = new(string) + **out = **in + } + if in.AuthEnabled != nil { + in, out := &in.AuthEnabled, &out.AuthEnabled + *out = new(bool) + **out = **in + } + if in.AuthorizedNetwork != nil { + in, out := &in.AuthorizedNetwork, &out.AuthorizedNetwork + *out = new(string) + **out = **in + } + if in.ConnectMode != nil { + in, out := &in.ConnectMode, &out.ConnectMode + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.LocationID != nil { + in, out := &in.LocationID, &out.LocationID + *out = new(string) + **out = **in + } + if in.MemorySizeGb != nil { + in, out := &in.MemorySizeGb, &out.MemorySizeGb + *out = new(int64) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.RedisConfigs != nil { + in, out := &in.RedisConfigs, &out.RedisConfigs + *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.RedisVersion != nil { + in, out := &in.RedisVersion, &out.RedisVersion + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.ReservedIPRange != nil { + in, out := &in.ReservedIPRange, &out.ReservedIPRange + *out = new(string) + **out = **in + } + if in.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(string) + **out = **in + } + if in.TransitEncryptionMode != nil { + in, out := &in.TransitEncryptionMode, &out.TransitEncryptionMode + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceParameters. +func (in *InstanceParameters) DeepCopy() *InstanceParameters { + if in == nil { + return nil + } + out := new(InstanceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec. +func (in *InstanceSpec) DeepCopy() *InstanceSpec { + if in == nil { + return nil + } + out := new(InstanceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus. +func (in *InstanceStatus) DeepCopy() *InstanceStatus { + if in == nil { + return nil + } + out := new(InstanceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServerCACertsObservation) DeepCopyInto(out *ServerCACertsObservation) { + *out = *in + if in.Cert != nil { + in, out := &in.Cert, &out.Cert + *out = new(string) + **out = **in + } + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.ExpireTime != nil { + in, out := &in.ExpireTime, &out.ExpireTime + *out = new(string) + **out = **in + } + if in.SerialNumber != nil { + in, out := &in.SerialNumber, &out.SerialNumber + *out = new(string) + **out = **in + } + if in.Sha1Fingerprint != nil { + in, out := &in.Sha1Fingerprint, &out.Sha1Fingerprint + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerCACertsObservation. +func (in *ServerCACertsObservation) DeepCopy() *ServerCACertsObservation { + if in == nil { + return nil + } + out := new(ServerCACertsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServerCACertsParameters) DeepCopyInto(out *ServerCACertsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerCACertsParameters. +func (in *ServerCACertsParameters) DeepCopy() *ServerCACertsParameters { + if in == nil { + return nil + } + out := new(ServerCACertsParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/redis/v1alpha1/zz_generated.managed.go b/apis/redis/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..f3014e16 --- /dev/null +++ b/apis/redis/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Instance. +func (mg *Instance) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Instance. +func (mg *Instance) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Instance. +func (mg *Instance) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Instance. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Instance) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Instance. +func (mg *Instance) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Instance. +func (mg *Instance) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Instance. +func (mg *Instance) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Instance. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Instance) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/redis/v1alpha1/zz_generated.managedlist.go b/apis/redis/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..ac5165ff --- /dev/null +++ b/apis/redis/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this InstanceList. +func (l *InstanceList) 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/redis/v1alpha1/zz_groupversion_info.go b/apis/redis/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..ce9554cd --- /dev/null +++ b/apis/redis/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=redis.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "redis.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/redis/v1alpha1/zz_instance_terraformed.go b/apis/redis/v1alpha1/zz_instance_terraformed.go new file mode 100755 index 00000000..ab89558c --- /dev/null +++ b/apis/redis/v1alpha1/zz_instance_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Instance +func (mg *Instance) GetTerraformResourceType() string { + return "google_redis_instance" +} + +// GetConnectionDetailsMapping for this Instance +func (tr *Instance) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"auth_string": "status.atProvider.authString"} +} + +// GetObservation of this Instance +func (tr *Instance) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Instance +func (tr *Instance) SetObservation(obs map[string]interface{}) 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 Instance +func (tr *Instance) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Instance +func (tr *Instance) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Instance +func (tr *Instance) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Instance using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Instance) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceParameters{} + 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 *Instance) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/redis/v1alpha1/zz_instance_types.go b/apis/redis/v1alpha1/zz_instance_types.go new file mode 100755 index 00000000..1284a9c7 --- /dev/null +++ b/apis/redis/v1alpha1/zz_instance_types.go @@ -0,0 +1,196 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + CurrentLocationID *string `json:"currentLocationId,omitempty" tf:"current_location_id,omitempty"` + + Host *string `json:"host,omitempty" tf:"host,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + PersistenceIAMIdentity *string `json:"persistenceIamIdentity,omitempty" tf:"persistence_iam_identity,omitempty"` + + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` + + ServerCACerts []ServerCACertsObservation `json:"serverCaCerts,omitempty" tf:"server_ca_certs,omitempty"` +} + +type InstanceParameters struct { + + // Only applicable to STANDARD_HA tier which protects the instance + // against zonal failures by provisioning it across two zones. + // If provided, it must be a different zone from the one provided in + // [locationId]. + // +kubebuilder:validation:Optional + AlternativeLocationID *string `json:"alternativeLocationId,omitempty" tf:"alternative_location_id,omitempty"` + + // Optional. Indicates whether OSS Redis AUTH is enabled for the + // instance. If set to "true" AUTH is enabled on the instance. + // Default value is "false" meaning AUTH is disabled. + // +kubebuilder:validation:Optional + AuthEnabled *bool `json:"authEnabled,omitempty" tf:"auth_enabled,omitempty"` + + // The full name of the Google Compute Engine network to which the + // instance is connected. If left unspecified, the default network + // will be used. + // +kubebuilder:validation:Optional + AuthorizedNetwork *string `json:"authorizedNetwork,omitempty" tf:"authorized_network,omitempty"` + + // The connection mode of the Redis instance. Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING", "PRIVATE_SERVICE_ACCESS"] + // +kubebuilder:validation:Optional + ConnectMode *string `json:"connectMode,omitempty" tf:"connect_mode,omitempty"` + + // An arbitrary and optional user-provided name for the instance. + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // Resource labels to represent user provided metadata. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The zone where the instance will be provisioned. If not provided, + // the service will choose a zone for the instance. For STANDARD_HA tier, + // instances will be created across two zones for protection against + // zonal failures. If [alternativeLocationId] is also provided, it must + // be different from [locationId]. + // +kubebuilder:validation:Optional + LocationID *string `json:"locationId,omitempty" tf:"location_id,omitempty"` + + // Redis memory size in GiB. + // +kubebuilder:validation:Required + MemorySizeGb *int64 `json:"memorySizeGb" tf:"memory_size_gb,omitempty"` + + // The ID of the instance or a fully qualified identifier for the instance. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Redis configuration parameters, according to http://redis.io/topics/config. + // Please check Memorystore documentation for the list of supported parameters: + // https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs + // +kubebuilder:validation:Optional + RedisConfigs map[string]*string `json:"redisConfigs,omitempty" tf:"redis_configs,omitempty"` + + // The version of Redis software. If not provided, latest supported + // version will be used. Please check the API documentation linked + // at the top for the latest valid values. + // +kubebuilder:validation:Optional + RedisVersion *string `json:"redisVersion,omitempty" tf:"redis_version,omitempty"` + + // The name of the Redis region of the instance. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // The CIDR range of internal addresses that are reserved for this + // instance. If not provided, the service will choose an unused /29 + // block, for example, 10.0.0.0/29 or 192.168.0.0/29. Ranges must be + // unique and non-overlapping with existing subnets in an authorized + // network. + // +kubebuilder:validation:Optional + ReservedIPRange *string `json:"reservedIpRange,omitempty" tf:"reserved_ip_range,omitempty"` + + // The service tier of the instance. Must be one of these values: + // + // - BASIC: standalone instance + // - STANDARD_HA: highly available primary/replica instances Default value: "BASIC" Possible values: ["BASIC", "STANDARD_HA"] + // +kubebuilder:validation:Optional + Tier *string `json:"tier,omitempty" tf:"tier,omitempty"` + + // The TLS mode of the Redis instance, If not provided, TLS is disabled for the instance. + // + // - SERVER_AUTHENTICATION: Client to Server traffic encryption enabled with server authentcation Default value: "DISABLED" Possible values: ["SERVER_AUTHENTICATION", "DISABLED"] + // +kubebuilder:validation:Optional + TransitEncryptionMode *string `json:"transitEncryptionMode,omitempty" tf:"transit_encryption_mode,omitempty"` +} + +type ServerCACertsObservation struct { + Cert *string `json:"cert,omitempty" tf:"cert,omitempty"` + + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ExpireTime *string `json:"expireTime,omitempty" tf:"expire_time,omitempty"` + + SerialNumber *string `json:"serialNumber,omitempty" tf:"serial_number,omitempty"` + + Sha1Fingerprint *string `json:"sha1Fingerprint,omitempty" tf:"sha1_fingerprint,omitempty"` +} + +type ServerCACertsParameters struct { +} + +// InstanceSpec defines the desired state of Instance +type InstanceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceParameters `json:"forProvider"` +} + +// InstanceStatus defines the observed state of Instance. +type InstanceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Instance is the Schema for the Instances 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,gcpjet} +type Instance struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceSpec `json:"spec"` + Status InstanceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceList contains a list of Instances +type InstanceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Instance `json:"items"` +} + +// Repository type metadata. +var ( + Instance_Kind = "Instance" + Instance_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Instance_Kind}.String() + Instance_KindAPIVersion = Instance_Kind + "." + CRDGroupVersion.String() + Instance_GroupVersionKind = CRDGroupVersion.WithKind(Instance_Kind) +) + +func init() { + SchemeBuilder.Register(&Instance{}, &InstanceList{}) +} diff --git a/apis/resourcemanager/v1alpha1/zz_generated.deepcopy.go b/apis/resourcemanager/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..b2f9376c --- /dev/null +++ b/apis/resourcemanager/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,189 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Lien) DeepCopyInto(out *Lien) { + *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 Lien. +func (in *Lien) DeepCopy() *Lien { + if in == nil { + return nil + } + out := new(Lien) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Lien) 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 *LienList) DeepCopyInto(out *LienList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Lien, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LienList. +func (in *LienList) DeepCopy() *LienList { + if in == nil { + return nil + } + out := new(LienList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LienList) 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 *LienObservation) DeepCopyInto(out *LienObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LienObservation. +func (in *LienObservation) DeepCopy() *LienObservation { + if in == nil { + return nil + } + out := new(LienObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LienParameters) DeepCopyInto(out *LienParameters) { + *out = *in + if in.Origin != nil { + in, out := &in.Origin, &out.Origin + *out = new(string) + **out = **in + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.Reason != nil { + in, out := &in.Reason, &out.Reason + *out = new(string) + **out = **in + } + if in.Restrictions != nil { + in, out := &in.Restrictions, &out.Restrictions + *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 LienParameters. +func (in *LienParameters) DeepCopy() *LienParameters { + if in == nil { + return nil + } + out := new(LienParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LienSpec) DeepCopyInto(out *LienSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LienSpec. +func (in *LienSpec) DeepCopy() *LienSpec { + if in == nil { + return nil + } + out := new(LienSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LienStatus) DeepCopyInto(out *LienStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LienStatus. +func (in *LienStatus) DeepCopy() *LienStatus { + if in == nil { + return nil + } + out := new(LienStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/resourcemanager/v1alpha1/zz_generated.managed.go b/apis/resourcemanager/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..c15d839a --- /dev/null +++ b/apis/resourcemanager/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Lien. +func (mg *Lien) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Lien. +func (mg *Lien) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Lien. +func (mg *Lien) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Lien. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Lien) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Lien. +func (mg *Lien) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Lien. +func (mg *Lien) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Lien. +func (mg *Lien) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Lien. +func (mg *Lien) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Lien. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Lien) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Lien. +func (mg *Lien) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/resourcemanager/v1alpha1/zz_generated.managedlist.go b/apis/resourcemanager/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..fa4ddee7 --- /dev/null +++ b/apis/resourcemanager/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this LienList. +func (l *LienList) 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/resourcemanager/v1alpha1/zz_groupversion_info.go b/apis/resourcemanager/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..9dc1b4d5 --- /dev/null +++ b/apis/resourcemanager/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=resourcemanager.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "resourcemanager.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/resourcemanager/v1alpha1/zz_lien_terraformed.go b/apis/resourcemanager/v1alpha1/zz_lien_terraformed.go new file mode 100755 index 00000000..e2a19343 --- /dev/null +++ b/apis/resourcemanager/v1alpha1/zz_lien_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Lien +func (mg *Lien) GetTerraformResourceType() string { + return "google_resource_manager_lien" +} + +// GetConnectionDetailsMapping for this Lien +func (tr *Lien) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Lien +func (tr *Lien) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Lien +func (tr *Lien) SetObservation(obs map[string]interface{}) 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 Lien +func (tr *Lien) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Lien +func (tr *Lien) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Lien +func (tr *Lien) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Lien using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Lien) LateInitialize(attrs []byte) (bool, error) { + params := &LienParameters{} + 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 *Lien) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/resourcemanager/v1alpha1/zz_lien_types.go b/apis/resourcemanager/v1alpha1/zz_lien_types.go new file mode 100755 index 00000000..69442d9e --- /dev/null +++ b/apis/resourcemanager/v1alpha1/zz_lien_types.go @@ -0,0 +1,112 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 LienObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type LienParameters struct { + + // A stable, user-visible/meaningful string identifying the origin + // of the Lien, intended to be inspected programmatically. Maximum length of + // 200 characters. + // +kubebuilder:validation:Required + Origin *string `json:"origin" tf:"origin,omitempty"` + + // A reference to the resource this Lien is attached to. + // The server will validate the parent against those for which Liens are supported. + // Since a variety of objects can have Liens against them, you must provide the type + // prefix (e.g. "projects/my-project-name"). + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` + + // Concise user-visible strings indicating why an action cannot be performed + // on a resource. Maximum length of 200 characters. + // +kubebuilder:validation:Required + Reason *string `json:"reason" tf:"reason,omitempty"` + + // The types of operations which should be blocked as a result of this Lien. + // Each value should correspond to an IAM permission. The server will validate + // the permissions against those for which Liens are supported. An empty + // list is meaningless and will be rejected. + // e.g. ['resourcemanager.projects.delete'] + // +kubebuilder:validation:Required + Restrictions []*string `json:"restrictions" tf:"restrictions,omitempty"` +} + +// LienSpec defines the desired state of Lien +type LienSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider LienParameters `json:"forProvider"` +} + +// LienStatus defines the observed state of Lien. +type LienStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider LienObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Lien is the Schema for the Liens 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,gcpjet} +type Lien struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec LienSpec `json:"spec"` + Status LienStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// LienList contains a list of Liens +type LienList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Lien `json:"items"` +} + +// Repository type metadata. +var ( + Lien_Kind = "Lien" + Lien_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Lien_Kind}.String() + Lien_KindAPIVersion = Lien_Kind + "." + CRDGroupVersion.String() + Lien_GroupVersionKind = CRDGroupVersion.WithKind(Lien_Kind) +) + +func init() { + SchemeBuilder.Register(&Lien{}, &LienList{}) +} diff --git a/apis/scc/v1alpha1/zz_generated.deepcopy.go b/apis/scc/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..9540fef0 --- /dev/null +++ b/apis/scc/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,373 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NotificationConfig) DeepCopyInto(out *NotificationConfig) { + *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 NotificationConfig. +func (in *NotificationConfig) DeepCopy() *NotificationConfig { + if in == nil { + return nil + } + out := new(NotificationConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NotificationConfig) 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 *NotificationConfigList) DeepCopyInto(out *NotificationConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]NotificationConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationConfigList. +func (in *NotificationConfigList) DeepCopy() *NotificationConfigList { + if in == nil { + return nil + } + out := new(NotificationConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NotificationConfigList) 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 *NotificationConfigObservation) DeepCopyInto(out *NotificationConfigObservation) { + *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.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationConfigObservation. +func (in *NotificationConfigObservation) DeepCopy() *NotificationConfigObservation { + if in == nil { + return nil + } + out := new(NotificationConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NotificationConfigParameters) DeepCopyInto(out *NotificationConfigParameters) { + *out = *in + if in.ConfigID != nil { + in, out := &in.ConfigID, &out.ConfigID + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Organization != nil { + in, out := &in.Organization, &out.Organization + *out = new(string) + **out = **in + } + if in.PubsubTopic != nil { + in, out := &in.PubsubTopic, &out.PubsubTopic + *out = new(string) + **out = **in + } + if in.StreamingConfig != nil { + in, out := &in.StreamingConfig, &out.StreamingConfig + *out = make([]StreamingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationConfigParameters. +func (in *NotificationConfigParameters) DeepCopy() *NotificationConfigParameters { + if in == nil { + return nil + } + out := new(NotificationConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NotificationConfigSpec) DeepCopyInto(out *NotificationConfigSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationConfigSpec. +func (in *NotificationConfigSpec) DeepCopy() *NotificationConfigSpec { + if in == nil { + return nil + } + out := new(NotificationConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NotificationConfigStatus) DeepCopyInto(out *NotificationConfigStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationConfigStatus. +func (in *NotificationConfigStatus) DeepCopy() *NotificationConfigStatus { + if in == nil { + return nil + } + out := new(NotificationConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Source) DeepCopyInto(out *Source) { + *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 Source. +func (in *Source) DeepCopy() *Source { + if in == nil { + return nil + } + out := new(Source) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Source) 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 *SourceList) DeepCopyInto(out *SourceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Source, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceList. +func (in *SourceList) DeepCopy() *SourceList { + if in == nil { + return nil + } + out := new(SourceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SourceList) 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 *SourceObservation) DeepCopyInto(out *SourceObservation) { + *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 + } +} + +// 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.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Organization != nil { + in, out := &in.Organization, &out.Organization + *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 *SourceSpec) DeepCopyInto(out *SourceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceSpec. +func (in *SourceSpec) DeepCopy() *SourceSpec { + if in == nil { + return nil + } + out := new(SourceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceStatus) DeepCopyInto(out *SourceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceStatus. +func (in *SourceStatus) DeepCopy() *SourceStatus { + if in == nil { + return nil + } + out := new(SourceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StreamingConfigObservation) DeepCopyInto(out *StreamingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamingConfigObservation. +func (in *StreamingConfigObservation) DeepCopy() *StreamingConfigObservation { + if in == nil { + return nil + } + out := new(StreamingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StreamingConfigParameters) DeepCopyInto(out *StreamingConfigParameters) { + *out = *in + if in.Filter != nil { + in, out := &in.Filter, &out.Filter + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamingConfigParameters. +func (in *StreamingConfigParameters) DeepCopy() *StreamingConfigParameters { + if in == nil { + return nil + } + out := new(StreamingConfigParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/scc/v1alpha1/zz_generated.managed.go b/apis/scc/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..9b7eaccb --- /dev/null +++ b/apis/scc/v1alpha1/zz_generated.managed.go @@ -0,0 +1,132 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this NotificationConfig. +func (mg *NotificationConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this NotificationConfig. +func (mg *NotificationConfig) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this NotificationConfig. +func (mg *NotificationConfig) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this NotificationConfig. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *NotificationConfig) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this NotificationConfig. +func (mg *NotificationConfig) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this NotificationConfig. +func (mg *NotificationConfig) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this NotificationConfig. +func (mg *NotificationConfig) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this NotificationConfig. +func (mg *NotificationConfig) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this NotificationConfig. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *NotificationConfig) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this NotificationConfig. +func (mg *NotificationConfig) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Source. +func (mg *Source) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Source. +func (mg *Source) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Source. +func (mg *Source) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Source. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Source) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Source. +func (mg *Source) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Source. +func (mg *Source) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Source. +func (mg *Source) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Source. +func (mg *Source) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Source. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Source) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Source. +func (mg *Source) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/scc/v1alpha1/zz_generated.managedlist.go b/apis/scc/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..c3aeb8eb --- /dev/null +++ b/apis/scc/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,38 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this NotificationConfigList. +func (l *NotificationConfigList) 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 SourceList. +func (l *SourceList) 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/scc/v1alpha1/zz_groupversion_info.go b/apis/scc/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..beaf3441 --- /dev/null +++ b/apis/scc/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=scc.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "scc.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/scc/v1alpha1/zz_notificationconfig_terraformed.go b/apis/scc/v1alpha1/zz_notificationconfig_terraformed.go new file mode 100755 index 00000000..c055c21e --- /dev/null +++ b/apis/scc/v1alpha1/zz_notificationconfig_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this NotificationConfig +func (mg *NotificationConfig) GetTerraformResourceType() string { + return "google_scc_notification_config" +} + +// GetConnectionDetailsMapping for this NotificationConfig +func (tr *NotificationConfig) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this NotificationConfig +func (tr *NotificationConfig) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this NotificationConfig +func (tr *NotificationConfig) SetObservation(obs map[string]interface{}) 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 NotificationConfig +func (tr *NotificationConfig) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this NotificationConfig +func (tr *NotificationConfig) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this NotificationConfig +func (tr *NotificationConfig) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this NotificationConfig using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *NotificationConfig) LateInitialize(attrs []byte) (bool, error) { + params := &NotificationConfigParameters{} + 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 *NotificationConfig) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/scc/v1alpha1/zz_notificationconfig_types.go b/apis/scc/v1alpha1/zz_notificationconfig_types.go new file mode 100755 index 00000000..bfb6356d --- /dev/null +++ b/apis/scc/v1alpha1/zz_notificationconfig_types.go @@ -0,0 +1,142 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 NotificationConfigObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` +} + +type NotificationConfigParameters struct { + + // This must be unique within the organization. + // +kubebuilder:validation:Required + ConfigID *string `json:"configId" tf:"config_id,omitempty"` + + // The description of the notification config (max of 1024 characters). + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The organization whose Cloud Security Command Center the Notification + // Config lives in. + // +kubebuilder:validation:Required + Organization *string `json:"organization" tf:"organization,omitempty"` + + // The Pub/Sub topic to send notifications to. Its format is + // "projects/[project_id]/topics/[topic]". + // +kubebuilder:validation:Required + PubsubTopic *string `json:"pubsubTopic" tf:"pubsub_topic,omitempty"` + + // The config for triggering streaming-based notifications. + // +kubebuilder:validation:Required + StreamingConfig []StreamingConfigParameters `json:"streamingConfig" tf:"streaming_config,omitempty"` +} + +type StreamingConfigObservation struct { +} + +type StreamingConfigParameters struct { + + // Expression that defines the filter to apply across create/update + // events of assets or findings as specified by the event type. The + // expression is a list of zero or more restrictions combined via + // logical operators AND and OR. Parentheses are supported, and OR + // has higher precedence than AND. + // + // Restrictions have the form and may have + // a - character in front of them to indicate negation. The fields + // map to those defined in the corresponding resource. + // + // The supported operators are: + // + // * = for all value types. + // * >, <, >=, <= for integer values. + // * :, meaning substring matching, for strings. + // + // The supported value types are: + // + // * string literals in quotes. + // * integer literals without quotes. + // * boolean literals true and false without quotes. + // + // See + // [Filtering notifications](https://cloud.google.com/security-command-center/docs/how-to-api-filter-notifications) + // for information on how to write a filter. + // +kubebuilder:validation:Required + Filter *string `json:"filter" tf:"filter,omitempty"` +} + +// NotificationConfigSpec defines the desired state of NotificationConfig +type NotificationConfigSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider NotificationConfigParameters `json:"forProvider"` +} + +// NotificationConfigStatus defines the observed state of NotificationConfig. +type NotificationConfigStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider NotificationConfigObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// NotificationConfig is the Schema for the NotificationConfigs 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,gcpjet} +type NotificationConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec NotificationConfigSpec `json:"spec"` + Status NotificationConfigStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// NotificationConfigList contains a list of NotificationConfigs +type NotificationConfigList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []NotificationConfig `json:"items"` +} + +// Repository type metadata. +var ( + NotificationConfig_Kind = "NotificationConfig" + NotificationConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: NotificationConfig_Kind}.String() + NotificationConfig_KindAPIVersion = NotificationConfig_Kind + "." + CRDGroupVersion.String() + NotificationConfig_GroupVersionKind = CRDGroupVersion.WithKind(NotificationConfig_Kind) +) + +func init() { + SchemeBuilder.Register(&NotificationConfig{}, &NotificationConfigList{}) +} diff --git a/apis/scc/v1alpha1/zz_source_terraformed.go b/apis/scc/v1alpha1/zz_source_terraformed.go new file mode 100755 index 00000000..9d15110e --- /dev/null +++ b/apis/scc/v1alpha1/zz_source_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Source +func (mg *Source) GetTerraformResourceType() string { + return "google_scc_source" +} + +// GetConnectionDetailsMapping for this Source +func (tr *Source) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Source +func (tr *Source) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Source +func (tr *Source) SetObservation(obs map[string]interface{}) 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 Source +func (tr *Source) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Source +func (tr *Source) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Source +func (tr *Source) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Source using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Source) LateInitialize(attrs []byte) (bool, error) { + params := &SourceParameters{} + 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 *Source) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/scc/v1alpha1/zz_source_types.go b/apis/scc/v1alpha1/zz_source_types.go new file mode 100755 index 00000000..9034707b --- /dev/null +++ b/apis/scc/v1alpha1/zz_source_types.go @@ -0,0 +1,101 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SourceObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type SourceParameters struct { + + // The description of the source (max of 1024 characters). + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The source’s display name. A source’s display name must be unique + // amongst its siblings, for example, two sources with the same parent + // can't share the same display name. The display name must start and end + // with a letter or digit, may contain letters, digits, spaces, hyphens, + // and underscores, and can be no longer than 32 characters. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // The organization whose Cloud Security Command Center the Source + // lives in. + // +kubebuilder:validation:Required + Organization *string `json:"organization" tf:"organization,omitempty"` +} + +// SourceSpec defines the desired state of Source +type SourceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SourceParameters `json:"forProvider"` +} + +// SourceStatus defines the observed state of Source. +type SourceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SourceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Source is the Schema for the Sources 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,gcpjet} +type Source struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SourceSpec `json:"spec"` + Status SourceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SourceList contains a list of Sources +type SourceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Source `json:"items"` +} + +// Repository type metadata. +var ( + Source_Kind = "Source" + Source_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Source_Kind}.String() + Source_KindAPIVersion = Source_Kind + "." + CRDGroupVersion.String() + Source_GroupVersionKind = CRDGroupVersion.WithKind(Source_Kind) +) + +func init() { + SchemeBuilder.Register(&Source{}, &SourceList{}) +} diff --git a/apis/secretmanager/v1alpha1/zz_generated.deepcopy.go b/apis/secretmanager/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..c4524dee --- /dev/null +++ b/apis/secretmanager/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1168 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomerManagedEncryptionObservation) DeepCopyInto(out *CustomerManagedEncryptionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomerManagedEncryptionObservation. +func (in *CustomerManagedEncryptionObservation) DeepCopy() *CustomerManagedEncryptionObservation { + if in == nil { + return nil + } + out := new(CustomerManagedEncryptionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomerManagedEncryptionParameters) DeepCopyInto(out *CustomerManagedEncryptionParameters) { + *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomerManagedEncryptionParameters. +func (in *CustomerManagedEncryptionParameters) DeepCopy() *CustomerManagedEncryptionParameters { + if in == nil { + return nil + } + out := new(CustomerManagedEncryptionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReplicasObservation) DeepCopyInto(out *ReplicasObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicasObservation. +func (in *ReplicasObservation) DeepCopy() *ReplicasObservation { + if in == nil { + return nil + } + out := new(ReplicasObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReplicasParameters) DeepCopyInto(out *ReplicasParameters) { + *out = *in + if in.CustomerManagedEncryption != nil { + in, out := &in.CustomerManagedEncryption, &out.CustomerManagedEncryption + *out = make([]CustomerManagedEncryptionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicasParameters. +func (in *ReplicasParameters) DeepCopy() *ReplicasParameters { + if in == nil { + return nil + } + out := new(ReplicasParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReplicationObservation) DeepCopyInto(out *ReplicationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationObservation. +func (in *ReplicationObservation) DeepCopy() *ReplicationObservation { + if in == nil { + return nil + } + out := new(ReplicationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReplicationParameters) DeepCopyInto(out *ReplicationParameters) { + *out = *in + if in.Automatic != nil { + in, out := &in.Automatic, &out.Automatic + *out = new(bool) + **out = **in + } + if in.UserManaged != nil { + in, out := &in.UserManaged, &out.UserManaged + *out = make([]UserManagedParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationParameters. +func (in *ReplicationParameters) DeepCopy() *ReplicationParameters { + if in == nil { + return nil + } + out := new(ReplicationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RotationObservation) DeepCopyInto(out *RotationObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RotationObservation. +func (in *RotationObservation) DeepCopy() *RotationObservation { + if in == nil { + return nil + } + out := new(RotationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RotationParameters) DeepCopyInto(out *RotationParameters) { + *out = *in + if in.NextRotationTime != nil { + in, out := &in.NextRotationTime, &out.NextRotationTime + *out = new(string) + **out = **in + } + if in.RotationPeriod != nil { + in, out := &in.RotationPeriod, &out.RotationPeriod + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RotationParameters. +func (in *RotationParameters) DeepCopy() *RotationParameters { + if in == nil { + return nil + } + out := new(RotationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Secret) DeepCopyInto(out *Secret) { + *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 Secret. +func (in *Secret) DeepCopy() *Secret { + if in == nil { + return nil + } + out := new(Secret) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Secret) 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 *SecretIAMBinding) DeepCopyInto(out *SecretIAMBinding) { + *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 SecretIAMBinding. +func (in *SecretIAMBinding) DeepCopy() *SecretIAMBinding { + if in == nil { + return nil + } + out := new(SecretIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecretIAMBinding) 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 *SecretIAMBindingList) DeepCopyInto(out *SecretIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SecretIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMBindingList. +func (in *SecretIAMBindingList) DeepCopy() *SecretIAMBindingList { + if in == nil { + return nil + } + out := new(SecretIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecretIAMBindingList) 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 *SecretIAMBindingObservation) DeepCopyInto(out *SecretIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMBindingObservation. +func (in *SecretIAMBindingObservation) DeepCopy() *SecretIAMBindingObservation { + if in == nil { + return nil + } + out := new(SecretIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretIAMBindingParameters) DeepCopyInto(out *SecretIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.SecretID != nil { + in, out := &in.SecretID, &out.SecretID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMBindingParameters. +func (in *SecretIAMBindingParameters) DeepCopy() *SecretIAMBindingParameters { + if in == nil { + return nil + } + out := new(SecretIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretIAMBindingSpec) DeepCopyInto(out *SecretIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMBindingSpec. +func (in *SecretIAMBindingSpec) DeepCopy() *SecretIAMBindingSpec { + if in == nil { + return nil + } + out := new(SecretIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretIAMBindingStatus) DeepCopyInto(out *SecretIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMBindingStatus. +func (in *SecretIAMBindingStatus) DeepCopy() *SecretIAMBindingStatus { + if in == nil { + return nil + } + out := new(SecretIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretIAMMember) DeepCopyInto(out *SecretIAMMember) { + *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 SecretIAMMember. +func (in *SecretIAMMember) DeepCopy() *SecretIAMMember { + if in == nil { + return nil + } + out := new(SecretIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecretIAMMember) 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 *SecretIAMMemberConditionObservation) DeepCopyInto(out *SecretIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMMemberConditionObservation. +func (in *SecretIAMMemberConditionObservation) DeepCopy() *SecretIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(SecretIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretIAMMemberConditionParameters) DeepCopyInto(out *SecretIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMMemberConditionParameters. +func (in *SecretIAMMemberConditionParameters) DeepCopy() *SecretIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(SecretIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretIAMMemberList) DeepCopyInto(out *SecretIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SecretIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMMemberList. +func (in *SecretIAMMemberList) DeepCopy() *SecretIAMMemberList { + if in == nil { + return nil + } + out := new(SecretIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecretIAMMemberList) 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 *SecretIAMMemberObservation) DeepCopyInto(out *SecretIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMMemberObservation. +func (in *SecretIAMMemberObservation) DeepCopy() *SecretIAMMemberObservation { + if in == nil { + return nil + } + out := new(SecretIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretIAMMemberParameters) DeepCopyInto(out *SecretIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]SecretIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.SecretID != nil { + in, out := &in.SecretID, &out.SecretID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMMemberParameters. +func (in *SecretIAMMemberParameters) DeepCopy() *SecretIAMMemberParameters { + if in == nil { + return nil + } + out := new(SecretIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretIAMMemberSpec) DeepCopyInto(out *SecretIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMMemberSpec. +func (in *SecretIAMMemberSpec) DeepCopy() *SecretIAMMemberSpec { + if in == nil { + return nil + } + out := new(SecretIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretIAMMemberStatus) DeepCopyInto(out *SecretIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMMemberStatus. +func (in *SecretIAMMemberStatus) DeepCopy() *SecretIAMMemberStatus { + if in == nil { + return nil + } + out := new(SecretIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretIAMPolicy) DeepCopyInto(out *SecretIAMPolicy) { + *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 SecretIAMPolicy. +func (in *SecretIAMPolicy) DeepCopy() *SecretIAMPolicy { + if in == nil { + return nil + } + out := new(SecretIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecretIAMPolicy) 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 *SecretIAMPolicyList) DeepCopyInto(out *SecretIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SecretIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMPolicyList. +func (in *SecretIAMPolicyList) DeepCopy() *SecretIAMPolicyList { + if in == nil { + return nil + } + out := new(SecretIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecretIAMPolicyList) 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 *SecretIAMPolicyObservation) DeepCopyInto(out *SecretIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMPolicyObservation. +func (in *SecretIAMPolicyObservation) DeepCopy() *SecretIAMPolicyObservation { + if in == nil { + return nil + } + out := new(SecretIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretIAMPolicyParameters) DeepCopyInto(out *SecretIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SecretID != nil { + in, out := &in.SecretID, &out.SecretID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMPolicyParameters. +func (in *SecretIAMPolicyParameters) DeepCopy() *SecretIAMPolicyParameters { + if in == nil { + return nil + } + out := new(SecretIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretIAMPolicySpec) DeepCopyInto(out *SecretIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMPolicySpec. +func (in *SecretIAMPolicySpec) DeepCopy() *SecretIAMPolicySpec { + if in == nil { + return nil + } + out := new(SecretIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretIAMPolicyStatus) DeepCopyInto(out *SecretIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretIAMPolicyStatus. +func (in *SecretIAMPolicyStatus) DeepCopy() *SecretIAMPolicyStatus { + if in == nil { + return nil + } + out := new(SecretIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretList) DeepCopyInto(out *SecretList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Secret, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretList. +func (in *SecretList) DeepCopy() *SecretList { + if in == nil { + return nil + } + out := new(SecretList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecretList) 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 *SecretObservation) DeepCopyInto(out *SecretObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretObservation. +func (in *SecretObservation) DeepCopy() *SecretObservation { + if in == nil { + return nil + } + out := new(SecretObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretParameters) DeepCopyInto(out *SecretParameters) { + *out = *in + if in.ExpireTime != nil { + in, out := &in.ExpireTime, &out.ExpireTime + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Replication != nil { + in, out := &in.Replication, &out.Replication + *out = make([]ReplicationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Rotation != nil { + in, out := &in.Rotation, &out.Rotation + *out = make([]RotationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SecretID != nil { + in, out := &in.SecretID, &out.SecretID + *out = new(string) + **out = **in + } + if in.TTL != nil { + in, out := &in.TTL, &out.TTL + *out = new(string) + **out = **in + } + if in.Topics != nil { + in, out := &in.Topics, &out.Topics + *out = make([]TopicsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretParameters. +func (in *SecretParameters) DeepCopy() *SecretParameters { + if in == nil { + return nil + } + out := new(SecretParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretSpec) DeepCopyInto(out *SecretSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretSpec. +func (in *SecretSpec) DeepCopy() *SecretSpec { + if in == nil { + return nil + } + out := new(SecretSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretStatus) DeepCopyInto(out *SecretStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretStatus. +func (in *SecretStatus) DeepCopy() *SecretStatus { + if in == nil { + return nil + } + out := new(SecretStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretVersion) DeepCopyInto(out *SecretVersion) { + *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 SecretVersion. +func (in *SecretVersion) DeepCopy() *SecretVersion { + if in == nil { + return nil + } + out := new(SecretVersion) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecretVersion) 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 *SecretVersionList) DeepCopyInto(out *SecretVersionList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SecretVersion, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretVersionList. +func (in *SecretVersionList) DeepCopy() *SecretVersionList { + if in == nil { + return nil + } + out := new(SecretVersionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecretVersionList) 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 *SecretVersionObservation) DeepCopyInto(out *SecretVersionObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.DestroyTime != nil { + in, out := &in.DestroyTime, &out.DestroyTime + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretVersionObservation. +func (in *SecretVersionObservation) DeepCopy() *SecretVersionObservation { + if in == nil { + return nil + } + out := new(SecretVersionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretVersionParameters) DeepCopyInto(out *SecretVersionParameters) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(string) + **out = **in + } + out.SecretDataSecretRef = in.SecretDataSecretRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretVersionParameters. +func (in *SecretVersionParameters) DeepCopy() *SecretVersionParameters { + if in == nil { + return nil + } + out := new(SecretVersionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretVersionSpec) DeepCopyInto(out *SecretVersionSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretVersionSpec. +func (in *SecretVersionSpec) DeepCopy() *SecretVersionSpec { + if in == nil { + return nil + } + out := new(SecretVersionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretVersionStatus) DeepCopyInto(out *SecretVersionStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretVersionStatus. +func (in *SecretVersionStatus) DeepCopy() *SecretVersionStatus { + if in == nil { + return nil + } + out := new(SecretVersionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicsObservation) DeepCopyInto(out *TopicsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicsObservation. +func (in *TopicsObservation) DeepCopy() *TopicsObservation { + if in == nil { + return nil + } + out := new(TopicsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TopicsParameters) DeepCopyInto(out *TopicsParameters) { + *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 TopicsParameters. +func (in *TopicsParameters) DeepCopy() *TopicsParameters { + if in == nil { + return nil + } + out := new(TopicsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserManagedObservation) DeepCopyInto(out *UserManagedObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserManagedObservation. +func (in *UserManagedObservation) DeepCopy() *UserManagedObservation { + if in == nil { + return nil + } + out := new(UserManagedObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserManagedParameters) DeepCopyInto(out *UserManagedParameters) { + *out = *in + if in.Replicas != nil { + in, out := &in.Replicas, &out.Replicas + *out = make([]ReplicasParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserManagedParameters. +func (in *UserManagedParameters) DeepCopy() *UserManagedParameters { + if in == nil { + return nil + } + out := new(UserManagedParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/secretmanager/v1alpha1/zz_generated.managed.go b/apis/secretmanager/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..96b4479f --- /dev/null +++ b/apis/secretmanager/v1alpha1/zz_generated.managed.go @@ -0,0 +1,300 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Secret. +func (mg *Secret) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Secret. +func (mg *Secret) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Secret. +func (mg *Secret) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Secret. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Secret) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Secret. +func (mg *Secret) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Secret. +func (mg *Secret) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Secret. +func (mg *Secret) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Secret. +func (mg *Secret) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Secret. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Secret) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Secret. +func (mg *Secret) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SecretIAMBinding. +func (mg *SecretIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SecretIAMBinding. +func (mg *SecretIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SecretIAMBinding. +func (mg *SecretIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SecretIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SecretIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SecretIAMBinding. +func (mg *SecretIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SecretIAMBinding. +func (mg *SecretIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SecretIAMBinding. +func (mg *SecretIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SecretIAMBinding. +func (mg *SecretIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SecretIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SecretIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SecretIAMBinding. +func (mg *SecretIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SecretIAMMember. +func (mg *SecretIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SecretIAMMember. +func (mg *SecretIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SecretIAMMember. +func (mg *SecretIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SecretIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SecretIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SecretIAMMember. +func (mg *SecretIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SecretIAMMember. +func (mg *SecretIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SecretIAMMember. +func (mg *SecretIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SecretIAMMember. +func (mg *SecretIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SecretIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SecretIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SecretIAMMember. +func (mg *SecretIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SecretIAMPolicy. +func (mg *SecretIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SecretIAMPolicy. +func (mg *SecretIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SecretIAMPolicy. +func (mg *SecretIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SecretIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SecretIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SecretIAMPolicy. +func (mg *SecretIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SecretIAMPolicy. +func (mg *SecretIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SecretIAMPolicy. +func (mg *SecretIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SecretIAMPolicy. +func (mg *SecretIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SecretIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SecretIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SecretIAMPolicy. +func (mg *SecretIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this SecretVersion. +func (mg *SecretVersion) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this SecretVersion. +func (mg *SecretVersion) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this SecretVersion. +func (mg *SecretVersion) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this SecretVersion. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *SecretVersion) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this SecretVersion. +func (mg *SecretVersion) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this SecretVersion. +func (mg *SecretVersion) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this SecretVersion. +func (mg *SecretVersion) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this SecretVersion. +func (mg *SecretVersion) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this SecretVersion. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *SecretVersion) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this SecretVersion. +func (mg *SecretVersion) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/secretmanager/v1alpha1/zz_generated.managedlist.go b/apis/secretmanager/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..a23a12ca --- /dev/null +++ b/apis/secretmanager/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,65 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this SecretIAMBindingList. +func (l *SecretIAMBindingList) 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 SecretIAMMemberList. +func (l *SecretIAMMemberList) 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 SecretIAMPolicyList. +func (l *SecretIAMPolicyList) 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 SecretList. +func (l *SecretList) 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 SecretVersionList. +func (l *SecretVersionList) 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/secretmanager/v1alpha1/zz_groupversion_info.go b/apis/secretmanager/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..575101ec --- /dev/null +++ b/apis/secretmanager/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=secretmanager.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "secretmanager.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/secretmanager/v1alpha1/zz_secret_terraformed.go b/apis/secretmanager/v1alpha1/zz_secret_terraformed.go new file mode 100755 index 00000000..a1d9e219 --- /dev/null +++ b/apis/secretmanager/v1alpha1/zz_secret_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Secret +func (mg *Secret) GetTerraformResourceType() string { + return "google_secret_manager_secret" +} + +// GetConnectionDetailsMapping for this Secret +func (tr *Secret) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Secret +func (tr *Secret) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Secret +func (tr *Secret) SetObservation(obs map[string]interface{}) 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 Secret +func (tr *Secret) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Secret +func (tr *Secret) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Secret +func (tr *Secret) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Secret using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Secret) LateInitialize(attrs []byte) (bool, error) { + params := &SecretParameters{} + 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 *Secret) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/secretmanager/v1alpha1/zz_secret_types.go b/apis/secretmanager/v1alpha1/zz_secret_types.go new file mode 100755 index 00000000..8e33902f --- /dev/null +++ b/apis/secretmanager/v1alpha1/zz_secret_types.go @@ -0,0 +1,206 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 CustomerManagedEncryptionObservation struct { +} + +type CustomerManagedEncryptionParameters struct { + + // Describes the Cloud KMS encryption key that will be used to protect destination secret. + // +kubebuilder:validation:Required + KMSKeyName *string `json:"kmsKeyName" tf:"kms_key_name,omitempty"` +} + +type ReplicasObservation struct { +} + +type ReplicasParameters struct { + + // Customer Managed Encryption for the secret. + // +kubebuilder:validation:Optional + CustomerManagedEncryption []CustomerManagedEncryptionParameters `json:"customerManagedEncryption,omitempty" tf:"customer_managed_encryption,omitempty"` + + // The canonical IDs of the location to replicate data. For example: "us-east1". + // +kubebuilder:validation:Required + Location *string `json:"location" tf:"location,omitempty"` +} + +type ReplicationObservation struct { +} + +type ReplicationParameters struct { + + // The Secret will automatically be replicated without any restrictions. + // +kubebuilder:validation:Optional + Automatic *bool `json:"automatic,omitempty" tf:"automatic,omitempty"` + + // The Secret will automatically be replicated without any restrictions. + // +kubebuilder:validation:Optional + UserManaged []UserManagedParameters `json:"userManaged,omitempty" tf:"user_managed,omitempty"` +} + +type RotationObservation struct { +} + +type RotationParameters struct { + + // Timestamp in UTC at which the Secret is scheduled to rotate. + // A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". + // +kubebuilder:validation:Optional + NextRotationTime *string `json:"nextRotationTime,omitempty" tf:"next_rotation_time,omitempty"` + + // The Duration between rotation notifications. Must be in seconds and at least 3600s (1h) and at most 3153600000s (100 years). + // If rotationPeriod is set, 'next_rotation_time' must be set. 'next_rotation_time' will be advanced by this period when the service automatically sends rotation notifications. + // +kubebuilder:validation:Optional + RotationPeriod *string `json:"rotationPeriod,omitempty" tf:"rotation_period,omitempty"` +} + +type SecretObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type SecretParameters struct { + + // Timestamp in UTC when the Secret is scheduled to expire. This is always provided on output, regardless of what was sent on input. + // A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". + // +kubebuilder:validation:Optional + ExpireTime *string `json:"expireTime,omitempty" tf:"expire_time,omitempty"` + + // The labels assigned to this Secret. + // + // Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, + // and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62} + // + // Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, + // and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} + // + // No more than 64 labels can be assigned to a given resource. + // + // An object containing a list of "key": value pairs. Example: + // { "name": "wrench", "mass": "1.3kg", "count": "3" }. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The replication policy of the secret data attached to the Secret. It cannot be changed + // after the Secret has been created. + // +kubebuilder:validation:Required + Replication []ReplicationParameters `json:"replication" tf:"replication,omitempty"` + + // The rotation time and period for a Secret. At 'next_rotation_time', Secret Manager will send a Pub/Sub notification to the topics configured on the Secret. 'topics' must be set to configure rotation. + // +kubebuilder:validation:Optional + Rotation []RotationParameters `json:"rotation,omitempty" tf:"rotation,omitempty"` + + // This must be unique within the project. + // +kubebuilder:validation:Required + SecretID *string `json:"secretId" tf:"secret_id,omitempty"` + + // The TTL for the Secret. + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + TTL *string `json:"ttl,omitempty" tf:"ttl,omitempty"` + + // A list of up to 10 Pub/Sub topics to which messages are published when control plane operations are called on the secret or its versions. + // +kubebuilder:validation:Optional + Topics []TopicsParameters `json:"topics,omitempty" tf:"topics,omitempty"` +} + +type TopicsObservation struct { +} + +type TopicsParameters struct { + + // The resource name of the Pub/Sub topic that will be published to, in the following format: projects/*/topics/*. + // For publication to succeed, the Secret Manager Service Agent service account must have pubsub.publisher permissions on the topic. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` +} + +type UserManagedObservation struct { +} + +type UserManagedParameters struct { + + // The list of Replicas for this Secret. Cannot be empty. + // +kubebuilder:validation:Required + Replicas []ReplicasParameters `json:"replicas" tf:"replicas,omitempty"` +} + +// SecretSpec defines the desired state of Secret +type SecretSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SecretParameters `json:"forProvider"` +} + +// SecretStatus defines the observed state of Secret. +type SecretStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SecretObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Secret is the Schema for the Secrets 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,gcpjet} +type Secret struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SecretSpec `json:"spec"` + Status SecretStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecretList contains a list of Secrets +type SecretList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Secret `json:"items"` +} + +// Repository type metadata. +var ( + Secret_Kind = "Secret" + Secret_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Secret_Kind}.String() + Secret_KindAPIVersion = Secret_Kind + "." + CRDGroupVersion.String() + Secret_GroupVersionKind = CRDGroupVersion.WithKind(Secret_Kind) +) + +func init() { + SchemeBuilder.Register(&Secret{}, &SecretList{}) +} diff --git a/apis/secretmanager/v1alpha1/zz_secretiambinding_terraformed.go b/apis/secretmanager/v1alpha1/zz_secretiambinding_terraformed.go new file mode 100755 index 00000000..2ed237f5 --- /dev/null +++ b/apis/secretmanager/v1alpha1/zz_secretiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SecretIAMBinding +func (mg *SecretIAMBinding) GetTerraformResourceType() string { + return "google_secret_manager_secret_iam_binding" +} + +// GetConnectionDetailsMapping for this SecretIAMBinding +func (tr *SecretIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SecretIAMBinding +func (tr *SecretIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SecretIAMBinding +func (tr *SecretIAMBinding) SetObservation(obs map[string]interface{}) 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 SecretIAMBinding +func (tr *SecretIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SecretIAMBinding +func (tr *SecretIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SecretIAMBinding +func (tr *SecretIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SecretIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SecretIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &SecretIAMBindingParameters{} + 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 *SecretIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/secretmanager/v1alpha1/zz_secretiambinding_types.go b/apis/secretmanager/v1alpha1/zz_secretiambinding_types.go new file mode 100755 index 00000000..458a46ac --- /dev/null +++ b/apis/secretmanager/v1alpha1/zz_secretiambinding_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type SecretIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SecretIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + SecretID *string `json:"secretId" tf:"secret_id,omitempty"` +} + +// SecretIAMBindingSpec defines the desired state of SecretIAMBinding +type SecretIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SecretIAMBindingParameters `json:"forProvider"` +} + +// SecretIAMBindingStatus defines the observed state of SecretIAMBinding. +type SecretIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SecretIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecretIAMBinding is the Schema for the SecretIAMBindings 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,gcpjet} +type SecretIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SecretIAMBindingSpec `json:"spec"` + Status SecretIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecretIAMBindingList contains a list of SecretIAMBindings +type SecretIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SecretIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + SecretIAMBinding_Kind = "SecretIAMBinding" + SecretIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SecretIAMBinding_Kind}.String() + SecretIAMBinding_KindAPIVersion = SecretIAMBinding_Kind + "." + CRDGroupVersion.String() + SecretIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(SecretIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&SecretIAMBinding{}, &SecretIAMBindingList{}) +} diff --git a/apis/secretmanager/v1alpha1/zz_secretiammember_terraformed.go b/apis/secretmanager/v1alpha1/zz_secretiammember_terraformed.go new file mode 100755 index 00000000..31ed5460 --- /dev/null +++ b/apis/secretmanager/v1alpha1/zz_secretiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SecretIAMMember +func (mg *SecretIAMMember) GetTerraformResourceType() string { + return "google_secret_manager_secret_iam_member" +} + +// GetConnectionDetailsMapping for this SecretIAMMember +func (tr *SecretIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SecretIAMMember +func (tr *SecretIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SecretIAMMember +func (tr *SecretIAMMember) SetObservation(obs map[string]interface{}) 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 SecretIAMMember +func (tr *SecretIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SecretIAMMember +func (tr *SecretIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SecretIAMMember +func (tr *SecretIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SecretIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SecretIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &SecretIAMMemberParameters{} + 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 *SecretIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/secretmanager/v1alpha1/zz_secretiammember_types.go b/apis/secretmanager/v1alpha1/zz_secretiammember_types.go new file mode 100755 index 00000000..a411bee0 --- /dev/null +++ b/apis/secretmanager/v1alpha1/zz_secretiammember_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SecretIAMMemberConditionObservation struct { +} + +type SecretIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type SecretIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SecretIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []SecretIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + SecretID *string `json:"secretId" tf:"secret_id,omitempty"` +} + +// SecretIAMMemberSpec defines the desired state of SecretIAMMember +type SecretIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SecretIAMMemberParameters `json:"forProvider"` +} + +// SecretIAMMemberStatus defines the observed state of SecretIAMMember. +type SecretIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SecretIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecretIAMMember is the Schema for the SecretIAMMembers 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,gcpjet} +type SecretIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SecretIAMMemberSpec `json:"spec"` + Status SecretIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecretIAMMemberList contains a list of SecretIAMMembers +type SecretIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SecretIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + SecretIAMMember_Kind = "SecretIAMMember" + SecretIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SecretIAMMember_Kind}.String() + SecretIAMMember_KindAPIVersion = SecretIAMMember_Kind + "." + CRDGroupVersion.String() + SecretIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(SecretIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&SecretIAMMember{}, &SecretIAMMemberList{}) +} diff --git a/apis/secretmanager/v1alpha1/zz_secretiampolicy_terraformed.go b/apis/secretmanager/v1alpha1/zz_secretiampolicy_terraformed.go new file mode 100755 index 00000000..08716a26 --- /dev/null +++ b/apis/secretmanager/v1alpha1/zz_secretiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SecretIAMPolicy +func (mg *SecretIAMPolicy) GetTerraformResourceType() string { + return "google_secret_manager_secret_iam_policy" +} + +// GetConnectionDetailsMapping for this SecretIAMPolicy +func (tr *SecretIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this SecretIAMPolicy +func (tr *SecretIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SecretIAMPolicy +func (tr *SecretIAMPolicy) SetObservation(obs map[string]interface{}) 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 SecretIAMPolicy +func (tr *SecretIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SecretIAMPolicy +func (tr *SecretIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SecretIAMPolicy +func (tr *SecretIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SecretIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SecretIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &SecretIAMPolicyParameters{} + 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 *SecretIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/secretmanager/v1alpha1/zz_secretiampolicy_types.go b/apis/secretmanager/v1alpha1/zz_secretiampolicy_types.go new file mode 100755 index 00000000..cec23ec9 --- /dev/null +++ b/apis/secretmanager/v1alpha1/zz_secretiampolicy_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SecretIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type SecretIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + SecretID *string `json:"secretId" tf:"secret_id,omitempty"` +} + +// SecretIAMPolicySpec defines the desired state of SecretIAMPolicy +type SecretIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SecretIAMPolicyParameters `json:"forProvider"` +} + +// SecretIAMPolicyStatus defines the observed state of SecretIAMPolicy. +type SecretIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SecretIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecretIAMPolicy is the Schema for the SecretIAMPolicys 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,gcpjet} +type SecretIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SecretIAMPolicySpec `json:"spec"` + Status SecretIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecretIAMPolicyList contains a list of SecretIAMPolicys +type SecretIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SecretIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + SecretIAMPolicy_Kind = "SecretIAMPolicy" + SecretIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SecretIAMPolicy_Kind}.String() + SecretIAMPolicy_KindAPIVersion = SecretIAMPolicy_Kind + "." + CRDGroupVersion.String() + SecretIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(SecretIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&SecretIAMPolicy{}, &SecretIAMPolicyList{}) +} diff --git a/apis/secretmanager/v1alpha1/zz_secretversion_terraformed.go b/apis/secretmanager/v1alpha1/zz_secretversion_terraformed.go new file mode 100755 index 00000000..bdb6d809 --- /dev/null +++ b/apis/secretmanager/v1alpha1/zz_secretversion_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this SecretVersion +func (mg *SecretVersion) GetTerraformResourceType() string { + return "google_secret_manager_secret_version" +} + +// GetConnectionDetailsMapping for this SecretVersion +func (tr *SecretVersion) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"secret_data": "spec.forProvider.secretDataSecretRef"} +} + +// GetObservation of this SecretVersion +func (tr *SecretVersion) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this SecretVersion +func (tr *SecretVersion) SetObservation(obs map[string]interface{}) 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 SecretVersion +func (tr *SecretVersion) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this SecretVersion +func (tr *SecretVersion) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this SecretVersion +func (tr *SecretVersion) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this SecretVersion using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *SecretVersion) LateInitialize(attrs []byte) (bool, error) { + params := &SecretVersionParameters{} + 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 *SecretVersion) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/secretmanager/v1alpha1/zz_secretversion_types.go b/apis/secretmanager/v1alpha1/zz_secretversion_types.go new file mode 100755 index 00000000..f897231d --- /dev/null +++ b/apis/secretmanager/v1alpha1/zz_secretversion_types.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 SecretVersionObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + DestroyTime *string `json:"destroyTime,omitempty" tf:"destroy_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type SecretVersionParameters struct { + + // The current state of the SecretVersion. + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // Secret Manager secret resource + // +kubebuilder:validation:Required + Secret *string `json:"secret" tf:"secret,omitempty"` + + // The secret data. Must be no larger than 64KiB. + // +kubebuilder:validation:Required + SecretDataSecretRef v1.SecretKeySelector `json:"secretDataSecretRef" tf:"-"` +} + +// SecretVersionSpec defines the desired state of SecretVersion +type SecretVersionSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider SecretVersionParameters `json:"forProvider"` +} + +// SecretVersionStatus defines the observed state of SecretVersion. +type SecretVersionStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider SecretVersionObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecretVersion is the Schema for the SecretVersions 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,gcpjet} +type SecretVersion struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec SecretVersionSpec `json:"spec"` + Status SecretVersionStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// SecretVersionList contains a list of SecretVersions +type SecretVersionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []SecretVersion `json:"items"` +} + +// Repository type metadata. +var ( + SecretVersion_Kind = "SecretVersion" + SecretVersion_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SecretVersion_Kind}.String() + SecretVersion_KindAPIVersion = SecretVersion_Kind + "." + CRDGroupVersion.String() + SecretVersion_GroupVersionKind = CRDGroupVersion.WithKind(SecretVersion_Kind) +) + +func init() { + SchemeBuilder.Register(&SecretVersion{}, &SecretVersionList{}) +} diff --git a/apis/servicenetworking/v1alpha1/zz_connection_terraformed.go b/apis/servicenetworking/v1alpha1/zz_connection_terraformed.go new file mode 100755 index 00000000..e4548e63 --- /dev/null +++ b/apis/servicenetworking/v1alpha1/zz_connection_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Connection +func (mg *Connection) GetTerraformResourceType() string { + return "google_service_networking_connection" +} + +// GetConnectionDetailsMapping for this Connection +func (tr *Connection) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Connection +func (tr *Connection) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Connection +func (tr *Connection) SetObservation(obs map[string]interface{}) 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 Connection +func (tr *Connection) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Connection +func (tr *Connection) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Connection +func (tr *Connection) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Connection using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Connection) LateInitialize(attrs []byte) (bool, error) { + params := &ConnectionParameters{} + 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 *Connection) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/servicenetworking/v1alpha1/zz_connection_types.go b/apis/servicenetworking/v1alpha1/zz_connection_types.go new file mode 100755 index 00000000..cf997ea5 --- /dev/null +++ b/apis/servicenetworking/v1alpha1/zz_connection_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConnectionObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Peering *string `json:"peering,omitempty" tf:"peering,omitempty"` +} + +type ConnectionParameters struct { + + // Name of VPC network connected with service producers using VPC peering. + // +kubebuilder:validation:Required + Network *string `json:"network" tf:"network,omitempty"` + + // Named IP address range(s) of PEERING type reserved for this service provider. Note that invoking this method with a different range when connection is already established will not reallocate already provisioned service producer subnetworks. + // +kubebuilder:validation:Required + ReservedPeeringRanges []*string `json:"reservedPeeringRanges" tf:"reserved_peering_ranges,omitempty"` + + // Provider peering service that is managing peering connectivity for a service provider organization. For Google services that support this functionality it is 'servicenetworking.googleapis.com'. + // +kubebuilder:validation:Required + Service *string `json:"service" tf:"service,omitempty"` +} + +// ConnectionSpec defines the desired state of Connection +type ConnectionSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ConnectionParameters `json:"forProvider"` +} + +// ConnectionStatus defines the observed state of Connection. +type ConnectionStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ConnectionObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Connection is the Schema for the Connections 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,gcpjet} +type Connection struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ConnectionSpec `json:"spec"` + Status ConnectionStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ConnectionList contains a list of Connections +type ConnectionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Connection `json:"items"` +} + +// Repository type metadata. +var ( + Connection_Kind = "Connection" + Connection_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Connection_Kind}.String() + Connection_KindAPIVersion = Connection_Kind + "." + CRDGroupVersion.String() + Connection_GroupVersionKind = CRDGroupVersion.WithKind(Connection_Kind) +) + +func init() { + SchemeBuilder.Register(&Connection{}, &ConnectionList{}) +} diff --git a/apis/servicenetworking/v1alpha1/zz_generated.deepcopy.go b/apis/servicenetworking/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..8b7b876f --- /dev/null +++ b/apis/servicenetworking/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,179 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Connection) DeepCopyInto(out *Connection) { + *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 Connection. +func (in *Connection) DeepCopy() *Connection { + if in == nil { + return nil + } + out := new(Connection) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Connection) 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 *ConnectionList) DeepCopyInto(out *ConnectionList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Connection, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionList. +func (in *ConnectionList) DeepCopy() *ConnectionList { + if in == nil { + return nil + } + out := new(ConnectionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ConnectionList) 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 *ConnectionObservation) DeepCopyInto(out *ConnectionObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Peering != nil { + in, out := &in.Peering, &out.Peering + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionObservation. +func (in *ConnectionObservation) DeepCopy() *ConnectionObservation { + if in == nil { + return nil + } + out := new(ConnectionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectionParameters) DeepCopyInto(out *ConnectionParameters) { + *out = *in + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.ReservedPeeringRanges != nil { + in, out := &in.ReservedPeeringRanges, &out.ReservedPeeringRanges + *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.Service != nil { + in, out := &in.Service, &out.Service + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionParameters. +func (in *ConnectionParameters) DeepCopy() *ConnectionParameters { + if in == nil { + return nil + } + out := new(ConnectionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectionSpec) DeepCopyInto(out *ConnectionSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionSpec. +func (in *ConnectionSpec) DeepCopy() *ConnectionSpec { + if in == nil { + return nil + } + out := new(ConnectionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectionStatus) DeepCopyInto(out *ConnectionStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionStatus. +func (in *ConnectionStatus) DeepCopy() *ConnectionStatus { + if in == nil { + return nil + } + out := new(ConnectionStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/servicenetworking/v1alpha1/zz_generated.managed.go b/apis/servicenetworking/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..425175fe --- /dev/null +++ b/apis/servicenetworking/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Connection. +func (mg *Connection) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Connection. +func (mg *Connection) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Connection. +func (mg *Connection) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Connection. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Connection) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Connection. +func (mg *Connection) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Connection. +func (mg *Connection) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Connection. +func (mg *Connection) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Connection. +func (mg *Connection) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Connection. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Connection) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Connection. +func (mg *Connection) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/servicenetworking/v1alpha1/zz_generated.managedlist.go b/apis/servicenetworking/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..58d4c975 --- /dev/null +++ b/apis/servicenetworking/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this ConnectionList. +func (l *ConnectionList) 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/servicenetworking/v1alpha1/zz_groupversion_info.go b/apis/servicenetworking/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..918fcaec --- /dev/null +++ b/apis/servicenetworking/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=servicenetworking.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "servicenetworking.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/sourcerepo/v1alpha1/zz_generated.deepcopy.go b/apis/sourcerepo/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..0e65acc3 --- /dev/null +++ b/apis/sourcerepo/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,789 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PubsubConfigsObservation) DeepCopyInto(out *PubsubConfigsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PubsubConfigsObservation. +func (in *PubsubConfigsObservation) DeepCopy() *PubsubConfigsObservation { + if in == nil { + return nil + } + out := new(PubsubConfigsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PubsubConfigsParameters) DeepCopyInto(out *PubsubConfigsParameters) { + *out = *in + if in.MessageFormat != nil { + in, out := &in.MessageFormat, &out.MessageFormat + *out = new(string) + **out = **in + } + if in.ServiceAccountEmail != nil { + in, out := &in.ServiceAccountEmail, &out.ServiceAccountEmail + *out = new(string) + **out = **in + } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PubsubConfigsParameters. +func (in *PubsubConfigsParameters) DeepCopy() *PubsubConfigsParameters { + if in == nil { + return nil + } + out := new(PubsubConfigsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Repository) DeepCopyInto(out *Repository) { + *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 Repository. +func (in *Repository) DeepCopy() *Repository { + if in == nil { + return nil + } + out := new(Repository) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Repository) 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 *RepositoryIAMBinding) DeepCopyInto(out *RepositoryIAMBinding) { + *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 RepositoryIAMBinding. +func (in *RepositoryIAMBinding) DeepCopy() *RepositoryIAMBinding { + if in == nil { + return nil + } + out := new(RepositoryIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RepositoryIAMBinding) 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 *RepositoryIAMBindingList) DeepCopyInto(out *RepositoryIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RepositoryIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMBindingList. +func (in *RepositoryIAMBindingList) DeepCopy() *RepositoryIAMBindingList { + if in == nil { + return nil + } + out := new(RepositoryIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RepositoryIAMBindingList) 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 *RepositoryIAMBindingObservation) DeepCopyInto(out *RepositoryIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMBindingObservation. +func (in *RepositoryIAMBindingObservation) DeepCopy() *RepositoryIAMBindingObservation { + if in == nil { + return nil + } + out := new(RepositoryIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryIAMBindingParameters) DeepCopyInto(out *RepositoryIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Repository != nil { + in, out := &in.Repository, &out.Repository + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMBindingParameters. +func (in *RepositoryIAMBindingParameters) DeepCopy() *RepositoryIAMBindingParameters { + if in == nil { + return nil + } + out := new(RepositoryIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryIAMBindingSpec) DeepCopyInto(out *RepositoryIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMBindingSpec. +func (in *RepositoryIAMBindingSpec) DeepCopy() *RepositoryIAMBindingSpec { + if in == nil { + return nil + } + out := new(RepositoryIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryIAMBindingStatus) DeepCopyInto(out *RepositoryIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMBindingStatus. +func (in *RepositoryIAMBindingStatus) DeepCopy() *RepositoryIAMBindingStatus { + if in == nil { + return nil + } + out := new(RepositoryIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryIAMMember) DeepCopyInto(out *RepositoryIAMMember) { + *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 RepositoryIAMMember. +func (in *RepositoryIAMMember) DeepCopy() *RepositoryIAMMember { + if in == nil { + return nil + } + out := new(RepositoryIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RepositoryIAMMember) 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 *RepositoryIAMMemberConditionObservation) DeepCopyInto(out *RepositoryIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMMemberConditionObservation. +func (in *RepositoryIAMMemberConditionObservation) DeepCopy() *RepositoryIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(RepositoryIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryIAMMemberConditionParameters) DeepCopyInto(out *RepositoryIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMMemberConditionParameters. +func (in *RepositoryIAMMemberConditionParameters) DeepCopy() *RepositoryIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(RepositoryIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryIAMMemberList) DeepCopyInto(out *RepositoryIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RepositoryIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMMemberList. +func (in *RepositoryIAMMemberList) DeepCopy() *RepositoryIAMMemberList { + if in == nil { + return nil + } + out := new(RepositoryIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RepositoryIAMMemberList) 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 *RepositoryIAMMemberObservation) DeepCopyInto(out *RepositoryIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMMemberObservation. +func (in *RepositoryIAMMemberObservation) DeepCopy() *RepositoryIAMMemberObservation { + if in == nil { + return nil + } + out := new(RepositoryIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryIAMMemberParameters) DeepCopyInto(out *RepositoryIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]RepositoryIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Repository != nil { + in, out := &in.Repository, &out.Repository + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMMemberParameters. +func (in *RepositoryIAMMemberParameters) DeepCopy() *RepositoryIAMMemberParameters { + if in == nil { + return nil + } + out := new(RepositoryIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryIAMMemberSpec) DeepCopyInto(out *RepositoryIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMMemberSpec. +func (in *RepositoryIAMMemberSpec) DeepCopy() *RepositoryIAMMemberSpec { + if in == nil { + return nil + } + out := new(RepositoryIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryIAMMemberStatus) DeepCopyInto(out *RepositoryIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMMemberStatus. +func (in *RepositoryIAMMemberStatus) DeepCopy() *RepositoryIAMMemberStatus { + if in == nil { + return nil + } + out := new(RepositoryIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryIAMPolicy) DeepCopyInto(out *RepositoryIAMPolicy) { + *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 RepositoryIAMPolicy. +func (in *RepositoryIAMPolicy) DeepCopy() *RepositoryIAMPolicy { + if in == nil { + return nil + } + out := new(RepositoryIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RepositoryIAMPolicy) 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 *RepositoryIAMPolicyList) DeepCopyInto(out *RepositoryIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RepositoryIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMPolicyList. +func (in *RepositoryIAMPolicyList) DeepCopy() *RepositoryIAMPolicyList { + if in == nil { + return nil + } + out := new(RepositoryIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RepositoryIAMPolicyList) 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 *RepositoryIAMPolicyObservation) DeepCopyInto(out *RepositoryIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMPolicyObservation. +func (in *RepositoryIAMPolicyObservation) DeepCopy() *RepositoryIAMPolicyObservation { + if in == nil { + return nil + } + out := new(RepositoryIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryIAMPolicyParameters) DeepCopyInto(out *RepositoryIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Repository != nil { + in, out := &in.Repository, &out.Repository + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMPolicyParameters. +func (in *RepositoryIAMPolicyParameters) DeepCopy() *RepositoryIAMPolicyParameters { + if in == nil { + return nil + } + out := new(RepositoryIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryIAMPolicySpec) DeepCopyInto(out *RepositoryIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMPolicySpec. +func (in *RepositoryIAMPolicySpec) DeepCopy() *RepositoryIAMPolicySpec { + if in == nil { + return nil + } + out := new(RepositoryIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryIAMPolicyStatus) DeepCopyInto(out *RepositoryIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryIAMPolicyStatus. +func (in *RepositoryIAMPolicyStatus) DeepCopy() *RepositoryIAMPolicyStatus { + if in == nil { + return nil + } + out := new(RepositoryIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryList) DeepCopyInto(out *RepositoryList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Repository, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryList. +func (in *RepositoryList) DeepCopy() *RepositoryList { + if in == nil { + return nil + } + out := new(RepositoryList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RepositoryList) 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 *RepositoryObservation) DeepCopyInto(out *RepositoryObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Size != nil { + in, out := &in.Size, &out.Size + *out = new(int64) + **out = **in + } + if in.URL != nil { + in, out := &in.URL, &out.URL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryObservation. +func (in *RepositoryObservation) DeepCopy() *RepositoryObservation { + if in == nil { + return nil + } + out := new(RepositoryObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryParameters) DeepCopyInto(out *RepositoryParameters) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.PubsubConfigs != nil { + in, out := &in.PubsubConfigs, &out.PubsubConfigs + *out = make([]PubsubConfigsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryParameters. +func (in *RepositoryParameters) DeepCopy() *RepositoryParameters { + if in == nil { + return nil + } + out := new(RepositoryParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositorySpec) DeepCopyInto(out *RepositorySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositorySpec. +func (in *RepositorySpec) DeepCopy() *RepositorySpec { + if in == nil { + return nil + } + out := new(RepositorySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryStatus) DeepCopyInto(out *RepositoryStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryStatus. +func (in *RepositoryStatus) DeepCopy() *RepositoryStatus { + if in == nil { + return nil + } + out := new(RepositoryStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/sourcerepo/v1alpha1/zz_generated.managed.go b/apis/sourcerepo/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..770a12f0 --- /dev/null +++ b/apis/sourcerepo/v1alpha1/zz_generated.managed.go @@ -0,0 +1,244 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Repository. +func (mg *Repository) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Repository. +func (mg *Repository) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Repository. +func (mg *Repository) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Repository. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Repository) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Repository. +func (mg *Repository) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Repository. +func (mg *Repository) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Repository. +func (mg *Repository) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Repository. +func (mg *Repository) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Repository. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Repository) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Repository. +func (mg *Repository) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RepositoryIAMBinding. +func (mg *RepositoryIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RepositoryIAMBinding. +func (mg *RepositoryIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RepositoryIAMBinding. +func (mg *RepositoryIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RepositoryIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RepositoryIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RepositoryIAMBinding. +func (mg *RepositoryIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RepositoryIAMBinding. +func (mg *RepositoryIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RepositoryIAMBinding. +func (mg *RepositoryIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RepositoryIAMBinding. +func (mg *RepositoryIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RepositoryIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RepositoryIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RepositoryIAMBinding. +func (mg *RepositoryIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RepositoryIAMMember. +func (mg *RepositoryIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RepositoryIAMMember. +func (mg *RepositoryIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RepositoryIAMMember. +func (mg *RepositoryIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RepositoryIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RepositoryIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RepositoryIAMMember. +func (mg *RepositoryIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RepositoryIAMMember. +func (mg *RepositoryIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RepositoryIAMMember. +func (mg *RepositoryIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RepositoryIAMMember. +func (mg *RepositoryIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RepositoryIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RepositoryIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RepositoryIAMMember. +func (mg *RepositoryIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RepositoryIAMPolicy. +func (mg *RepositoryIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RepositoryIAMPolicy. +func (mg *RepositoryIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this RepositoryIAMPolicy. +func (mg *RepositoryIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this RepositoryIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *RepositoryIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this RepositoryIAMPolicy. +func (mg *RepositoryIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RepositoryIAMPolicy. +func (mg *RepositoryIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RepositoryIAMPolicy. +func (mg *RepositoryIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this RepositoryIAMPolicy. +func (mg *RepositoryIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this RepositoryIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *RepositoryIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this RepositoryIAMPolicy. +func (mg *RepositoryIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/sourcerepo/v1alpha1/zz_generated.managedlist.go b/apis/sourcerepo/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..aa192d92 --- /dev/null +++ b/apis/sourcerepo/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,56 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this RepositoryIAMBindingList. +func (l *RepositoryIAMBindingList) 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 RepositoryIAMMemberList. +func (l *RepositoryIAMMemberList) 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 RepositoryIAMPolicyList. +func (l *RepositoryIAMPolicyList) 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 RepositoryList. +func (l *RepositoryList) 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/sourcerepo/v1alpha1/zz_groupversion_info.go b/apis/sourcerepo/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..53b04612 --- /dev/null +++ b/apis/sourcerepo/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=sourcerepo.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "sourcerepo.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/sourcerepo/v1alpha1/zz_repository_terraformed.go b/apis/sourcerepo/v1alpha1/zz_repository_terraformed.go new file mode 100755 index 00000000..1c9fcae3 --- /dev/null +++ b/apis/sourcerepo/v1alpha1/zz_repository_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Repository +func (mg *Repository) GetTerraformResourceType() string { + return "google_sourcerepo_repository" +} + +// GetConnectionDetailsMapping for this Repository +func (tr *Repository) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Repository +func (tr *Repository) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Repository +func (tr *Repository) SetObservation(obs map[string]interface{}) 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 Repository +func (tr *Repository) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Repository +func (tr *Repository) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Repository +func (tr *Repository) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Repository using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Repository) LateInitialize(attrs []byte) (bool, error) { + params := &RepositoryParameters{} + 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 *Repository) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/sourcerepo/v1alpha1/zz_repository_types.go b/apis/sourcerepo/v1alpha1/zz_repository_types.go new file mode 100755 index 00000000..53cca845 --- /dev/null +++ b/apis/sourcerepo/v1alpha1/zz_repository_types.go @@ -0,0 +1,121 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 PubsubConfigsObservation struct { +} + +type PubsubConfigsParameters struct { + + // The format of the Cloud Pub/Sub messages. + // - PROTOBUF: The message payload is a serialized protocol buffer of SourceRepoEvent. + // - JSON: The message payload is a JSON string of SourceRepoEvent. Possible values: ["PROTOBUF", "JSON"] + // +kubebuilder:validation:Required + MessageFormat *string `json:"messageFormat" tf:"message_format,omitempty"` + + // Email address of the service account used for publishing Cloud Pub/Sub messages. + // This service account needs to be in the same project as the PubsubConfig. When added, + // the caller needs to have iam.serviceAccounts.actAs permission on this service account. + // If unspecified, it defaults to the compute engine default service account. + // +kubebuilder:validation:Optional + ServiceAccountEmail *string `json:"serviceAccountEmail,omitempty" tf:"service_account_email,omitempty"` + + // +kubebuilder:validation:Required + Topic *string `json:"topic" tf:"topic,omitempty"` +} + +type RepositoryObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Size *int64 `json:"size,omitempty" tf:"size,omitempty"` + + URL *string `json:"url,omitempty" tf:"url,omitempty"` +} + +type RepositoryParameters struct { + + // Resource name of the repository, of the form '{{repo}}'. + // The repo name may contain slashes. eg, 'name/with/slash' + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // How this repository publishes a change in the repository through Cloud Pub/Sub. + // Keyed by the topic names. + // +kubebuilder:validation:Optional + PubsubConfigs []PubsubConfigsParameters `json:"pubsubConfigs,omitempty" tf:"pubsub_configs,omitempty"` +} + +// RepositorySpec defines the desired state of Repository +type RepositorySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RepositoryParameters `json:"forProvider"` +} + +// RepositoryStatus defines the observed state of Repository. +type RepositoryStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RepositoryObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Repository is the Schema for the Repositorys 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,gcpjet} +type Repository struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RepositorySpec `json:"spec"` + Status RepositoryStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RepositoryList contains a list of Repositorys +type RepositoryList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Repository `json:"items"` +} + +// Repository type metadata. +var ( + Repository_Kind = "Repository" + Repository_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Repository_Kind}.String() + Repository_KindAPIVersion = Repository_Kind + "." + CRDGroupVersion.String() + Repository_GroupVersionKind = CRDGroupVersion.WithKind(Repository_Kind) +) + +func init() { + SchemeBuilder.Register(&Repository{}, &RepositoryList{}) +} diff --git a/apis/sourcerepo/v1alpha1/zz_repositoryiambinding_terraformed.go b/apis/sourcerepo/v1alpha1/zz_repositoryiambinding_terraformed.go new file mode 100755 index 00000000..1f8908ba --- /dev/null +++ b/apis/sourcerepo/v1alpha1/zz_repositoryiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RepositoryIAMBinding +func (mg *RepositoryIAMBinding) GetTerraformResourceType() string { + return "google_sourcerepo_repository_iam_binding" +} + +// GetConnectionDetailsMapping for this RepositoryIAMBinding +func (tr *RepositoryIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RepositoryIAMBinding +func (tr *RepositoryIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RepositoryIAMBinding +func (tr *RepositoryIAMBinding) SetObservation(obs map[string]interface{}) 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 RepositoryIAMBinding +func (tr *RepositoryIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RepositoryIAMBinding +func (tr *RepositoryIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RepositoryIAMBinding +func (tr *RepositoryIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RepositoryIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RepositoryIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &RepositoryIAMBindingParameters{} + 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 *RepositoryIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/sourcerepo/v1alpha1/zz_repositoryiambinding_types.go b/apis/sourcerepo/v1alpha1/zz_repositoryiambinding_types.go new file mode 100755 index 00000000..1ebff9fb --- /dev/null +++ b/apis/sourcerepo/v1alpha1/zz_repositoryiambinding_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type RepositoryIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type RepositoryIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Repository *string `json:"repository" tf:"repository,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// RepositoryIAMBindingSpec defines the desired state of RepositoryIAMBinding +type RepositoryIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RepositoryIAMBindingParameters `json:"forProvider"` +} + +// RepositoryIAMBindingStatus defines the observed state of RepositoryIAMBinding. +type RepositoryIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RepositoryIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RepositoryIAMBinding is the Schema for the RepositoryIAMBindings 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,gcpjet} +type RepositoryIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RepositoryIAMBindingSpec `json:"spec"` + Status RepositoryIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RepositoryIAMBindingList contains a list of RepositoryIAMBindings +type RepositoryIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RepositoryIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + RepositoryIAMBinding_Kind = "RepositoryIAMBinding" + RepositoryIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RepositoryIAMBinding_Kind}.String() + RepositoryIAMBinding_KindAPIVersion = RepositoryIAMBinding_Kind + "." + CRDGroupVersion.String() + RepositoryIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(RepositoryIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&RepositoryIAMBinding{}, &RepositoryIAMBindingList{}) +} diff --git a/apis/sourcerepo/v1alpha1/zz_repositoryiammember_terraformed.go b/apis/sourcerepo/v1alpha1/zz_repositoryiammember_terraformed.go new file mode 100755 index 00000000..027e6e5c --- /dev/null +++ b/apis/sourcerepo/v1alpha1/zz_repositoryiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RepositoryIAMMember +func (mg *RepositoryIAMMember) GetTerraformResourceType() string { + return "google_sourcerepo_repository_iam_member" +} + +// GetConnectionDetailsMapping for this RepositoryIAMMember +func (tr *RepositoryIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RepositoryIAMMember +func (tr *RepositoryIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RepositoryIAMMember +func (tr *RepositoryIAMMember) SetObservation(obs map[string]interface{}) 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 RepositoryIAMMember +func (tr *RepositoryIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RepositoryIAMMember +func (tr *RepositoryIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RepositoryIAMMember +func (tr *RepositoryIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RepositoryIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RepositoryIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &RepositoryIAMMemberParameters{} + 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 *RepositoryIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/sourcerepo/v1alpha1/zz_repositoryiammember_types.go b/apis/sourcerepo/v1alpha1/zz_repositoryiammember_types.go new file mode 100755 index 00000000..af2b0b77 --- /dev/null +++ b/apis/sourcerepo/v1alpha1/zz_repositoryiammember_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RepositoryIAMMemberConditionObservation struct { +} + +type RepositoryIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type RepositoryIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type RepositoryIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []RepositoryIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Repository *string `json:"repository" tf:"repository,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// RepositoryIAMMemberSpec defines the desired state of RepositoryIAMMember +type RepositoryIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RepositoryIAMMemberParameters `json:"forProvider"` +} + +// RepositoryIAMMemberStatus defines the observed state of RepositoryIAMMember. +type RepositoryIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RepositoryIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RepositoryIAMMember is the Schema for the RepositoryIAMMembers 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,gcpjet} +type RepositoryIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RepositoryIAMMemberSpec `json:"spec"` + Status RepositoryIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RepositoryIAMMemberList contains a list of RepositoryIAMMembers +type RepositoryIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RepositoryIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + RepositoryIAMMember_Kind = "RepositoryIAMMember" + RepositoryIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RepositoryIAMMember_Kind}.String() + RepositoryIAMMember_KindAPIVersion = RepositoryIAMMember_Kind + "." + CRDGroupVersion.String() + RepositoryIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(RepositoryIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&RepositoryIAMMember{}, &RepositoryIAMMemberList{}) +} diff --git a/apis/sourcerepo/v1alpha1/zz_repositoryiampolicy_terraformed.go b/apis/sourcerepo/v1alpha1/zz_repositoryiampolicy_terraformed.go new file mode 100755 index 00000000..4265c1ee --- /dev/null +++ b/apis/sourcerepo/v1alpha1/zz_repositoryiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RepositoryIAMPolicy +func (mg *RepositoryIAMPolicy) GetTerraformResourceType() string { + return "google_sourcerepo_repository_iam_policy" +} + +// GetConnectionDetailsMapping for this RepositoryIAMPolicy +func (tr *RepositoryIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RepositoryIAMPolicy +func (tr *RepositoryIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RepositoryIAMPolicy +func (tr *RepositoryIAMPolicy) SetObservation(obs map[string]interface{}) 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 RepositoryIAMPolicy +func (tr *RepositoryIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RepositoryIAMPolicy +func (tr *RepositoryIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RepositoryIAMPolicy +func (tr *RepositoryIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this RepositoryIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RepositoryIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &RepositoryIAMPolicyParameters{} + 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 *RepositoryIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/sourcerepo/v1alpha1/zz_repositoryiampolicy_types.go b/apis/sourcerepo/v1alpha1/zz_repositoryiampolicy_types.go new file mode 100755 index 00000000..df97392e --- /dev/null +++ b/apis/sourcerepo/v1alpha1/zz_repositoryiampolicy_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 RepositoryIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type RepositoryIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Repository *string `json:"repository" tf:"repository,omitempty"` +} + +// RepositoryIAMPolicySpec defines the desired state of RepositoryIAMPolicy +type RepositoryIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RepositoryIAMPolicyParameters `json:"forProvider"` +} + +// RepositoryIAMPolicyStatus defines the observed state of RepositoryIAMPolicy. +type RepositoryIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RepositoryIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// RepositoryIAMPolicy is the Schema for the RepositoryIAMPolicys 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,gcpjet} +type RepositoryIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RepositoryIAMPolicySpec `json:"spec"` + Status RepositoryIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RepositoryIAMPolicyList contains a list of RepositoryIAMPolicys +type RepositoryIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RepositoryIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + RepositoryIAMPolicy_Kind = "RepositoryIAMPolicy" + RepositoryIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RepositoryIAMPolicy_Kind}.String() + RepositoryIAMPolicy_KindAPIVersion = RepositoryIAMPolicy_Kind + "." + CRDGroupVersion.String() + RepositoryIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(RepositoryIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&RepositoryIAMPolicy{}, &RepositoryIAMPolicyList{}) +} diff --git a/apis/spanner/v1alpha1/zz_database_terraformed.go b/apis/spanner/v1alpha1/zz_database_terraformed.go new file mode 100755 index 00000000..5df62a59 --- /dev/null +++ b/apis/spanner/v1alpha1/zz_database_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Database +func (mg *Database) GetTerraformResourceType() string { + return "google_spanner_database" +} + +// GetConnectionDetailsMapping for this Database +func (tr *Database) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Database +func (tr *Database) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Database +func (tr *Database) SetObservation(obs map[string]interface{}) 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 Database +func (tr *Database) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Database +func (tr *Database) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Database +func (tr *Database) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Database using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Database) LateInitialize(attrs []byte) (bool, error) { + params := &DatabaseParameters{} + 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 *Database) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/spanner/v1alpha1/zz_database_types.go b/apis/spanner/v1alpha1/zz_database_types.go new file mode 100755 index 00000000..6a2b1f3c --- /dev/null +++ b/apis/spanner/v1alpha1/zz_database_types.go @@ -0,0 +1,121 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DatabaseObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + State *string `json:"state,omitempty" tf:"state,omitempty"` +} + +type DatabaseParameters struct { + + // An optional list of DDL statements to run inside the newly created + // database. Statements can create tables, indexes, etc. These statements + // execute atomically with the creation of the database: if there is an + // error in any statement, the database is not created. + // +kubebuilder:validation:Optional + Ddl []*string `json:"ddl,omitempty" tf:"ddl,omitempty"` + + // +kubebuilder:validation:Optional + DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"` + + // Encryption configuration for the database + // +kubebuilder:validation:Optional + EncryptionConfig []EncryptionConfigParameters `json:"encryptionConfig,omitempty" tf:"encryption_config,omitempty"` + + // The instance to create the database on. + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // A unique identifier for the database, which cannot be changed after + // the instance is created. Values are of the form [a-z][-a-z0-9]*[a-z0-9]. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +type EncryptionConfigObservation struct { +} + +type EncryptionConfigParameters struct { + + // Fully qualified name of the KMS key to use to encrypt this database. This key must exist + // in the same location as the Spanner Database. + // +kubebuilder:validation:Required + KMSKeyName *string `json:"kmsKeyName" tf:"kms_key_name,omitempty"` +} + +// DatabaseSpec defines the desired state of Database +type DatabaseSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DatabaseParameters `json:"forProvider"` +} + +// DatabaseStatus defines the observed state of Database. +type DatabaseStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DatabaseObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Database is the Schema for the Databases 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,gcpjet} +type Database struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DatabaseSpec `json:"spec"` + Status DatabaseStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatabaseList contains a list of Databases +type DatabaseList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Database `json:"items"` +} + +// Repository type metadata. +var ( + Database_Kind = "Database" + Database_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Database_Kind}.String() + Database_KindAPIVersion = Database_Kind + "." + CRDGroupVersion.String() + Database_GroupVersionKind = CRDGroupVersion.WithKind(Database_Kind) +) + +func init() { + SchemeBuilder.Register(&Database{}, &DatabaseList{}) +} diff --git a/apis/spanner/v1alpha1/zz_databaseiambinding_terraformed.go b/apis/spanner/v1alpha1/zz_databaseiambinding_terraformed.go new file mode 100755 index 00000000..bb75c4ce --- /dev/null +++ b/apis/spanner/v1alpha1/zz_databaseiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DatabaseIAMBinding +func (mg *DatabaseIAMBinding) GetTerraformResourceType() string { + return "google_spanner_database_iam_binding" +} + +// GetConnectionDetailsMapping for this DatabaseIAMBinding +func (tr *DatabaseIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DatabaseIAMBinding +func (tr *DatabaseIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DatabaseIAMBinding +func (tr *DatabaseIAMBinding) SetObservation(obs map[string]interface{}) 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 DatabaseIAMBinding +func (tr *DatabaseIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DatabaseIAMBinding +func (tr *DatabaseIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DatabaseIAMBinding +func (tr *DatabaseIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DatabaseIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DatabaseIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &DatabaseIAMBindingParameters{} + 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 *DatabaseIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/spanner/v1alpha1/zz_databaseiambinding_types.go b/apis/spanner/v1alpha1/zz_databaseiambinding_types.go new file mode 100755 index 00000000..47ac8cbf --- /dev/null +++ b/apis/spanner/v1alpha1/zz_databaseiambinding_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type DatabaseIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DatabaseIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Database *string `json:"database" tf:"database,omitempty"` + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// DatabaseIAMBindingSpec defines the desired state of DatabaseIAMBinding +type DatabaseIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DatabaseIAMBindingParameters `json:"forProvider"` +} + +// DatabaseIAMBindingStatus defines the observed state of DatabaseIAMBinding. +type DatabaseIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DatabaseIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatabaseIAMBinding is the Schema for the DatabaseIAMBindings 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,gcpjet} +type DatabaseIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DatabaseIAMBindingSpec `json:"spec"` + Status DatabaseIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatabaseIAMBindingList contains a list of DatabaseIAMBindings +type DatabaseIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DatabaseIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + DatabaseIAMBinding_Kind = "DatabaseIAMBinding" + DatabaseIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DatabaseIAMBinding_Kind}.String() + DatabaseIAMBinding_KindAPIVersion = DatabaseIAMBinding_Kind + "." + CRDGroupVersion.String() + DatabaseIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(DatabaseIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&DatabaseIAMBinding{}, &DatabaseIAMBindingList{}) +} diff --git a/apis/spanner/v1alpha1/zz_databaseiammember_terraformed.go b/apis/spanner/v1alpha1/zz_databaseiammember_terraformed.go new file mode 100755 index 00000000..55bdf350 --- /dev/null +++ b/apis/spanner/v1alpha1/zz_databaseiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DatabaseIAMMember +func (mg *DatabaseIAMMember) GetTerraformResourceType() string { + return "google_spanner_database_iam_member" +} + +// GetConnectionDetailsMapping for this DatabaseIAMMember +func (tr *DatabaseIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DatabaseIAMMember +func (tr *DatabaseIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DatabaseIAMMember +func (tr *DatabaseIAMMember) SetObservation(obs map[string]interface{}) 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 DatabaseIAMMember +func (tr *DatabaseIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DatabaseIAMMember +func (tr *DatabaseIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DatabaseIAMMember +func (tr *DatabaseIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DatabaseIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DatabaseIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &DatabaseIAMMemberParameters{} + 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 *DatabaseIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/spanner/v1alpha1/zz_databaseiammember_types.go b/apis/spanner/v1alpha1/zz_databaseiammember_types.go new file mode 100755 index 00000000..c8b7f303 --- /dev/null +++ b/apis/spanner/v1alpha1/zz_databaseiammember_types.go @@ -0,0 +1,117 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DatabaseIAMMemberConditionObservation struct { +} + +type DatabaseIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type DatabaseIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DatabaseIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []DatabaseIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Database *string `json:"database" tf:"database,omitempty"` + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// DatabaseIAMMemberSpec defines the desired state of DatabaseIAMMember +type DatabaseIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DatabaseIAMMemberParameters `json:"forProvider"` +} + +// DatabaseIAMMemberStatus defines the observed state of DatabaseIAMMember. +type DatabaseIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DatabaseIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatabaseIAMMember is the Schema for the DatabaseIAMMembers 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,gcpjet} +type DatabaseIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DatabaseIAMMemberSpec `json:"spec"` + Status DatabaseIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatabaseIAMMemberList contains a list of DatabaseIAMMembers +type DatabaseIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DatabaseIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + DatabaseIAMMember_Kind = "DatabaseIAMMember" + DatabaseIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DatabaseIAMMember_Kind}.String() + DatabaseIAMMember_KindAPIVersion = DatabaseIAMMember_Kind + "." + CRDGroupVersion.String() + DatabaseIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(DatabaseIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&DatabaseIAMMember{}, &DatabaseIAMMemberList{}) +} diff --git a/apis/spanner/v1alpha1/zz_databaseiampolicy_terraformed.go b/apis/spanner/v1alpha1/zz_databaseiampolicy_terraformed.go new file mode 100755 index 00000000..7085ee3f --- /dev/null +++ b/apis/spanner/v1alpha1/zz_databaseiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DatabaseIAMPolicy +func (mg *DatabaseIAMPolicy) GetTerraformResourceType() string { + return "google_spanner_database_iam_policy" +} + +// GetConnectionDetailsMapping for this DatabaseIAMPolicy +func (tr *DatabaseIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DatabaseIAMPolicy +func (tr *DatabaseIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DatabaseIAMPolicy +func (tr *DatabaseIAMPolicy) SetObservation(obs map[string]interface{}) 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 DatabaseIAMPolicy +func (tr *DatabaseIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DatabaseIAMPolicy +func (tr *DatabaseIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DatabaseIAMPolicy +func (tr *DatabaseIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DatabaseIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DatabaseIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &DatabaseIAMPolicyParameters{} + 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 *DatabaseIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/spanner/v1alpha1/zz_databaseiampolicy_types.go b/apis/spanner/v1alpha1/zz_databaseiampolicy_types.go new file mode 100755 index 00000000..eb64a327 --- /dev/null +++ b/apis/spanner/v1alpha1/zz_databaseiampolicy_types.go @@ -0,0 +1,96 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DatabaseIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DatabaseIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + Database *string `json:"database" tf:"database,omitempty"` + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// DatabaseIAMPolicySpec defines the desired state of DatabaseIAMPolicy +type DatabaseIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DatabaseIAMPolicyParameters `json:"forProvider"` +} + +// DatabaseIAMPolicyStatus defines the observed state of DatabaseIAMPolicy. +type DatabaseIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DatabaseIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatabaseIAMPolicy is the Schema for the DatabaseIAMPolicys 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,gcpjet} +type DatabaseIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DatabaseIAMPolicySpec `json:"spec"` + Status DatabaseIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatabaseIAMPolicyList contains a list of DatabaseIAMPolicys +type DatabaseIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DatabaseIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + DatabaseIAMPolicy_Kind = "DatabaseIAMPolicy" + DatabaseIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DatabaseIAMPolicy_Kind}.String() + DatabaseIAMPolicy_KindAPIVersion = DatabaseIAMPolicy_Kind + "." + CRDGroupVersion.String() + DatabaseIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(DatabaseIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&DatabaseIAMPolicy{}, &DatabaseIAMPolicyList{}) +} diff --git a/apis/spanner/v1alpha1/zz_generated.deepcopy.go b/apis/spanner/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..cb491fc9 --- /dev/null +++ b/apis/spanner/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1557 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Database) DeepCopyInto(out *Database) { + *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 Database. +func (in *Database) DeepCopy() *Database { + if in == nil { + return nil + } + out := new(Database) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Database) 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 *DatabaseIAMBinding) DeepCopyInto(out *DatabaseIAMBinding) { + *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 DatabaseIAMBinding. +func (in *DatabaseIAMBinding) DeepCopy() *DatabaseIAMBinding { + if in == nil { + return nil + } + out := new(DatabaseIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatabaseIAMBinding) 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 *DatabaseIAMBindingList) DeepCopyInto(out *DatabaseIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DatabaseIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMBindingList. +func (in *DatabaseIAMBindingList) DeepCopy() *DatabaseIAMBindingList { + if in == nil { + return nil + } + out := new(DatabaseIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatabaseIAMBindingList) 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 *DatabaseIAMBindingObservation) DeepCopyInto(out *DatabaseIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMBindingObservation. +func (in *DatabaseIAMBindingObservation) DeepCopy() *DatabaseIAMBindingObservation { + if in == nil { + return nil + } + out := new(DatabaseIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseIAMBindingParameters) DeepCopyInto(out *DatabaseIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Database != nil { + in, out := &in.Database, &out.Database + *out = new(string) + **out = **in + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMBindingParameters. +func (in *DatabaseIAMBindingParameters) DeepCopy() *DatabaseIAMBindingParameters { + if in == nil { + return nil + } + out := new(DatabaseIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseIAMBindingSpec) DeepCopyInto(out *DatabaseIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMBindingSpec. +func (in *DatabaseIAMBindingSpec) DeepCopy() *DatabaseIAMBindingSpec { + if in == nil { + return nil + } + out := new(DatabaseIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseIAMBindingStatus) DeepCopyInto(out *DatabaseIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMBindingStatus. +func (in *DatabaseIAMBindingStatus) DeepCopy() *DatabaseIAMBindingStatus { + if in == nil { + return nil + } + out := new(DatabaseIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseIAMMember) DeepCopyInto(out *DatabaseIAMMember) { + *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 DatabaseIAMMember. +func (in *DatabaseIAMMember) DeepCopy() *DatabaseIAMMember { + if in == nil { + return nil + } + out := new(DatabaseIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatabaseIAMMember) 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 *DatabaseIAMMemberConditionObservation) DeepCopyInto(out *DatabaseIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMMemberConditionObservation. +func (in *DatabaseIAMMemberConditionObservation) DeepCopy() *DatabaseIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(DatabaseIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseIAMMemberConditionParameters) DeepCopyInto(out *DatabaseIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMMemberConditionParameters. +func (in *DatabaseIAMMemberConditionParameters) DeepCopy() *DatabaseIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(DatabaseIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseIAMMemberList) DeepCopyInto(out *DatabaseIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DatabaseIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMMemberList. +func (in *DatabaseIAMMemberList) DeepCopy() *DatabaseIAMMemberList { + if in == nil { + return nil + } + out := new(DatabaseIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatabaseIAMMemberList) 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 *DatabaseIAMMemberObservation) DeepCopyInto(out *DatabaseIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMMemberObservation. +func (in *DatabaseIAMMemberObservation) DeepCopy() *DatabaseIAMMemberObservation { + if in == nil { + return nil + } + out := new(DatabaseIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseIAMMemberParameters) DeepCopyInto(out *DatabaseIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]DatabaseIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Database != nil { + in, out := &in.Database, &out.Database + *out = new(string) + **out = **in + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMMemberParameters. +func (in *DatabaseIAMMemberParameters) DeepCopy() *DatabaseIAMMemberParameters { + if in == nil { + return nil + } + out := new(DatabaseIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseIAMMemberSpec) DeepCopyInto(out *DatabaseIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMMemberSpec. +func (in *DatabaseIAMMemberSpec) DeepCopy() *DatabaseIAMMemberSpec { + if in == nil { + return nil + } + out := new(DatabaseIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseIAMMemberStatus) DeepCopyInto(out *DatabaseIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMMemberStatus. +func (in *DatabaseIAMMemberStatus) DeepCopy() *DatabaseIAMMemberStatus { + if in == nil { + return nil + } + out := new(DatabaseIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseIAMPolicy) DeepCopyInto(out *DatabaseIAMPolicy) { + *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 DatabaseIAMPolicy. +func (in *DatabaseIAMPolicy) DeepCopy() *DatabaseIAMPolicy { + if in == nil { + return nil + } + out := new(DatabaseIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatabaseIAMPolicy) 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 *DatabaseIAMPolicyList) DeepCopyInto(out *DatabaseIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DatabaseIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMPolicyList. +func (in *DatabaseIAMPolicyList) DeepCopy() *DatabaseIAMPolicyList { + if in == nil { + return nil + } + out := new(DatabaseIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatabaseIAMPolicyList) 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 *DatabaseIAMPolicyObservation) DeepCopyInto(out *DatabaseIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMPolicyObservation. +func (in *DatabaseIAMPolicyObservation) DeepCopy() *DatabaseIAMPolicyObservation { + if in == nil { + return nil + } + out := new(DatabaseIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseIAMPolicyParameters) DeepCopyInto(out *DatabaseIAMPolicyParameters) { + *out = *in + if in.Database != nil { + in, out := &in.Database, &out.Database + *out = new(string) + **out = **in + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMPolicyParameters. +func (in *DatabaseIAMPolicyParameters) DeepCopy() *DatabaseIAMPolicyParameters { + if in == nil { + return nil + } + out := new(DatabaseIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseIAMPolicySpec) DeepCopyInto(out *DatabaseIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMPolicySpec. +func (in *DatabaseIAMPolicySpec) DeepCopy() *DatabaseIAMPolicySpec { + if in == nil { + return nil + } + out := new(DatabaseIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseIAMPolicyStatus) DeepCopyInto(out *DatabaseIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseIAMPolicyStatus. +func (in *DatabaseIAMPolicyStatus) DeepCopy() *DatabaseIAMPolicyStatus { + if in == nil { + return nil + } + out := new(DatabaseIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseList) DeepCopyInto(out *DatabaseList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Database, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseList. +func (in *DatabaseList) DeepCopy() *DatabaseList { + if in == nil { + return nil + } + out := new(DatabaseList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatabaseList) 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 *DatabaseObservation) DeepCopyInto(out *DatabaseObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseObservation. +func (in *DatabaseObservation) DeepCopy() *DatabaseObservation { + if in == nil { + return nil + } + out := new(DatabaseObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseParameters) DeepCopyInto(out *DatabaseParameters) { + *out = *in + if in.Ddl != nil { + in, out := &in.Ddl, &out.Ddl + *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.DeletionProtection != nil { + in, out := &in.DeletionProtection, &out.DeletionProtection + *out = new(bool) + **out = **in + } + if in.EncryptionConfig != nil { + in, out := &in.EncryptionConfig, &out.EncryptionConfig + *out = make([]EncryptionConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseParameters. +func (in *DatabaseParameters) DeepCopy() *DatabaseParameters { + if in == nil { + return nil + } + out := new(DatabaseParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseSpec) DeepCopyInto(out *DatabaseSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseSpec. +func (in *DatabaseSpec) DeepCopy() *DatabaseSpec { + if in == nil { + return nil + } + out := new(DatabaseSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseStatus) DeepCopyInto(out *DatabaseStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseStatus. +func (in *DatabaseStatus) DeepCopy() *DatabaseStatus { + if in == nil { + return nil + } + out := new(DatabaseStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionConfigObservation) DeepCopyInto(out *EncryptionConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionConfigObservation. +func (in *EncryptionConfigObservation) DeepCopy() *EncryptionConfigObservation { + if in == nil { + return nil + } + out := new(EncryptionConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionConfigParameters) DeepCopyInto(out *EncryptionConfigParameters) { + *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionConfigParameters. +func (in *EncryptionConfigParameters) DeepCopy() *EncryptionConfigParameters { + if in == nil { + return nil + } + out := new(EncryptionConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Instance) DeepCopyInto(out *Instance) { + *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 Instance. +func (in *Instance) DeepCopy() *Instance { + if in == nil { + return nil + } + out := new(Instance) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Instance) 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 *InstanceIAMBinding) DeepCopyInto(out *InstanceIAMBinding) { + *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 InstanceIAMBinding. +func (in *InstanceIAMBinding) DeepCopy() *InstanceIAMBinding { + if in == nil { + return nil + } + out := new(InstanceIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMBinding) 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 *InstanceIAMBindingConditionObservation) DeepCopyInto(out *InstanceIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingConditionObservation. +func (in *InstanceIAMBindingConditionObservation) DeepCopy() *InstanceIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(InstanceIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingConditionParameters) DeepCopyInto(out *InstanceIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingConditionParameters. +func (in *InstanceIAMBindingConditionParameters) DeepCopy() *InstanceIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(InstanceIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingList) DeepCopyInto(out *InstanceIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingList. +func (in *InstanceIAMBindingList) DeepCopy() *InstanceIAMBindingList { + if in == nil { + return nil + } + out := new(InstanceIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMBindingList) 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 *InstanceIAMBindingObservation) DeepCopyInto(out *InstanceIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingObservation. +func (in *InstanceIAMBindingObservation) DeepCopy() *InstanceIAMBindingObservation { + if in == nil { + return nil + } + out := new(InstanceIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingParameters) DeepCopyInto(out *InstanceIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]InstanceIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingParameters. +func (in *InstanceIAMBindingParameters) DeepCopy() *InstanceIAMBindingParameters { + if in == nil { + return nil + } + out := new(InstanceIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingSpec) DeepCopyInto(out *InstanceIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingSpec. +func (in *InstanceIAMBindingSpec) DeepCopy() *InstanceIAMBindingSpec { + if in == nil { + return nil + } + out := new(InstanceIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMBindingStatus) DeepCopyInto(out *InstanceIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMBindingStatus. +func (in *InstanceIAMBindingStatus) DeepCopy() *InstanceIAMBindingStatus { + if in == nil { + return nil + } + out := new(InstanceIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMember) DeepCopyInto(out *InstanceIAMMember) { + *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 InstanceIAMMember. +func (in *InstanceIAMMember) DeepCopy() *InstanceIAMMember { + if in == nil { + return nil + } + out := new(InstanceIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMMember) 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 *InstanceIAMMemberConditionObservation) DeepCopyInto(out *InstanceIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberConditionObservation. +func (in *InstanceIAMMemberConditionObservation) DeepCopy() *InstanceIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(InstanceIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberConditionParameters) DeepCopyInto(out *InstanceIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberConditionParameters. +func (in *InstanceIAMMemberConditionParameters) DeepCopy() *InstanceIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(InstanceIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberList) DeepCopyInto(out *InstanceIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberList. +func (in *InstanceIAMMemberList) DeepCopy() *InstanceIAMMemberList { + if in == nil { + return nil + } + out := new(InstanceIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMMemberList) 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 *InstanceIAMMemberObservation) DeepCopyInto(out *InstanceIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberObservation. +func (in *InstanceIAMMemberObservation) DeepCopy() *InstanceIAMMemberObservation { + if in == nil { + return nil + } + out := new(InstanceIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberParameters) DeepCopyInto(out *InstanceIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]InstanceIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberParameters. +func (in *InstanceIAMMemberParameters) DeepCopy() *InstanceIAMMemberParameters { + if in == nil { + return nil + } + out := new(InstanceIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberSpec) DeepCopyInto(out *InstanceIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberSpec. +func (in *InstanceIAMMemberSpec) DeepCopy() *InstanceIAMMemberSpec { + if in == nil { + return nil + } + out := new(InstanceIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMMemberStatus) DeepCopyInto(out *InstanceIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMMemberStatus. +func (in *InstanceIAMMemberStatus) DeepCopy() *InstanceIAMMemberStatus { + if in == nil { + return nil + } + out := new(InstanceIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicy) DeepCopyInto(out *InstanceIAMPolicy) { + *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 InstanceIAMPolicy. +func (in *InstanceIAMPolicy) DeepCopy() *InstanceIAMPolicy { + if in == nil { + return nil + } + out := new(InstanceIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMPolicy) 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 *InstanceIAMPolicyList) DeepCopyInto(out *InstanceIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]InstanceIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyList. +func (in *InstanceIAMPolicyList) DeepCopy() *InstanceIAMPolicyList { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceIAMPolicyList) 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 *InstanceIAMPolicyObservation) DeepCopyInto(out *InstanceIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyObservation. +func (in *InstanceIAMPolicyObservation) DeepCopy() *InstanceIAMPolicyObservation { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicyParameters) DeepCopyInto(out *InstanceIAMPolicyParameters) { + *out = *in + if in.Instance != nil { + in, out := &in.Instance, &out.Instance + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyParameters. +func (in *InstanceIAMPolicyParameters) DeepCopy() *InstanceIAMPolicyParameters { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicySpec) DeepCopyInto(out *InstanceIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicySpec. +func (in *InstanceIAMPolicySpec) DeepCopy() *InstanceIAMPolicySpec { + if in == nil { + return nil + } + out := new(InstanceIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceIAMPolicyStatus) DeepCopyInto(out *InstanceIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceIAMPolicyStatus. +func (in *InstanceIAMPolicyStatus) DeepCopy() *InstanceIAMPolicyStatus { + if in == nil { + return nil + } + out := new(InstanceIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceList) DeepCopyInto(out *InstanceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Instance, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList. +func (in *InstanceList) DeepCopy() *InstanceList { + if in == nil { + return nil + } + out := new(InstanceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceList) 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 *InstanceObservation) DeepCopyInto(out *InstanceObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceObservation. +func (in *InstanceObservation) DeepCopy() *InstanceObservation { + if in == nil { + return nil + } + out := new(InstanceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { + *out = *in + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = new(string) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.ForceDestroy != nil { + in, out := &in.ForceDestroy, &out.ForceDestroy + *out = new(bool) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.NumNodes != nil { + in, out := &in.NumNodes, &out.NumNodes + *out = new(int64) + **out = **in + } + if in.ProcessingUnits != nil { + in, out := &in.ProcessingUnits, &out.ProcessingUnits + *out = new(int64) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceParameters. +func (in *InstanceParameters) DeepCopy() *InstanceParameters { + if in == nil { + return nil + } + out := new(InstanceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec. +func (in *InstanceSpec) DeepCopy() *InstanceSpec { + if in == nil { + return nil + } + out := new(InstanceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus. +func (in *InstanceStatus) DeepCopy() *InstanceStatus { + if in == nil { + return nil + } + out := new(InstanceStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/spanner/v1alpha1/zz_generated.managed.go b/apis/spanner/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..da8bba2b --- /dev/null +++ b/apis/spanner/v1alpha1/zz_generated.managed.go @@ -0,0 +1,468 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Database. +func (mg *Database) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Database. +func (mg *Database) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Database. +func (mg *Database) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Database. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Database) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Database. +func (mg *Database) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Database. +func (mg *Database) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Database. +func (mg *Database) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Database. +func (mg *Database) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Database. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Database) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Database. +func (mg *Database) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DatabaseIAMBinding. +func (mg *DatabaseIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DatabaseIAMBinding. +func (mg *DatabaseIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DatabaseIAMBinding. +func (mg *DatabaseIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DatabaseIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DatabaseIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DatabaseIAMBinding. +func (mg *DatabaseIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DatabaseIAMBinding. +func (mg *DatabaseIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DatabaseIAMBinding. +func (mg *DatabaseIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DatabaseIAMBinding. +func (mg *DatabaseIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DatabaseIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DatabaseIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DatabaseIAMBinding. +func (mg *DatabaseIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DatabaseIAMMember. +func (mg *DatabaseIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DatabaseIAMMember. +func (mg *DatabaseIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DatabaseIAMMember. +func (mg *DatabaseIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DatabaseIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DatabaseIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DatabaseIAMMember. +func (mg *DatabaseIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DatabaseIAMMember. +func (mg *DatabaseIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DatabaseIAMMember. +func (mg *DatabaseIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DatabaseIAMMember. +func (mg *DatabaseIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DatabaseIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DatabaseIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DatabaseIAMMember. +func (mg *DatabaseIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DatabaseIAMPolicy. +func (mg *DatabaseIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DatabaseIAMPolicy. +func (mg *DatabaseIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DatabaseIAMPolicy. +func (mg *DatabaseIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DatabaseIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DatabaseIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DatabaseIAMPolicy. +func (mg *DatabaseIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DatabaseIAMPolicy. +func (mg *DatabaseIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DatabaseIAMPolicy. +func (mg *DatabaseIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DatabaseIAMPolicy. +func (mg *DatabaseIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DatabaseIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DatabaseIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DatabaseIAMPolicy. +func (mg *DatabaseIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Instance. +func (mg *Instance) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Instance. +func (mg *Instance) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Instance. +func (mg *Instance) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Instance. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Instance) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Instance. +func (mg *Instance) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Instance. +func (mg *Instance) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Instance. +func (mg *Instance) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Instance. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Instance) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceIAMBinding. +func (mg *InstanceIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceIAMMember. +func (mg *InstanceIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this InstanceIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *InstanceIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this InstanceIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *InstanceIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this InstanceIAMPolicy. +func (mg *InstanceIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/spanner/v1alpha1/zz_generated.managedlist.go b/apis/spanner/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..2f4bd4e3 --- /dev/null +++ b/apis/spanner/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,92 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this DatabaseIAMBindingList. +func (l *DatabaseIAMBindingList) 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 DatabaseIAMMemberList. +func (l *DatabaseIAMMemberList) 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 DatabaseIAMPolicyList. +func (l *DatabaseIAMPolicyList) 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 DatabaseList. +func (l *DatabaseList) 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 InstanceIAMBindingList. +func (l *InstanceIAMBindingList) 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 InstanceIAMMemberList. +func (l *InstanceIAMMemberList) 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 InstanceIAMPolicyList. +func (l *InstanceIAMPolicyList) 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 InstanceList. +func (l *InstanceList) 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/spanner/v1alpha1/zz_groupversion_info.go b/apis/spanner/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..08848041 --- /dev/null +++ b/apis/spanner/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=spanner.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "spanner.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/spanner/v1alpha1/zz_instance_terraformed.go b/apis/spanner/v1alpha1/zz_instance_terraformed.go new file mode 100755 index 00000000..a9e5a4da --- /dev/null +++ b/apis/spanner/v1alpha1/zz_instance_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Instance +func (mg *Instance) GetTerraformResourceType() string { + return "google_spanner_instance" +} + +// GetConnectionDetailsMapping for this Instance +func (tr *Instance) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Instance +func (tr *Instance) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Instance +func (tr *Instance) SetObservation(obs map[string]interface{}) 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 Instance +func (tr *Instance) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Instance +func (tr *Instance) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Instance +func (tr *Instance) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Instance using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Instance) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceParameters{} + 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 *Instance) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/spanner/v1alpha1/zz_instance_types.go b/apis/spanner/v1alpha1/zz_instance_types.go new file mode 100755 index 00000000..4b8e8aa6 --- /dev/null +++ b/apis/spanner/v1alpha1/zz_instance_types.go @@ -0,0 +1,128 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + State *string `json:"state,omitempty" tf:"state,omitempty"` +} + +type InstanceParameters struct { + + // The name of the instance's configuration (similar but not + // quite the same as a region) which defines the geographic placement and + // replication of your databases in this instance. It determines where your data + // is stored. Values are typically of the form 'regional-europe-west1' , 'us-central' etc. + // In order to obtain a valid list please consult the + // [Configuration section of the docs](https://cloud.google.com/spanner/docs/instances). + // +kubebuilder:validation:Required + Config *string `json:"config" tf:"config,omitempty"` + + // The descriptive name for this instance as it appears in UIs. Must be + // unique per project and between 4 and 30 characters in length. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // +kubebuilder:validation:Optional + ForceDestroy *bool `json:"forceDestroy,omitempty" tf:"force_destroy,omitempty"` + + // An object containing a list of "key": value pairs. + // Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // A unique identifier for the instance, which cannot be changed after + // the instance is created. The name must be between 6 and 30 characters + // in length. + // + // + // If not provided, a random string starting with 'tf-' will be selected. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // The number of nodes allocated to this instance. At most one of either node_count or processing_units + // can be present in terraform. + // +kubebuilder:validation:Optional + NumNodes *int64 `json:"numNodes,omitempty" tf:"num_nodes,omitempty"` + + // The number of processing units allocated to this instance. At most one of processing_units + // or node_count can be present in terraform. + // +kubebuilder:validation:Optional + ProcessingUnits *int64 `json:"processingUnits,omitempty" tf:"processing_units,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// InstanceSpec defines the desired state of Instance +type InstanceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceParameters `json:"forProvider"` +} + +// InstanceStatus defines the observed state of Instance. +type InstanceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Instance is the Schema for the Instances 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,gcpjet} +type Instance struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceSpec `json:"spec"` + Status InstanceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceList contains a list of Instances +type InstanceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Instance `json:"items"` +} + +// Repository type metadata. +var ( + Instance_Kind = "Instance" + Instance_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Instance_Kind}.String() + Instance_KindAPIVersion = Instance_Kind + "." + CRDGroupVersion.String() + Instance_GroupVersionKind = CRDGroupVersion.WithKind(Instance_Kind) +) + +func init() { + SchemeBuilder.Register(&Instance{}, &InstanceList{}) +} diff --git a/apis/spanner/v1alpha1/zz_instanceiambinding_terraformed.go b/apis/spanner/v1alpha1/zz_instanceiambinding_terraformed.go new file mode 100755 index 00000000..f47c92e7 --- /dev/null +++ b/apis/spanner/v1alpha1/zz_instanceiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceIAMBinding +func (mg *InstanceIAMBinding) GetTerraformResourceType() string { + return "google_spanner_instance_iam_binding" +} + +// GetConnectionDetailsMapping for this InstanceIAMBinding +func (tr *InstanceIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceIAMBinding +func (tr *InstanceIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceIAMBinding +func (tr *InstanceIAMBinding) SetObservation(obs map[string]interface{}) 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 InstanceIAMBinding +func (tr *InstanceIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceIAMBinding +func (tr *InstanceIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceIAMBinding +func (tr *InstanceIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceIAMBindingParameters{} + 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 *InstanceIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/spanner/v1alpha1/zz_instanceiambinding_types.go b/apis/spanner/v1alpha1/zz_instanceiambinding_types.go new file mode 100755 index 00000000..5ec3cd07 --- /dev/null +++ b/apis/spanner/v1alpha1/zz_instanceiambinding_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceIAMBindingConditionObservation struct { +} + +type InstanceIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type InstanceIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []InstanceIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// InstanceIAMBindingSpec defines the desired state of InstanceIAMBinding +type InstanceIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceIAMBindingParameters `json:"forProvider"` +} + +// InstanceIAMBindingStatus defines the observed state of InstanceIAMBinding. +type InstanceIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMBinding is the Schema for the InstanceIAMBindings 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,gcpjet} +type InstanceIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceIAMBindingSpec `json:"spec"` + Status InstanceIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMBindingList contains a list of InstanceIAMBindings +type InstanceIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + InstanceIAMBinding_Kind = "InstanceIAMBinding" + InstanceIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceIAMBinding_Kind}.String() + InstanceIAMBinding_KindAPIVersion = InstanceIAMBinding_Kind + "." + CRDGroupVersion.String() + InstanceIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(InstanceIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceIAMBinding{}, &InstanceIAMBindingList{}) +} diff --git a/apis/spanner/v1alpha1/zz_instanceiammember_terraformed.go b/apis/spanner/v1alpha1/zz_instanceiammember_terraformed.go new file mode 100755 index 00000000..e287aef4 --- /dev/null +++ b/apis/spanner/v1alpha1/zz_instanceiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceIAMMember +func (mg *InstanceIAMMember) GetTerraformResourceType() string { + return "google_spanner_instance_iam_member" +} + +// GetConnectionDetailsMapping for this InstanceIAMMember +func (tr *InstanceIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceIAMMember +func (tr *InstanceIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceIAMMember +func (tr *InstanceIAMMember) SetObservation(obs map[string]interface{}) 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 InstanceIAMMember +func (tr *InstanceIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceIAMMember +func (tr *InstanceIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceIAMMember +func (tr *InstanceIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceIAMMemberParameters{} + 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 *InstanceIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/spanner/v1alpha1/zz_instanceiammember_types.go b/apis/spanner/v1alpha1/zz_instanceiammember_types.go new file mode 100755 index 00000000..d5e61cae --- /dev/null +++ b/apis/spanner/v1alpha1/zz_instanceiammember_types.go @@ -0,0 +1,114 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceIAMMemberConditionObservation struct { +} + +type InstanceIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type InstanceIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []InstanceIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// InstanceIAMMemberSpec defines the desired state of InstanceIAMMember +type InstanceIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceIAMMemberParameters `json:"forProvider"` +} + +// InstanceIAMMemberStatus defines the observed state of InstanceIAMMember. +type InstanceIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMMember is the Schema for the InstanceIAMMembers 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,gcpjet} +type InstanceIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceIAMMemberSpec `json:"spec"` + Status InstanceIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMMemberList contains a list of InstanceIAMMembers +type InstanceIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + InstanceIAMMember_Kind = "InstanceIAMMember" + InstanceIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceIAMMember_Kind}.String() + InstanceIAMMember_KindAPIVersion = InstanceIAMMember_Kind + "." + CRDGroupVersion.String() + InstanceIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(InstanceIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceIAMMember{}, &InstanceIAMMemberList{}) +} diff --git a/apis/spanner/v1alpha1/zz_instanceiampolicy_terraformed.go b/apis/spanner/v1alpha1/zz_instanceiampolicy_terraformed.go new file mode 100755 index 00000000..0298fb2e --- /dev/null +++ b/apis/spanner/v1alpha1/zz_instanceiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this InstanceIAMPolicy +func (mg *InstanceIAMPolicy) GetTerraformResourceType() string { + return "google_spanner_instance_iam_policy" +} + +// GetConnectionDetailsMapping for this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) SetObservation(obs map[string]interface{}) 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 InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this InstanceIAMPolicy +func (tr *InstanceIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this InstanceIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *InstanceIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceIAMPolicyParameters{} + 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 *InstanceIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/spanner/v1alpha1/zz_instanceiampolicy_types.go b/apis/spanner/v1alpha1/zz_instanceiampolicy_types.go new file mode 100755 index 00000000..6b882e1d --- /dev/null +++ b/apis/spanner/v1alpha1/zz_instanceiampolicy_types.go @@ -0,0 +1,93 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 InstanceIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type InstanceIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + Instance *string `json:"instance" tf:"instance,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` +} + +// InstanceIAMPolicySpec defines the desired state of InstanceIAMPolicy +type InstanceIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceIAMPolicyParameters `json:"forProvider"` +} + +// InstanceIAMPolicyStatus defines the observed state of InstanceIAMPolicy. +type InstanceIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMPolicy is the Schema for the InstanceIAMPolicys 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,gcpjet} +type InstanceIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec InstanceIAMPolicySpec `json:"spec"` + Status InstanceIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceIAMPolicyList contains a list of InstanceIAMPolicys +type InstanceIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []InstanceIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + InstanceIAMPolicy_Kind = "InstanceIAMPolicy" + InstanceIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: InstanceIAMPolicy_Kind}.String() + InstanceIAMPolicy_KindAPIVersion = InstanceIAMPolicy_Kind + "." + CRDGroupVersion.String() + InstanceIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(InstanceIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&InstanceIAMPolicy{}, &InstanceIAMPolicyList{}) +} diff --git a/apis/storage/v1alpha1/zz_bucketaccesscontrol_terraformed.go b/apis/storage/v1alpha1/zz_bucketaccesscontrol_terraformed.go new file mode 100755 index 00000000..22312c0d --- /dev/null +++ b/apis/storage/v1alpha1/zz_bucketaccesscontrol_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this BucketAccessControl +func (mg *BucketAccessControl) GetTerraformResourceType() string { + return "google_storage_bucket_access_control" +} + +// GetConnectionDetailsMapping for this BucketAccessControl +func (tr *BucketAccessControl) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this BucketAccessControl +func (tr *BucketAccessControl) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this BucketAccessControl +func (tr *BucketAccessControl) SetObservation(obs map[string]interface{}) 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 BucketAccessControl +func (tr *BucketAccessControl) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this BucketAccessControl +func (tr *BucketAccessControl) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this BucketAccessControl +func (tr *BucketAccessControl) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this BucketAccessControl using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *BucketAccessControl) LateInitialize(attrs []byte) (bool, error) { + params := &BucketAccessControlParameters{} + 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 *BucketAccessControl) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/storage/v1alpha1/zz_bucketaccesscontrol_types.go b/apis/storage/v1alpha1/zz_bucketaccesscontrol_types.go new file mode 100755 index 00000000..4fe54dcc --- /dev/null +++ b/apis/storage/v1alpha1/zz_bucketaccesscontrol_types.go @@ -0,0 +1,112 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BucketAccessControlObservation struct { + Domain *string `json:"domain,omitempty" tf:"domain,omitempty"` + + Email *string `json:"email,omitempty" tf:"email,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type BucketAccessControlParameters struct { + + // The name of the bucket. + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // The entity holding the permission, in one of the following forms: + // user-userId + // user-email + // group-groupId + // group-email + // domain-domain + // project-team-projectId + // allUsers + // allAuthenticatedUsers + // Examples: + // The user liz@example.com would be user-liz@example.com. + // The group example@googlegroups.com would be + // group-example@googlegroups.com. + // To refer to all members of the Google Apps for Business domain + // example.com, the entity would be domain-example.com. + // +kubebuilder:validation:Required + Entity *string `json:"entity" tf:"entity,omitempty"` + + // The access permission for the entity. Possible values: ["OWNER", "READER", "WRITER"] + // +kubebuilder:validation:Optional + Role *string `json:"role,omitempty" tf:"role,omitempty"` +} + +// BucketAccessControlSpec defines the desired state of BucketAccessControl +type BucketAccessControlSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BucketAccessControlParameters `json:"forProvider"` +} + +// BucketAccessControlStatus defines the observed state of BucketAccessControl. +type BucketAccessControlStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BucketAccessControlObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// BucketAccessControl is the Schema for the BucketAccessControls 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,gcpjet} +type BucketAccessControl struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BucketAccessControlSpec `json:"spec"` + Status BucketAccessControlStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BucketAccessControlList contains a list of BucketAccessControls +type BucketAccessControlList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []BucketAccessControl `json:"items"` +} + +// Repository type metadata. +var ( + BucketAccessControl_Kind = "BucketAccessControl" + BucketAccessControl_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BucketAccessControl_Kind}.String() + BucketAccessControl_KindAPIVersion = BucketAccessControl_Kind + "." + CRDGroupVersion.String() + BucketAccessControl_GroupVersionKind = CRDGroupVersion.WithKind(BucketAccessControl_Kind) +) + +func init() { + SchemeBuilder.Register(&BucketAccessControl{}, &BucketAccessControlList{}) +} diff --git a/apis/storage/v1alpha1/zz_bucketacl_terraformed.go b/apis/storage/v1alpha1/zz_bucketacl_terraformed.go new file mode 100755 index 00000000..694d9f2d --- /dev/null +++ b/apis/storage/v1alpha1/zz_bucketacl_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this BucketACL +func (mg *BucketACL) GetTerraformResourceType() string { + return "google_storage_bucket_acl" +} + +// GetConnectionDetailsMapping for this BucketACL +func (tr *BucketACL) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this BucketACL +func (tr *BucketACL) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this BucketACL +func (tr *BucketACL) SetObservation(obs map[string]interface{}) 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 BucketACL +func (tr *BucketACL) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this BucketACL +func (tr *BucketACL) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this BucketACL +func (tr *BucketACL) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this BucketACL using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *BucketACL) LateInitialize(attrs []byte) (bool, error) { + params := &BucketACLParameters{} + 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 *BucketACL) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/storage/v1alpha1/zz_bucketacl_types.go b/apis/storage/v1alpha1/zz_bucketacl_types.go new file mode 100755 index 00000000..2f20795c --- /dev/null +++ b/apis/storage/v1alpha1/zz_bucketacl_types.go @@ -0,0 +1,98 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BucketACLObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type BucketACLParameters struct { + + // The name of the bucket it applies to. + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // Configure this ACL to be the default ACL. + // +kubebuilder:validation:Optional + DefaultACL *string `json:"defaultAcl,omitempty" tf:"default_acl,omitempty"` + + // The canned GCS ACL to apply. Must be set if role_entity is not. + // +kubebuilder:validation:Optional + PredefinedACL *string `json:"predefinedAcl,omitempty" tf:"predefined_acl,omitempty"` + + // List of role/entity pairs in the form ROLE:entity. See GCS Bucket ACL documentation for more details. Must be set if predefined_acl is not. + // +kubebuilder:validation:Optional + RoleEntity []*string `json:"roleEntity,omitempty" tf:"role_entity,omitempty"` +} + +// BucketACLSpec defines the desired state of BucketACL +type BucketACLSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BucketACLParameters `json:"forProvider"` +} + +// BucketACLStatus defines the observed state of BucketACL. +type BucketACLStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BucketACLObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// BucketACL is the Schema for the BucketACLs 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,gcpjet} +type BucketACL struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BucketACLSpec `json:"spec"` + Status BucketACLStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BucketACLList contains a list of BucketACLs +type BucketACLList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []BucketACL `json:"items"` +} + +// Repository type metadata. +var ( + BucketACL_Kind = "BucketACL" + BucketACL_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BucketACL_Kind}.String() + BucketACL_KindAPIVersion = BucketACL_Kind + "." + CRDGroupVersion.String() + BucketACL_GroupVersionKind = CRDGroupVersion.WithKind(BucketACL_Kind) +) + +func init() { + SchemeBuilder.Register(&BucketACL{}, &BucketACLList{}) +} diff --git a/apis/storage/v1alpha1/zz_bucketiambinding_terraformed.go b/apis/storage/v1alpha1/zz_bucketiambinding_terraformed.go new file mode 100755 index 00000000..80a9e522 --- /dev/null +++ b/apis/storage/v1alpha1/zz_bucketiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this BucketIAMBinding +func (mg *BucketIAMBinding) GetTerraformResourceType() string { + return "google_storage_bucket_iam_binding" +} + +// GetConnectionDetailsMapping for this BucketIAMBinding +func (tr *BucketIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this BucketIAMBinding +func (tr *BucketIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this BucketIAMBinding +func (tr *BucketIAMBinding) SetObservation(obs map[string]interface{}) 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 BucketIAMBinding +func (tr *BucketIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this BucketIAMBinding +func (tr *BucketIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this BucketIAMBinding +func (tr *BucketIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this BucketIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *BucketIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &BucketIAMBindingParameters{} + 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 *BucketIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/storage/v1alpha1/zz_bucketiambinding_types.go b/apis/storage/v1alpha1/zz_bucketiambinding_types.go new file mode 100755 index 00000000..d0b627c5 --- /dev/null +++ b/apis/storage/v1alpha1/zz_bucketiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BucketIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type BucketIAMBindingParameters struct { + + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +type ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +// BucketIAMBindingSpec defines the desired state of BucketIAMBinding +type BucketIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BucketIAMBindingParameters `json:"forProvider"` +} + +// BucketIAMBindingStatus defines the observed state of BucketIAMBinding. +type BucketIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BucketIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// BucketIAMBinding is the Schema for the BucketIAMBindings 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,gcpjet} +type BucketIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BucketIAMBindingSpec `json:"spec"` + Status BucketIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BucketIAMBindingList contains a list of BucketIAMBindings +type BucketIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []BucketIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + BucketIAMBinding_Kind = "BucketIAMBinding" + BucketIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BucketIAMBinding_Kind}.String() + BucketIAMBinding_KindAPIVersion = BucketIAMBinding_Kind + "." + CRDGroupVersion.String() + BucketIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(BucketIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&BucketIAMBinding{}, &BucketIAMBindingList{}) +} diff --git a/apis/storage/v1alpha1/zz_bucketiammember_terraformed.go b/apis/storage/v1alpha1/zz_bucketiammember_terraformed.go new file mode 100755 index 00000000..133bdb6a --- /dev/null +++ b/apis/storage/v1alpha1/zz_bucketiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this BucketIAMMember +func (mg *BucketIAMMember) GetTerraformResourceType() string { + return "google_storage_bucket_iam_member" +} + +// GetConnectionDetailsMapping for this BucketIAMMember +func (tr *BucketIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this BucketIAMMember +func (tr *BucketIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this BucketIAMMember +func (tr *BucketIAMMember) SetObservation(obs map[string]interface{}) 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 BucketIAMMember +func (tr *BucketIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this BucketIAMMember +func (tr *BucketIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this BucketIAMMember +func (tr *BucketIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this BucketIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *BucketIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &BucketIAMMemberParameters{} + 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 *BucketIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/storage/v1alpha1/zz_bucketiammember_types.go b/apis/storage/v1alpha1/zz_bucketiammember_types.go new file mode 100755 index 00000000..d2b93822 --- /dev/null +++ b/apis/storage/v1alpha1/zz_bucketiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BucketIAMMemberConditionObservation struct { +} + +type BucketIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type BucketIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type BucketIAMMemberParameters struct { + + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // +kubebuilder:validation:Optional + Condition []BucketIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +// BucketIAMMemberSpec defines the desired state of BucketIAMMember +type BucketIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BucketIAMMemberParameters `json:"forProvider"` +} + +// BucketIAMMemberStatus defines the observed state of BucketIAMMember. +type BucketIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BucketIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// BucketIAMMember is the Schema for the BucketIAMMembers 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,gcpjet} +type BucketIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BucketIAMMemberSpec `json:"spec"` + Status BucketIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BucketIAMMemberList contains a list of BucketIAMMembers +type BucketIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []BucketIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + BucketIAMMember_Kind = "BucketIAMMember" + BucketIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BucketIAMMember_Kind}.String() + BucketIAMMember_KindAPIVersion = BucketIAMMember_Kind + "." + CRDGroupVersion.String() + BucketIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(BucketIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&BucketIAMMember{}, &BucketIAMMemberList{}) +} diff --git a/apis/storage/v1alpha1/zz_bucketiampolicy_terraformed.go b/apis/storage/v1alpha1/zz_bucketiampolicy_terraformed.go new file mode 100755 index 00000000..a7008f51 --- /dev/null +++ b/apis/storage/v1alpha1/zz_bucketiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this BucketIAMPolicy +func (mg *BucketIAMPolicy) GetTerraformResourceType() string { + return "google_storage_bucket_iam_policy" +} + +// GetConnectionDetailsMapping for this BucketIAMPolicy +func (tr *BucketIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this BucketIAMPolicy +func (tr *BucketIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this BucketIAMPolicy +func (tr *BucketIAMPolicy) SetObservation(obs map[string]interface{}) 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 BucketIAMPolicy +func (tr *BucketIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this BucketIAMPolicy +func (tr *BucketIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this BucketIAMPolicy +func (tr *BucketIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this BucketIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *BucketIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &BucketIAMPolicyParameters{} + 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 *BucketIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/storage/v1alpha1/zz_bucketiampolicy_types.go b/apis/storage/v1alpha1/zz_bucketiampolicy_types.go new file mode 100755 index 00000000..100153e4 --- /dev/null +++ b/apis/storage/v1alpha1/zz_bucketiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 BucketIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type BucketIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` +} + +// BucketIAMPolicySpec defines the desired state of BucketIAMPolicy +type BucketIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BucketIAMPolicyParameters `json:"forProvider"` +} + +// BucketIAMPolicyStatus defines the observed state of BucketIAMPolicy. +type BucketIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BucketIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// BucketIAMPolicy is the Schema for the BucketIAMPolicys 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,gcpjet} +type BucketIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BucketIAMPolicySpec `json:"spec"` + Status BucketIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BucketIAMPolicyList contains a list of BucketIAMPolicys +type BucketIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []BucketIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + BucketIAMPolicy_Kind = "BucketIAMPolicy" + BucketIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BucketIAMPolicy_Kind}.String() + BucketIAMPolicy_KindAPIVersion = BucketIAMPolicy_Kind + "." + CRDGroupVersion.String() + BucketIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(BucketIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&BucketIAMPolicy{}, &BucketIAMPolicyList{}) +} diff --git a/apis/storage/v1alpha1/zz_defaultobjectaccesscontrol_terraformed.go b/apis/storage/v1alpha1/zz_defaultobjectaccesscontrol_terraformed.go new file mode 100755 index 00000000..6b9d6d3f --- /dev/null +++ b/apis/storage/v1alpha1/zz_defaultobjectaccesscontrol_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DefaultObjectAccessControl +func (mg *DefaultObjectAccessControl) GetTerraformResourceType() string { + return "google_storage_default_object_access_control" +} + +// GetConnectionDetailsMapping for this DefaultObjectAccessControl +func (tr *DefaultObjectAccessControl) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DefaultObjectAccessControl +func (tr *DefaultObjectAccessControl) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DefaultObjectAccessControl +func (tr *DefaultObjectAccessControl) SetObservation(obs map[string]interface{}) 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 DefaultObjectAccessControl +func (tr *DefaultObjectAccessControl) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DefaultObjectAccessControl +func (tr *DefaultObjectAccessControl) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DefaultObjectAccessControl +func (tr *DefaultObjectAccessControl) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DefaultObjectAccessControl using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DefaultObjectAccessControl) LateInitialize(attrs []byte) (bool, error) { + params := &DefaultObjectAccessControlParameters{} + 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 *DefaultObjectAccessControl) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/storage/v1alpha1/zz_defaultobjectaccesscontrol_types.go b/apis/storage/v1alpha1/zz_defaultobjectaccesscontrol_types.go new file mode 100755 index 00000000..b0c3b525 --- /dev/null +++ b/apis/storage/v1alpha1/zz_defaultobjectaccesscontrol_types.go @@ -0,0 +1,130 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DefaultObjectAccessControlObservation struct { + Domain *string `json:"domain,omitempty" tf:"domain,omitempty"` + + Email *string `json:"email,omitempty" tf:"email,omitempty"` + + EntityID *string `json:"entityId,omitempty" tf:"entity_id,omitempty"` + + Generation *int64 `json:"generation,omitempty" tf:"generation,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + ProjectTeam []ProjectTeamObservation `json:"projectTeam,omitempty" tf:"project_team,omitempty"` +} + +type DefaultObjectAccessControlParameters struct { + + // The name of the bucket. + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // The entity holding the permission, in one of the following forms: + // * user-{{userId}} + // * user-{{email}} (such as "user-liz@example.com") + // * group-{{groupId}} + // * group-{{email}} (such as "group-example@googlegroups.com") + // * domain-{{domain}} (such as "domain-example.com") + // * project-team-{{projectId}} + // * allUsers + // * allAuthenticatedUsers + // +kubebuilder:validation:Required + Entity *string `json:"entity" tf:"entity,omitempty"` + + // The name of the object, if applied to an object. + // +kubebuilder:validation:Optional + Object *string `json:"object,omitempty" tf:"object,omitempty"` + + // The access permission for the entity. Possible values: ["OWNER", "READER"] + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +type ProjectTeamObservation struct { +} + +type ProjectTeamParameters struct { + + // The project team associated with the entity + // +kubebuilder:validation:Optional + ProjectNumber *string `json:"projectNumber,omitempty" tf:"project_number,omitempty"` + + // The team. Possible values: ["editors", "owners", "viewers"] + // +kubebuilder:validation:Optional + Team *string `json:"team,omitempty" tf:"team,omitempty"` +} + +// DefaultObjectAccessControlSpec defines the desired state of DefaultObjectAccessControl +type DefaultObjectAccessControlSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DefaultObjectAccessControlParameters `json:"forProvider"` +} + +// DefaultObjectAccessControlStatus defines the observed state of DefaultObjectAccessControl. +type DefaultObjectAccessControlStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DefaultObjectAccessControlObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DefaultObjectAccessControl is the Schema for the DefaultObjectAccessControls 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,gcpjet} +type DefaultObjectAccessControl struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DefaultObjectAccessControlSpec `json:"spec"` + Status DefaultObjectAccessControlStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DefaultObjectAccessControlList contains a list of DefaultObjectAccessControls +type DefaultObjectAccessControlList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DefaultObjectAccessControl `json:"items"` +} + +// Repository type metadata. +var ( + DefaultObjectAccessControl_Kind = "DefaultObjectAccessControl" + DefaultObjectAccessControl_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DefaultObjectAccessControl_Kind}.String() + DefaultObjectAccessControl_KindAPIVersion = DefaultObjectAccessControl_Kind + "." + CRDGroupVersion.String() + DefaultObjectAccessControl_GroupVersionKind = CRDGroupVersion.WithKind(DefaultObjectAccessControl_Kind) +) + +func init() { + SchemeBuilder.Register(&DefaultObjectAccessControl{}, &DefaultObjectAccessControlList{}) +} diff --git a/apis/storage/v1alpha1/zz_defaultobjectacl_terraformed.go b/apis/storage/v1alpha1/zz_defaultobjectacl_terraformed.go new file mode 100755 index 00000000..41423c02 --- /dev/null +++ b/apis/storage/v1alpha1/zz_defaultobjectacl_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this DefaultObjectACL +func (mg *DefaultObjectACL) GetTerraformResourceType() string { + return "google_storage_default_object_acl" +} + +// GetConnectionDetailsMapping for this DefaultObjectACL +func (tr *DefaultObjectACL) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this DefaultObjectACL +func (tr *DefaultObjectACL) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this DefaultObjectACL +func (tr *DefaultObjectACL) SetObservation(obs map[string]interface{}) 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 DefaultObjectACL +func (tr *DefaultObjectACL) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this DefaultObjectACL +func (tr *DefaultObjectACL) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this DefaultObjectACL +func (tr *DefaultObjectACL) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this DefaultObjectACL using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *DefaultObjectACL) LateInitialize(attrs []byte) (bool, error) { + params := &DefaultObjectACLParameters{} + 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 *DefaultObjectACL) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/storage/v1alpha1/zz_defaultobjectacl_types.go b/apis/storage/v1alpha1/zz_defaultobjectacl_types.go new file mode 100755 index 00000000..1084bda9 --- /dev/null +++ b/apis/storage/v1alpha1/zz_defaultobjectacl_types.go @@ -0,0 +1,88 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DefaultObjectACLObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type DefaultObjectACLParameters struct { + + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // +kubebuilder:validation:Optional + RoleEntity []*string `json:"roleEntity,omitempty" tf:"role_entity,omitempty"` +} + +// DefaultObjectACLSpec defines the desired state of DefaultObjectACL +type DefaultObjectACLSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DefaultObjectACLParameters `json:"forProvider"` +} + +// DefaultObjectACLStatus defines the observed state of DefaultObjectACL. +type DefaultObjectACLStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DefaultObjectACLObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// DefaultObjectACL is the Schema for the DefaultObjectACLs 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,gcpjet} +type DefaultObjectACL struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DefaultObjectACLSpec `json:"spec"` + Status DefaultObjectACLStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DefaultObjectACLList contains a list of DefaultObjectACLs +type DefaultObjectACLList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []DefaultObjectACL `json:"items"` +} + +// Repository type metadata. +var ( + DefaultObjectACL_Kind = "DefaultObjectACL" + DefaultObjectACL_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: DefaultObjectACL_Kind}.String() + DefaultObjectACL_KindAPIVersion = DefaultObjectACL_Kind + "." + CRDGroupVersion.String() + DefaultObjectACL_GroupVersionKind = CRDGroupVersion.WithKind(DefaultObjectACL_Kind) +) + +func init() { + SchemeBuilder.Register(&DefaultObjectACL{}, &DefaultObjectACLList{}) +} diff --git a/apis/storage/v1alpha1/zz_generated.deepcopy.go b/apis/storage/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..654eb7cb --- /dev/null +++ b/apis/storage/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1947 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketACL) DeepCopyInto(out *BucketACL) { + *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 BucketACL. +func (in *BucketACL) DeepCopy() *BucketACL { + if in == nil { + return nil + } + out := new(BucketACL) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BucketACL) 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 *BucketACLList) DeepCopyInto(out *BucketACLList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BucketACL, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketACLList. +func (in *BucketACLList) DeepCopy() *BucketACLList { + if in == nil { + return nil + } + out := new(BucketACLList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BucketACLList) 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 *BucketACLObservation) DeepCopyInto(out *BucketACLObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketACLObservation. +func (in *BucketACLObservation) DeepCopy() *BucketACLObservation { + if in == nil { + return nil + } + out := new(BucketACLObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketACLParameters) DeepCopyInto(out *BucketACLParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.DefaultACL != nil { + in, out := &in.DefaultACL, &out.DefaultACL + *out = new(string) + **out = **in + } + if in.PredefinedACL != nil { + in, out := &in.PredefinedACL, &out.PredefinedACL + *out = new(string) + **out = **in + } + if in.RoleEntity != nil { + in, out := &in.RoleEntity, &out.RoleEntity + *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 BucketACLParameters. +func (in *BucketACLParameters) DeepCopy() *BucketACLParameters { + if in == nil { + return nil + } + out := new(BucketACLParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketACLSpec) DeepCopyInto(out *BucketACLSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketACLSpec. +func (in *BucketACLSpec) DeepCopy() *BucketACLSpec { + if in == nil { + return nil + } + out := new(BucketACLSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketACLStatus) DeepCopyInto(out *BucketACLStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketACLStatus. +func (in *BucketACLStatus) DeepCopy() *BucketACLStatus { + if in == nil { + return nil + } + out := new(BucketACLStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketAccessControl) DeepCopyInto(out *BucketAccessControl) { + *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 BucketAccessControl. +func (in *BucketAccessControl) DeepCopy() *BucketAccessControl { + if in == nil { + return nil + } + out := new(BucketAccessControl) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BucketAccessControl) 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 *BucketAccessControlList) DeepCopyInto(out *BucketAccessControlList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BucketAccessControl, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketAccessControlList. +func (in *BucketAccessControlList) DeepCopy() *BucketAccessControlList { + if in == nil { + return nil + } + out := new(BucketAccessControlList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BucketAccessControlList) 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 *BucketAccessControlObservation) DeepCopyInto(out *BucketAccessControlObservation) { + *out = *in + if in.Domain != nil { + in, out := &in.Domain, &out.Domain + *out = new(string) + **out = **in + } + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketAccessControlObservation. +func (in *BucketAccessControlObservation) DeepCopy() *BucketAccessControlObservation { + if in == nil { + return nil + } + out := new(BucketAccessControlObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketAccessControlParameters) DeepCopyInto(out *BucketAccessControlParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.Entity != nil { + in, out := &in.Entity, &out.Entity + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketAccessControlParameters. +func (in *BucketAccessControlParameters) DeepCopy() *BucketAccessControlParameters { + if in == nil { + return nil + } + out := new(BucketAccessControlParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketAccessControlSpec) DeepCopyInto(out *BucketAccessControlSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketAccessControlSpec. +func (in *BucketAccessControlSpec) DeepCopy() *BucketAccessControlSpec { + if in == nil { + return nil + } + out := new(BucketAccessControlSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketAccessControlStatus) DeepCopyInto(out *BucketAccessControlStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketAccessControlStatus. +func (in *BucketAccessControlStatus) DeepCopy() *BucketAccessControlStatus { + if in == nil { + return nil + } + out := new(BucketAccessControlStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketIAMBinding) DeepCopyInto(out *BucketIAMBinding) { + *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 BucketIAMBinding. +func (in *BucketIAMBinding) DeepCopy() *BucketIAMBinding { + if in == nil { + return nil + } + out := new(BucketIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BucketIAMBinding) 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 *BucketIAMBindingList) DeepCopyInto(out *BucketIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BucketIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMBindingList. +func (in *BucketIAMBindingList) DeepCopy() *BucketIAMBindingList { + if in == nil { + return nil + } + out := new(BucketIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BucketIAMBindingList) 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 *BucketIAMBindingObservation) DeepCopyInto(out *BucketIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMBindingObservation. +func (in *BucketIAMBindingObservation) DeepCopy() *BucketIAMBindingObservation { + if in == nil { + return nil + } + out := new(BucketIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketIAMBindingParameters) DeepCopyInto(out *BucketIAMBindingParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMBindingParameters. +func (in *BucketIAMBindingParameters) DeepCopy() *BucketIAMBindingParameters { + if in == nil { + return nil + } + out := new(BucketIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketIAMBindingSpec) DeepCopyInto(out *BucketIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMBindingSpec. +func (in *BucketIAMBindingSpec) DeepCopy() *BucketIAMBindingSpec { + if in == nil { + return nil + } + out := new(BucketIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketIAMBindingStatus) DeepCopyInto(out *BucketIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMBindingStatus. +func (in *BucketIAMBindingStatus) DeepCopy() *BucketIAMBindingStatus { + if in == nil { + return nil + } + out := new(BucketIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketIAMMember) DeepCopyInto(out *BucketIAMMember) { + *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 BucketIAMMember. +func (in *BucketIAMMember) DeepCopy() *BucketIAMMember { + if in == nil { + return nil + } + out := new(BucketIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BucketIAMMember) 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 *BucketIAMMemberConditionObservation) DeepCopyInto(out *BucketIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMMemberConditionObservation. +func (in *BucketIAMMemberConditionObservation) DeepCopy() *BucketIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(BucketIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketIAMMemberConditionParameters) DeepCopyInto(out *BucketIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMMemberConditionParameters. +func (in *BucketIAMMemberConditionParameters) DeepCopy() *BucketIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(BucketIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketIAMMemberList) DeepCopyInto(out *BucketIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BucketIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMMemberList. +func (in *BucketIAMMemberList) DeepCopy() *BucketIAMMemberList { + if in == nil { + return nil + } + out := new(BucketIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BucketIAMMemberList) 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 *BucketIAMMemberObservation) DeepCopyInto(out *BucketIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMMemberObservation. +func (in *BucketIAMMemberObservation) DeepCopy() *BucketIAMMemberObservation { + if in == nil { + return nil + } + out := new(BucketIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketIAMMemberParameters) DeepCopyInto(out *BucketIAMMemberParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]BucketIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMMemberParameters. +func (in *BucketIAMMemberParameters) DeepCopy() *BucketIAMMemberParameters { + if in == nil { + return nil + } + out := new(BucketIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketIAMMemberSpec) DeepCopyInto(out *BucketIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMMemberSpec. +func (in *BucketIAMMemberSpec) DeepCopy() *BucketIAMMemberSpec { + if in == nil { + return nil + } + out := new(BucketIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketIAMMemberStatus) DeepCopyInto(out *BucketIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMMemberStatus. +func (in *BucketIAMMemberStatus) DeepCopy() *BucketIAMMemberStatus { + if in == nil { + return nil + } + out := new(BucketIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketIAMPolicy) DeepCopyInto(out *BucketIAMPolicy) { + *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 BucketIAMPolicy. +func (in *BucketIAMPolicy) DeepCopy() *BucketIAMPolicy { + if in == nil { + return nil + } + out := new(BucketIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BucketIAMPolicy) 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 *BucketIAMPolicyList) DeepCopyInto(out *BucketIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BucketIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMPolicyList. +func (in *BucketIAMPolicyList) DeepCopy() *BucketIAMPolicyList { + if in == nil { + return nil + } + out := new(BucketIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BucketIAMPolicyList) 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 *BucketIAMPolicyObservation) DeepCopyInto(out *BucketIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMPolicyObservation. +func (in *BucketIAMPolicyObservation) DeepCopy() *BucketIAMPolicyObservation { + if in == nil { + return nil + } + out := new(BucketIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketIAMPolicyParameters) DeepCopyInto(out *BucketIAMPolicyParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMPolicyParameters. +func (in *BucketIAMPolicyParameters) DeepCopy() *BucketIAMPolicyParameters { + if in == nil { + return nil + } + out := new(BucketIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketIAMPolicySpec) DeepCopyInto(out *BucketIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMPolicySpec. +func (in *BucketIAMPolicySpec) DeepCopy() *BucketIAMPolicySpec { + if in == nil { + return nil + } + out := new(BucketIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketIAMPolicyStatus) DeepCopyInto(out *BucketIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketIAMPolicyStatus. +func (in *BucketIAMPolicyStatus) DeepCopy() *BucketIAMPolicyStatus { + if in == nil { + return nil + } + out := new(BucketIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultObjectACL) DeepCopyInto(out *DefaultObjectACL) { + *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 DefaultObjectACL. +func (in *DefaultObjectACL) DeepCopy() *DefaultObjectACL { + if in == nil { + return nil + } + out := new(DefaultObjectACL) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DefaultObjectACL) 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 *DefaultObjectACLList) DeepCopyInto(out *DefaultObjectACLList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DefaultObjectACL, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultObjectACLList. +func (in *DefaultObjectACLList) DeepCopy() *DefaultObjectACLList { + if in == nil { + return nil + } + out := new(DefaultObjectACLList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DefaultObjectACLList) 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 *DefaultObjectACLObservation) DeepCopyInto(out *DefaultObjectACLObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultObjectACLObservation. +func (in *DefaultObjectACLObservation) DeepCopy() *DefaultObjectACLObservation { + if in == nil { + return nil + } + out := new(DefaultObjectACLObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultObjectACLParameters) DeepCopyInto(out *DefaultObjectACLParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.RoleEntity != nil { + in, out := &in.RoleEntity, &out.RoleEntity + *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 DefaultObjectACLParameters. +func (in *DefaultObjectACLParameters) DeepCopy() *DefaultObjectACLParameters { + if in == nil { + return nil + } + out := new(DefaultObjectACLParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultObjectACLSpec) DeepCopyInto(out *DefaultObjectACLSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultObjectACLSpec. +func (in *DefaultObjectACLSpec) DeepCopy() *DefaultObjectACLSpec { + if in == nil { + return nil + } + out := new(DefaultObjectACLSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultObjectACLStatus) DeepCopyInto(out *DefaultObjectACLStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultObjectACLStatus. +func (in *DefaultObjectACLStatus) DeepCopy() *DefaultObjectACLStatus { + if in == nil { + return nil + } + out := new(DefaultObjectACLStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultObjectAccessControl) DeepCopyInto(out *DefaultObjectAccessControl) { + *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 DefaultObjectAccessControl. +func (in *DefaultObjectAccessControl) DeepCopy() *DefaultObjectAccessControl { + if in == nil { + return nil + } + out := new(DefaultObjectAccessControl) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DefaultObjectAccessControl) 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 *DefaultObjectAccessControlList) DeepCopyInto(out *DefaultObjectAccessControlList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DefaultObjectAccessControl, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultObjectAccessControlList. +func (in *DefaultObjectAccessControlList) DeepCopy() *DefaultObjectAccessControlList { + if in == nil { + return nil + } + out := new(DefaultObjectAccessControlList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DefaultObjectAccessControlList) 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 *DefaultObjectAccessControlObservation) DeepCopyInto(out *DefaultObjectAccessControlObservation) { + *out = *in + if in.Domain != nil { + in, out := &in.Domain, &out.Domain + *out = new(string) + **out = **in + } + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = new(string) + **out = **in + } + if in.EntityID != nil { + in, out := &in.EntityID, &out.EntityID + *out = new(string) + **out = **in + } + if in.Generation != nil { + in, out := &in.Generation, &out.Generation + *out = new(int64) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.ProjectTeam != nil { + in, out := &in.ProjectTeam, &out.ProjectTeam + *out = make([]ProjectTeamObservation, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultObjectAccessControlObservation. +func (in *DefaultObjectAccessControlObservation) DeepCopy() *DefaultObjectAccessControlObservation { + if in == nil { + return nil + } + out := new(DefaultObjectAccessControlObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultObjectAccessControlParameters) DeepCopyInto(out *DefaultObjectAccessControlParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.Entity != nil { + in, out := &in.Entity, &out.Entity + *out = new(string) + **out = **in + } + if in.Object != nil { + in, out := &in.Object, &out.Object + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultObjectAccessControlParameters. +func (in *DefaultObjectAccessControlParameters) DeepCopy() *DefaultObjectAccessControlParameters { + if in == nil { + return nil + } + out := new(DefaultObjectAccessControlParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultObjectAccessControlSpec) DeepCopyInto(out *DefaultObjectAccessControlSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultObjectAccessControlSpec. +func (in *DefaultObjectAccessControlSpec) DeepCopy() *DefaultObjectAccessControlSpec { + if in == nil { + return nil + } + out := new(DefaultObjectAccessControlSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultObjectAccessControlStatus) DeepCopyInto(out *DefaultObjectAccessControlStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultObjectAccessControlStatus. +func (in *DefaultObjectAccessControlStatus) DeepCopy() *DefaultObjectAccessControlStatus { + if in == nil { + return nil + } + out := new(DefaultObjectAccessControlStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HMACKey) DeepCopyInto(out *HMACKey) { + *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 HMACKey. +func (in *HMACKey) DeepCopy() *HMACKey { + if in == nil { + return nil + } + out := new(HMACKey) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HMACKey) 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 *HMACKeyList) DeepCopyInto(out *HMACKeyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HMACKey, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HMACKeyList. +func (in *HMACKeyList) DeepCopy() *HMACKeyList { + if in == nil { + return nil + } + out := new(HMACKeyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HMACKeyList) 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 *HMACKeyObservation) DeepCopyInto(out *HMACKeyObservation) { + *out = *in + if in.AccessID != nil { + in, out := &in.AccessID, &out.AccessID + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.TimeCreated != nil { + in, out := &in.TimeCreated, &out.TimeCreated + *out = new(string) + **out = **in + } + if in.Updated != nil { + in, out := &in.Updated, &out.Updated + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HMACKeyObservation. +func (in *HMACKeyObservation) DeepCopy() *HMACKeyObservation { + if in == nil { + return nil + } + out := new(HMACKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HMACKeyParameters) DeepCopyInto(out *HMACKeyParameters) { + *out = *in + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.ServiceAccountEmail != nil { + in, out := &in.ServiceAccountEmail, &out.ServiceAccountEmail + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HMACKeyParameters. +func (in *HMACKeyParameters) DeepCopy() *HMACKeyParameters { + if in == nil { + return nil + } + out := new(HMACKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HMACKeySpec) DeepCopyInto(out *HMACKeySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HMACKeySpec. +func (in *HMACKeySpec) DeepCopy() *HMACKeySpec { + if in == nil { + return nil + } + out := new(HMACKeySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HMACKeyStatus) DeepCopyInto(out *HMACKeyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HMACKeyStatus. +func (in *HMACKeyStatus) DeepCopy() *HMACKeyStatus { + if in == nil { + return nil + } + out := new(HMACKeyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Notification) DeepCopyInto(out *Notification) { + *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 Notification. +func (in *Notification) DeepCopy() *Notification { + if in == nil { + return nil + } + out := new(Notification) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Notification) 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 *NotificationList) DeepCopyInto(out *NotificationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Notification, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationList. +func (in *NotificationList) DeepCopy() *NotificationList { + if in == nil { + return nil + } + out := new(NotificationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NotificationList) 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 *NotificationObservation) DeepCopyInto(out *NotificationObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.NotificationID != nil { + in, out := &in.NotificationID, &out.NotificationID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationObservation. +func (in *NotificationObservation) DeepCopy() *NotificationObservation { + if in == nil { + return nil + } + out := new(NotificationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NotificationParameters) DeepCopyInto(out *NotificationParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.CustomAttributes != nil { + in, out := &in.CustomAttributes, &out.CustomAttributes + *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.EventTypes != nil { + in, out := &in.EventTypes, &out.EventTypes + *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.ObjectNamePrefix != nil { + in, out := &in.ObjectNamePrefix, &out.ObjectNamePrefix + *out = new(string) + **out = **in + } + if in.PayloadFormat != nil { + in, out := &in.PayloadFormat, &out.PayloadFormat + *out = new(string) + **out = **in + } + if in.Topic != nil { + in, out := &in.Topic, &out.Topic + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationParameters. +func (in *NotificationParameters) DeepCopy() *NotificationParameters { + if in == nil { + return nil + } + out := new(NotificationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NotificationSpec) DeepCopyInto(out *NotificationSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationSpec. +func (in *NotificationSpec) DeepCopy() *NotificationSpec { + if in == nil { + return nil + } + out := new(NotificationSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NotificationStatus) DeepCopyInto(out *NotificationStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationStatus. +func (in *NotificationStatus) DeepCopy() *NotificationStatus { + if in == nil { + return nil + } + out := new(NotificationStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectACL) DeepCopyInto(out *ObjectACL) { + *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 ObjectACL. +func (in *ObjectACL) DeepCopy() *ObjectACL { + if in == nil { + return nil + } + out := new(ObjectACL) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ObjectACL) 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 *ObjectACLList) DeepCopyInto(out *ObjectACLList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ObjectACL, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectACLList. +func (in *ObjectACLList) DeepCopy() *ObjectACLList { + if in == nil { + return nil + } + out := new(ObjectACLList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ObjectACLList) 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 *ObjectACLObservation) DeepCopyInto(out *ObjectACLObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectACLObservation. +func (in *ObjectACLObservation) DeepCopy() *ObjectACLObservation { + if in == nil { + return nil + } + out := new(ObjectACLObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectACLParameters) DeepCopyInto(out *ObjectACLParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.Object != nil { + in, out := &in.Object, &out.Object + *out = new(string) + **out = **in + } + if in.PredefinedACL != nil { + in, out := &in.PredefinedACL, &out.PredefinedACL + *out = new(string) + **out = **in + } + if in.RoleEntity != nil { + in, out := &in.RoleEntity, &out.RoleEntity + *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 ObjectACLParameters. +func (in *ObjectACLParameters) DeepCopy() *ObjectACLParameters { + if in == nil { + return nil + } + out := new(ObjectACLParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectACLSpec) DeepCopyInto(out *ObjectACLSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectACLSpec. +func (in *ObjectACLSpec) DeepCopy() *ObjectACLSpec { + if in == nil { + return nil + } + out := new(ObjectACLSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectACLStatus) DeepCopyInto(out *ObjectACLStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectACLStatus. +func (in *ObjectACLStatus) DeepCopy() *ObjectACLStatus { + if in == nil { + return nil + } + out := new(ObjectACLStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectAccessControl) DeepCopyInto(out *ObjectAccessControl) { + *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 ObjectAccessControl. +func (in *ObjectAccessControl) DeepCopy() *ObjectAccessControl { + if in == nil { + return nil + } + out := new(ObjectAccessControl) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ObjectAccessControl) 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 *ObjectAccessControlList) DeepCopyInto(out *ObjectAccessControlList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ObjectAccessControl, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectAccessControlList. +func (in *ObjectAccessControlList) DeepCopy() *ObjectAccessControlList { + if in == nil { + return nil + } + out := new(ObjectAccessControlList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ObjectAccessControlList) 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 *ObjectAccessControlObservation) DeepCopyInto(out *ObjectAccessControlObservation) { + *out = *in + if in.Domain != nil { + in, out := &in.Domain, &out.Domain + *out = new(string) + **out = **in + } + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = new(string) + **out = **in + } + if in.EntityID != nil { + in, out := &in.EntityID, &out.EntityID + *out = new(string) + **out = **in + } + if in.Generation != nil { + in, out := &in.Generation, &out.Generation + *out = new(int64) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.ProjectTeam != nil { + in, out := &in.ProjectTeam, &out.ProjectTeam + *out = make([]ObjectAccessControlProjectTeamObservation, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectAccessControlObservation. +func (in *ObjectAccessControlObservation) DeepCopy() *ObjectAccessControlObservation { + if in == nil { + return nil + } + out := new(ObjectAccessControlObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectAccessControlParameters) DeepCopyInto(out *ObjectAccessControlParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.Entity != nil { + in, out := &in.Entity, &out.Entity + *out = new(string) + **out = **in + } + if in.Object != nil { + in, out := &in.Object, &out.Object + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectAccessControlParameters. +func (in *ObjectAccessControlParameters) DeepCopy() *ObjectAccessControlParameters { + if in == nil { + return nil + } + out := new(ObjectAccessControlParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectAccessControlProjectTeamObservation) DeepCopyInto(out *ObjectAccessControlProjectTeamObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectAccessControlProjectTeamObservation. +func (in *ObjectAccessControlProjectTeamObservation) DeepCopy() *ObjectAccessControlProjectTeamObservation { + if in == nil { + return nil + } + out := new(ObjectAccessControlProjectTeamObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectAccessControlProjectTeamParameters) DeepCopyInto(out *ObjectAccessControlProjectTeamParameters) { + *out = *in + if in.ProjectNumber != nil { + in, out := &in.ProjectNumber, &out.ProjectNumber + *out = new(string) + **out = **in + } + if in.Team != nil { + in, out := &in.Team, &out.Team + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectAccessControlProjectTeamParameters. +func (in *ObjectAccessControlProjectTeamParameters) DeepCopy() *ObjectAccessControlProjectTeamParameters { + if in == nil { + return nil + } + out := new(ObjectAccessControlProjectTeamParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectAccessControlSpec) DeepCopyInto(out *ObjectAccessControlSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectAccessControlSpec. +func (in *ObjectAccessControlSpec) DeepCopy() *ObjectAccessControlSpec { + if in == nil { + return nil + } + out := new(ObjectAccessControlSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectAccessControlStatus) DeepCopyInto(out *ObjectAccessControlStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectAccessControlStatus. +func (in *ObjectAccessControlStatus) DeepCopy() *ObjectAccessControlStatus { + if in == nil { + return nil + } + out := new(ObjectAccessControlStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectTeamObservation) DeepCopyInto(out *ProjectTeamObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectTeamObservation. +func (in *ProjectTeamObservation) DeepCopy() *ProjectTeamObservation { + if in == nil { + return nil + } + out := new(ProjectTeamObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectTeamParameters) DeepCopyInto(out *ProjectTeamParameters) { + *out = *in + if in.ProjectNumber != nil { + in, out := &in.ProjectNumber, &out.ProjectNumber + *out = new(string) + **out = **in + } + if in.Team != nil { + in, out := &in.Team, &out.Team + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectTeamParameters. +func (in *ProjectTeamParameters) DeepCopy() *ProjectTeamParameters { + if in == nil { + return nil + } + out := new(ProjectTeamParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/storage/v1alpha1/zz_generated.managed.go b/apis/storage/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..012ef557 --- /dev/null +++ b/apis/storage/v1alpha1/zz_generated.managed.go @@ -0,0 +1,636 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this BucketACL. +func (mg *BucketACL) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this BucketACL. +func (mg *BucketACL) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this BucketACL. +func (mg *BucketACL) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this BucketACL. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *BucketACL) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this BucketACL. +func (mg *BucketACL) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this BucketACL. +func (mg *BucketACL) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this BucketACL. +func (mg *BucketACL) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this BucketACL. +func (mg *BucketACL) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this BucketACL. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *BucketACL) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this BucketACL. +func (mg *BucketACL) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this BucketAccessControl. +func (mg *BucketAccessControl) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this BucketAccessControl. +func (mg *BucketAccessControl) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this BucketAccessControl. +func (mg *BucketAccessControl) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this BucketAccessControl. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *BucketAccessControl) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this BucketAccessControl. +func (mg *BucketAccessControl) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this BucketAccessControl. +func (mg *BucketAccessControl) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this BucketAccessControl. +func (mg *BucketAccessControl) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this BucketAccessControl. +func (mg *BucketAccessControl) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this BucketAccessControl. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *BucketAccessControl) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this BucketAccessControl. +func (mg *BucketAccessControl) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this BucketIAMBinding. +func (mg *BucketIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this BucketIAMBinding. +func (mg *BucketIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this BucketIAMBinding. +func (mg *BucketIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this BucketIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *BucketIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this BucketIAMBinding. +func (mg *BucketIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this BucketIAMBinding. +func (mg *BucketIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this BucketIAMBinding. +func (mg *BucketIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this BucketIAMBinding. +func (mg *BucketIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this BucketIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *BucketIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this BucketIAMBinding. +func (mg *BucketIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this BucketIAMMember. +func (mg *BucketIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this BucketIAMMember. +func (mg *BucketIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this BucketIAMMember. +func (mg *BucketIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this BucketIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *BucketIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this BucketIAMMember. +func (mg *BucketIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this BucketIAMMember. +func (mg *BucketIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this BucketIAMMember. +func (mg *BucketIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this BucketIAMMember. +func (mg *BucketIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this BucketIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *BucketIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this BucketIAMMember. +func (mg *BucketIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this BucketIAMPolicy. +func (mg *BucketIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this BucketIAMPolicy. +func (mg *BucketIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this BucketIAMPolicy. +func (mg *BucketIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this BucketIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *BucketIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this BucketIAMPolicy. +func (mg *BucketIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this BucketIAMPolicy. +func (mg *BucketIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this BucketIAMPolicy. +func (mg *BucketIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this BucketIAMPolicy. +func (mg *BucketIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this BucketIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *BucketIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this BucketIAMPolicy. +func (mg *BucketIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DefaultObjectACL. +func (mg *DefaultObjectACL) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DefaultObjectACL. +func (mg *DefaultObjectACL) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DefaultObjectACL. +func (mg *DefaultObjectACL) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DefaultObjectACL. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DefaultObjectACL) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DefaultObjectACL. +func (mg *DefaultObjectACL) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DefaultObjectACL. +func (mg *DefaultObjectACL) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DefaultObjectACL. +func (mg *DefaultObjectACL) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DefaultObjectACL. +func (mg *DefaultObjectACL) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DefaultObjectACL. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DefaultObjectACL) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DefaultObjectACL. +func (mg *DefaultObjectACL) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this DefaultObjectAccessControl. +func (mg *DefaultObjectAccessControl) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this DefaultObjectAccessControl. +func (mg *DefaultObjectAccessControl) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this DefaultObjectAccessControl. +func (mg *DefaultObjectAccessControl) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this DefaultObjectAccessControl. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *DefaultObjectAccessControl) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this DefaultObjectAccessControl. +func (mg *DefaultObjectAccessControl) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this DefaultObjectAccessControl. +func (mg *DefaultObjectAccessControl) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this DefaultObjectAccessControl. +func (mg *DefaultObjectAccessControl) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this DefaultObjectAccessControl. +func (mg *DefaultObjectAccessControl) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this DefaultObjectAccessControl. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *DefaultObjectAccessControl) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this DefaultObjectAccessControl. +func (mg *DefaultObjectAccessControl) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this HMACKey. +func (mg *HMACKey) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this HMACKey. +func (mg *HMACKey) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this HMACKey. +func (mg *HMACKey) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this HMACKey. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *HMACKey) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this HMACKey. +func (mg *HMACKey) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this HMACKey. +func (mg *HMACKey) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this HMACKey. +func (mg *HMACKey) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this HMACKey. +func (mg *HMACKey) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this HMACKey. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *HMACKey) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this HMACKey. +func (mg *HMACKey) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Notification. +func (mg *Notification) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Notification. +func (mg *Notification) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Notification. +func (mg *Notification) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Notification. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Notification) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Notification. +func (mg *Notification) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Notification. +func (mg *Notification) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Notification. +func (mg *Notification) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Notification. +func (mg *Notification) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Notification. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Notification) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Notification. +func (mg *Notification) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ObjectACL. +func (mg *ObjectACL) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ObjectACL. +func (mg *ObjectACL) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ObjectACL. +func (mg *ObjectACL) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ObjectACL. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ObjectACL) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ObjectACL. +func (mg *ObjectACL) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ObjectACL. +func (mg *ObjectACL) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ObjectACL. +func (mg *ObjectACL) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ObjectACL. +func (mg *ObjectACL) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ObjectACL. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ObjectACL) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ObjectACL. +func (mg *ObjectACL) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this ObjectAccessControl. +func (mg *ObjectAccessControl) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ObjectAccessControl. +func (mg *ObjectAccessControl) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this ObjectAccessControl. +func (mg *ObjectAccessControl) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this ObjectAccessControl. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *ObjectAccessControl) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this ObjectAccessControl. +func (mg *ObjectAccessControl) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ObjectAccessControl. +func (mg *ObjectAccessControl) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ObjectAccessControl. +func (mg *ObjectAccessControl) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this ObjectAccessControl. +func (mg *ObjectAccessControl) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this ObjectAccessControl. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *ObjectAccessControl) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this ObjectAccessControl. +func (mg *ObjectAccessControl) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/storage/v1alpha1/zz_generated.managedlist.go b/apis/storage/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..f8faecc9 --- /dev/null +++ b/apis/storage/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,119 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this BucketACLList. +func (l *BucketACLList) 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 BucketAccessControlList. +func (l *BucketAccessControlList) 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 BucketIAMBindingList. +func (l *BucketIAMBindingList) 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 BucketIAMMemberList. +func (l *BucketIAMMemberList) 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 BucketIAMPolicyList. +func (l *BucketIAMPolicyList) 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 DefaultObjectACLList. +func (l *DefaultObjectACLList) 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 DefaultObjectAccessControlList. +func (l *DefaultObjectAccessControlList) 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 HMACKeyList. +func (l *HMACKeyList) 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 NotificationList. +func (l *NotificationList) 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 ObjectACLList. +func (l *ObjectACLList) 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 ObjectAccessControlList. +func (l *ObjectAccessControlList) 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/storage/v1alpha1/zz_groupversion_info.go b/apis/storage/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..5009012e --- /dev/null +++ b/apis/storage/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=storage.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "storage.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/storage/v1alpha1/zz_hmackey_terraformed.go b/apis/storage/v1alpha1/zz_hmackey_terraformed.go new file mode 100755 index 00000000..a862b42f --- /dev/null +++ b/apis/storage/v1alpha1/zz_hmackey_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this HMACKey +func (mg *HMACKey) GetTerraformResourceType() string { + return "google_storage_hmac_key" +} + +// GetConnectionDetailsMapping for this HMACKey +func (tr *HMACKey) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"secret": "status.atProvider.secret"} +} + +// GetObservation of this HMACKey +func (tr *HMACKey) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this HMACKey +func (tr *HMACKey) SetObservation(obs map[string]interface{}) 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 HMACKey +func (tr *HMACKey) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this HMACKey +func (tr *HMACKey) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this HMACKey +func (tr *HMACKey) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this HMACKey using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *HMACKey) LateInitialize(attrs []byte) (bool, error) { + params := &HMACKeyParameters{} + 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 *HMACKey) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/storage/v1alpha1/zz_hmackey_types.go b/apis/storage/v1alpha1/zz_hmackey_types.go new file mode 100755 index 00000000..6276c1bc --- /dev/null +++ b/apis/storage/v1alpha1/zz_hmackey_types.go @@ -0,0 +1,99 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 HMACKeyObservation struct { + AccessID *string `json:"accessId,omitempty" tf:"access_id,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + TimeCreated *string `json:"timeCreated,omitempty" tf:"time_created,omitempty"` + + Updated *string `json:"updated,omitempty" tf:"updated,omitempty"` +} + +type HMACKeyParameters struct { + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The email address of the key's associated service account. + // +kubebuilder:validation:Required + ServiceAccountEmail *string `json:"serviceAccountEmail" tf:"service_account_email,omitempty"` + + // The state of the key. Can be set to one of ACTIVE, INACTIVE. Default value: "ACTIVE" Possible values: ["ACTIVE", "INACTIVE"] + // +kubebuilder:validation:Optional + State *string `json:"state,omitempty" tf:"state,omitempty"` +} + +// HMACKeySpec defines the desired state of HMACKey +type HMACKeySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider HMACKeyParameters `json:"forProvider"` +} + +// HMACKeyStatus defines the observed state of HMACKey. +type HMACKeyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider HMACKeyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// HMACKey is the Schema for the HMACKeys 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,gcpjet} +type HMACKey struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HMACKeySpec `json:"spec"` + Status HMACKeyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// HMACKeyList contains a list of HMACKeys +type HMACKeyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HMACKey `json:"items"` +} + +// Repository type metadata. +var ( + HMACKey_Kind = "HMACKey" + HMACKey_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: HMACKey_Kind}.String() + HMACKey_KindAPIVersion = HMACKey_Kind + "." + CRDGroupVersion.String() + HMACKey_GroupVersionKind = CRDGroupVersion.WithKind(HMACKey_Kind) +) + +func init() { + SchemeBuilder.Register(&HMACKey{}, &HMACKeyList{}) +} diff --git a/apis/storage/v1alpha1/zz_notification_terraformed.go b/apis/storage/v1alpha1/zz_notification_terraformed.go new file mode 100755 index 00000000..ee653a87 --- /dev/null +++ b/apis/storage/v1alpha1/zz_notification_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Notification +func (mg *Notification) GetTerraformResourceType() string { + return "google_storage_notification" +} + +// GetConnectionDetailsMapping for this Notification +func (tr *Notification) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Notification +func (tr *Notification) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Notification +func (tr *Notification) SetObservation(obs map[string]interface{}) 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 Notification +func (tr *Notification) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Notification +func (tr *Notification) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Notification +func (tr *Notification) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Notification using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Notification) LateInitialize(attrs []byte) (bool, error) { + params := &NotificationParameters{} + 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 *Notification) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/storage/v1alpha1/zz_notification_types.go b/apis/storage/v1alpha1/zz_notification_types.go new file mode 100755 index 00000000..fb7b5a9a --- /dev/null +++ b/apis/storage/v1alpha1/zz_notification_types.go @@ -0,0 +1,110 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 NotificationObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + NotificationID *string `json:"notificationId,omitempty" tf:"notification_id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type NotificationParameters struct { + + // The name of the bucket. + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // A set of key/value attribute pairs to attach to each Cloud Pub/Sub message published for this notification subscription + // +kubebuilder:validation:Optional + CustomAttributes map[string]*string `json:"customAttributes,omitempty" tf:"custom_attributes,omitempty"` + + // List of event type filters for this notification config. If not specified, Cloud Storage will send notifications for all event types. The valid types are: "OBJECT_FINALIZE", "OBJECT_METADATA_UPDATE", "OBJECT_DELETE", "OBJECT_ARCHIVE" + // +kubebuilder:validation:Optional + EventTypes []*string `json:"eventTypes,omitempty" tf:"event_types,omitempty"` + + // Specifies a prefix path filter for this notification config. Cloud Storage will only send notifications for objects in this bucket whose names begin with the specified prefix. + // +kubebuilder:validation:Optional + ObjectNamePrefix *string `json:"objectNamePrefix,omitempty" tf:"object_name_prefix,omitempty"` + + // The desired content of the Payload. One of "JSON_API_V1" or "NONE". + // +kubebuilder:validation:Required + PayloadFormat *string `json:"payloadFormat" tf:"payload_format,omitempty"` + + // The Cloud Pub/Sub topic to which this subscription publishes. Expects either the topic name, assumed to belong to the default GCP provider project, or the project-level name, i.e. projects/my-gcp-project/topics/my-topic or my-topic. If the project is not set in the provider, you will need to use the project-level name. + // +kubebuilder:validation:Required + Topic *string `json:"topic" tf:"topic,omitempty"` +} + +// NotificationSpec defines the desired state of Notification +type NotificationSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider NotificationParameters `json:"forProvider"` +} + +// NotificationStatus defines the observed state of Notification. +type NotificationStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider NotificationObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Notification is the Schema for the Notifications 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,gcpjet} +type Notification struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec NotificationSpec `json:"spec"` + Status NotificationStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// NotificationList contains a list of Notifications +type NotificationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Notification `json:"items"` +} + +// Repository type metadata. +var ( + Notification_Kind = "Notification" + Notification_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Notification_Kind}.String() + Notification_KindAPIVersion = Notification_Kind + "." + CRDGroupVersion.String() + Notification_GroupVersionKind = CRDGroupVersion.WithKind(Notification_Kind) +) + +func init() { + SchemeBuilder.Register(&Notification{}, &NotificationList{}) +} diff --git a/apis/storage/v1alpha1/zz_objectaccesscontrol_terraformed.go b/apis/storage/v1alpha1/zz_objectaccesscontrol_terraformed.go new file mode 100755 index 00000000..25414078 --- /dev/null +++ b/apis/storage/v1alpha1/zz_objectaccesscontrol_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ObjectAccessControl +func (mg *ObjectAccessControl) GetTerraformResourceType() string { + return "google_storage_object_access_control" +} + +// GetConnectionDetailsMapping for this ObjectAccessControl +func (tr *ObjectAccessControl) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ObjectAccessControl +func (tr *ObjectAccessControl) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ObjectAccessControl +func (tr *ObjectAccessControl) SetObservation(obs map[string]interface{}) 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 ObjectAccessControl +func (tr *ObjectAccessControl) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ObjectAccessControl +func (tr *ObjectAccessControl) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ObjectAccessControl +func (tr *ObjectAccessControl) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ObjectAccessControl using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ObjectAccessControl) LateInitialize(attrs []byte) (bool, error) { + params := &ObjectAccessControlParameters{} + 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 *ObjectAccessControl) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/storage/v1alpha1/zz_objectaccesscontrol_types.go b/apis/storage/v1alpha1/zz_objectaccesscontrol_types.go new file mode 100755 index 00000000..a6f85b35 --- /dev/null +++ b/apis/storage/v1alpha1/zz_objectaccesscontrol_types.go @@ -0,0 +1,130 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ObjectAccessControlObservation struct { + Domain *string `json:"domain,omitempty" tf:"domain,omitempty"` + + Email *string `json:"email,omitempty" tf:"email,omitempty"` + + EntityID *string `json:"entityId,omitempty" tf:"entity_id,omitempty"` + + Generation *int64 `json:"generation,omitempty" tf:"generation,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + ProjectTeam []ObjectAccessControlProjectTeamObservation `json:"projectTeam,omitempty" tf:"project_team,omitempty"` +} + +type ObjectAccessControlParameters struct { + + // The name of the bucket. + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // The entity holding the permission, in one of the following forms: + // * user-{{userId}} + // * user-{{email}} (such as "user-liz@example.com") + // * group-{{groupId}} + // * group-{{email}} (such as "group-example@googlegroups.com") + // * domain-{{domain}} (such as "domain-example.com") + // * project-team-{{projectId}} + // * allUsers + // * allAuthenticatedUsers + // +kubebuilder:validation:Required + Entity *string `json:"entity" tf:"entity,omitempty"` + + // The name of the object to apply the access control to. + // +kubebuilder:validation:Required + Object *string `json:"object" tf:"object,omitempty"` + + // The access permission for the entity. Possible values: ["OWNER", "READER"] + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` +} + +type ObjectAccessControlProjectTeamObservation struct { +} + +type ObjectAccessControlProjectTeamParameters struct { + + // The project team associated with the entity + // +kubebuilder:validation:Optional + ProjectNumber *string `json:"projectNumber,omitempty" tf:"project_number,omitempty"` + + // The team. Possible values: ["editors", "owners", "viewers"] + // +kubebuilder:validation:Optional + Team *string `json:"team,omitempty" tf:"team,omitempty"` +} + +// ObjectAccessControlSpec defines the desired state of ObjectAccessControl +type ObjectAccessControlSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ObjectAccessControlParameters `json:"forProvider"` +} + +// ObjectAccessControlStatus defines the observed state of ObjectAccessControl. +type ObjectAccessControlStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ObjectAccessControlObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ObjectAccessControl is the Schema for the ObjectAccessControls 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,gcpjet} +type ObjectAccessControl struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ObjectAccessControlSpec `json:"spec"` + Status ObjectAccessControlStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ObjectAccessControlList contains a list of ObjectAccessControls +type ObjectAccessControlList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ObjectAccessControl `json:"items"` +} + +// Repository type metadata. +var ( + ObjectAccessControl_Kind = "ObjectAccessControl" + ObjectAccessControl_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ObjectAccessControl_Kind}.String() + ObjectAccessControl_KindAPIVersion = ObjectAccessControl_Kind + "." + CRDGroupVersion.String() + ObjectAccessControl_GroupVersionKind = CRDGroupVersion.WithKind(ObjectAccessControl_Kind) +) + +func init() { + SchemeBuilder.Register(&ObjectAccessControl{}, &ObjectAccessControlList{}) +} diff --git a/apis/storage/v1alpha1/zz_objectacl_terraformed.go b/apis/storage/v1alpha1/zz_objectacl_terraformed.go new file mode 100755 index 00000000..e8b14527 --- /dev/null +++ b/apis/storage/v1alpha1/zz_objectacl_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ObjectACL +func (mg *ObjectACL) GetTerraformResourceType() string { + return "google_storage_object_acl" +} + +// GetConnectionDetailsMapping for this ObjectACL +func (tr *ObjectACL) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ObjectACL +func (tr *ObjectACL) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ObjectACL +func (tr *ObjectACL) SetObservation(obs map[string]interface{}) 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 ObjectACL +func (tr *ObjectACL) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ObjectACL +func (tr *ObjectACL) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ObjectACL +func (tr *ObjectACL) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this ObjectACL using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ObjectACL) LateInitialize(attrs []byte) (bool, error) { + params := &ObjectACLParameters{} + 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 *ObjectACL) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/storage/v1alpha1/zz_objectacl_types.go b/apis/storage/v1alpha1/zz_objectacl_types.go new file mode 100755 index 00000000..15184626 --- /dev/null +++ b/apis/storage/v1alpha1/zz_objectacl_types.go @@ -0,0 +1,94 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ObjectACLObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ObjectACLParameters struct { + + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // +kubebuilder:validation:Required + Object *string `json:"object" tf:"object,omitempty"` + + // +kubebuilder:validation:Optional + PredefinedACL *string `json:"predefinedAcl,omitempty" tf:"predefined_acl,omitempty"` + + // +kubebuilder:validation:Optional + RoleEntity []*string `json:"roleEntity,omitempty" tf:"role_entity,omitempty"` +} + +// ObjectACLSpec defines the desired state of ObjectACL +type ObjectACLSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ObjectACLParameters `json:"forProvider"` +} + +// ObjectACLStatus defines the observed state of ObjectACL. +type ObjectACLStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ObjectACLObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// ObjectACL is the Schema for the ObjectACLs 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,gcpjet} +type ObjectACL struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ObjectACLSpec `json:"spec"` + Status ObjectACLStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ObjectACLList contains a list of ObjectACLs +type ObjectACLList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ObjectACL `json:"items"` +} + +// Repository type metadata. +var ( + ObjectACL_Kind = "ObjectACL" + ObjectACL_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ObjectACL_Kind}.String() + ObjectACL_KindAPIVersion = ObjectACL_Kind + "." + CRDGroupVersion.String() + ObjectACL_GroupVersionKind = CRDGroupVersion.WithKind(ObjectACL_Kind) +) + +func init() { + SchemeBuilder.Register(&ObjectACL{}, &ObjectACLList{}) +} diff --git a/apis/storage/v1alpha2/zz_bucketobject_terraformed.go b/apis/storage/v1alpha2/zz_bucketobject_terraformed.go new file mode 100755 index 00000000..3c11122a --- /dev/null +++ b/apis/storage/v1alpha2/zz_bucketobject_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha2 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this BucketObject +func (mg *BucketObject) GetTerraformResourceType() string { + return "google_storage_bucket_object" +} + +// GetConnectionDetailsMapping for this BucketObject +func (tr *BucketObject) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"content": "spec.forProvider.contentSecretRef", "customer_encryption[*].encryption_key": "spec.forProvider.customerEncryption[*].encryptionKeySecretRef"} +} + +// GetObservation of this BucketObject +func (tr *BucketObject) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this BucketObject +func (tr *BucketObject) SetObservation(obs map[string]interface{}) 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 BucketObject +func (tr *BucketObject) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this BucketObject +func (tr *BucketObject) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this BucketObject +func (tr *BucketObject) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this BucketObject using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *BucketObject) LateInitialize(attrs []byte) (bool, error) { + params := &BucketObjectParameters{} + 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 *BucketObject) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/storage/v1alpha2/zz_bucketobject_types.go b/apis/storage/v1alpha2/zz_bucketobject_types.go new file mode 100755 index 00000000..3f8f2e20 --- /dev/null +++ b/apis/storage/v1alpha2/zz_bucketobject_types.go @@ -0,0 +1,169 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha2 + +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 BucketObjectObservation struct { + Crc32C *string `json:"crc32c,omitempty" tf:"crc32c,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Md5Hash *string `json:"md5hash,omitempty" tf:"md5hash,omitempty"` + + MediaLink *string `json:"mediaLink,omitempty" tf:"media_link,omitempty"` + + OutputName *string `json:"outputName,omitempty" tf:"output_name,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` +} + +type BucketObjectParameters struct { + + // The name of the containing bucket. + // +kubebuilder:validation:Required + Bucket *string `json:"bucket" tf:"bucket,omitempty"` + + // Cache-Control directive to specify caching behavior of object data. If omitted and object is accessible to all anonymous users, the default will be public, max-age=3600 + // +kubebuilder:validation:Optional + CacheControl *string `json:"cacheControl,omitempty" tf:"cache_control,omitempty"` + + // Content-Disposition of the object data. + // +kubebuilder:validation:Optional + ContentDisposition *string `json:"contentDisposition,omitempty" tf:"content_disposition,omitempty"` + + // Content-Encoding of the object data. + // +kubebuilder:validation:Optional + ContentEncoding *string `json:"contentEncoding,omitempty" tf:"content_encoding,omitempty"` + + // Content-Language of the object data. + // +kubebuilder:validation:Optional + ContentLanguage *string `json:"contentLanguage,omitempty" tf:"content_language,omitempty"` + + // Data as string to be uploaded. Must be defined if source is not. Note: The content field is marked as sensitive. To view the raw contents of the object, please define an output. + // +kubebuilder:validation:Optional + ContentSecretRef *v1.SecretKeySelector `json:"contentSecretRef,omitempty" tf:"-"` + + // Content-Type of the object data. Defaults to "application/octet-stream" or "text/plain; charset=utf-8". + // +kubebuilder:validation:Optional + ContentType *string `json:"contentType,omitempty" tf:"content_type,omitempty"` + + // Encryption key; encoded using base64. + // +kubebuilder:validation:Optional + CustomerEncryption []CustomerEncryptionParameters `json:"customerEncryption,omitempty" tf:"customer_encryption,omitempty"` + + // +kubebuilder:validation:Optional + DetectMd5Hash *string `json:"detectMd5Hash,omitempty" tf:"detect_md5hash,omitempty"` + + // Whether an object is under event-based hold. Event-based hold is a way to retain objects until an event occurs, which is signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects will be subject to bucket-level retention (if any). + // +kubebuilder:validation:Optional + EventBasedHold *bool `json:"eventBasedHold,omitempty" tf:"event_based_hold,omitempty"` + + // Resource name of the Cloud KMS key that will be used to encrypt the object. Overrides the object metadata's kmsKeyName value, if any. + // +kubebuilder:validation:Optional + KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"` + + // User-provided metadata, in key/value pairs. + // +kubebuilder:validation:Optional + Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"` + + // The name of the object. If you're interpolating the name of this object, see output_name instead. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // A path to the data you want to upload. Must be defined if content is not. + // +kubebuilder:validation:Optional + Source *string `json:"source,omitempty" tf:"source,omitempty"` + + // The StorageClass of the new bucket object. Supported values include: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE. If not provided, this defaults to the bucket's default storage class or to a standard class. + // +kubebuilder:validation:Optional + StorageClass *string `json:"storageClass,omitempty" tf:"storage_class,omitempty"` + + // Whether an object is under temporary hold. While this flag is set to true, the object is protected against deletion and overwrites. + // +kubebuilder:validation:Optional + TemporaryHold *bool `json:"temporaryHold,omitempty" tf:"temporary_hold,omitempty"` +} + +type CustomerEncryptionObservation struct { +} + +type CustomerEncryptionParameters struct { + + // The encryption algorithm. Default: AES256 + // +kubebuilder:validation:Optional + EncryptionAlgorithm *string `json:"encryptionAlgorithm,omitempty" tf:"encryption_algorithm,omitempty"` + + // Base64 encoded customer supplied encryption key. + // +kubebuilder:validation:Required + EncryptionKeySecretRef v1.SecretKeySelector `json:"encryptionKeySecretRef" tf:"-"` +} + +// BucketObjectSpec defines the desired state of BucketObject +type BucketObjectSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider BucketObjectParameters `json:"forProvider"` +} + +// BucketObjectStatus defines the observed state of BucketObject. +type BucketObjectStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider BucketObjectObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// BucketObject is the Schema for the BucketObjects 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,gcpjet} +type BucketObject struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec BucketObjectSpec `json:"spec"` + Status BucketObjectStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// BucketObjectList contains a list of BucketObjects +type BucketObjectList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []BucketObject `json:"items"` +} + +// Repository type metadata. +var ( + BucketObject_Kind = "BucketObject" + BucketObject_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BucketObject_Kind}.String() + BucketObject_KindAPIVersion = BucketObject_Kind + "." + CRDGroupVersion.String() + BucketObject_GroupVersionKind = CRDGroupVersion.WithKind(BucketObject_Kind) +) + +func init() { + SchemeBuilder.Register(&BucketObject{}, &BucketObjectList{}) +} diff --git a/apis/storage/v1alpha2/zz_generated.deepcopy.go b/apis/storage/v1alpha2/zz_generated.deepcopy.go index 55202c53..9e82d2fe 100644 --- a/apis/storage/v1alpha2/zz_generated.deepcopy.go +++ b/apis/storage/v1alpha2/zz_generated.deepcopy.go @@ -21,6 +21,7 @@ limitations under the License. package v1alpha2 import ( + "github.com/crossplane/crossplane-runtime/apis/common/v1" runtime "k8s.io/apimachinery/pkg/runtime" ) @@ -123,6 +124,251 @@ func (in *BucketList) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketObject) DeepCopyInto(out *BucketObject) { + *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 BucketObject. +func (in *BucketObject) DeepCopy() *BucketObject { + if in == nil { + return nil + } + out := new(BucketObject) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BucketObject) 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 *BucketObjectList) DeepCopyInto(out *BucketObjectList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BucketObject, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketObjectList. +func (in *BucketObjectList) DeepCopy() *BucketObjectList { + if in == nil { + return nil + } + out := new(BucketObjectList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BucketObjectList) 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 *BucketObjectObservation) DeepCopyInto(out *BucketObjectObservation) { + *out = *in + if in.Crc32C != nil { + in, out := &in.Crc32C, &out.Crc32C + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Md5Hash != nil { + in, out := &in.Md5Hash, &out.Md5Hash + *out = new(string) + **out = **in + } + if in.MediaLink != nil { + in, out := &in.MediaLink, &out.MediaLink + *out = new(string) + **out = **in + } + if in.OutputName != nil { + in, out := &in.OutputName, &out.OutputName + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketObjectObservation. +func (in *BucketObjectObservation) DeepCopy() *BucketObjectObservation { + if in == nil { + return nil + } + out := new(BucketObjectObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketObjectParameters) DeepCopyInto(out *BucketObjectParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.CacheControl != nil { + in, out := &in.CacheControl, &out.CacheControl + *out = new(string) + **out = **in + } + if in.ContentDisposition != nil { + in, out := &in.ContentDisposition, &out.ContentDisposition + *out = new(string) + **out = **in + } + if in.ContentEncoding != nil { + in, out := &in.ContentEncoding, &out.ContentEncoding + *out = new(string) + **out = **in + } + if in.ContentLanguage != nil { + in, out := &in.ContentLanguage, &out.ContentLanguage + *out = new(string) + **out = **in + } + if in.ContentSecretRef != nil { + in, out := &in.ContentSecretRef, &out.ContentSecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } + if in.ContentType != nil { + in, out := &in.ContentType, &out.ContentType + *out = new(string) + **out = **in + } + if in.CustomerEncryption != nil { + in, out := &in.CustomerEncryption, &out.CustomerEncryption + *out = make([]CustomerEncryptionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DetectMd5Hash != nil { + in, out := &in.DetectMd5Hash, &out.DetectMd5Hash + *out = new(string) + **out = **in + } + if in.EventBasedHold != nil { + in, out := &in.EventBasedHold, &out.EventBasedHold + *out = new(bool) + **out = **in + } + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *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.Source != nil { + in, out := &in.Source, &out.Source + *out = new(string) + **out = **in + } + if in.StorageClass != nil { + in, out := &in.StorageClass, &out.StorageClass + *out = new(string) + **out = **in + } + if in.TemporaryHold != nil { + in, out := &in.TemporaryHold, &out.TemporaryHold + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketObjectParameters. +func (in *BucketObjectParameters) DeepCopy() *BucketObjectParameters { + if in == nil { + return nil + } + out := new(BucketObjectParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketObjectSpec) DeepCopyInto(out *BucketObjectSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketObjectSpec. +func (in *BucketObjectSpec) DeepCopy() *BucketObjectSpec { + if in == nil { + return nil + } + out := new(BucketObjectSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketObjectStatus) DeepCopyInto(out *BucketObjectStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketObjectStatus. +func (in *BucketObjectStatus) DeepCopy() *BucketObjectStatus { + if in == nil { + return nil + } + out := new(BucketObjectStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BucketObservation) DeepCopyInto(out *BucketObservation) { *out = *in @@ -450,6 +696,42 @@ func (in *CorsParameters) DeepCopy() *CorsParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomerEncryptionObservation) DeepCopyInto(out *CustomerEncryptionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomerEncryptionObservation. +func (in *CustomerEncryptionObservation) DeepCopy() *CustomerEncryptionObservation { + if in == nil { + return nil + } + out := new(CustomerEncryptionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomerEncryptionParameters) DeepCopyInto(out *CustomerEncryptionParameters) { + *out = *in + if in.EncryptionAlgorithm != nil { + in, out := &in.EncryptionAlgorithm, &out.EncryptionAlgorithm + *out = new(string) + **out = **in + } + out.EncryptionKeySecretRef = in.EncryptionKeySecretRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomerEncryptionParameters. +func (in *CustomerEncryptionParameters) DeepCopy() *CustomerEncryptionParameters { + if in == nil { + return nil + } + out := new(CustomerEncryptionParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *EncryptionObservation) DeepCopyInto(out *EncryptionObservation) { *out = *in diff --git a/apis/storage/v1alpha2/zz_generated.managed.go b/apis/storage/v1alpha2/zz_generated.managed.go index 18c67bb7..821de384 100644 --- a/apis/storage/v1alpha2/zz_generated.managed.go +++ b/apis/storage/v1alpha2/zz_generated.managed.go @@ -74,3 +74,59 @@ func (mg *Bucket) SetProviderReference(r *xpv1.Reference) { func (mg *Bucket) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r } + +// GetCondition of this BucketObject. +func (mg *BucketObject) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this BucketObject. +func (mg *BucketObject) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this BucketObject. +func (mg *BucketObject) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this BucketObject. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *BucketObject) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this BucketObject. +func (mg *BucketObject) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this BucketObject. +func (mg *BucketObject) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this BucketObject. +func (mg *BucketObject) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this BucketObject. +func (mg *BucketObject) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this BucketObject. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *BucketObject) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this BucketObject. +func (mg *BucketObject) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/storage/v1alpha2/zz_generated.managedlist.go b/apis/storage/v1alpha2/zz_generated.managedlist.go index 4bc1e2b0..ab81c352 100644 --- a/apis/storage/v1alpha2/zz_generated.managedlist.go +++ b/apis/storage/v1alpha2/zz_generated.managedlist.go @@ -27,3 +27,12 @@ func (l *BucketList) GetItems() []resource.Managed { } return items } + +// GetItems of this BucketObjectList. +func (l *BucketObjectList) 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/storagetransfer/v1alpha1/zz_generated.deepcopy.go b/apis/storagetransfer/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..d4c28cf1 --- /dev/null +++ b/apis/storagetransfer/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,847 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AwsAccessKeyObservation) DeepCopyInto(out *AwsAccessKeyObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsAccessKeyObservation. +func (in *AwsAccessKeyObservation) DeepCopy() *AwsAccessKeyObservation { + if in == nil { + return nil + } + out := new(AwsAccessKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AwsAccessKeyParameters) DeepCopyInto(out *AwsAccessKeyParameters) { + *out = *in + out.AccessKeyIDSecretRef = in.AccessKeyIDSecretRef + out.SecretAccessKeySecretRef = in.SecretAccessKeySecretRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsAccessKeyParameters. +func (in *AwsAccessKeyParameters) DeepCopy() *AwsAccessKeyParameters { + if in == nil { + return nil + } + out := new(AwsAccessKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AwsS3DataSourceObservation) DeepCopyInto(out *AwsS3DataSourceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsS3DataSourceObservation. +func (in *AwsS3DataSourceObservation) DeepCopy() *AwsS3DataSourceObservation { + if in == nil { + return nil + } + out := new(AwsS3DataSourceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AwsS3DataSourceParameters) DeepCopyInto(out *AwsS3DataSourceParameters) { + *out = *in + if in.AwsAccessKey != nil { + in, out := &in.AwsAccessKey, &out.AwsAccessKey + *out = make([]AwsAccessKeyParameters, len(*in)) + copy(*out, *in) + } + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsS3DataSourceParameters. +func (in *AwsS3DataSourceParameters) DeepCopy() *AwsS3DataSourceParameters { + if in == nil { + return nil + } + out := new(AwsS3DataSourceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureBlobStorageDataSourceObservation) DeepCopyInto(out *AzureBlobStorageDataSourceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureBlobStorageDataSourceObservation. +func (in *AzureBlobStorageDataSourceObservation) DeepCopy() *AzureBlobStorageDataSourceObservation { + if in == nil { + return nil + } + out := new(AzureBlobStorageDataSourceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureBlobStorageDataSourceParameters) DeepCopyInto(out *AzureBlobStorageDataSourceParameters) { + *out = *in + if in.AzureCredentials != nil { + in, out := &in.AzureCredentials, &out.AzureCredentials + *out = make([]AzureCredentialsParameters, len(*in)) + copy(*out, *in) + } + if in.Container != nil { + in, out := &in.Container, &out.Container + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } + if in.StorageAccount != nil { + in, out := &in.StorageAccount, &out.StorageAccount + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureBlobStorageDataSourceParameters. +func (in *AzureBlobStorageDataSourceParameters) DeepCopy() *AzureBlobStorageDataSourceParameters { + if in == nil { + return nil + } + out := new(AzureBlobStorageDataSourceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureCredentialsObservation) DeepCopyInto(out *AzureCredentialsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureCredentialsObservation. +func (in *AzureCredentialsObservation) DeepCopy() *AzureCredentialsObservation { + if in == nil { + return nil + } + out := new(AzureCredentialsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureCredentialsParameters) DeepCopyInto(out *AzureCredentialsParameters) { + *out = *in + out.SasTokenSecretRef = in.SasTokenSecretRef +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureCredentialsParameters. +func (in *AzureCredentialsParameters) DeepCopy() *AzureCredentialsParameters { + if in == nil { + return nil + } + out := new(AzureCredentialsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GcsDataSinkObservation) DeepCopyInto(out *GcsDataSinkObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcsDataSinkObservation. +func (in *GcsDataSinkObservation) DeepCopy() *GcsDataSinkObservation { + if in == nil { + return nil + } + out := new(GcsDataSinkObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GcsDataSinkParameters) DeepCopyInto(out *GcsDataSinkParameters) { + *out = *in + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcsDataSinkParameters. +func (in *GcsDataSinkParameters) DeepCopy() *GcsDataSinkParameters { + if in == nil { + return nil + } + out := new(GcsDataSinkParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GcsDataSourceObservation) DeepCopyInto(out *GcsDataSourceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcsDataSourceObservation. +func (in *GcsDataSourceObservation) DeepCopy() *GcsDataSourceObservation { + if in == nil { + return nil + } + out := new(GcsDataSourceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GcsDataSourceParameters) DeepCopyInto(out *GcsDataSourceParameters) { + *out = *in + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcsDataSourceParameters. +func (in *GcsDataSourceParameters) DeepCopy() *GcsDataSourceParameters { + if in == nil { + return nil + } + out := new(GcsDataSourceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPDataSourceObservation) DeepCopyInto(out *HTTPDataSourceObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPDataSourceObservation. +func (in *HTTPDataSourceObservation) DeepCopy() *HTTPDataSourceObservation { + if in == nil { + return nil + } + out := new(HTTPDataSourceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPDataSourceParameters) DeepCopyInto(out *HTTPDataSourceParameters) { + *out = *in + if in.ListURL != nil { + in, out := &in.ListURL, &out.ListURL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPDataSourceParameters. +func (in *HTTPDataSourceParameters) DeepCopy() *HTTPDataSourceParameters { + if in == nil { + return nil + } + out := new(HTTPDataSourceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Job) DeepCopyInto(out *Job) { + *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 Job. +func (in *Job) DeepCopy() *Job { + if in == nil { + return nil + } + out := new(Job) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Job) 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 *JobList) DeepCopyInto(out *JobList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Job, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobList. +func (in *JobList) DeepCopy() *JobList { + if in == nil { + return nil + } + out := new(JobList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *JobList) 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 *JobObservation) DeepCopyInto(out *JobObservation) { + *out = *in + if in.CreationTime != nil { + in, out := &in.CreationTime, &out.CreationTime + *out = new(string) + **out = **in + } + if in.DeletionTime != nil { + in, out := &in.DeletionTime, &out.DeletionTime + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LastModificationTime != nil { + in, out := &in.LastModificationTime, &out.LastModificationTime + *out = new(string) + **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 JobObservation. +func (in *JobObservation) DeepCopy() *JobObservation { + if in == nil { + return nil + } + out := new(JobObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobParameters) DeepCopyInto(out *JobParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Schedule != nil { + in, out := &in.Schedule, &out.Schedule + *out = make([]ScheduleParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(string) + **out = **in + } + if in.TransferSpec != nil { + in, out := &in.TransferSpec, &out.TransferSpec + *out = make([]TransferSpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobParameters. +func (in *JobParameters) DeepCopy() *JobParameters { + if in == nil { + return nil + } + out := new(JobParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobSpec) DeepCopyInto(out *JobSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobSpec. +func (in *JobSpec) DeepCopy() *JobSpec { + if in == nil { + return nil + } + out := new(JobSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JobStatus) DeepCopyInto(out *JobStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobStatus. +func (in *JobStatus) DeepCopy() *JobStatus { + if in == nil { + return nil + } + out := new(JobStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectConditionsObservation) DeepCopyInto(out *ObjectConditionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectConditionsObservation. +func (in *ObjectConditionsObservation) DeepCopy() *ObjectConditionsObservation { + if in == nil { + return nil + } + out := new(ObjectConditionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectConditionsParameters) DeepCopyInto(out *ObjectConditionsParameters) { + *out = *in + if in.ExcludePrefixes != nil { + in, out := &in.ExcludePrefixes, &out.ExcludePrefixes + *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.IncludePrefixes != nil { + in, out := &in.IncludePrefixes, &out.IncludePrefixes + *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.MaxTimeElapsedSinceLastModification != nil { + in, out := &in.MaxTimeElapsedSinceLastModification, &out.MaxTimeElapsedSinceLastModification + *out = new(string) + **out = **in + } + if in.MinTimeElapsedSinceLastModification != nil { + in, out := &in.MinTimeElapsedSinceLastModification, &out.MinTimeElapsedSinceLastModification + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectConditionsParameters. +func (in *ObjectConditionsParameters) DeepCopy() *ObjectConditionsParameters { + if in == nil { + return nil + } + out := new(ObjectConditionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScheduleEndDateObservation) DeepCopyInto(out *ScheduleEndDateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleEndDateObservation. +func (in *ScheduleEndDateObservation) DeepCopy() *ScheduleEndDateObservation { + if in == nil { + return nil + } + out := new(ScheduleEndDateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScheduleEndDateParameters) DeepCopyInto(out *ScheduleEndDateParameters) { + *out = *in + if in.Day != nil { + in, out := &in.Day, &out.Day + *out = new(int64) + **out = **in + } + if in.Month != nil { + in, out := &in.Month, &out.Month + *out = new(int64) + **out = **in + } + if in.Year != nil { + in, out := &in.Year, &out.Year + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleEndDateParameters. +func (in *ScheduleEndDateParameters) DeepCopy() *ScheduleEndDateParameters { + if in == nil { + return nil + } + out := new(ScheduleEndDateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScheduleObservation) DeepCopyInto(out *ScheduleObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleObservation. +func (in *ScheduleObservation) DeepCopy() *ScheduleObservation { + if in == nil { + return nil + } + out := new(ScheduleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScheduleParameters) DeepCopyInto(out *ScheduleParameters) { + *out = *in + if in.ScheduleEndDate != nil { + in, out := &in.ScheduleEndDate, &out.ScheduleEndDate + *out = make([]ScheduleEndDateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ScheduleStartDate != nil { + in, out := &in.ScheduleStartDate, &out.ScheduleStartDate + *out = make([]ScheduleStartDateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StartTimeOfDay != nil { + in, out := &in.StartTimeOfDay, &out.StartTimeOfDay + *out = make([]StartTimeOfDayParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleParameters. +func (in *ScheduleParameters) DeepCopy() *ScheduleParameters { + if in == nil { + return nil + } + out := new(ScheduleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScheduleStartDateObservation) DeepCopyInto(out *ScheduleStartDateObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleStartDateObservation. +func (in *ScheduleStartDateObservation) DeepCopy() *ScheduleStartDateObservation { + if in == nil { + return nil + } + out := new(ScheduleStartDateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScheduleStartDateParameters) DeepCopyInto(out *ScheduleStartDateParameters) { + *out = *in + if in.Day != nil { + in, out := &in.Day, &out.Day + *out = new(int64) + **out = **in + } + if in.Month != nil { + in, out := &in.Month, &out.Month + *out = new(int64) + **out = **in + } + if in.Year != nil { + in, out := &in.Year, &out.Year + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleStartDateParameters. +func (in *ScheduleStartDateParameters) DeepCopy() *ScheduleStartDateParameters { + if in == nil { + return nil + } + out := new(ScheduleStartDateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StartTimeOfDayObservation) DeepCopyInto(out *StartTimeOfDayObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StartTimeOfDayObservation. +func (in *StartTimeOfDayObservation) DeepCopy() *StartTimeOfDayObservation { + if in == nil { + return nil + } + out := new(StartTimeOfDayObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StartTimeOfDayParameters) DeepCopyInto(out *StartTimeOfDayParameters) { + *out = *in + if in.Hours != nil { + in, out := &in.Hours, &out.Hours + *out = new(int64) + **out = **in + } + if in.Minutes != nil { + in, out := &in.Minutes, &out.Minutes + *out = new(int64) + **out = **in + } + if in.Nanos != nil { + in, out := &in.Nanos, &out.Nanos + *out = new(int64) + **out = **in + } + if in.Seconds != nil { + in, out := &in.Seconds, &out.Seconds + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StartTimeOfDayParameters. +func (in *StartTimeOfDayParameters) DeepCopy() *StartTimeOfDayParameters { + if in == nil { + return nil + } + out := new(StartTimeOfDayParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransferOptionsObservation) DeepCopyInto(out *TransferOptionsObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransferOptionsObservation. +func (in *TransferOptionsObservation) DeepCopy() *TransferOptionsObservation { + if in == nil { + return nil + } + out := new(TransferOptionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransferOptionsParameters) DeepCopyInto(out *TransferOptionsParameters) { + *out = *in + if in.DeleteObjectsFromSourceAfterTransfer != nil { + in, out := &in.DeleteObjectsFromSourceAfterTransfer, &out.DeleteObjectsFromSourceAfterTransfer + *out = new(bool) + **out = **in + } + if in.DeleteObjectsUniqueInSink != nil { + in, out := &in.DeleteObjectsUniqueInSink, &out.DeleteObjectsUniqueInSink + *out = new(bool) + **out = **in + } + if in.OverwriteObjectsAlreadyExistingInSink != nil { + in, out := &in.OverwriteObjectsAlreadyExistingInSink, &out.OverwriteObjectsAlreadyExistingInSink + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransferOptionsParameters. +func (in *TransferOptionsParameters) DeepCopy() *TransferOptionsParameters { + if in == nil { + return nil + } + out := new(TransferOptionsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransferSpecObservation) DeepCopyInto(out *TransferSpecObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransferSpecObservation. +func (in *TransferSpecObservation) DeepCopy() *TransferSpecObservation { + if in == nil { + return nil + } + out := new(TransferSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TransferSpecParameters) DeepCopyInto(out *TransferSpecParameters) { + *out = *in + if in.AwsS3DataSource != nil { + in, out := &in.AwsS3DataSource, &out.AwsS3DataSource + *out = make([]AwsS3DataSourceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AzureBlobStorageDataSource != nil { + in, out := &in.AzureBlobStorageDataSource, &out.AzureBlobStorageDataSource + *out = make([]AzureBlobStorageDataSourceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GcsDataSink != nil { + in, out := &in.GcsDataSink, &out.GcsDataSink + *out = make([]GcsDataSinkParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.GcsDataSource != nil { + in, out := &in.GcsDataSource, &out.GcsDataSource + *out = make([]GcsDataSourceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.HTTPDataSource != nil { + in, out := &in.HTTPDataSource, &out.HTTPDataSource + *out = make([]HTTPDataSourceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ObjectConditions != nil { + in, out := &in.ObjectConditions, &out.ObjectConditions + *out = make([]ObjectConditionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TransferOptions != nil { + in, out := &in.TransferOptions, &out.TransferOptions + *out = make([]TransferOptionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransferSpecParameters. +func (in *TransferSpecParameters) DeepCopy() *TransferSpecParameters { + if in == nil { + return nil + } + out := new(TransferSpecParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/storagetransfer/v1alpha1/zz_generated.managed.go b/apis/storagetransfer/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..ce51e9a0 --- /dev/null +++ b/apis/storagetransfer/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Job. +func (mg *Job) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Job. +func (mg *Job) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Job. +func (mg *Job) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Job. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Job) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Job. +func (mg *Job) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Job. +func (mg *Job) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Job. +func (mg *Job) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Job. +func (mg *Job) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Job. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Job) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Job. +func (mg *Job) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/storagetransfer/v1alpha1/zz_generated.managedlist.go b/apis/storagetransfer/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..067d9014 --- /dev/null +++ b/apis/storagetransfer/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this JobList. +func (l *JobList) 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/storagetransfer/v1alpha1/zz_groupversion_info.go b/apis/storagetransfer/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..a2ea3193 --- /dev/null +++ b/apis/storagetransfer/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=storagetransfer.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "storagetransfer.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/storagetransfer/v1alpha1/zz_job_terraformed.go b/apis/storagetransfer/v1alpha1/zz_job_terraformed.go new file mode 100755 index 00000000..4a67addf --- /dev/null +++ b/apis/storagetransfer/v1alpha1/zz_job_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Job +func (mg *Job) GetTerraformResourceType() string { + return "google_storage_transfer_job" +} + +// GetConnectionDetailsMapping for this Job +func (tr *Job) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"transfer_spec[*].aws_s3_data_source[*].aws_access_key[*].access_key_id": "spec.forProvider.transferSpec[*].awsS3DataSource[*].awsAccessKey[*].accessKeyIDSecretRef", "transfer_spec[*].aws_s3_data_source[*].aws_access_key[*].secret_access_key": "spec.forProvider.transferSpec[*].awsS3DataSource[*].awsAccessKey[*].secretAccessKeySecretRef", "transfer_spec[*].azure_blob_storage_data_source[*].azure_credentials[*].sas_token": "spec.forProvider.transferSpec[*].azureBlobStorageDataSource[*].azureCredentials[*].sasTokenSecretRef"} +} + +// GetObservation of this Job +func (tr *Job) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Job +func (tr *Job) SetObservation(obs map[string]interface{}) 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 Job +func (tr *Job) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Job +func (tr *Job) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Job +func (tr *Job) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Job using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Job) LateInitialize(attrs []byte) (bool, error) { + params := &JobParameters{} + 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 *Job) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/storagetransfer/v1alpha1/zz_job_types.go b/apis/storagetransfer/v1alpha1/zz_job_types.go new file mode 100755 index 00000000..3fb1f894 --- /dev/null +++ b/apis/storagetransfer/v1alpha1/zz_job_types.go @@ -0,0 +1,358 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 AwsAccessKeyObservation struct { +} + +type AwsAccessKeyParameters struct { + + // AWS Key ID. + // +kubebuilder:validation:Required + AccessKeyIDSecretRef v1.SecretKeySelector `json:"accessKeyIdSecretRef" tf:"-"` + + // AWS Secret Access Key. + // +kubebuilder:validation:Required + SecretAccessKeySecretRef v1.SecretKeySelector `json:"secretAccessKeySecretRef" tf:"-"` +} + +type AwsS3DataSourceObservation struct { +} + +type AwsS3DataSourceParameters struct { + + // AWS credentials block. + // +kubebuilder:validation:Required + AwsAccessKey []AwsAccessKeyParameters `json:"awsAccessKey" tf:"aws_access_key,omitempty"` + + // S3 Bucket name. + // +kubebuilder:validation:Required + BucketName *string `json:"bucketName" tf:"bucket_name,omitempty"` +} + +type AzureBlobStorageDataSourceObservation struct { +} + +type AzureBlobStorageDataSourceParameters struct { + + // Credentials used to authenticate API requests to Azure. + // +kubebuilder:validation:Required + AzureCredentials []AzureCredentialsParameters `json:"azureCredentials" tf:"azure_credentials,omitempty"` + + // The container to transfer from the Azure Storage account. + // +kubebuilder:validation:Required + Container *string `json:"container" tf:"container,omitempty"` + + // Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'. + // +kubebuilder:validation:Optional + Path *string `json:"path,omitempty" tf:"path,omitempty"` + + // The name of the Azure Storage account. + // +kubebuilder:validation:Required + StorageAccount *string `json:"storageAccount" tf:"storage_account,omitempty"` +} + +type AzureCredentialsObservation struct { +} + +type AzureCredentialsParameters struct { + + // Azure shared access signature. + // +kubebuilder:validation:Required + SasTokenSecretRef v1.SecretKeySelector `json:"sasTokenSecretRef" tf:"-"` +} + +type GcsDataSinkObservation struct { +} + +type GcsDataSinkParameters struct { + + // Google Cloud Storage bucket name. + // +kubebuilder:validation:Required + BucketName *string `json:"bucketName" tf:"bucket_name,omitempty"` + + // Google Cloud Storage path in bucket to transfer + // +kubebuilder:validation:Optional + Path *string `json:"path,omitempty" tf:"path,omitempty"` +} + +type GcsDataSourceObservation struct { +} + +type GcsDataSourceParameters struct { + + // Google Cloud Storage bucket name. + // +kubebuilder:validation:Required + BucketName *string `json:"bucketName" tf:"bucket_name,omitempty"` + + // Google Cloud Storage path in bucket to transfer + // +kubebuilder:validation:Optional + Path *string `json:"path,omitempty" tf:"path,omitempty"` +} + +type HTTPDataSourceObservation struct { +} + +type HTTPDataSourceParameters struct { + + // The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported. + // +kubebuilder:validation:Required + ListURL *string `json:"listUrl" tf:"list_url,omitempty"` +} + +type JobObservation struct { + CreationTime *string `json:"creationTime,omitempty" tf:"creation_time,omitempty"` + + DeletionTime *string `json:"deletionTime,omitempty" tf:"deletion_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + LastModificationTime *string `json:"lastModificationTime,omitempty" tf:"last_modification_time,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type JobParameters struct { + + // Unique description to identify the Transfer Job. + // +kubebuilder:validation:Required + Description *string `json:"description" tf:"description,omitempty"` + + // The project in which the resource belongs. If it is not provided, the provider project is used. + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Schedule specification defining when the Transfer Job should be scheduled to start, end and what time to run. + // +kubebuilder:validation:Required + Schedule []ScheduleParameters `json:"schedule" tf:"schedule,omitempty"` + + // Status of the job. Default: ENABLED. NOTE: The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation. + // +kubebuilder:validation:Optional + Status *string `json:"status,omitempty" tf:"status,omitempty"` + + // Transfer specification. + // +kubebuilder:validation:Required + TransferSpec []TransferSpecParameters `json:"transferSpec" tf:"transfer_spec,omitempty"` +} + +type ObjectConditionsObservation struct { +} + +type ObjectConditionsParameters struct { + + // exclude_prefixes must follow the requirements described for include_prefixes. + // +kubebuilder:validation:Optional + ExcludePrefixes []*string `json:"excludePrefixes,omitempty" tf:"exclude_prefixes,omitempty"` + + // If include_refixes is specified, objects that satisfy the object conditions must have names that start with one of the include_prefixes and that do not start with any of the exclude_prefixes. If include_prefixes is not specified, all objects except those that have names starting with one of the exclude_prefixes must satisfy the object conditions. + // +kubebuilder:validation:Optional + IncludePrefixes []*string `json:"includePrefixes,omitempty" tf:"include_prefixes,omitempty"` + + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + MaxTimeElapsedSinceLastModification *string `json:"maxTimeElapsedSinceLastModification,omitempty" tf:"max_time_elapsed_since_last_modification,omitempty"` + + // A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + // +kubebuilder:validation:Optional + MinTimeElapsedSinceLastModification *string `json:"minTimeElapsedSinceLastModification,omitempty" tf:"min_time_elapsed_since_last_modification,omitempty"` +} + +type ScheduleEndDateObservation struct { +} + +type ScheduleEndDateParameters struct { + + // Day of month. Must be from 1 to 31 and valid for the year and month. + // +kubebuilder:validation:Required + Day *int64 `json:"day" tf:"day,omitempty"` + + // Month of year. Must be from 1 to 12. + // +kubebuilder:validation:Required + Month *int64 `json:"month" tf:"month,omitempty"` + + // Year of date. Must be from 1 to 9999. + // +kubebuilder:validation:Required + Year *int64 `json:"year" tf:"year,omitempty"` +} + +type ScheduleObservation struct { +} + +type ScheduleParameters struct { + + // The last day the recurring transfer will be run. If schedule_end_date is the same as schedule_start_date, the transfer will be executed only once. + // +kubebuilder:validation:Optional + ScheduleEndDate []ScheduleEndDateParameters `json:"scheduleEndDate,omitempty" tf:"schedule_end_date,omitempty"` + + // The first day the recurring transfer is scheduled to run. If schedule_start_date is in the past, the transfer will run for the first time on the following day. + // +kubebuilder:validation:Required + ScheduleStartDate []ScheduleStartDateParameters `json:"scheduleStartDate" tf:"schedule_start_date,omitempty"` + + // The time in UTC at which the transfer will be scheduled to start in a day. Transfers may start later than this time. If not specified, recurring and one-time transfers that are scheduled to run today will run immediately; recurring transfers that are scheduled to run on a future date will start at approximately midnight UTC on that date. Note that when configuring a transfer with the Cloud Platform Console, the transfer's start time in a day is specified in your local timezone. + // +kubebuilder:validation:Optional + StartTimeOfDay []StartTimeOfDayParameters `json:"startTimeOfDay,omitempty" tf:"start_time_of_day,omitempty"` +} + +type ScheduleStartDateObservation struct { +} + +type ScheduleStartDateParameters struct { + + // Day of month. Must be from 1 to 31 and valid for the year and month. + // +kubebuilder:validation:Required + Day *int64 `json:"day" tf:"day,omitempty"` + + // Month of year. Must be from 1 to 12. + // +kubebuilder:validation:Required + Month *int64 `json:"month" tf:"month,omitempty"` + + // Year of date. Must be from 1 to 9999. + // +kubebuilder:validation:Required + Year *int64 `json:"year" tf:"year,omitempty"` +} + +type StartTimeOfDayObservation struct { +} + +type StartTimeOfDayParameters struct { + + // Hours of day in 24 hour format. Should be from 0 to 23. + // +kubebuilder:validation:Required + Hours *int64 `json:"hours" tf:"hours,omitempty"` + + // Minutes of hour of day. Must be from 0 to 59. + // +kubebuilder:validation:Required + Minutes *int64 `json:"minutes" tf:"minutes,omitempty"` + + // Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + // +kubebuilder:validation:Required + Nanos *int64 `json:"nanos" tf:"nanos,omitempty"` + + // Seconds of minutes of the time. Must normally be from 0 to 59. + // +kubebuilder:validation:Required + Seconds *int64 `json:"seconds" tf:"seconds,omitempty"` +} + +type TransferOptionsObservation struct { +} + +type TransferOptionsParameters struct { + + // Whether objects should be deleted from the source after they are transferred to the sink. Note that this option and delete_objects_unique_in_sink are mutually exclusive. + // +kubebuilder:validation:Optional + DeleteObjectsFromSourceAfterTransfer *bool `json:"deleteObjectsFromSourceAfterTransfer,omitempty" tf:"delete_objects_from_source_after_transfer,omitempty"` + + // Whether objects that exist only in the sink should be deleted. Note that this option and delete_objects_from_source_after_transfer are mutually exclusive. + // +kubebuilder:validation:Optional + DeleteObjectsUniqueInSink *bool `json:"deleteObjectsUniqueInSink,omitempty" tf:"delete_objects_unique_in_sink,omitempty"` + + // Whether overwriting objects that already exist in the sink is allowed. + // +kubebuilder:validation:Optional + OverwriteObjectsAlreadyExistingInSink *bool `json:"overwriteObjectsAlreadyExistingInSink,omitempty" tf:"overwrite_objects_already_existing_in_sink,omitempty"` +} + +type TransferSpecObservation struct { +} + +type TransferSpecParameters struct { + + // An AWS S3 data source. + // +kubebuilder:validation:Optional + AwsS3DataSource []AwsS3DataSourceParameters `json:"awsS3DataSource,omitempty" tf:"aws_s3_data_source,omitempty"` + + // An Azure Blob Storage data source. + // +kubebuilder:validation:Optional + AzureBlobStorageDataSource []AzureBlobStorageDataSourceParameters `json:"azureBlobStorageDataSource,omitempty" tf:"azure_blob_storage_data_source,omitempty"` + + // A Google Cloud Storage data sink. + // +kubebuilder:validation:Optional + GcsDataSink []GcsDataSinkParameters `json:"gcsDataSink,omitempty" tf:"gcs_data_sink,omitempty"` + + // A Google Cloud Storage data source. + // +kubebuilder:validation:Optional + GcsDataSource []GcsDataSourceParameters `json:"gcsDataSource,omitempty" tf:"gcs_data_source,omitempty"` + + // A HTTP URL data source. + // +kubebuilder:validation:Optional + HTTPDataSource []HTTPDataSourceParameters `json:"httpDataSource,omitempty" tf:"http_data_source,omitempty"` + + // Only objects that satisfy these object conditions are included in the set of data source and data sink objects. Object conditions based on objects' last_modification_time do not exclude objects in a data sink. + // +kubebuilder:validation:Optional + ObjectConditions []ObjectConditionsParameters `json:"objectConditions,omitempty" tf:"object_conditions,omitempty"` + + // Characteristics of how to treat files from datasource and sink during job. If the option delete_objects_unique_in_sink is true, object conditions based on objects' last_modification_time are ignored and do not exclude objects in a data source or a data sink. + // +kubebuilder:validation:Optional + TransferOptions []TransferOptionsParameters `json:"transferOptions,omitempty" tf:"transfer_options,omitempty"` +} + +// JobSpec defines the desired state of Job +type JobSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider JobParameters `json:"forProvider"` +} + +// JobStatus defines the observed state of Job. +type JobStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider JobObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Job is the Schema for the Jobs 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,gcpjet} +type Job struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec JobSpec `json:"spec"` + Status JobStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// JobList contains a list of Jobs +type JobList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Job `json:"items"` +} + +// Repository type metadata. +var ( + Job_Kind = "Job" + Job_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Job_Kind}.String() + Job_KindAPIVersion = Job_Kind + "." + CRDGroupVersion.String() + Job_GroupVersionKind = CRDGroupVersion.WithKind(Job_Kind) +) + +func init() { + SchemeBuilder.Register(&Job{}, &JobList{}) +} diff --git a/apis/tags/v1alpha1/zz_generated.deepcopy.go b/apis/tags/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..be68be1a --- /dev/null +++ b/apis/tags/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,1592 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionObservation. +func (in *ConditionObservation) DeepCopy() *ConditionObservation { + if in == nil { + return nil + } + out := new(ConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParameters. +func (in *ConditionParameters) DeepCopy() *ConditionParameters { + if in == nil { + return nil + } + out := new(ConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagBinding) DeepCopyInto(out *TagBinding) { + *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 TagBinding. +func (in *TagBinding) DeepCopy() *TagBinding { + if in == nil { + return nil + } + out := new(TagBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagBinding) 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 *TagBindingList) DeepCopyInto(out *TagBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagBindingList. +func (in *TagBindingList) DeepCopy() *TagBindingList { + if in == nil { + return nil + } + out := new(TagBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagBindingList) 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 *TagBindingObservation) DeepCopyInto(out *TagBindingObservation) { + *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 + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagBindingObservation. +func (in *TagBindingObservation) DeepCopy() *TagBindingObservation { + if in == nil { + return nil + } + out := new(TagBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagBindingParameters) DeepCopyInto(out *TagBindingParameters) { + *out = *in + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.TagValue != nil { + in, out := &in.TagValue, &out.TagValue + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagBindingParameters. +func (in *TagBindingParameters) DeepCopy() *TagBindingParameters { + if in == nil { + return nil + } + out := new(TagBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagBindingSpec) DeepCopyInto(out *TagBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagBindingSpec. +func (in *TagBindingSpec) DeepCopy() *TagBindingSpec { + if in == nil { + return nil + } + out := new(TagBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagBindingStatus) DeepCopyInto(out *TagBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagBindingStatus. +func (in *TagBindingStatus) DeepCopy() *TagBindingStatus { + if in == nil { + return nil + } + out := new(TagBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKey) DeepCopyInto(out *TagKey) { + *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 TagKey. +func (in *TagKey) DeepCopy() *TagKey { + if in == nil { + return nil + } + out := new(TagKey) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagKey) 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 *TagKeyIAMBinding) DeepCopyInto(out *TagKeyIAMBinding) { + *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 TagKeyIAMBinding. +func (in *TagKeyIAMBinding) DeepCopy() *TagKeyIAMBinding { + if in == nil { + return nil + } + out := new(TagKeyIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagKeyIAMBinding) 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 *TagKeyIAMBindingList) DeepCopyInto(out *TagKeyIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagKeyIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMBindingList. +func (in *TagKeyIAMBindingList) DeepCopy() *TagKeyIAMBindingList { + if in == nil { + return nil + } + out := new(TagKeyIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagKeyIAMBindingList) 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 *TagKeyIAMBindingObservation) DeepCopyInto(out *TagKeyIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMBindingObservation. +func (in *TagKeyIAMBindingObservation) DeepCopy() *TagKeyIAMBindingObservation { + if in == nil { + return nil + } + out := new(TagKeyIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyIAMBindingParameters) DeepCopyInto(out *TagKeyIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]ConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.TagKey != nil { + in, out := &in.TagKey, &out.TagKey + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMBindingParameters. +func (in *TagKeyIAMBindingParameters) DeepCopy() *TagKeyIAMBindingParameters { + if in == nil { + return nil + } + out := new(TagKeyIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyIAMBindingSpec) DeepCopyInto(out *TagKeyIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMBindingSpec. +func (in *TagKeyIAMBindingSpec) DeepCopy() *TagKeyIAMBindingSpec { + if in == nil { + return nil + } + out := new(TagKeyIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyIAMBindingStatus) DeepCopyInto(out *TagKeyIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMBindingStatus. +func (in *TagKeyIAMBindingStatus) DeepCopy() *TagKeyIAMBindingStatus { + if in == nil { + return nil + } + out := new(TagKeyIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyIAMMember) DeepCopyInto(out *TagKeyIAMMember) { + *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 TagKeyIAMMember. +func (in *TagKeyIAMMember) DeepCopy() *TagKeyIAMMember { + if in == nil { + return nil + } + out := new(TagKeyIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagKeyIAMMember) 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 *TagKeyIAMMemberConditionObservation) DeepCopyInto(out *TagKeyIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMMemberConditionObservation. +func (in *TagKeyIAMMemberConditionObservation) DeepCopy() *TagKeyIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(TagKeyIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyIAMMemberConditionParameters) DeepCopyInto(out *TagKeyIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMMemberConditionParameters. +func (in *TagKeyIAMMemberConditionParameters) DeepCopy() *TagKeyIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(TagKeyIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyIAMMemberList) DeepCopyInto(out *TagKeyIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagKeyIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMMemberList. +func (in *TagKeyIAMMemberList) DeepCopy() *TagKeyIAMMemberList { + if in == nil { + return nil + } + out := new(TagKeyIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagKeyIAMMemberList) 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 *TagKeyIAMMemberObservation) DeepCopyInto(out *TagKeyIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMMemberObservation. +func (in *TagKeyIAMMemberObservation) DeepCopy() *TagKeyIAMMemberObservation { + if in == nil { + return nil + } + out := new(TagKeyIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyIAMMemberParameters) DeepCopyInto(out *TagKeyIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TagKeyIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.TagKey != nil { + in, out := &in.TagKey, &out.TagKey + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMMemberParameters. +func (in *TagKeyIAMMemberParameters) DeepCopy() *TagKeyIAMMemberParameters { + if in == nil { + return nil + } + out := new(TagKeyIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyIAMMemberSpec) DeepCopyInto(out *TagKeyIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMMemberSpec. +func (in *TagKeyIAMMemberSpec) DeepCopy() *TagKeyIAMMemberSpec { + if in == nil { + return nil + } + out := new(TagKeyIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyIAMMemberStatus) DeepCopyInto(out *TagKeyIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMMemberStatus. +func (in *TagKeyIAMMemberStatus) DeepCopy() *TagKeyIAMMemberStatus { + if in == nil { + return nil + } + out := new(TagKeyIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyIAMPolicy) DeepCopyInto(out *TagKeyIAMPolicy) { + *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 TagKeyIAMPolicy. +func (in *TagKeyIAMPolicy) DeepCopy() *TagKeyIAMPolicy { + if in == nil { + return nil + } + out := new(TagKeyIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagKeyIAMPolicy) 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 *TagKeyIAMPolicyList) DeepCopyInto(out *TagKeyIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagKeyIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMPolicyList. +func (in *TagKeyIAMPolicyList) DeepCopy() *TagKeyIAMPolicyList { + if in == nil { + return nil + } + out := new(TagKeyIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagKeyIAMPolicyList) 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 *TagKeyIAMPolicyObservation) DeepCopyInto(out *TagKeyIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMPolicyObservation. +func (in *TagKeyIAMPolicyObservation) DeepCopy() *TagKeyIAMPolicyObservation { + if in == nil { + return nil + } + out := new(TagKeyIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyIAMPolicyParameters) DeepCopyInto(out *TagKeyIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.TagKey != nil { + in, out := &in.TagKey, &out.TagKey + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMPolicyParameters. +func (in *TagKeyIAMPolicyParameters) DeepCopy() *TagKeyIAMPolicyParameters { + if in == nil { + return nil + } + out := new(TagKeyIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyIAMPolicySpec) DeepCopyInto(out *TagKeyIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMPolicySpec. +func (in *TagKeyIAMPolicySpec) DeepCopy() *TagKeyIAMPolicySpec { + if in == nil { + return nil + } + out := new(TagKeyIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyIAMPolicyStatus) DeepCopyInto(out *TagKeyIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyIAMPolicyStatus. +func (in *TagKeyIAMPolicyStatus) DeepCopy() *TagKeyIAMPolicyStatus { + if in == nil { + return nil + } + out := new(TagKeyIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyList) DeepCopyInto(out *TagKeyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagKey, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyList. +func (in *TagKeyList) DeepCopy() *TagKeyList { + if in == nil { + return nil + } + out := new(TagKeyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagKeyList) 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 *TagKeyObservation) DeepCopyInto(out *TagKeyObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *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.NamespacedName != nil { + in, out := &in.NamespacedName, &out.NamespacedName + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyObservation. +func (in *TagKeyObservation) DeepCopy() *TagKeyObservation { + if in == nil { + return nil + } + out := new(TagKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyParameters) DeepCopyInto(out *TagKeyParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.ShortName != nil { + in, out := &in.ShortName, &out.ShortName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyParameters. +func (in *TagKeyParameters) DeepCopy() *TagKeyParameters { + if in == nil { + return nil + } + out := new(TagKeyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeySpec) DeepCopyInto(out *TagKeySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeySpec. +func (in *TagKeySpec) DeepCopy() *TagKeySpec { + if in == nil { + return nil + } + out := new(TagKeySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagKeyStatus) DeepCopyInto(out *TagKeyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagKeyStatus. +func (in *TagKeyStatus) DeepCopy() *TagKeyStatus { + if in == nil { + return nil + } + out := new(TagKeyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValue) DeepCopyInto(out *TagValue) { + *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 TagValue. +func (in *TagValue) DeepCopy() *TagValue { + if in == nil { + return nil + } + out := new(TagValue) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagValue) 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 *TagValueIAMBinding) DeepCopyInto(out *TagValueIAMBinding) { + *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 TagValueIAMBinding. +func (in *TagValueIAMBinding) DeepCopy() *TagValueIAMBinding { + if in == nil { + return nil + } + out := new(TagValueIAMBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagValueIAMBinding) 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 *TagValueIAMBindingConditionObservation) DeepCopyInto(out *TagValueIAMBindingConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMBindingConditionObservation. +func (in *TagValueIAMBindingConditionObservation) DeepCopy() *TagValueIAMBindingConditionObservation { + if in == nil { + return nil + } + out := new(TagValueIAMBindingConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMBindingConditionParameters) DeepCopyInto(out *TagValueIAMBindingConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMBindingConditionParameters. +func (in *TagValueIAMBindingConditionParameters) DeepCopy() *TagValueIAMBindingConditionParameters { + if in == nil { + return nil + } + out := new(TagValueIAMBindingConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMBindingList) DeepCopyInto(out *TagValueIAMBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagValueIAMBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMBindingList. +func (in *TagValueIAMBindingList) DeepCopy() *TagValueIAMBindingList { + if in == nil { + return nil + } + out := new(TagValueIAMBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagValueIAMBindingList) 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 *TagValueIAMBindingObservation) DeepCopyInto(out *TagValueIAMBindingObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMBindingObservation. +func (in *TagValueIAMBindingObservation) DeepCopy() *TagValueIAMBindingObservation { + if in == nil { + return nil + } + out := new(TagValueIAMBindingObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMBindingParameters) DeepCopyInto(out *TagValueIAMBindingParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TagValueIAMBindingConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Members != nil { + in, out := &in.Members, &out.Members + *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.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.TagValue != nil { + in, out := &in.TagValue, &out.TagValue + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMBindingParameters. +func (in *TagValueIAMBindingParameters) DeepCopy() *TagValueIAMBindingParameters { + if in == nil { + return nil + } + out := new(TagValueIAMBindingParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMBindingSpec) DeepCopyInto(out *TagValueIAMBindingSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMBindingSpec. +func (in *TagValueIAMBindingSpec) DeepCopy() *TagValueIAMBindingSpec { + if in == nil { + return nil + } + out := new(TagValueIAMBindingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMBindingStatus) DeepCopyInto(out *TagValueIAMBindingStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMBindingStatus. +func (in *TagValueIAMBindingStatus) DeepCopy() *TagValueIAMBindingStatus { + if in == nil { + return nil + } + out := new(TagValueIAMBindingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMMember) DeepCopyInto(out *TagValueIAMMember) { + *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 TagValueIAMMember. +func (in *TagValueIAMMember) DeepCopy() *TagValueIAMMember { + if in == nil { + return nil + } + out := new(TagValueIAMMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagValueIAMMember) 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 *TagValueIAMMemberConditionObservation) DeepCopyInto(out *TagValueIAMMemberConditionObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMMemberConditionObservation. +func (in *TagValueIAMMemberConditionObservation) DeepCopy() *TagValueIAMMemberConditionObservation { + if in == nil { + return nil + } + out := new(TagValueIAMMemberConditionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMMemberConditionParameters) DeepCopyInto(out *TagValueIAMMemberConditionParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Expression != nil { + in, out := &in.Expression, &out.Expression + *out = new(string) + **out = **in + } + if in.Title != nil { + in, out := &in.Title, &out.Title + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMMemberConditionParameters. +func (in *TagValueIAMMemberConditionParameters) DeepCopy() *TagValueIAMMemberConditionParameters { + if in == nil { + return nil + } + out := new(TagValueIAMMemberConditionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMMemberList) DeepCopyInto(out *TagValueIAMMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagValueIAMMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMMemberList. +func (in *TagValueIAMMemberList) DeepCopy() *TagValueIAMMemberList { + if in == nil { + return nil + } + out := new(TagValueIAMMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagValueIAMMemberList) 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 *TagValueIAMMemberObservation) DeepCopyInto(out *TagValueIAMMemberObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMMemberObservation. +func (in *TagValueIAMMemberObservation) DeepCopy() *TagValueIAMMemberObservation { + if in == nil { + return nil + } + out := new(TagValueIAMMemberObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMMemberParameters) DeepCopyInto(out *TagValueIAMMemberParameters) { + *out = *in + if in.Condition != nil { + in, out := &in.Condition, &out.Condition + *out = make([]TagValueIAMMemberConditionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(string) + **out = **in + } + if in.Role != nil { + in, out := &in.Role, &out.Role + *out = new(string) + **out = **in + } + if in.TagValue != nil { + in, out := &in.TagValue, &out.TagValue + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMMemberParameters. +func (in *TagValueIAMMemberParameters) DeepCopy() *TagValueIAMMemberParameters { + if in == nil { + return nil + } + out := new(TagValueIAMMemberParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMMemberSpec) DeepCopyInto(out *TagValueIAMMemberSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMMemberSpec. +func (in *TagValueIAMMemberSpec) DeepCopy() *TagValueIAMMemberSpec { + if in == nil { + return nil + } + out := new(TagValueIAMMemberSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMMemberStatus) DeepCopyInto(out *TagValueIAMMemberStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMMemberStatus. +func (in *TagValueIAMMemberStatus) DeepCopy() *TagValueIAMMemberStatus { + if in == nil { + return nil + } + out := new(TagValueIAMMemberStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMPolicy) DeepCopyInto(out *TagValueIAMPolicy) { + *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 TagValueIAMPolicy. +func (in *TagValueIAMPolicy) DeepCopy() *TagValueIAMPolicy { + if in == nil { + return nil + } + out := new(TagValueIAMPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagValueIAMPolicy) 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 *TagValueIAMPolicyList) DeepCopyInto(out *TagValueIAMPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagValueIAMPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMPolicyList. +func (in *TagValueIAMPolicyList) DeepCopy() *TagValueIAMPolicyList { + if in == nil { + return nil + } + out := new(TagValueIAMPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagValueIAMPolicyList) 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 *TagValueIAMPolicyObservation) DeepCopyInto(out *TagValueIAMPolicyObservation) { + *out = *in + if in.Etag != nil { + in, out := &in.Etag, &out.Etag + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMPolicyObservation. +func (in *TagValueIAMPolicyObservation) DeepCopy() *TagValueIAMPolicyObservation { + if in == nil { + return nil + } + out := new(TagValueIAMPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMPolicyParameters) DeepCopyInto(out *TagValueIAMPolicyParameters) { + *out = *in + if in.PolicyData != nil { + in, out := &in.PolicyData, &out.PolicyData + *out = new(string) + **out = **in + } + if in.TagValue != nil { + in, out := &in.TagValue, &out.TagValue + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMPolicyParameters. +func (in *TagValueIAMPolicyParameters) DeepCopy() *TagValueIAMPolicyParameters { + if in == nil { + return nil + } + out := new(TagValueIAMPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMPolicySpec) DeepCopyInto(out *TagValueIAMPolicySpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMPolicySpec. +func (in *TagValueIAMPolicySpec) DeepCopy() *TagValueIAMPolicySpec { + if in == nil { + return nil + } + out := new(TagValueIAMPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueIAMPolicyStatus) DeepCopyInto(out *TagValueIAMPolicyStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueIAMPolicyStatus. +func (in *TagValueIAMPolicyStatus) DeepCopy() *TagValueIAMPolicyStatus { + if in == nil { + return nil + } + out := new(TagValueIAMPolicyStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueList) DeepCopyInto(out *TagValueList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagValue, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueList. +func (in *TagValueList) DeepCopy() *TagValueList { + if in == nil { + return nil + } + out := new(TagValueList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TagValueList) 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 *TagValueObservation) DeepCopyInto(out *TagValueObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *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.NamespacedName != nil { + in, out := &in.NamespacedName, &out.NamespacedName + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueObservation. +func (in *TagValueObservation) DeepCopy() *TagValueObservation { + if in == nil { + return nil + } + out := new(TagValueObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueParameters) DeepCopyInto(out *TagValueParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Parent != nil { + in, out := &in.Parent, &out.Parent + *out = new(string) + **out = **in + } + if in.ShortName != nil { + in, out := &in.ShortName, &out.ShortName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueParameters. +func (in *TagValueParameters) DeepCopy() *TagValueParameters { + if in == nil { + return nil + } + out := new(TagValueParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueSpec) DeepCopyInto(out *TagValueSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueSpec. +func (in *TagValueSpec) DeepCopy() *TagValueSpec { + if in == nil { + return nil + } + out := new(TagValueSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagValueStatus) DeepCopyInto(out *TagValueStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagValueStatus. +func (in *TagValueStatus) DeepCopy() *TagValueStatus { + if in == nil { + return nil + } + out := new(TagValueStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/tags/v1alpha1/zz_generated.managed.go b/apis/tags/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..66cefcd9 --- /dev/null +++ b/apis/tags/v1alpha1/zz_generated.managed.go @@ -0,0 +1,524 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this TagBinding. +func (mg *TagBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagBinding. +func (mg *TagBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagBinding. +func (mg *TagBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TagBinding. +func (mg *TagBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagBinding. +func (mg *TagBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagBinding. +func (mg *TagBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagBinding. +func (mg *TagBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TagBinding. +func (mg *TagBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagKey. +func (mg *TagKey) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagKey. +func (mg *TagKey) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagKey. +func (mg *TagKey) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagKey. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagKey) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TagKey. +func (mg *TagKey) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagKey. +func (mg *TagKey) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagKey. +func (mg *TagKey) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagKey. +func (mg *TagKey) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagKey. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagKey) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TagKey. +func (mg *TagKey) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagKeyIAMBinding. +func (mg *TagKeyIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagKeyIAMBinding. +func (mg *TagKeyIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagKeyIAMBinding. +func (mg *TagKeyIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagKeyIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagKeyIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TagKeyIAMBinding. +func (mg *TagKeyIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagKeyIAMBinding. +func (mg *TagKeyIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagKeyIAMBinding. +func (mg *TagKeyIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagKeyIAMBinding. +func (mg *TagKeyIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagKeyIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagKeyIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TagKeyIAMBinding. +func (mg *TagKeyIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagKeyIAMMember. +func (mg *TagKeyIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagKeyIAMMember. +func (mg *TagKeyIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagKeyIAMMember. +func (mg *TagKeyIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagKeyIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagKeyIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TagKeyIAMMember. +func (mg *TagKeyIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagKeyIAMMember. +func (mg *TagKeyIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagKeyIAMMember. +func (mg *TagKeyIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagKeyIAMMember. +func (mg *TagKeyIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagKeyIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagKeyIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TagKeyIAMMember. +func (mg *TagKeyIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagKeyIAMPolicy. +func (mg *TagKeyIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagKeyIAMPolicy. +func (mg *TagKeyIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagKeyIAMPolicy. +func (mg *TagKeyIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagKeyIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagKeyIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TagKeyIAMPolicy. +func (mg *TagKeyIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagKeyIAMPolicy. +func (mg *TagKeyIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagKeyIAMPolicy. +func (mg *TagKeyIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagKeyIAMPolicy. +func (mg *TagKeyIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagKeyIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagKeyIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TagKeyIAMPolicy. +func (mg *TagKeyIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagValue. +func (mg *TagValue) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagValue. +func (mg *TagValue) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagValue. +func (mg *TagValue) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagValue. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagValue) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TagValue. +func (mg *TagValue) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagValue. +func (mg *TagValue) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagValue. +func (mg *TagValue) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagValue. +func (mg *TagValue) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagValue. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagValue) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TagValue. +func (mg *TagValue) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagValueIAMBinding. +func (mg *TagValueIAMBinding) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagValueIAMBinding. +func (mg *TagValueIAMBinding) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagValueIAMBinding. +func (mg *TagValueIAMBinding) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagValueIAMBinding. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagValueIAMBinding) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TagValueIAMBinding. +func (mg *TagValueIAMBinding) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagValueIAMBinding. +func (mg *TagValueIAMBinding) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagValueIAMBinding. +func (mg *TagValueIAMBinding) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagValueIAMBinding. +func (mg *TagValueIAMBinding) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagValueIAMBinding. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagValueIAMBinding) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TagValueIAMBinding. +func (mg *TagValueIAMBinding) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagValueIAMMember. +func (mg *TagValueIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagValueIAMMember. +func (mg *TagValueIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagValueIAMMember. +func (mg *TagValueIAMMember) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagValueIAMMember. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagValueIAMMember) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TagValueIAMMember. +func (mg *TagValueIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagValueIAMMember. +func (mg *TagValueIAMMember) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagValueIAMMember. +func (mg *TagValueIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagValueIAMMember. +func (mg *TagValueIAMMember) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagValueIAMMember. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagValueIAMMember) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TagValueIAMMember. +func (mg *TagValueIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this TagValueIAMPolicy. +func (mg *TagValueIAMPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this TagValueIAMPolicy. +func (mg *TagValueIAMPolicy) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this TagValueIAMPolicy. +func (mg *TagValueIAMPolicy) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this TagValueIAMPolicy. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *TagValueIAMPolicy) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this TagValueIAMPolicy. +func (mg *TagValueIAMPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this TagValueIAMPolicy. +func (mg *TagValueIAMPolicy) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this TagValueIAMPolicy. +func (mg *TagValueIAMPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this TagValueIAMPolicy. +func (mg *TagValueIAMPolicy) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this TagValueIAMPolicy. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *TagValueIAMPolicy) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this TagValueIAMPolicy. +func (mg *TagValueIAMPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/tags/v1alpha1/zz_generated.managedlist.go b/apis/tags/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..c39b7cfb --- /dev/null +++ b/apis/tags/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,101 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this TagBindingList. +func (l *TagBindingList) 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 TagKeyIAMBindingList. +func (l *TagKeyIAMBindingList) 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 TagKeyIAMMemberList. +func (l *TagKeyIAMMemberList) 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 TagKeyIAMPolicyList. +func (l *TagKeyIAMPolicyList) 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 TagKeyList. +func (l *TagKeyList) 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 TagValueIAMBindingList. +func (l *TagValueIAMBindingList) 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 TagValueIAMMemberList. +func (l *TagValueIAMMemberList) 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 TagValueIAMPolicyList. +func (l *TagValueIAMPolicyList) 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 TagValueList. +func (l *TagValueList) 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/tags/v1alpha1/zz_groupversion_info.go b/apis/tags/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..e51747f4 --- /dev/null +++ b/apis/tags/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=tags.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "tags.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/tags/v1alpha1/zz_tagbinding_terraformed.go b/apis/tags/v1alpha1/zz_tagbinding_terraformed.go new file mode 100755 index 00000000..ff34ee6c --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagbinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TagBinding +func (mg *TagBinding) GetTerraformResourceType() string { + return "google_tags_tag_binding" +} + +// GetConnectionDetailsMapping for this TagBinding +func (tr *TagBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagBinding +func (tr *TagBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagBinding +func (tr *TagBinding) SetObservation(obs map[string]interface{}) 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 TagBinding +func (tr *TagBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagBinding +func (tr *TagBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagBinding +func (tr *TagBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagBinding) LateInitialize(attrs []byte) (bool, error) { + params := &TagBindingParameters{} + 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 *TagBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/tags/v1alpha1/zz_tagbinding_types.go b/apis/tags/v1alpha1/zz_tagbinding_types.go new file mode 100755 index 00000000..f973ea16 --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagbinding_types.go @@ -0,0 +1,92 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TagBindingObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` +} + +type TagBindingParameters struct { + + // The full resource name of the resource the TagValue is bound to. E.g. //cloudresourcemanager.googleapis.com/projects/123 + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` + + // The TagValue of the TagBinding. Must be of the form tagValues/456. + // +kubebuilder:validation:Required + TagValue *string `json:"tagValue" tf:"tag_value,omitempty"` +} + +// TagBindingSpec defines the desired state of TagBinding +type TagBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagBindingParameters `json:"forProvider"` +} + +// TagBindingStatus defines the observed state of TagBinding. +type TagBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagBinding is the Schema for the TagBindings 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,gcpjet} +type TagBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagBindingSpec `json:"spec"` + Status TagBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagBindingList contains a list of TagBindings +type TagBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagBinding `json:"items"` +} + +// Repository type metadata. +var ( + TagBinding_Kind = "TagBinding" + TagBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagBinding_Kind}.String() + TagBinding_KindAPIVersion = TagBinding_Kind + "." + CRDGroupVersion.String() + TagBinding_GroupVersionKind = CRDGroupVersion.WithKind(TagBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&TagBinding{}, &TagBindingList{}) +} diff --git a/apis/tags/v1alpha1/zz_tagkey_terraformed.go b/apis/tags/v1alpha1/zz_tagkey_terraformed.go new file mode 100755 index 00000000..a5400812 --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagkey_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TagKey +func (mg *TagKey) GetTerraformResourceType() string { + return "google_tags_tag_key" +} + +// GetConnectionDetailsMapping for this TagKey +func (tr *TagKey) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagKey +func (tr *TagKey) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagKey +func (tr *TagKey) SetObservation(obs map[string]interface{}) 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 TagKey +func (tr *TagKey) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagKey +func (tr *TagKey) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagKey +func (tr *TagKey) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagKey using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagKey) LateInitialize(attrs []byte) (bool, error) { + params := &TagKeyParameters{} + 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 *TagKey) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/tags/v1alpha1/zz_tagkey_types.go b/apis/tags/v1alpha1/zz_tagkey_types.go new file mode 100755 index 00000000..566e890c --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagkey_types.go @@ -0,0 +1,104 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TagKeyObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + NamespacedName *string `json:"namespacedName,omitempty" tf:"namespaced_name,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type TagKeyParameters struct { + + // User-assigned description of the TagKey. Must not exceed 256 characters. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Input only. The resource name of the new TagKey's parent. Must be of the form organizations/{org_id}. + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` + + // Input only. The user friendly name for a TagKey. The short name should be unique for TagKeys within the same tag namespace. + // + // The short name must be 1-63 characters, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. + // +kubebuilder:validation:Required + ShortName *string `json:"shortName" tf:"short_name,omitempty"` +} + +// TagKeySpec defines the desired state of TagKey +type TagKeySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagKeyParameters `json:"forProvider"` +} + +// TagKeyStatus defines the observed state of TagKey. +type TagKeyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagKeyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagKey is the Schema for the TagKeys 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,gcpjet} +type TagKey struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagKeySpec `json:"spec"` + Status TagKeyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagKeyList contains a list of TagKeys +type TagKeyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagKey `json:"items"` +} + +// Repository type metadata. +var ( + TagKey_Kind = "TagKey" + TagKey_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagKey_Kind}.String() + TagKey_KindAPIVersion = TagKey_Kind + "." + CRDGroupVersion.String() + TagKey_GroupVersionKind = CRDGroupVersion.WithKind(TagKey_Kind) +) + +func init() { + SchemeBuilder.Register(&TagKey{}, &TagKeyList{}) +} diff --git a/apis/tags/v1alpha1/zz_tagkeyiambinding_terraformed.go b/apis/tags/v1alpha1/zz_tagkeyiambinding_terraformed.go new file mode 100755 index 00000000..3620f0fa --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagkeyiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TagKeyIAMBinding +func (mg *TagKeyIAMBinding) GetTerraformResourceType() string { + return "google_tags_tag_key_iam_binding" +} + +// GetConnectionDetailsMapping for this TagKeyIAMBinding +func (tr *TagKeyIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagKeyIAMBinding +func (tr *TagKeyIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagKeyIAMBinding +func (tr *TagKeyIAMBinding) SetObservation(obs map[string]interface{}) 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 TagKeyIAMBinding +func (tr *TagKeyIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagKeyIAMBinding +func (tr *TagKeyIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagKeyIAMBinding +func (tr *TagKeyIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagKeyIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagKeyIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &TagKeyIAMBindingParameters{} + 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 *TagKeyIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/tags/v1alpha1/zz_tagkeyiambinding_types.go b/apis/tags/v1alpha1/zz_tagkeyiambinding_types.go new file mode 100755 index 00000000..482e081d --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagkeyiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConditionObservation struct { +} + +type ConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TagKeyIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TagKeyIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + TagKey *string `json:"tagKey" tf:"tag_key,omitempty"` +} + +// TagKeyIAMBindingSpec defines the desired state of TagKeyIAMBinding +type TagKeyIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagKeyIAMBindingParameters `json:"forProvider"` +} + +// TagKeyIAMBindingStatus defines the observed state of TagKeyIAMBinding. +type TagKeyIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagKeyIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagKeyIAMBinding is the Schema for the TagKeyIAMBindings 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,gcpjet} +type TagKeyIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagKeyIAMBindingSpec `json:"spec"` + Status TagKeyIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagKeyIAMBindingList contains a list of TagKeyIAMBindings +type TagKeyIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagKeyIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + TagKeyIAMBinding_Kind = "TagKeyIAMBinding" + TagKeyIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagKeyIAMBinding_Kind}.String() + TagKeyIAMBinding_KindAPIVersion = TagKeyIAMBinding_Kind + "." + CRDGroupVersion.String() + TagKeyIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(TagKeyIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&TagKeyIAMBinding{}, &TagKeyIAMBindingList{}) +} diff --git a/apis/tags/v1alpha1/zz_tagkeyiammember_terraformed.go b/apis/tags/v1alpha1/zz_tagkeyiammember_terraformed.go new file mode 100755 index 00000000..f07ffe45 --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagkeyiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TagKeyIAMMember +func (mg *TagKeyIAMMember) GetTerraformResourceType() string { + return "google_tags_tag_key_iam_member" +} + +// GetConnectionDetailsMapping for this TagKeyIAMMember +func (tr *TagKeyIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagKeyIAMMember +func (tr *TagKeyIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagKeyIAMMember +func (tr *TagKeyIAMMember) SetObservation(obs map[string]interface{}) 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 TagKeyIAMMember +func (tr *TagKeyIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagKeyIAMMember +func (tr *TagKeyIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagKeyIAMMember +func (tr *TagKeyIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagKeyIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagKeyIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &TagKeyIAMMemberParameters{} + 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 *TagKeyIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/tags/v1alpha1/zz_tagkeyiammember_types.go b/apis/tags/v1alpha1/zz_tagkeyiammember_types.go new file mode 100755 index 00000000..86324d27 --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagkeyiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TagKeyIAMMemberConditionObservation struct { +} + +type TagKeyIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TagKeyIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TagKeyIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []TagKeyIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + TagKey *string `json:"tagKey" tf:"tag_key,omitempty"` +} + +// TagKeyIAMMemberSpec defines the desired state of TagKeyIAMMember +type TagKeyIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagKeyIAMMemberParameters `json:"forProvider"` +} + +// TagKeyIAMMemberStatus defines the observed state of TagKeyIAMMember. +type TagKeyIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagKeyIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagKeyIAMMember is the Schema for the TagKeyIAMMembers 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,gcpjet} +type TagKeyIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagKeyIAMMemberSpec `json:"spec"` + Status TagKeyIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagKeyIAMMemberList contains a list of TagKeyIAMMembers +type TagKeyIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagKeyIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + TagKeyIAMMember_Kind = "TagKeyIAMMember" + TagKeyIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagKeyIAMMember_Kind}.String() + TagKeyIAMMember_KindAPIVersion = TagKeyIAMMember_Kind + "." + CRDGroupVersion.String() + TagKeyIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(TagKeyIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&TagKeyIAMMember{}, &TagKeyIAMMemberList{}) +} diff --git a/apis/tags/v1alpha1/zz_tagkeyiampolicy_terraformed.go b/apis/tags/v1alpha1/zz_tagkeyiampolicy_terraformed.go new file mode 100755 index 00000000..948b4a69 --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagkeyiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TagKeyIAMPolicy +func (mg *TagKeyIAMPolicy) GetTerraformResourceType() string { + return "google_tags_tag_key_iam_policy" +} + +// GetConnectionDetailsMapping for this TagKeyIAMPolicy +func (tr *TagKeyIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagKeyIAMPolicy +func (tr *TagKeyIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagKeyIAMPolicy +func (tr *TagKeyIAMPolicy) SetObservation(obs map[string]interface{}) 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 TagKeyIAMPolicy +func (tr *TagKeyIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagKeyIAMPolicy +func (tr *TagKeyIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagKeyIAMPolicy +func (tr *TagKeyIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagKeyIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagKeyIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &TagKeyIAMPolicyParameters{} + 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 *TagKeyIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/tags/v1alpha1/zz_tagkeyiampolicy_types.go b/apis/tags/v1alpha1/zz_tagkeyiampolicy_types.go new file mode 100755 index 00000000..3b5f9712 --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagkeyiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TagKeyIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TagKeyIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Required + TagKey *string `json:"tagKey" tf:"tag_key,omitempty"` +} + +// TagKeyIAMPolicySpec defines the desired state of TagKeyIAMPolicy +type TagKeyIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagKeyIAMPolicyParameters `json:"forProvider"` +} + +// TagKeyIAMPolicyStatus defines the observed state of TagKeyIAMPolicy. +type TagKeyIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagKeyIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagKeyIAMPolicy is the Schema for the TagKeyIAMPolicys 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,gcpjet} +type TagKeyIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagKeyIAMPolicySpec `json:"spec"` + Status TagKeyIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagKeyIAMPolicyList contains a list of TagKeyIAMPolicys +type TagKeyIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagKeyIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + TagKeyIAMPolicy_Kind = "TagKeyIAMPolicy" + TagKeyIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagKeyIAMPolicy_Kind}.String() + TagKeyIAMPolicy_KindAPIVersion = TagKeyIAMPolicy_Kind + "." + CRDGroupVersion.String() + TagKeyIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(TagKeyIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&TagKeyIAMPolicy{}, &TagKeyIAMPolicyList{}) +} diff --git a/apis/tags/v1alpha1/zz_tagvalue_terraformed.go b/apis/tags/v1alpha1/zz_tagvalue_terraformed.go new file mode 100755 index 00000000..1f2ccbee --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagvalue_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TagValue +func (mg *TagValue) GetTerraformResourceType() string { + return "google_tags_tag_value" +} + +// GetConnectionDetailsMapping for this TagValue +func (tr *TagValue) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagValue +func (tr *TagValue) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagValue +func (tr *TagValue) SetObservation(obs map[string]interface{}) 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 TagValue +func (tr *TagValue) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagValue +func (tr *TagValue) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagValue +func (tr *TagValue) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagValue using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagValue) LateInitialize(attrs []byte) (bool, error) { + params := &TagValueParameters{} + 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 *TagValue) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/tags/v1alpha1/zz_tagvalue_types.go b/apis/tags/v1alpha1/zz_tagvalue_types.go new file mode 100755 index 00000000..9d4b710a --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagvalue_types.go @@ -0,0 +1,104 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TagValueObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + NamespacedName *string `json:"namespacedName,omitempty" tf:"namespaced_name,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type TagValueParameters struct { + + // User-assigned description of the TagValue. Must not exceed 256 characters. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Input only. The resource name of the new TagValue's parent. Must be of the form tagKeys/{tag_key_id}. + // +kubebuilder:validation:Required + Parent *string `json:"parent" tf:"parent,omitempty"` + + // Input only. User-assigned short name for TagValue. The short name should be unique for TagValues within the same parent TagKey. + // + // The short name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. + // +kubebuilder:validation:Required + ShortName *string `json:"shortName" tf:"short_name,omitempty"` +} + +// TagValueSpec defines the desired state of TagValue +type TagValueSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagValueParameters `json:"forProvider"` +} + +// TagValueStatus defines the observed state of TagValue. +type TagValueStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagValueObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagValue is the Schema for the TagValues 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,gcpjet} +type TagValue struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagValueSpec `json:"spec"` + Status TagValueStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagValueList contains a list of TagValues +type TagValueList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagValue `json:"items"` +} + +// Repository type metadata. +var ( + TagValue_Kind = "TagValue" + TagValue_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagValue_Kind}.String() + TagValue_KindAPIVersion = TagValue_Kind + "." + CRDGroupVersion.String() + TagValue_GroupVersionKind = CRDGroupVersion.WithKind(TagValue_Kind) +) + +func init() { + SchemeBuilder.Register(&TagValue{}, &TagValueList{}) +} diff --git a/apis/tags/v1alpha1/zz_tagvalueiambinding_terraformed.go b/apis/tags/v1alpha1/zz_tagvalueiambinding_terraformed.go new file mode 100755 index 00000000..dfa11cc3 --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagvalueiambinding_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TagValueIAMBinding +func (mg *TagValueIAMBinding) GetTerraformResourceType() string { + return "google_tags_tag_value_iam_binding" +} + +// GetConnectionDetailsMapping for this TagValueIAMBinding +func (tr *TagValueIAMBinding) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagValueIAMBinding +func (tr *TagValueIAMBinding) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagValueIAMBinding +func (tr *TagValueIAMBinding) SetObservation(obs map[string]interface{}) 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 TagValueIAMBinding +func (tr *TagValueIAMBinding) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagValueIAMBinding +func (tr *TagValueIAMBinding) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagValueIAMBinding +func (tr *TagValueIAMBinding) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagValueIAMBinding using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagValueIAMBinding) LateInitialize(attrs []byte) (bool, error) { + params := &TagValueIAMBindingParameters{} + 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 *TagValueIAMBinding) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/tags/v1alpha1/zz_tagvalueiambinding_types.go b/apis/tags/v1alpha1/zz_tagvalueiambinding_types.go new file mode 100755 index 00000000..ca5a209f --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagvalueiambinding_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TagValueIAMBindingConditionObservation struct { +} + +type TagValueIAMBindingConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TagValueIAMBindingObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TagValueIAMBindingParameters struct { + + // +kubebuilder:validation:Optional + Condition []TagValueIAMBindingConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Members []*string `json:"members" tf:"members,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + TagValue *string `json:"tagValue" tf:"tag_value,omitempty"` +} + +// TagValueIAMBindingSpec defines the desired state of TagValueIAMBinding +type TagValueIAMBindingSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagValueIAMBindingParameters `json:"forProvider"` +} + +// TagValueIAMBindingStatus defines the observed state of TagValueIAMBinding. +type TagValueIAMBindingStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagValueIAMBindingObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagValueIAMBinding is the Schema for the TagValueIAMBindings 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,gcpjet} +type TagValueIAMBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagValueIAMBindingSpec `json:"spec"` + Status TagValueIAMBindingStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagValueIAMBindingList contains a list of TagValueIAMBindings +type TagValueIAMBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagValueIAMBinding `json:"items"` +} + +// Repository type metadata. +var ( + TagValueIAMBinding_Kind = "TagValueIAMBinding" + TagValueIAMBinding_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagValueIAMBinding_Kind}.String() + TagValueIAMBinding_KindAPIVersion = TagValueIAMBinding_Kind + "." + CRDGroupVersion.String() + TagValueIAMBinding_GroupVersionKind = CRDGroupVersion.WithKind(TagValueIAMBinding_Kind) +) + +func init() { + SchemeBuilder.Register(&TagValueIAMBinding{}, &TagValueIAMBindingList{}) +} diff --git a/apis/tags/v1alpha1/zz_tagvalueiammember_terraformed.go b/apis/tags/v1alpha1/zz_tagvalueiammember_terraformed.go new file mode 100755 index 00000000..06be5bc0 --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagvalueiammember_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TagValueIAMMember +func (mg *TagValueIAMMember) GetTerraformResourceType() string { + return "google_tags_tag_value_iam_member" +} + +// GetConnectionDetailsMapping for this TagValueIAMMember +func (tr *TagValueIAMMember) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagValueIAMMember +func (tr *TagValueIAMMember) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagValueIAMMember +func (tr *TagValueIAMMember) SetObservation(obs map[string]interface{}) 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 TagValueIAMMember +func (tr *TagValueIAMMember) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagValueIAMMember +func (tr *TagValueIAMMember) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagValueIAMMember +func (tr *TagValueIAMMember) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagValueIAMMember using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagValueIAMMember) LateInitialize(attrs []byte) (bool, error) { + params := &TagValueIAMMemberParameters{} + 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 *TagValueIAMMember) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/tags/v1alpha1/zz_tagvalueiammember_types.go b/apis/tags/v1alpha1/zz_tagvalueiammember_types.go new file mode 100755 index 00000000..1100b449 --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagvalueiammember_types.go @@ -0,0 +1,111 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TagValueIAMMemberConditionObservation struct { +} + +type TagValueIAMMemberConditionParameters struct { + + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // +kubebuilder:validation:Required + Expression *string `json:"expression" tf:"expression,omitempty"` + + // +kubebuilder:validation:Required + Title *string `json:"title" tf:"title,omitempty"` +} + +type TagValueIAMMemberObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TagValueIAMMemberParameters struct { + + // +kubebuilder:validation:Optional + Condition []TagValueIAMMemberConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"` + + // +kubebuilder:validation:Required + Member *string `json:"member" tf:"member,omitempty"` + + // +kubebuilder:validation:Required + Role *string `json:"role" tf:"role,omitempty"` + + // +kubebuilder:validation:Required + TagValue *string `json:"tagValue" tf:"tag_value,omitempty"` +} + +// TagValueIAMMemberSpec defines the desired state of TagValueIAMMember +type TagValueIAMMemberSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagValueIAMMemberParameters `json:"forProvider"` +} + +// TagValueIAMMemberStatus defines the observed state of TagValueIAMMember. +type TagValueIAMMemberStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagValueIAMMemberObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagValueIAMMember is the Schema for the TagValueIAMMembers 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,gcpjet} +type TagValueIAMMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagValueIAMMemberSpec `json:"spec"` + Status TagValueIAMMemberStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagValueIAMMemberList contains a list of TagValueIAMMembers +type TagValueIAMMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagValueIAMMember `json:"items"` +} + +// Repository type metadata. +var ( + TagValueIAMMember_Kind = "TagValueIAMMember" + TagValueIAMMember_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagValueIAMMember_Kind}.String() + TagValueIAMMember_KindAPIVersion = TagValueIAMMember_Kind + "." + CRDGroupVersion.String() + TagValueIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(TagValueIAMMember_Kind) +) + +func init() { + SchemeBuilder.Register(&TagValueIAMMember{}, &TagValueIAMMemberList{}) +} diff --git a/apis/tags/v1alpha1/zz_tagvalueiampolicy_terraformed.go b/apis/tags/v1alpha1/zz_tagvalueiampolicy_terraformed.go new file mode 100755 index 00000000..40342aec --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagvalueiampolicy_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this TagValueIAMPolicy +func (mg *TagValueIAMPolicy) GetTerraformResourceType() string { + return "google_tags_tag_value_iam_policy" +} + +// GetConnectionDetailsMapping for this TagValueIAMPolicy +func (tr *TagValueIAMPolicy) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this TagValueIAMPolicy +func (tr *TagValueIAMPolicy) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this TagValueIAMPolicy +func (tr *TagValueIAMPolicy) SetObservation(obs map[string]interface{}) 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 TagValueIAMPolicy +func (tr *TagValueIAMPolicy) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this TagValueIAMPolicy +func (tr *TagValueIAMPolicy) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this TagValueIAMPolicy +func (tr *TagValueIAMPolicy) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this TagValueIAMPolicy using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *TagValueIAMPolicy) LateInitialize(attrs []byte) (bool, error) { + params := &TagValueIAMPolicyParameters{} + 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 *TagValueIAMPolicy) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/tags/v1alpha1/zz_tagvalueiampolicy_types.go b/apis/tags/v1alpha1/zz_tagvalueiampolicy_types.go new file mode 100755 index 00000000..fa981abb --- /dev/null +++ b/apis/tags/v1alpha1/zz_tagvalueiampolicy_types.go @@ -0,0 +1,90 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 TagValueIAMPolicyObservation struct { + Etag *string `json:"etag,omitempty" tf:"etag,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type TagValueIAMPolicyParameters struct { + + // +kubebuilder:validation:Required + PolicyData *string `json:"policyData" tf:"policy_data,omitempty"` + + // +kubebuilder:validation:Required + TagValue *string `json:"tagValue" tf:"tag_value,omitempty"` +} + +// TagValueIAMPolicySpec defines the desired state of TagValueIAMPolicy +type TagValueIAMPolicySpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider TagValueIAMPolicyParameters `json:"forProvider"` +} + +// TagValueIAMPolicyStatus defines the observed state of TagValueIAMPolicy. +type TagValueIAMPolicyStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider TagValueIAMPolicyObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagValueIAMPolicy is the Schema for the TagValueIAMPolicys 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,gcpjet} +type TagValueIAMPolicy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TagValueIAMPolicySpec `json:"spec"` + Status TagValueIAMPolicyStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// TagValueIAMPolicyList contains a list of TagValueIAMPolicys +type TagValueIAMPolicyList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TagValueIAMPolicy `json:"items"` +} + +// Repository type metadata. +var ( + TagValueIAMPolicy_Kind = "TagValueIAMPolicy" + TagValueIAMPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TagValueIAMPolicy_Kind}.String() + TagValueIAMPolicy_KindAPIVersion = TagValueIAMPolicy_Kind + "." + CRDGroupVersion.String() + TagValueIAMPolicy_GroupVersionKind = CRDGroupVersion.WithKind(TagValueIAMPolicy_Kind) +) + +func init() { + SchemeBuilder.Register(&TagValueIAMPolicy{}, &TagValueIAMPolicyList{}) +} diff --git a/apis/tpu/v1alpha1/zz_generated.deepcopy.go b/apis/tpu/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..adbeaa90 --- /dev/null +++ b/apis/tpu/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,307 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkEndpointsObservation) DeepCopyInto(out *NetworkEndpointsObservation) { + *out = *in + if in.IPAddress != nil { + in, out := &in.IPAddress, &out.IPAddress + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(int64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkEndpointsObservation. +func (in *NetworkEndpointsObservation) DeepCopy() *NetworkEndpointsObservation { + if in == nil { + return nil + } + out := new(NetworkEndpointsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkEndpointsParameters) DeepCopyInto(out *NetworkEndpointsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkEndpointsParameters. +func (in *NetworkEndpointsParameters) DeepCopy() *NetworkEndpointsParameters { + if in == nil { + return nil + } + out := new(NetworkEndpointsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Node) DeepCopyInto(out *Node) { + *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 Node. +func (in *Node) DeepCopy() *Node { + if in == nil { + return nil + } + out := new(Node) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Node) 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 *NodeList) DeepCopyInto(out *NodeList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Node, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeList. +func (in *NodeList) DeepCopy() *NodeList { + if in == nil { + return nil + } + out := new(NodeList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NodeList) 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 *NodeObservation) DeepCopyInto(out *NodeObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.NetworkEndpoints != nil { + in, out := &in.NetworkEndpoints, &out.NetworkEndpoints + *out = make([]NetworkEndpointsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeObservation. +func (in *NodeObservation) DeepCopy() *NodeObservation { + if in == nil { + return nil + } + out := new(NodeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeParameters) DeepCopyInto(out *NodeParameters) { + *out = *in + if in.AcceleratorType != nil { + in, out := &in.AcceleratorType, &out.AcceleratorType + *out = new(string) + **out = **in + } + if in.CidrBlock != nil { + in, out := &in.CidrBlock, &out.CidrBlock + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.SchedulingConfig != nil { + in, out := &in.SchedulingConfig, &out.SchedulingConfig + *out = make([]SchedulingConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TensorflowVersion != nil { + in, out := &in.TensorflowVersion, &out.TensorflowVersion + *out = new(string) + **out = **in + } + if in.UseServiceNetworking != nil { + in, out := &in.UseServiceNetworking, &out.UseServiceNetworking + *out = new(bool) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeParameters. +func (in *NodeParameters) DeepCopy() *NodeParameters { + if in == nil { + return nil + } + out := new(NodeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeSpec) DeepCopyInto(out *NodeSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSpec. +func (in *NodeSpec) DeepCopy() *NodeSpec { + if in == nil { + return nil + } + out := new(NodeSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeStatus) DeepCopyInto(out *NodeStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatus. +func (in *NodeStatus) DeepCopy() *NodeStatus { + if in == nil { + return nil + } + out := new(NodeStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchedulingConfigObservation) DeepCopyInto(out *SchedulingConfigObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingConfigObservation. +func (in *SchedulingConfigObservation) DeepCopy() *SchedulingConfigObservation { + if in == nil { + return nil + } + out := new(SchedulingConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchedulingConfigParameters) DeepCopyInto(out *SchedulingConfigParameters) { + *out = *in + if in.Preemptible != nil { + in, out := &in.Preemptible, &out.Preemptible + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingConfigParameters. +func (in *SchedulingConfigParameters) DeepCopy() *SchedulingConfigParameters { + if in == nil { + return nil + } + out := new(SchedulingConfigParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/tpu/v1alpha1/zz_generated.managed.go b/apis/tpu/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..45978d37 --- /dev/null +++ b/apis/tpu/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Node. +func (mg *Node) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Node. +func (mg *Node) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Node. +func (mg *Node) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Node. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Node) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Node. +func (mg *Node) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Node. +func (mg *Node) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Node. +func (mg *Node) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Node. +func (mg *Node) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Node. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Node) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Node. +func (mg *Node) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/tpu/v1alpha1/zz_generated.managedlist.go b/apis/tpu/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..ec449a18 --- /dev/null +++ b/apis/tpu/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this NodeList. +func (l *NodeList) 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/tpu/v1alpha1/zz_groupversion_info.go b/apis/tpu/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..34b305ba --- /dev/null +++ b/apis/tpu/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=tpu.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "tpu.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/tpu/v1alpha1/zz_node_terraformed.go b/apis/tpu/v1alpha1/zz_node_terraformed.go new file mode 100755 index 00000000..c6d13d10 --- /dev/null +++ b/apis/tpu/v1alpha1/zz_node_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Node +func (mg *Node) GetTerraformResourceType() string { + return "google_tpu_node" +} + +// GetConnectionDetailsMapping for this Node +func (tr *Node) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Node +func (tr *Node) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Node +func (tr *Node) SetObservation(obs map[string]interface{}) 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 Node +func (tr *Node) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Node +func (tr *Node) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Node +func (tr *Node) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Node using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Node) LateInitialize(attrs []byte) (bool, error) { + params := &NodeParameters{} + 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 *Node) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/tpu/v1alpha1/zz_node_types.go b/apis/tpu/v1alpha1/zz_node_types.go new file mode 100755 index 00000000..766c35fb --- /dev/null +++ b/apis/tpu/v1alpha1/zz_node_types.go @@ -0,0 +1,162 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 NetworkEndpointsObservation struct { + IPAddress *string `json:"ipAddress,omitempty" tf:"ip_address,omitempty"` + + Port *int64 `json:"port,omitempty" tf:"port,omitempty"` +} + +type NetworkEndpointsParameters struct { +} + +type NodeObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + NetworkEndpoints []NetworkEndpointsObservation `json:"networkEndpoints,omitempty" tf:"network_endpoints,omitempty"` + + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` +} + +type NodeParameters struct { + + // The type of hardware accelerators associated with this node. + // +kubebuilder:validation:Required + AcceleratorType *string `json:"acceleratorType" tf:"accelerator_type,omitempty"` + + // The CIDR block that the TPU node will use when selecting an IP + // address. This CIDR block must be a /29 block; the Compute Engine + // networks API forbids a smaller block, and using a larger block would + // be wasteful (a node can only consume one IP address). + // + // Errors will occur if the CIDR block has already been used for a + // currently existing TPU node, the CIDR block conflicts with any + // subnetworks in the user's provided network, or the provided network + // is peered with another network that is using that CIDR block. + // +kubebuilder:validation:Optional + CidrBlock *string `json:"cidrBlock,omitempty" tf:"cidr_block,omitempty"` + + // The user-supplied description of the TPU. Maximum of 512 characters. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Resource labels to represent user provided metadata. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // The immutable name of the TPU. + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // The name of a network to peer the TPU node to. It must be a + // preexisting Compute Engine network inside of the project on which + // this API has been activated. If none is provided, "default" will be + // used. + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Sets the scheduling options for this TPU instance. + // +kubebuilder:validation:Optional + SchedulingConfig []SchedulingConfigParameters `json:"schedulingConfig,omitempty" tf:"scheduling_config,omitempty"` + + // The version of Tensorflow running in the Node. + // +kubebuilder:validation:Required + TensorflowVersion *string `json:"tensorflowVersion" tf:"tensorflow_version,omitempty"` + + // Whether the VPC peering for the node is set up through Service Networking API. + // The VPC Peering should be set up before provisioning the node. If this field is set, + // cidr_block field should not be specified. If the network that you want to peer the + // TPU Node to is a Shared VPC network, the node must be created with this this field enabled. + // +kubebuilder:validation:Optional + UseServiceNetworking *bool `json:"useServiceNetworking,omitempty" tf:"use_service_networking,omitempty"` + + // The GCP location for the TPU. If it is not provided, the provider zone is used. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type SchedulingConfigObservation struct { +} + +type SchedulingConfigParameters struct { + + // Defines whether the TPU instance is preemptible. + // +kubebuilder:validation:Required + Preemptible *bool `json:"preemptible" tf:"preemptible,omitempty"` +} + +// NodeSpec defines the desired state of Node +type NodeSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider NodeParameters `json:"forProvider"` +} + +// NodeStatus defines the observed state of Node. +type NodeStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider NodeObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Node is the Schema for the Nodes 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,gcpjet} +type Node struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec NodeSpec `json:"spec"` + Status NodeStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// NodeList contains a list of Nodes +type NodeList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Node `json:"items"` +} + +// Repository type metadata. +var ( + Node_Kind = "Node" + Node_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Node_Kind}.String() + Node_KindAPIVersion = Node_Kind + "." + CRDGroupVersion.String() + Node_GroupVersionKind = CRDGroupVersion.WithKind(Node_Kind) +) + +func init() { + SchemeBuilder.Register(&Node{}, &NodeList{}) +} diff --git a/apis/vertexai/v1alpha1/zz_dataset_terraformed.go b/apis/vertexai/v1alpha1/zz_dataset_terraformed.go new file mode 100755 index 00000000..4defc186 --- /dev/null +++ b/apis/vertexai/v1alpha1/zz_dataset_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Dataset +func (mg *Dataset) GetTerraformResourceType() string { + return "google_vertex_ai_dataset" +} + +// GetConnectionDetailsMapping for this Dataset +func (tr *Dataset) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Dataset +func (tr *Dataset) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Dataset +func (tr *Dataset) SetObservation(obs map[string]interface{}) 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 Dataset +func (tr *Dataset) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Dataset +func (tr *Dataset) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Dataset +func (tr *Dataset) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Dataset using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Dataset) LateInitialize(attrs []byte) (bool, error) { + params := &DatasetParameters{} + 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 *Dataset) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/vertexai/v1alpha1/zz_dataset_types.go b/apis/vertexai/v1alpha1/zz_dataset_types.go new file mode 100755 index 00000000..951d7072 --- /dev/null +++ b/apis/vertexai/v1alpha1/zz_dataset_types.go @@ -0,0 +1,122 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 DatasetObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type DatasetParameters struct { + + // The user-defined name of the Dataset. The name can be up to 128 characters long and can be consist of any UTF-8 characters. + // +kubebuilder:validation:Required + DisplayName *string `json:"displayName" tf:"display_name,omitempty"` + + // Customer-managed encryption key spec for a Dataset. If set, this Dataset and all sub-resources of this Dataset will be secured by this key. + // +kubebuilder:validation:Optional + EncryptionSpec []EncryptionSpecParameters `json:"encryptionSpec,omitempty" tf:"encryption_spec,omitempty"` + + // A set of key/value label pairs to assign to this Workflow. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Points to a YAML file stored on Google Cloud Storage describing additional information about the Dataset. The schema is defined as an OpenAPI 3.0.2 Schema Object. The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/metadata/. + // +kubebuilder:validation:Required + MetadataSchemaURI *string `json:"metadataSchemaUri" tf:"metadata_schema_uri,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The region of the dataset. eg us-central1 + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +type EncryptionSpecObservation struct { +} + +type EncryptionSpecParameters struct { + + // Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. + // Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the resource is created. + // +kubebuilder:validation:Optional + KMSKeyName *string `json:"kmsKeyName,omitempty" tf:"kms_key_name,omitempty"` +} + +// DatasetSpec defines the desired state of Dataset +type DatasetSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider DatasetParameters `json:"forProvider"` +} + +// DatasetStatus defines the observed state of Dataset. +type DatasetStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider DatasetObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Dataset is the Schema for the Datasets 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,gcpjet} +type Dataset struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec DatasetSpec `json:"spec"` + Status DatasetStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// DatasetList contains a list of Datasets +type DatasetList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Dataset `json:"items"` +} + +// Repository type metadata. +var ( + Dataset_Kind = "Dataset" + Dataset_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Dataset_Kind}.String() + Dataset_KindAPIVersion = Dataset_Kind + "." + CRDGroupVersion.String() + Dataset_GroupVersionKind = CRDGroupVersion.WithKind(Dataset_Kind) +) + +func init() { + SchemeBuilder.Register(&Dataset{}, &DatasetList{}) +} diff --git a/apis/vertexai/v1alpha1/zz_generated.deepcopy.go b/apis/vertexai/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..7048062f --- /dev/null +++ b/apis/vertexai/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,245 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Dataset) DeepCopyInto(out *Dataset) { + *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 Dataset. +func (in *Dataset) DeepCopy() *Dataset { + if in == nil { + return nil + } + out := new(Dataset) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Dataset) 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 *DatasetList) DeepCopyInto(out *DatasetList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Dataset, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetList. +func (in *DatasetList) DeepCopy() *DatasetList { + if in == nil { + return nil + } + out := new(DatasetList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DatasetList) 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 *DatasetObservation) DeepCopyInto(out *DatasetObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *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.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetObservation. +func (in *DatasetObservation) DeepCopy() *DatasetObservation { + if in == nil { + return nil + } + out := new(DatasetObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetParameters) DeepCopyInto(out *DatasetParameters) { + *out = *in + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.EncryptionSpec != nil { + in, out := &in.EncryptionSpec, &out.EncryptionSpec + *out = make([]EncryptionSpecParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.MetadataSchemaURI != nil { + in, out := &in.MetadataSchemaURI, &out.MetadataSchemaURI + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetParameters. +func (in *DatasetParameters) DeepCopy() *DatasetParameters { + if in == nil { + return nil + } + out := new(DatasetParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetSpec) DeepCopyInto(out *DatasetSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetSpec. +func (in *DatasetSpec) DeepCopy() *DatasetSpec { + if in == nil { + return nil + } + out := new(DatasetSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatasetStatus) DeepCopyInto(out *DatasetStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetStatus. +func (in *DatasetStatus) DeepCopy() *DatasetStatus { + if in == nil { + return nil + } + out := new(DatasetStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionSpecObservation) DeepCopyInto(out *EncryptionSpecObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionSpecObservation. +func (in *EncryptionSpecObservation) DeepCopy() *EncryptionSpecObservation { + if in == nil { + return nil + } + out := new(EncryptionSpecObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionSpecParameters) DeepCopyInto(out *EncryptionSpecParameters) { + *out = *in + if in.KMSKeyName != nil { + in, out := &in.KMSKeyName, &out.KMSKeyName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionSpecParameters. +func (in *EncryptionSpecParameters) DeepCopy() *EncryptionSpecParameters { + if in == nil { + return nil + } + out := new(EncryptionSpecParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/vertexai/v1alpha1/zz_generated.managed.go b/apis/vertexai/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..88bfa976 --- /dev/null +++ b/apis/vertexai/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Dataset. +func (mg *Dataset) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Dataset. +func (mg *Dataset) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Dataset. +func (mg *Dataset) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Dataset. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Dataset) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Dataset. +func (mg *Dataset) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Dataset. +func (mg *Dataset) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Dataset. +func (mg *Dataset) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Dataset. +func (mg *Dataset) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Dataset. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Dataset) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Dataset. +func (mg *Dataset) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/vertexai/v1alpha1/zz_generated.managedlist.go b/apis/vertexai/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..2ae3d522 --- /dev/null +++ b/apis/vertexai/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this DatasetList. +func (l *DatasetList) 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/vertexai/v1alpha1/zz_groupversion_info.go b/apis/vertexai/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..9aa6a739 --- /dev/null +++ b/apis/vertexai/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=vertexai.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "vertexai.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/vpcaccess/v1alpha1/zz_connector_terraformed.go b/apis/vpcaccess/v1alpha1/zz_connector_terraformed.go new file mode 100755 index 00000000..e70ffc8d --- /dev/null +++ b/apis/vpcaccess/v1alpha1/zz_connector_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Connector +func (mg *Connector) GetTerraformResourceType() string { + return "google_vpc_access_connector" +} + +// GetConnectionDetailsMapping for this Connector +func (tr *Connector) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Connector +func (tr *Connector) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Connector +func (tr *Connector) SetObservation(obs map[string]interface{}) 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 Connector +func (tr *Connector) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Connector +func (tr *Connector) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Connector +func (tr *Connector) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Connector using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Connector) LateInitialize(attrs []byte) (bool, error) { + params := &ConnectorParameters{} + 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 *Connector) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/vpcaccess/v1alpha1/zz_connector_types.go b/apis/vpcaccess/v1alpha1/zz_connector_types.go new file mode 100755 index 00000000..de4794fb --- /dev/null +++ b/apis/vpcaccess/v1alpha1/zz_connector_types.go @@ -0,0 +1,113 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 ConnectorObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + SelfLink *string `json:"selfLink,omitempty" tf:"self_link,omitempty"` + + State *string `json:"state,omitempty" tf:"state,omitempty"` +} + +type ConnectorParameters struct { + + // The range of internal addresses that follows RFC 4632 notation. Example: '10.132.0.0/28'. + // +kubebuilder:validation:Optional + IPCidrRange *string `json:"ipCidrRange,omitempty" tf:"ip_cidr_range,omitempty"` + + // Maximum throughput of the connector in Mbps, must be greater than 'min_throughput'. Default is 300. + // +kubebuilder:validation:Optional + MaxThroughput *int64 `json:"maxThroughput,omitempty" tf:"max_throughput,omitempty"` + + // Minimum throughput of the connector in Mbps. Default and min is 200. + // +kubebuilder:validation:Optional + MinThroughput *int64 `json:"minThroughput,omitempty" tf:"min_throughput,omitempty"` + + // The name of the resource (Max 25 characters). + // +kubebuilder:validation:Required + Name *string `json:"name" tf:"name,omitempty"` + + // Name of the VPC network. Required if 'ip_cidr_range' is set. + // +kubebuilder:validation:Optional + Network *string `json:"network,omitempty" tf:"network,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // Region where the VPC Access connector resides. If it is not provided, the provider region is used. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` +} + +// ConnectorSpec defines the desired state of Connector +type ConnectorSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ConnectorParameters `json:"forProvider"` +} + +// ConnectorStatus defines the observed state of Connector. +type ConnectorStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ConnectorObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Connector is the Schema for the Connectors 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,gcpjet} +type Connector struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ConnectorSpec `json:"spec"` + Status ConnectorStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ConnectorList contains a list of Connectors +type ConnectorList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Connector `json:"items"` +} + +// Repository type metadata. +var ( + Connector_Kind = "Connector" + Connector_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Connector_Kind}.String() + Connector_KindAPIVersion = Connector_Kind + "." + CRDGroupVersion.String() + Connector_GroupVersionKind = CRDGroupVersion.WithKind(Connector_Kind) +) + +func init() { + SchemeBuilder.Register(&Connector{}, &ConnectorList{}) +} diff --git a/apis/vpcaccess/v1alpha1/zz_generated.deepcopy.go b/apis/vpcaccess/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..1c7ab78c --- /dev/null +++ b/apis/vpcaccess/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,198 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Connector) DeepCopyInto(out *Connector) { + *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 Connector. +func (in *Connector) DeepCopy() *Connector { + if in == nil { + return nil + } + out := new(Connector) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Connector) 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 *ConnectorList) DeepCopyInto(out *ConnectorList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Connector, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectorList. +func (in *ConnectorList) DeepCopy() *ConnectorList { + if in == nil { + return nil + } + out := new(ConnectorList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ConnectorList) 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 *ConnectorObservation) DeepCopyInto(out *ConnectorObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.SelfLink != nil { + in, out := &in.SelfLink, &out.SelfLink + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectorObservation. +func (in *ConnectorObservation) DeepCopy() *ConnectorObservation { + if in == nil { + return nil + } + out := new(ConnectorObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectorParameters) DeepCopyInto(out *ConnectorParameters) { + *out = *in + if in.IPCidrRange != nil { + in, out := &in.IPCidrRange, &out.IPCidrRange + *out = new(string) + **out = **in + } + if in.MaxThroughput != nil { + in, out := &in.MaxThroughput, &out.MaxThroughput + *out = new(int64) + **out = **in + } + if in.MinThroughput != nil { + in, out := &in.MinThroughput, &out.MinThroughput + *out = new(int64) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectorParameters. +func (in *ConnectorParameters) DeepCopy() *ConnectorParameters { + if in == nil { + return nil + } + out := new(ConnectorParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectorSpec) DeepCopyInto(out *ConnectorSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectorSpec. +func (in *ConnectorSpec) DeepCopy() *ConnectorSpec { + if in == nil { + return nil + } + out := new(ConnectorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectorStatus) DeepCopyInto(out *ConnectorStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectorStatus. +func (in *ConnectorStatus) DeepCopy() *ConnectorStatus { + if in == nil { + return nil + } + out := new(ConnectorStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/vpcaccess/v1alpha1/zz_generated.managed.go b/apis/vpcaccess/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..f58e636a --- /dev/null +++ b/apis/vpcaccess/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Connector. +func (mg *Connector) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Connector. +func (mg *Connector) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Connector. +func (mg *Connector) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Connector. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Connector) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Connector. +func (mg *Connector) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Connector. +func (mg *Connector) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Connector. +func (mg *Connector) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Connector. +func (mg *Connector) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Connector. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Connector) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Connector. +func (mg *Connector) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/vpcaccess/v1alpha1/zz_generated.managedlist.go b/apis/vpcaccess/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..2a6882d2 --- /dev/null +++ b/apis/vpcaccess/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this ConnectorList. +func (l *ConnectorList) 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/vpcaccess/v1alpha1/zz_groupversion_info.go b/apis/vpcaccess/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..6e5150a2 --- /dev/null +++ b/apis/vpcaccess/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=vpcaccess.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "vpcaccess.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/workflows/v1alpha1/zz_generated.deepcopy.go b/apis/workflows/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000..c50259eb --- /dev/null +++ b/apis/workflows/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,223 @@ +// +build !ignore_autogenerated + +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Workflow) DeepCopyInto(out *Workflow) { + *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 Workflow. +func (in *Workflow) DeepCopy() *Workflow { + if in == nil { + return nil + } + out := new(Workflow) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Workflow) 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 *WorkflowList) DeepCopyInto(out *WorkflowList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Workflow, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowList. +func (in *WorkflowList) DeepCopy() *WorkflowList { + if in == nil { + return nil + } + out := new(WorkflowList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WorkflowList) 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 *WorkflowObservation) DeepCopyInto(out *WorkflowObservation) { + *out = *in + if in.CreateTime != nil { + in, out := &in.CreateTime, &out.CreateTime + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.RevisionID != nil { + in, out := &in.RevisionID, &out.RevisionID + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } + if in.UpdateTime != nil { + in, out := &in.UpdateTime, &out.UpdateTime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowObservation. +func (in *WorkflowObservation) DeepCopy() *WorkflowObservation { + if in == nil { + return nil + } + out := new(WorkflowObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkflowParameters) DeepCopyInto(out *WorkflowParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *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.NamePrefix != nil { + in, out := &in.NamePrefix, &out.NamePrefix + *out = new(string) + **out = **in + } + if in.Project != nil { + in, out := &in.Project, &out.Project + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.ServiceAccount != nil { + in, out := &in.ServiceAccount, &out.ServiceAccount + *out = new(string) + **out = **in + } + if in.SourceContents != nil { + in, out := &in.SourceContents, &out.SourceContents + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowParameters. +func (in *WorkflowParameters) DeepCopy() *WorkflowParameters { + if in == nil { + return nil + } + out := new(WorkflowParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowSpec. +func (in *WorkflowSpec) DeepCopy() *WorkflowSpec { + if in == nil { + return nil + } + out := new(WorkflowSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowStatus. +func (in *WorkflowStatus) DeepCopy() *WorkflowStatus { + if in == nil { + return nil + } + out := new(WorkflowStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/workflows/v1alpha1/zz_generated.managed.go b/apis/workflows/v1alpha1/zz_generated.managed.go new file mode 100644 index 00000000..36a84100 --- /dev/null +++ b/apis/workflows/v1alpha1/zz_generated.managed.go @@ -0,0 +1,76 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Workflow. +func (mg *Workflow) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Workflow. +func (mg *Workflow) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetProviderConfigReference of this Workflow. +func (mg *Workflow) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +/* +GetProviderReference of this Workflow. +Deprecated: Use GetProviderConfigReference. +*/ +func (mg *Workflow) GetProviderReference() *xpv1.Reference { + return mg.Spec.ProviderReference +} + +// GetWriteConnectionSecretToReference of this Workflow. +func (mg *Workflow) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Workflow. +func (mg *Workflow) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Workflow. +func (mg *Workflow) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetProviderConfigReference of this Workflow. +func (mg *Workflow) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +/* +SetProviderReference of this Workflow. +Deprecated: Use SetProviderConfigReference. +*/ +func (mg *Workflow) SetProviderReference(r *xpv1.Reference) { + mg.Spec.ProviderReference = r +} + +// SetWriteConnectionSecretToReference of this Workflow. +func (mg *Workflow) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/workflows/v1alpha1/zz_generated.managedlist.go b/apis/workflows/v1alpha1/zz_generated.managedlist.go new file mode 100644 index 00000000..0162325d --- /dev/null +++ b/apis/workflows/v1alpha1/zz_generated.managedlist.go @@ -0,0 +1,29 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1alpha1 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this WorkflowList. +func (l *WorkflowList) 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/workflows/v1alpha1/zz_groupversion_info.go b/apis/workflows/v1alpha1/zz_groupversion_info.go new file mode 100755 index 00000000..d67c2143 --- /dev/null +++ b/apis/workflows/v1alpha1/zz_groupversion_info.go @@ -0,0 +1,44 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=workflows.gcp.jet.crossplane.io +// +versionName=v1alpha1 +package v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "workflows.gcp.jet.crossplane.io" + CRDVersion = "v1alpha1" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/workflows/v1alpha1/zz_workflow_terraformed.go b/apis/workflows/v1alpha1/zz_workflow_terraformed.go new file mode 100755 index 00000000..901680a8 --- /dev/null +++ b/apis/workflows/v1alpha1/zz_workflow_terraformed.go @@ -0,0 +1,100 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package v1alpha1 + +import ( + "github.com/pkg/errors" + + "github.com/crossplane/terrajet/pkg/resource" + "github.com/crossplane/terrajet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Workflow +func (mg *Workflow) GetTerraformResourceType() string { + return "google_workflows_workflow" +} + +// GetConnectionDetailsMapping for this Workflow +func (tr *Workflow) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Workflow +func (tr *Workflow) GetObservation() (map[string]interface{}, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Workflow +func (tr *Workflow) SetObservation(obs map[string]interface{}) 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 Workflow +func (tr *Workflow) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Workflow +func (tr *Workflow) GetParameters() (map[string]interface{}, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]interface{}{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Workflow +func (tr *Workflow) SetParameters(params map[string]interface{}) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// LateInitialize this Workflow using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Workflow) LateInitialize(attrs []byte) (bool, error) { + params := &WorkflowParameters{} + 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 *Workflow) GetTerraformSchemaVersion() int { + return 1 +} diff --git a/apis/workflows/v1alpha1/zz_workflow_types.go b/apis/workflows/v1alpha1/zz_workflow_types.go new file mode 100755 index 00000000..9901d5d4 --- /dev/null +++ b/apis/workflows/v1alpha1/zz_workflow_types.go @@ -0,0 +1,123 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. 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 WorkflowObservation struct { + CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + RevisionID *string `json:"revisionId,omitempty" tf:"revision_id,omitempty"` + + State *string `json:"state,omitempty" tf:"state,omitempty"` + + UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"` +} + +type WorkflowParameters struct { + + // Description of the workflow provided by the user. Must be at most 1000 unicode characters long. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // A set of key/value label pairs to assign to this Workflow. + // +kubebuilder:validation:Optional + Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"` + + // Name of the Workflow. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + NamePrefix *string `json:"namePrefix,omitempty" tf:"name_prefix,omitempty"` + + // +kubebuilder:validation:Optional + Project *string `json:"project,omitempty" tf:"project,omitempty"` + + // The region of the workflow. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + + // Name of the service account associated with the latest workflow version. This service + // account represents the identity of the workflow and determines what permissions the workflow has. + // + // Format: projects/{project}/serviceAccounts/{account}. + // +kubebuilder:validation:Optional + ServiceAccount *string `json:"serviceAccount,omitempty" tf:"service_account,omitempty"` + + // Workflow code to be executed. The size limit is 32KB. + // +kubebuilder:validation:Optional + SourceContents *string `json:"sourceContents,omitempty" tf:"source_contents,omitempty"` +} + +// WorkflowSpec defines the desired state of Workflow +type WorkflowSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider WorkflowParameters `json:"forProvider"` +} + +// WorkflowStatus defines the observed state of Workflow. +type WorkflowStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider WorkflowObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true + +// Workflow is the Schema for the Workflows 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,gcpjet} +type Workflow struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec WorkflowSpec `json:"spec"` + Status WorkflowStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// WorkflowList contains a list of Workflows +type WorkflowList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Workflow `json:"items"` +} + +// Repository type metadata. +var ( + Workflow_Kind = "Workflow" + Workflow_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Workflow_Kind}.String() + Workflow_KindAPIVersion = Workflow_Kind + "." + CRDGroupVersion.String() + Workflow_GroupVersionKind = CRDGroupVersion.WithKind(Workflow_Kind) +) + +func init() { + SchemeBuilder.Register(&Workflow{}, &WorkflowList{}) +} diff --git a/apis/zz_register.go b/apis/zz_register.go index 98ca48c2..6f667a19 100755 --- a/apis/zz_register.go +++ b/apis/zz_register.go @@ -22,25 +22,163 @@ package apis import ( "k8s.io/apimachinery/pkg/runtime" + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/accessapproval/v1alpha1" + v1alpha1accesscontextmanager "github.com/crossplane-contrib/provider-jet-gcp/apis/accesscontextmanager/v1alpha1" + v1alpha1activedirectory "github.com/crossplane-contrib/provider-jet-gcp/apis/activedirectory/v1alpha1" + v1alpha1apigee "github.com/crossplane-contrib/provider-jet-gcp/apis/apigee/v1alpha1" + v1alpha1appengine "github.com/crossplane-contrib/provider-jet-gcp/apis/appengine/v1alpha1" + v1alpha1assuredworkloads "github.com/crossplane-contrib/provider-jet-gcp/apis/assuredworkloads/v1alpha1" + v1alpha1bigquery "github.com/crossplane-contrib/provider-jet-gcp/apis/bigquery/v1alpha1" + v1alpha1bigtable "github.com/crossplane-contrib/provider-jet-gcp/apis/bigtable/v1alpha1" + v1alpha1billing "github.com/crossplane-contrib/provider-jet-gcp/apis/billing/v1alpha1" + v1alpha1binaryauthorization "github.com/crossplane-contrib/provider-jet-gcp/apis/binaryauthorization/v1alpha1" + v1alpha1cloudasset "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudasset/v1alpha1" + v1alpha1cloudbuild "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudbuild/v1alpha1" + v1alpha1cloudfunctions "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudfunctions/v1alpha1" + v1alpha1cloudidentity "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudidentity/v1alpha1" + v1alpha1cloudiot "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudiot/v1alpha1" + v1alpha1cloudplatform "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" v1alpha2 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha2" + v1alpha1cloudrun "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudrun/v1alpha1" + v1alpha1cloudscheduler "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudscheduler/v1alpha1" + v1alpha1cloudtasks "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudtasks/v1alpha1" + v1alpha1composer "github.com/crossplane-contrib/provider-jet-gcp/apis/composer/v1alpha1" + v1alpha1compute "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" v1alpha2compute "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha2" + v1alpha1container "github.com/crossplane-contrib/provider-jet-gcp/apis/container/v1alpha1" v1alpha2container "github.com/crossplane-contrib/provider-jet-gcp/apis/container/v1alpha2" + v1alpha1containeranalysis "github.com/crossplane-contrib/provider-jet-gcp/apis/containeranalysis/v1alpha1" + v1alpha1datacatalog "github.com/crossplane-contrib/provider-jet-gcp/apis/datacatalog/v1alpha1" + v1alpha1dataflow "github.com/crossplane-contrib/provider-jet-gcp/apis/dataflow/v1alpha1" + v1alpha1datalossprevention "github.com/crossplane-contrib/provider-jet-gcp/apis/datalossprevention/v1alpha1" + v1alpha1dataproc "github.com/crossplane-contrib/provider-jet-gcp/apis/dataproc/v1alpha1" + v1alpha1datastore "github.com/crossplane-contrib/provider-jet-gcp/apis/datastore/v1alpha1" + v1alpha1deploymentmanager "github.com/crossplane-contrib/provider-jet-gcp/apis/deploymentmanager/v1alpha1" + v1alpha1dialogflow "github.com/crossplane-contrib/provider-jet-gcp/apis/dialogflow/v1alpha1" + v1alpha1dialogflowcx "github.com/crossplane-contrib/provider-jet-gcp/apis/dialogflowcx/v1alpha1" + v1alpha1dns "github.com/crossplane-contrib/provider-jet-gcp/apis/dns/v1alpha1" + v1alpha1endpoints "github.com/crossplane-contrib/provider-jet-gcp/apis/endpoints/v1alpha1" + v1alpha1essentialcontacts "github.com/crossplane-contrib/provider-jet-gcp/apis/essentialcontacts/v1alpha1" + v1alpha1eventarc "github.com/crossplane-contrib/provider-jet-gcp/apis/eventarc/v1alpha1" + v1alpha1filestore "github.com/crossplane-contrib/provider-jet-gcp/apis/filestore/v1alpha1" + v1alpha1firestore "github.com/crossplane-contrib/provider-jet-gcp/apis/firestore/v1alpha1" + v1alpha1gameservices "github.com/crossplane-contrib/provider-jet-gcp/apis/gameservices/v1alpha1" + v1alpha1gkehub "github.com/crossplane-contrib/provider-jet-gcp/apis/gkehub/v1alpha1" + v1alpha1healthcare "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" + v1alpha1iap "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" + v1alpha1identityplatform "github.com/crossplane-contrib/provider-jet-gcp/apis/identityplatform/v1alpha1" + v1alpha1kms "github.com/crossplane-contrib/provider-jet-gcp/apis/kms/v1alpha1" + v1alpha1logging "github.com/crossplane-contrib/provider-jet-gcp/apis/logging/v1alpha1" + v1alpha1memcache "github.com/crossplane-contrib/provider-jet-gcp/apis/memcache/v1alpha1" + v1alpha1mlengine "github.com/crossplane-contrib/provider-jet-gcp/apis/mlengine/v1alpha1" + v1alpha1monitoring "github.com/crossplane-contrib/provider-jet-gcp/apis/monitoring/v1alpha1" v1alpha2monitoring "github.com/crossplane-contrib/provider-jet-gcp/apis/monitoring/v1alpha2" + v1alpha1networkmanagement "github.com/crossplane-contrib/provider-jet-gcp/apis/networkmanagement/v1alpha1" + v1alpha1networkservices "github.com/crossplane-contrib/provider-jet-gcp/apis/networkservices/v1alpha1" + v1alpha1notebooks "github.com/crossplane-contrib/provider-jet-gcp/apis/notebooks/v1alpha1" + v1alpha1orgpolicy "github.com/crossplane-contrib/provider-jet-gcp/apis/orgpolicy/v1alpha1" + v1alpha1osconfig "github.com/crossplane-contrib/provider-jet-gcp/apis/osconfig/v1alpha1" + v1alpha1oslogin "github.com/crossplane-contrib/provider-jet-gcp/apis/oslogin/v1alpha1" + v1alpha1privateca "github.com/crossplane-contrib/provider-jet-gcp/apis/privateca/v1alpha1" + v1alpha1pubsub "github.com/crossplane-contrib/provider-jet-gcp/apis/pubsub/v1alpha1" + v1alpha1redis "github.com/crossplane-contrib/provider-jet-gcp/apis/redis/v1alpha1" + v1alpha1resourcemanager "github.com/crossplane-contrib/provider-jet-gcp/apis/resourcemanager/v1alpha1" + v1alpha1scc "github.com/crossplane-contrib/provider-jet-gcp/apis/scc/v1alpha1" + v1alpha1secretmanager "github.com/crossplane-contrib/provider-jet-gcp/apis/secretmanager/v1alpha1" + v1alpha1servicenetworking "github.com/crossplane-contrib/provider-jet-gcp/apis/servicenetworking/v1alpha1" + v1alpha1sourcerepo "github.com/crossplane-contrib/provider-jet-gcp/apis/sourcerepo/v1alpha1" + v1alpha1spanner "github.com/crossplane-contrib/provider-jet-gcp/apis/spanner/v1alpha1" v1alpha2sql "github.com/crossplane-contrib/provider-jet-gcp/apis/sql/v1alpha2" + v1alpha1storage "github.com/crossplane-contrib/provider-jet-gcp/apis/storage/v1alpha1" v1alpha2storage "github.com/crossplane-contrib/provider-jet-gcp/apis/storage/v1alpha2" - v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/v1alpha1" + v1alpha1storagetransfer "github.com/crossplane-contrib/provider-jet-gcp/apis/storagetransfer/v1alpha1" + v1alpha1tags "github.com/crossplane-contrib/provider-jet-gcp/apis/tags/v1alpha1" + v1alpha1tpu "github.com/crossplane-contrib/provider-jet-gcp/apis/tpu/v1alpha1" + v1alpha1apis "github.com/crossplane-contrib/provider-jet-gcp/apis/v1alpha1" + v1alpha1vertexai "github.com/crossplane-contrib/provider-jet-gcp/apis/vertexai/v1alpha1" + v1alpha1vpcaccess "github.com/crossplane-contrib/provider-jet-gcp/apis/vpcaccess/v1alpha1" + v1alpha1workflows "github.com/crossplane-contrib/provider-jet-gcp/apis/workflows/v1alpha1" ) func init() { // Register the types with the Scheme so the components can map objects to GroupVersionKinds and back AddToSchemes = append(AddToSchemes, + v1alpha1.SchemeBuilder.AddToScheme, + v1alpha1accesscontextmanager.SchemeBuilder.AddToScheme, + v1alpha1activedirectory.SchemeBuilder.AddToScheme, + v1alpha1apigee.SchemeBuilder.AddToScheme, + v1alpha1appengine.SchemeBuilder.AddToScheme, + v1alpha1assuredworkloads.SchemeBuilder.AddToScheme, + v1alpha1bigquery.SchemeBuilder.AddToScheme, + v1alpha1bigtable.SchemeBuilder.AddToScheme, + v1alpha1billing.SchemeBuilder.AddToScheme, + v1alpha1binaryauthorization.SchemeBuilder.AddToScheme, + v1alpha1cloudasset.SchemeBuilder.AddToScheme, + v1alpha1cloudbuild.SchemeBuilder.AddToScheme, + v1alpha1cloudfunctions.SchemeBuilder.AddToScheme, + v1alpha1cloudidentity.SchemeBuilder.AddToScheme, + v1alpha1cloudiot.SchemeBuilder.AddToScheme, + v1alpha1cloudplatform.SchemeBuilder.AddToScheme, v1alpha2.SchemeBuilder.AddToScheme, + v1alpha1cloudrun.SchemeBuilder.AddToScheme, + v1alpha1cloudscheduler.SchemeBuilder.AddToScheme, + v1alpha1cloudtasks.SchemeBuilder.AddToScheme, + v1alpha1composer.SchemeBuilder.AddToScheme, + v1alpha1compute.SchemeBuilder.AddToScheme, v1alpha2compute.SchemeBuilder.AddToScheme, + v1alpha1container.SchemeBuilder.AddToScheme, v1alpha2container.SchemeBuilder.AddToScheme, + v1alpha1containeranalysis.SchemeBuilder.AddToScheme, + v1alpha1datacatalog.SchemeBuilder.AddToScheme, + v1alpha1dataflow.SchemeBuilder.AddToScheme, + v1alpha1datalossprevention.SchemeBuilder.AddToScheme, + v1alpha1dataproc.SchemeBuilder.AddToScheme, + v1alpha1datastore.SchemeBuilder.AddToScheme, + v1alpha1deploymentmanager.SchemeBuilder.AddToScheme, + v1alpha1dialogflow.SchemeBuilder.AddToScheme, + v1alpha1dialogflowcx.SchemeBuilder.AddToScheme, + v1alpha1dns.SchemeBuilder.AddToScheme, + v1alpha1endpoints.SchemeBuilder.AddToScheme, + v1alpha1essentialcontacts.SchemeBuilder.AddToScheme, + v1alpha1eventarc.SchemeBuilder.AddToScheme, + v1alpha1filestore.SchemeBuilder.AddToScheme, + v1alpha1firestore.SchemeBuilder.AddToScheme, + v1alpha1gameservices.SchemeBuilder.AddToScheme, + v1alpha1gkehub.SchemeBuilder.AddToScheme, + v1alpha1healthcare.SchemeBuilder.AddToScheme, + v1alpha1iap.SchemeBuilder.AddToScheme, + v1alpha1identityplatform.SchemeBuilder.AddToScheme, + v1alpha1kms.SchemeBuilder.AddToScheme, + v1alpha1logging.SchemeBuilder.AddToScheme, + v1alpha1memcache.SchemeBuilder.AddToScheme, + v1alpha1mlengine.SchemeBuilder.AddToScheme, + v1alpha1monitoring.SchemeBuilder.AddToScheme, v1alpha2monitoring.SchemeBuilder.AddToScheme, + v1alpha1networkmanagement.SchemeBuilder.AddToScheme, + v1alpha1networkservices.SchemeBuilder.AddToScheme, + v1alpha1notebooks.SchemeBuilder.AddToScheme, + v1alpha1orgpolicy.SchemeBuilder.AddToScheme, + v1alpha1osconfig.SchemeBuilder.AddToScheme, + v1alpha1oslogin.SchemeBuilder.AddToScheme, + v1alpha1privateca.SchemeBuilder.AddToScheme, + v1alpha1pubsub.SchemeBuilder.AddToScheme, + v1alpha1redis.SchemeBuilder.AddToScheme, + v1alpha1resourcemanager.SchemeBuilder.AddToScheme, + v1alpha1scc.SchemeBuilder.AddToScheme, + v1alpha1secretmanager.SchemeBuilder.AddToScheme, + v1alpha1servicenetworking.SchemeBuilder.AddToScheme, + v1alpha1sourcerepo.SchemeBuilder.AddToScheme, + v1alpha1spanner.SchemeBuilder.AddToScheme, v1alpha2sql.SchemeBuilder.AddToScheme, + v1alpha1storage.SchemeBuilder.AddToScheme, v1alpha2storage.SchemeBuilder.AddToScheme, - v1alpha1.SchemeBuilder.AddToScheme, + v1alpha1storagetransfer.SchemeBuilder.AddToScheme, + v1alpha1tags.SchemeBuilder.AddToScheme, + v1alpha1tpu.SchemeBuilder.AddToScheme, + v1alpha1apis.SchemeBuilder.AddToScheme, + v1alpha1vertexai.SchemeBuilder.AddToScheme, + v1alpha1vpcaccess.SchemeBuilder.AddToScheme, + v1alpha1workflows.SchemeBuilder.AddToScheme, ) } diff --git a/internal/controller/accessapproval/foldersettings/zz_controller.go b/internal/controller/accessapproval/foldersettings/zz_controller.go new file mode 100755 index 00000000..5741fa52 --- /dev/null +++ b/internal/controller/accessapproval/foldersettings/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package foldersettings + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/accessapproval/v1alpha1" +) + +// Setup adds a controller that reconciles FolderSettings managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FolderSettings_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FolderSettings_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_folder_access_approval_settings"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FolderSettings{}). + Complete(r) +} diff --git a/internal/controller/accessapproval/organizationsettings/zz_controller.go b/internal/controller/accessapproval/organizationsettings/zz_controller.go new file mode 100755 index 00000000..4f4cbcdf --- /dev/null +++ b/internal/controller/accessapproval/organizationsettings/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package organizationsettings + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/accessapproval/v1alpha1" +) + +// Setup adds a controller that reconciles OrganizationSettings managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.OrganizationSettings_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.OrganizationSettings_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_organization_access_approval_settings"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.OrganizationSettings{}). + Complete(r) +} diff --git a/internal/controller/accessapproval/projectsettings/zz_controller.go b/internal/controller/accessapproval/projectsettings/zz_controller.go new file mode 100755 index 00000000..0ba4e219 --- /dev/null +++ b/internal/controller/accessapproval/projectsettings/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectsettings + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/accessapproval/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectSettings managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectSettings_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectSettings_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_project_access_approval_settings"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectSettings{}). + Complete(r) +} diff --git a/internal/controller/accesscontextmanager/accesslevel/zz_controller.go b/internal/controller/accesscontextmanager/accesslevel/zz_controller.go new file mode 100755 index 00000000..692d0299 --- /dev/null +++ b/internal/controller/accesscontextmanager/accesslevel/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package accesslevel + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/accesscontextmanager/v1alpha1" +) + +// Setup adds a controller that reconciles AccessLevel managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AccessLevel_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AccessLevel_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_access_context_manager_access_level"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AccessLevel{}). + Complete(r) +} diff --git a/internal/controller/accesscontextmanager/accesslevelcondition/zz_controller.go b/internal/controller/accesscontextmanager/accesslevelcondition/zz_controller.go new file mode 100755 index 00000000..70611b0c --- /dev/null +++ b/internal/controller/accesscontextmanager/accesslevelcondition/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package accesslevelcondition + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/accesscontextmanager/v1alpha1" +) + +// Setup adds a controller that reconciles AccessLevelCondition managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AccessLevelCondition_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AccessLevelCondition_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_access_context_manager_access_level_condition"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AccessLevelCondition{}). + Complete(r) +} diff --git a/internal/controller/accesscontextmanager/accesspolicy/zz_controller.go b/internal/controller/accesscontextmanager/accesspolicy/zz_controller.go new file mode 100755 index 00000000..43f2d7ee --- /dev/null +++ b/internal/controller/accesscontextmanager/accesspolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package accesspolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/accesscontextmanager/v1alpha1" +) + +// Setup adds a controller that reconciles AccessPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AccessPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AccessPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_access_context_manager_access_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AccessPolicy{}). + Complete(r) +} diff --git a/internal/controller/accesscontextmanager/gcpuseraccessbinding/zz_controller.go b/internal/controller/accesscontextmanager/gcpuseraccessbinding/zz_controller.go new file mode 100755 index 00000000..0b18c431 --- /dev/null +++ b/internal/controller/accesscontextmanager/gcpuseraccessbinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package gcpuseraccessbinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/accesscontextmanager/v1alpha1" +) + +// Setup adds a controller that reconciles GCPUserAccessBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.GCPUserAccessBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.GCPUserAccessBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_access_context_manager_gcp_user_access_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.GCPUserAccessBinding{}). + Complete(r) +} diff --git a/internal/controller/accesscontextmanager/serviceperimeter/zz_controller.go b/internal/controller/accesscontextmanager/serviceperimeter/zz_controller.go new file mode 100755 index 00000000..231f2d2f --- /dev/null +++ b/internal/controller/accesscontextmanager/serviceperimeter/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package serviceperimeter + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/accesscontextmanager/v1alpha1" +) + +// Setup adds a controller that reconciles ServicePerimeter managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServicePerimeter_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServicePerimeter_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_access_context_manager_service_perimeter"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServicePerimeter{}). + Complete(r) +} diff --git a/internal/controller/accesscontextmanager/serviceperimeterresource/zz_controller.go b/internal/controller/accesscontextmanager/serviceperimeterresource/zz_controller.go new file mode 100755 index 00000000..c0087a38 --- /dev/null +++ b/internal/controller/accesscontextmanager/serviceperimeterresource/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package serviceperimeterresource + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/accesscontextmanager/v1alpha1" +) + +// Setup adds a controller that reconciles ServicePerimeterResource managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServicePerimeterResource_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServicePerimeterResource_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_access_context_manager_service_perimeter_resource"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServicePerimeterResource{}). + Complete(r) +} diff --git a/internal/controller/activedirectory/domain/zz_controller.go b/internal/controller/activedirectory/domain/zz_controller.go new file mode 100755 index 00000000..2fdba276 --- /dev/null +++ b/internal/controller/activedirectory/domain/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package domain + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/activedirectory/v1alpha1" +) + +// Setup adds a controller that reconciles Domain managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Domain_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Domain_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_active_directory_domain"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Domain{}). + Complete(r) +} diff --git a/internal/controller/activedirectory/domaintrust/zz_controller.go b/internal/controller/activedirectory/domaintrust/zz_controller.go new file mode 100755 index 00000000..ab0cb819 --- /dev/null +++ b/internal/controller/activedirectory/domaintrust/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package domaintrust + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/activedirectory/v1alpha1" +) + +// Setup adds a controller that reconciles DomainTrust managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DomainTrust_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DomainTrust_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_active_directory_domain_trust"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DomainTrust{}). + Complete(r) +} diff --git a/internal/controller/apigee/envgroup/zz_controller.go b/internal/controller/apigee/envgroup/zz_controller.go new file mode 100755 index 00000000..b57e3948 --- /dev/null +++ b/internal/controller/apigee/envgroup/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package envgroup + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/apigee/v1alpha1" +) + +// Setup adds a controller that reconciles Envgroup managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Envgroup_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Envgroup_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_apigee_envgroup"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Envgroup{}). + Complete(r) +} diff --git a/internal/controller/apigee/envgroupattachment/zz_controller.go b/internal/controller/apigee/envgroupattachment/zz_controller.go new file mode 100755 index 00000000..61b1b5dd --- /dev/null +++ b/internal/controller/apigee/envgroupattachment/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package envgroupattachment + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/apigee/v1alpha1" +) + +// Setup adds a controller that reconciles EnvgroupAttachment managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.EnvgroupAttachment_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.EnvgroupAttachment_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_apigee_envgroup_attachment"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.EnvgroupAttachment{}). + Complete(r) +} diff --git a/internal/controller/apigee/environment/zz_controller.go b/internal/controller/apigee/environment/zz_controller.go new file mode 100755 index 00000000..73240fc1 --- /dev/null +++ b/internal/controller/apigee/environment/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package environment + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/apigee/v1alpha1" +) + +// Setup adds a controller that reconciles Environment managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Environment_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Environment_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_apigee_environment"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Environment{}). + Complete(r) +} diff --git a/internal/controller/apigee/instance/zz_controller.go b/internal/controller/apigee/instance/zz_controller.go new file mode 100755 index 00000000..4a7585cf --- /dev/null +++ b/internal/controller/apigee/instance/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instance + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/apigee/v1alpha1" +) + +// Setup adds a controller that reconciles Instance managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Instance_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Instance_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_apigee_instance"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Instance{}). + Complete(r) +} diff --git a/internal/controller/apigee/instanceattachment/zz_controller.go b/internal/controller/apigee/instanceattachment/zz_controller.go new file mode 100755 index 00000000..4bca4c39 --- /dev/null +++ b/internal/controller/apigee/instanceattachment/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instanceattachment + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/apigee/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceAttachment managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceAttachment_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceAttachment_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_apigee_instance_attachment"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceAttachment{}). + Complete(r) +} diff --git a/internal/controller/apigee/organization/zz_controller.go b/internal/controller/apigee/organization/zz_controller.go new file mode 100755 index 00000000..8d6b4e6d --- /dev/null +++ b/internal/controller/apigee/organization/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package organization + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/apigee/v1alpha1" +) + +// Setup adds a controller that reconciles Organization managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Organization_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Organization_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_apigee_organization"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Organization{}). + Complete(r) +} diff --git a/internal/controller/appengine/application/zz_controller.go b/internal/controller/appengine/application/zz_controller.go new file mode 100755 index 00000000..0a2a5452 --- /dev/null +++ b/internal/controller/appengine/application/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package application + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/appengine/v1alpha1" +) + +// Setup adds a controller that reconciles Application managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Application_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Application_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_app_engine_application"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Application{}). + Complete(r) +} diff --git a/internal/controller/appengine/applicationurldispatchrules/zz_controller.go b/internal/controller/appengine/applicationurldispatchrules/zz_controller.go new file mode 100755 index 00000000..35ece4a2 --- /dev/null +++ b/internal/controller/appengine/applicationurldispatchrules/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package applicationurldispatchrules + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/appengine/v1alpha1" +) + +// Setup adds a controller that reconciles ApplicationURLDispatchRules managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ApplicationURLDispatchRules_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ApplicationURLDispatchRules_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_app_engine_application_url_dispatch_rules"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ApplicationURLDispatchRules{}). + Complete(r) +} diff --git a/internal/controller/appengine/domainmapping/zz_controller.go b/internal/controller/appengine/domainmapping/zz_controller.go new file mode 100755 index 00000000..1170431f --- /dev/null +++ b/internal/controller/appengine/domainmapping/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package domainmapping + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/appengine/v1alpha1" +) + +// Setup adds a controller that reconciles DomainMapping managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DomainMapping_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DomainMapping_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_app_engine_domain_mapping"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DomainMapping{}). + Complete(r) +} diff --git a/internal/controller/appengine/firewallrule/zz_controller.go b/internal/controller/appengine/firewallrule/zz_controller.go new file mode 100755 index 00000000..6da724f5 --- /dev/null +++ b/internal/controller/appengine/firewallrule/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package firewallrule + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/appengine/v1alpha1" +) + +// Setup adds a controller that reconciles FirewallRule managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FirewallRule_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FirewallRule_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_app_engine_firewall_rule"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FirewallRule{}). + Complete(r) +} diff --git a/internal/controller/appengine/flexibleappversion/zz_controller.go b/internal/controller/appengine/flexibleappversion/zz_controller.go new file mode 100755 index 00000000..48f82212 --- /dev/null +++ b/internal/controller/appengine/flexibleappversion/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package flexibleappversion + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/appengine/v1alpha1" +) + +// Setup adds a controller that reconciles FlexibleAppVersion managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FlexibleAppVersion_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FlexibleAppVersion_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_app_engine_flexible_app_version"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FlexibleAppVersion{}). + Complete(r) +} diff --git a/internal/controller/appengine/servicenetworksettings/zz_controller.go b/internal/controller/appengine/servicenetworksettings/zz_controller.go new file mode 100755 index 00000000..bac57da9 --- /dev/null +++ b/internal/controller/appengine/servicenetworksettings/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package servicenetworksettings + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/appengine/v1alpha1" +) + +// Setup adds a controller that reconciles ServiceNetworkSettings managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServiceNetworkSettings_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServiceNetworkSettings_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_app_engine_service_network_settings"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServiceNetworkSettings{}). + Complete(r) +} diff --git a/internal/controller/appengine/servicesplittraffic/zz_controller.go b/internal/controller/appengine/servicesplittraffic/zz_controller.go new file mode 100755 index 00000000..6e2b0854 --- /dev/null +++ b/internal/controller/appengine/servicesplittraffic/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package servicesplittraffic + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/appengine/v1alpha1" +) + +// Setup adds a controller that reconciles ServiceSplitTraffic managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServiceSplitTraffic_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServiceSplitTraffic_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_app_engine_service_split_traffic"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServiceSplitTraffic{}). + Complete(r) +} diff --git a/internal/controller/appengine/standardappversion/zz_controller.go b/internal/controller/appengine/standardappversion/zz_controller.go new file mode 100755 index 00000000..141dba42 --- /dev/null +++ b/internal/controller/appengine/standardappversion/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package standardappversion + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/appengine/v1alpha1" +) + +// Setup adds a controller that reconciles StandardAppVersion managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.StandardAppVersion_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.StandardAppVersion_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_app_engine_standard_app_version"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.StandardAppVersion{}). + Complete(r) +} diff --git a/internal/controller/assuredworkloads/workload/zz_controller.go b/internal/controller/assuredworkloads/workload/zz_controller.go new file mode 100755 index 00000000..fd107469 --- /dev/null +++ b/internal/controller/assuredworkloads/workload/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package workload + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/assuredworkloads/v1alpha1" +) + +// Setup adds a controller that reconciles Workload managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Workload_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Workload_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_assured_workloads_workload"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Workload{}). + Complete(r) +} diff --git a/internal/controller/bigquery/dataset/zz_controller.go b/internal/controller/bigquery/dataset/zz_controller.go new file mode 100755 index 00000000..3ab5aaca --- /dev/null +++ b/internal/controller/bigquery/dataset/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package dataset + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigquery/v1alpha1" +) + +// Setup adds a controller that reconciles Dataset managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Dataset_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Dataset_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigquery_dataset"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Dataset{}). + Complete(r) +} diff --git a/internal/controller/bigquery/datasetaccess/zz_controller.go b/internal/controller/bigquery/datasetaccess/zz_controller.go new file mode 100755 index 00000000..fd3e2ec9 --- /dev/null +++ b/internal/controller/bigquery/datasetaccess/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package datasetaccess + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigquery/v1alpha1" +) + +// Setup adds a controller that reconciles DatasetAccess managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DatasetAccess_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DatasetAccess_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigquery_dataset_access"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DatasetAccess{}). + Complete(r) +} diff --git a/internal/controller/bigquery/datasetiambinding/zz_controller.go b/internal/controller/bigquery/datasetiambinding/zz_controller.go new file mode 100755 index 00000000..8e53ce76 --- /dev/null +++ b/internal/controller/bigquery/datasetiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package datasetiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigquery/v1alpha1" +) + +// Setup adds a controller that reconciles DatasetIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DatasetIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DatasetIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigquery_dataset_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DatasetIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/bigquery/datasetiammember/zz_controller.go b/internal/controller/bigquery/datasetiammember/zz_controller.go new file mode 100755 index 00000000..bca75d8a --- /dev/null +++ b/internal/controller/bigquery/datasetiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package datasetiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigquery/v1alpha1" +) + +// Setup adds a controller that reconciles DatasetIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DatasetIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DatasetIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigquery_dataset_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DatasetIAMMember{}). + Complete(r) +} diff --git a/internal/controller/bigquery/datasetiampolicy/zz_controller.go b/internal/controller/bigquery/datasetiampolicy/zz_controller.go new file mode 100755 index 00000000..1e4b903c --- /dev/null +++ b/internal/controller/bigquery/datasetiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package datasetiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigquery/v1alpha1" +) + +// Setup adds a controller that reconciles DatasetIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DatasetIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DatasetIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigquery_dataset_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DatasetIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/bigquery/datatransferconfig/zz_controller.go b/internal/controller/bigquery/datatransferconfig/zz_controller.go new file mode 100755 index 00000000..22a9a0b3 --- /dev/null +++ b/internal/controller/bigquery/datatransferconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package datatransferconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigquery/v1alpha1" +) + +// Setup adds a controller that reconciles DataTransferConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DataTransferConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DataTransferConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigquery_data_transfer_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DataTransferConfig{}). + Complete(r) +} diff --git a/internal/controller/bigquery/job/zz_controller.go b/internal/controller/bigquery/job/zz_controller.go new file mode 100755 index 00000000..f4eb1945 --- /dev/null +++ b/internal/controller/bigquery/job/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package job + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigquery/v1alpha1" +) + +// Setup adds a controller that reconciles Job managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Job_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Job_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigquery_job"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Job{}). + Complete(r) +} diff --git a/internal/controller/bigquery/reservation/zz_controller.go b/internal/controller/bigquery/reservation/zz_controller.go new file mode 100755 index 00000000..accd12f1 --- /dev/null +++ b/internal/controller/bigquery/reservation/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package reservation + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigquery/v1alpha1" +) + +// Setup adds a controller that reconciles Reservation managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Reservation_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Reservation_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigquery_reservation"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Reservation{}). + Complete(r) +} diff --git a/internal/controller/bigquery/routine/zz_controller.go b/internal/controller/bigquery/routine/zz_controller.go new file mode 100755 index 00000000..06fa80f6 --- /dev/null +++ b/internal/controller/bigquery/routine/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package routine + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigquery/v1alpha1" +) + +// Setup adds a controller that reconciles Routine managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Routine_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Routine_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigquery_routine"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Routine{}). + Complete(r) +} diff --git a/internal/controller/bigquery/table/zz_controller.go b/internal/controller/bigquery/table/zz_controller.go new file mode 100755 index 00000000..2174367f --- /dev/null +++ b/internal/controller/bigquery/table/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package table + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigquery/v1alpha1" +) + +// Setup adds a controller that reconciles Table managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Table_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Table_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigquery_table"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Table{}). + Complete(r) +} diff --git a/internal/controller/bigquery/tableiambinding/zz_controller.go b/internal/controller/bigquery/tableiambinding/zz_controller.go new file mode 100755 index 00000000..a78f3474 --- /dev/null +++ b/internal/controller/bigquery/tableiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tableiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigquery/v1alpha1" +) + +// Setup adds a controller that reconciles TableIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TableIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TableIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigquery_table_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TableIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/bigquery/tableiammember/zz_controller.go b/internal/controller/bigquery/tableiammember/zz_controller.go new file mode 100755 index 00000000..a1aa1b70 --- /dev/null +++ b/internal/controller/bigquery/tableiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tableiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigquery/v1alpha1" +) + +// Setup adds a controller that reconciles TableIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TableIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TableIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigquery_table_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TableIAMMember{}). + Complete(r) +} diff --git a/internal/controller/bigquery/tableiampolicy/zz_controller.go b/internal/controller/bigquery/tableiampolicy/zz_controller.go new file mode 100755 index 00000000..e4d268ac --- /dev/null +++ b/internal/controller/bigquery/tableiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tableiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigquery/v1alpha1" +) + +// Setup adds a controller that reconciles TableIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TableIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TableIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigquery_table_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TableIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/bigtable/appprofile/zz_controller.go b/internal/controller/bigtable/appprofile/zz_controller.go new file mode 100755 index 00000000..c8075e12 --- /dev/null +++ b/internal/controller/bigtable/appprofile/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package appprofile + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigtable/v1alpha1" +) + +// Setup adds a controller that reconciles AppProfile managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AppProfile_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AppProfile_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigtable_app_profile"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AppProfile{}). + Complete(r) +} diff --git a/internal/controller/bigtable/garbagecollectionpolicy/zz_controller.go b/internal/controller/bigtable/garbagecollectionpolicy/zz_controller.go new file mode 100755 index 00000000..337dc836 --- /dev/null +++ b/internal/controller/bigtable/garbagecollectionpolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package garbagecollectionpolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigtable/v1alpha1" +) + +// Setup adds a controller that reconciles GarbageCollectionPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.GarbageCollectionPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.GarbageCollectionPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigtable_gc_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.GarbageCollectionPolicy{}). + Complete(r) +} diff --git a/internal/controller/bigtable/instance/zz_controller.go b/internal/controller/bigtable/instance/zz_controller.go new file mode 100755 index 00000000..eb3fb3ac --- /dev/null +++ b/internal/controller/bigtable/instance/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instance + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigtable/v1alpha1" +) + +// Setup adds a controller that reconciles Instance managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Instance_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Instance_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigtable_instance"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Instance{}). + Complete(r) +} diff --git a/internal/controller/bigtable/instanceiambinding/zz_controller.go b/internal/controller/bigtable/instanceiambinding/zz_controller.go new file mode 100755 index 00000000..5469c031 --- /dev/null +++ b/internal/controller/bigtable/instanceiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instanceiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigtable/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigtable_instance_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/bigtable/instanceiammember/zz_controller.go b/internal/controller/bigtable/instanceiammember/zz_controller.go new file mode 100755 index 00000000..878e4fe1 --- /dev/null +++ b/internal/controller/bigtable/instanceiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instanceiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigtable/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigtable_instance_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceIAMMember{}). + Complete(r) +} diff --git a/internal/controller/bigtable/instanceiampolicy/zz_controller.go b/internal/controller/bigtable/instanceiampolicy/zz_controller.go new file mode 100755 index 00000000..d32eb866 --- /dev/null +++ b/internal/controller/bigtable/instanceiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instanceiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigtable/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigtable_instance_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/bigtable/table/zz_controller.go b/internal/controller/bigtable/table/zz_controller.go new file mode 100755 index 00000000..840dca4d --- /dev/null +++ b/internal/controller/bigtable/table/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package table + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigtable/v1alpha1" +) + +// Setup adds a controller that reconciles Table managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Table_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Table_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigtable_table"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Table{}). + Complete(r) +} diff --git a/internal/controller/bigtable/tableiambinding/zz_controller.go b/internal/controller/bigtable/tableiambinding/zz_controller.go new file mode 100755 index 00000000..ae46a5a9 --- /dev/null +++ b/internal/controller/bigtable/tableiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tableiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigtable/v1alpha1" +) + +// Setup adds a controller that reconciles TableIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TableIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TableIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigtable_table_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TableIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/bigtable/tableiammember/zz_controller.go b/internal/controller/bigtable/tableiammember/zz_controller.go new file mode 100755 index 00000000..ebacab28 --- /dev/null +++ b/internal/controller/bigtable/tableiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tableiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigtable/v1alpha1" +) + +// Setup adds a controller that reconciles TableIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TableIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TableIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigtable_table_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TableIAMMember{}). + Complete(r) +} diff --git a/internal/controller/bigtable/tableiampolicy/zz_controller.go b/internal/controller/bigtable/tableiampolicy/zz_controller.go new file mode 100755 index 00000000..bcd10b5d --- /dev/null +++ b/internal/controller/bigtable/tableiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tableiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/bigtable/v1alpha1" +) + +// Setup adds a controller that reconciles TableIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TableIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TableIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_bigtable_table_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TableIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/billing/accountiambinding/zz_controller.go b/internal/controller/billing/accountiambinding/zz_controller.go new file mode 100755 index 00000000..aa3413c3 --- /dev/null +++ b/internal/controller/billing/accountiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package accountiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/billing/v1alpha1" +) + +// Setup adds a controller that reconciles AccountIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AccountIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AccountIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_billing_account_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AccountIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/billing/accountiammember/zz_controller.go b/internal/controller/billing/accountiammember/zz_controller.go new file mode 100755 index 00000000..634a5daf --- /dev/null +++ b/internal/controller/billing/accountiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package accountiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/billing/v1alpha1" +) + +// Setup adds a controller that reconciles AccountIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AccountIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AccountIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_billing_account_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AccountIAMMember{}). + Complete(r) +} diff --git a/internal/controller/billing/accountiampolicy/zz_controller.go b/internal/controller/billing/accountiampolicy/zz_controller.go new file mode 100755 index 00000000..ac4333ac --- /dev/null +++ b/internal/controller/billing/accountiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package accountiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/billing/v1alpha1" +) + +// Setup adds a controller that reconciles AccountIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AccountIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AccountIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_billing_account_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AccountIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/billing/budget/zz_controller.go b/internal/controller/billing/budget/zz_controller.go new file mode 100755 index 00000000..1d790551 --- /dev/null +++ b/internal/controller/billing/budget/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package budget + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/billing/v1alpha1" +) + +// Setup adds a controller that reconciles Budget managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Budget_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Budget_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_billing_budget"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Budget{}). + Complete(r) +} diff --git a/internal/controller/binaryauthorization/attestor/zz_controller.go b/internal/controller/binaryauthorization/attestor/zz_controller.go new file mode 100755 index 00000000..e53bdfb4 --- /dev/null +++ b/internal/controller/binaryauthorization/attestor/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package attestor + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/binaryauthorization/v1alpha1" +) + +// Setup adds a controller that reconciles Attestor managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Attestor_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Attestor_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_binary_authorization_attestor"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Attestor{}). + Complete(r) +} diff --git a/internal/controller/binaryauthorization/attestoriambinding/zz_controller.go b/internal/controller/binaryauthorization/attestoriambinding/zz_controller.go new file mode 100755 index 00000000..4d341410 --- /dev/null +++ b/internal/controller/binaryauthorization/attestoriambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package attestoriambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/binaryauthorization/v1alpha1" +) + +// Setup adds a controller that reconciles AttestorIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AttestorIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AttestorIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_binary_authorization_attestor_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AttestorIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/binaryauthorization/attestoriammember/zz_controller.go b/internal/controller/binaryauthorization/attestoriammember/zz_controller.go new file mode 100755 index 00000000..139e08cb --- /dev/null +++ b/internal/controller/binaryauthorization/attestoriammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package attestoriammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/binaryauthorization/v1alpha1" +) + +// Setup adds a controller that reconciles AttestorIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AttestorIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AttestorIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_binary_authorization_attestor_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AttestorIAMMember{}). + Complete(r) +} diff --git a/internal/controller/binaryauthorization/attestoriampolicy/zz_controller.go b/internal/controller/binaryauthorization/attestoriampolicy/zz_controller.go new file mode 100755 index 00000000..614145bb --- /dev/null +++ b/internal/controller/binaryauthorization/attestoriampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package attestoriampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/binaryauthorization/v1alpha1" +) + +// Setup adds a controller that reconciles AttestorIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AttestorIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AttestorIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_binary_authorization_attestor_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AttestorIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/binaryauthorization/policy/zz_controller.go b/internal/controller/binaryauthorization/policy/zz_controller.go new file mode 100755 index 00000000..80ffe9af --- /dev/null +++ b/internal/controller/binaryauthorization/policy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package policy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/binaryauthorization/v1alpha1" +) + +// Setup adds a controller that reconciles Policy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Policy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Policy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_binary_authorization_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Policy{}). + Complete(r) +} diff --git a/internal/controller/cloudasset/folderfeed/zz_controller.go b/internal/controller/cloudasset/folderfeed/zz_controller.go new file mode 100755 index 00000000..5852e704 --- /dev/null +++ b/internal/controller/cloudasset/folderfeed/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package folderfeed + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudasset/v1alpha1" +) + +// Setup adds a controller that reconciles FolderFeed managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FolderFeed_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FolderFeed_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloud_asset_folder_feed"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FolderFeed{}). + Complete(r) +} diff --git a/internal/controller/cloudasset/organizationfeed/zz_controller.go b/internal/controller/cloudasset/organizationfeed/zz_controller.go new file mode 100755 index 00000000..29046422 --- /dev/null +++ b/internal/controller/cloudasset/organizationfeed/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package organizationfeed + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudasset/v1alpha1" +) + +// Setup adds a controller that reconciles OrganizationFeed managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.OrganizationFeed_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.OrganizationFeed_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloud_asset_organization_feed"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.OrganizationFeed{}). + Complete(r) +} diff --git a/internal/controller/cloudasset/projectfeed/zz_controller.go b/internal/controller/cloudasset/projectfeed/zz_controller.go new file mode 100755 index 00000000..a0300990 --- /dev/null +++ b/internal/controller/cloudasset/projectfeed/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectfeed + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudasset/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectFeed managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectFeed_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectFeed_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloud_asset_project_feed"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectFeed{}). + Complete(r) +} diff --git a/internal/controller/cloudbuild/trigger/zz_controller.go b/internal/controller/cloudbuild/trigger/zz_controller.go new file mode 100755 index 00000000..1f80c5c0 --- /dev/null +++ b/internal/controller/cloudbuild/trigger/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package trigger + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudbuild/v1alpha1" +) + +// Setup adds a controller that reconciles Trigger managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Trigger_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Trigger_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloudbuild_trigger"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Trigger{}). + Complete(r) +} diff --git a/internal/controller/cloudfunctions/function/zz_controller.go b/internal/controller/cloudfunctions/function/zz_controller.go new file mode 100755 index 00000000..fa7ce42c --- /dev/null +++ b/internal/controller/cloudfunctions/function/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package function + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudfunctions/v1alpha1" +) + +// Setup adds a controller that reconciles Function managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Function_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Function_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloudfunctions_function"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Function{}). + Complete(r) +} diff --git a/internal/controller/cloudfunctions/functioniambinding/zz_controller.go b/internal/controller/cloudfunctions/functioniambinding/zz_controller.go new file mode 100755 index 00000000..8b8ccaf2 --- /dev/null +++ b/internal/controller/cloudfunctions/functioniambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package functioniambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudfunctions/v1alpha1" +) + +// Setup adds a controller that reconciles FunctionIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FunctionIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FunctionIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloudfunctions_function_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FunctionIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/cloudfunctions/functioniammember/zz_controller.go b/internal/controller/cloudfunctions/functioniammember/zz_controller.go new file mode 100755 index 00000000..9418f00d --- /dev/null +++ b/internal/controller/cloudfunctions/functioniammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package functioniammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudfunctions/v1alpha1" +) + +// Setup adds a controller that reconciles FunctionIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FunctionIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FunctionIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloudfunctions_function_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FunctionIAMMember{}). + Complete(r) +} diff --git a/internal/controller/cloudfunctions/functioniampolicy/zz_controller.go b/internal/controller/cloudfunctions/functioniampolicy/zz_controller.go new file mode 100755 index 00000000..76b57224 --- /dev/null +++ b/internal/controller/cloudfunctions/functioniampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package functioniampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudfunctions/v1alpha1" +) + +// Setup adds a controller that reconciles FunctionIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FunctionIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FunctionIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloudfunctions_function_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FunctionIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/cloudidentity/group/zz_controller.go b/internal/controller/cloudidentity/group/zz_controller.go new file mode 100755 index 00000000..12351afa --- /dev/null +++ b/internal/controller/cloudidentity/group/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package group + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudidentity/v1alpha1" +) + +// Setup adds a controller that reconciles Group managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Group_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Group_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloud_identity_group"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Group{}). + Complete(r) +} diff --git a/internal/controller/cloudidentity/groupmembership/zz_controller.go b/internal/controller/cloudidentity/groupmembership/zz_controller.go new file mode 100755 index 00000000..ee1fc8ab --- /dev/null +++ b/internal/controller/cloudidentity/groupmembership/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package groupmembership + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudidentity/v1alpha1" +) + +// Setup adds a controller that reconciles GroupMembership managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.GroupMembership_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.GroupMembership_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloud_identity_group_membership"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.GroupMembership{}). + Complete(r) +} diff --git a/internal/controller/cloudiot/device/zz_controller.go b/internal/controller/cloudiot/device/zz_controller.go new file mode 100755 index 00000000..f7795c6f --- /dev/null +++ b/internal/controller/cloudiot/device/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package device + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudiot/v1alpha1" +) + +// Setup adds a controller that reconciles Device managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Device_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Device_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloudiot_device"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Device{}). + Complete(r) +} diff --git a/internal/controller/cloudiot/registry/zz_controller.go b/internal/controller/cloudiot/registry/zz_controller.go new file mode 100755 index 00000000..3b74eddc --- /dev/null +++ b/internal/controller/cloudiot/registry/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package registry + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudiot/v1alpha1" +) + +// Setup adds a controller that reconciles Registry managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Registry_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Registry_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloudiot_registry"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Registry{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/billingsubaccount/zz_controller.go b/internal/controller/cloudplatform/billingsubaccount/zz_controller.go new file mode 100755 index 00000000..a6a2975d --- /dev/null +++ b/internal/controller/cloudplatform/billingsubaccount/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package billingsubaccount + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles BillingSubaccount managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.BillingSubaccount_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.BillingSubaccount_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_billing_subaccount"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.BillingSubaccount{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/folder/zz_controller.go b/internal/controller/cloudplatform/folder/zz_controller.go new file mode 100755 index 00000000..cd0f30c5 --- /dev/null +++ b/internal/controller/cloudplatform/folder/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package folder + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles Folder managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Folder_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Folder_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_folder"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Folder{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/folderiamauditconfig/zz_controller.go b/internal/controller/cloudplatform/folderiamauditconfig/zz_controller.go new file mode 100755 index 00000000..09b2c960 --- /dev/null +++ b/internal/controller/cloudplatform/folderiamauditconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package folderiamauditconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles FolderIAMAuditConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FolderIAMAuditConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FolderIAMAuditConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_folder_iam_audit_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FolderIAMAuditConfig{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/folderiambinding/zz_controller.go b/internal/controller/cloudplatform/folderiambinding/zz_controller.go new file mode 100755 index 00000000..9fb7464c --- /dev/null +++ b/internal/controller/cloudplatform/folderiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package folderiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles FolderIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FolderIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FolderIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_folder_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FolderIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/folderiammember/zz_controller.go b/internal/controller/cloudplatform/folderiammember/zz_controller.go new file mode 100755 index 00000000..c6dd4b48 --- /dev/null +++ b/internal/controller/cloudplatform/folderiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package folderiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles FolderIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FolderIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FolderIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_folder_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FolderIAMMember{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/folderiampolicy/zz_controller.go b/internal/controller/cloudplatform/folderiampolicy/zz_controller.go new file mode 100755 index 00000000..302ac802 --- /dev/null +++ b/internal/controller/cloudplatform/folderiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package folderiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles FolderIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FolderIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FolderIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_folder_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FolderIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/folderorganizationpolicy/zz_controller.go b/internal/controller/cloudplatform/folderorganizationpolicy/zz_controller.go new file mode 100755 index 00000000..73864382 --- /dev/null +++ b/internal/controller/cloudplatform/folderorganizationpolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package folderorganizationpolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles FolderOrganizationPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FolderOrganizationPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FolderOrganizationPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_folder_organization_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FolderOrganizationPolicy{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/organizationiamauditconfig/zz_controller.go b/internal/controller/cloudplatform/organizationiamauditconfig/zz_controller.go new file mode 100755 index 00000000..9e852ebb --- /dev/null +++ b/internal/controller/cloudplatform/organizationiamauditconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package organizationiamauditconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles OrganizationIAMAuditConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.OrganizationIAMAuditConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.OrganizationIAMAuditConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_organization_iam_audit_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.OrganizationIAMAuditConfig{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/organizationiambinding/zz_controller.go b/internal/controller/cloudplatform/organizationiambinding/zz_controller.go new file mode 100755 index 00000000..1ec3d4d5 --- /dev/null +++ b/internal/controller/cloudplatform/organizationiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package organizationiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles OrganizationIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.OrganizationIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.OrganizationIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_organization_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.OrganizationIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/organizationiamcustomrole/zz_controller.go b/internal/controller/cloudplatform/organizationiamcustomrole/zz_controller.go new file mode 100755 index 00000000..8d32b0f6 --- /dev/null +++ b/internal/controller/cloudplatform/organizationiamcustomrole/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package organizationiamcustomrole + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles OrganizationIAMCustomRole managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.OrganizationIAMCustomRole_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.OrganizationIAMCustomRole_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_organization_iam_custom_role"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.OrganizationIAMCustomRole{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/organizationiammember/zz_controller.go b/internal/controller/cloudplatform/organizationiammember/zz_controller.go new file mode 100755 index 00000000..e3c1daa8 --- /dev/null +++ b/internal/controller/cloudplatform/organizationiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package organizationiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles OrganizationIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.OrganizationIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.OrganizationIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_organization_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.OrganizationIAMMember{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/organizationiampolicy/zz_controller.go b/internal/controller/cloudplatform/organizationiampolicy/zz_controller.go new file mode 100755 index 00000000..a706b09d --- /dev/null +++ b/internal/controller/cloudplatform/organizationiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package organizationiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles OrganizationIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.OrganizationIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.OrganizationIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_organization_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.OrganizationIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/organizationpolicy/zz_controller.go b/internal/controller/cloudplatform/organizationpolicy/zz_controller.go new file mode 100755 index 00000000..4db018ba --- /dev/null +++ b/internal/controller/cloudplatform/organizationpolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package organizationpolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles OrganizationPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.OrganizationPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.OrganizationPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_organization_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.OrganizationPolicy{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/project/zz_controller.go b/internal/controller/cloudplatform/project/zz_controller.go new file mode 100755 index 00000000..d8a7124f --- /dev/null +++ b/internal/controller/cloudplatform/project/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package project + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha2 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha2" +) + +// Setup adds a controller that reconciles Project managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha2.Project_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha2.Project_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_project"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha2.Project{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/projectdefaultserviceaccounts/zz_controller.go b/internal/controller/cloudplatform/projectdefaultserviceaccounts/zz_controller.go new file mode 100755 index 00000000..d2b5bb61 --- /dev/null +++ b/internal/controller/cloudplatform/projectdefaultserviceaccounts/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectdefaultserviceaccounts + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectDefaultServiceAccounts managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectDefaultServiceAccounts_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectDefaultServiceAccounts_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_project_default_service_accounts"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectDefaultServiceAccounts{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/projectiamauditconfig/zz_controller.go b/internal/controller/cloudplatform/projectiamauditconfig/zz_controller.go new file mode 100755 index 00000000..953fdfff --- /dev/null +++ b/internal/controller/cloudplatform/projectiamauditconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectiamauditconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectIAMAuditConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectIAMAuditConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectIAMAuditConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_project_iam_audit_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectIAMAuditConfig{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/projectiambinding/zz_controller.go b/internal/controller/cloudplatform/projectiambinding/zz_controller.go new file mode 100755 index 00000000..4be378ac --- /dev/null +++ b/internal/controller/cloudplatform/projectiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_project_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/projectiamcustomrole/zz_controller.go b/internal/controller/cloudplatform/projectiamcustomrole/zz_controller.go new file mode 100755 index 00000000..785abf5e --- /dev/null +++ b/internal/controller/cloudplatform/projectiamcustomrole/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectiamcustomrole + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectIAMCustomRole managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectIAMCustomRole_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectIAMCustomRole_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_project_iam_custom_role"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectIAMCustomRole{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/projectiammember/zz_controller.go b/internal/controller/cloudplatform/projectiammember/zz_controller.go new file mode 100755 index 00000000..d1cbe860 --- /dev/null +++ b/internal/controller/cloudplatform/projectiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_project_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectIAMMember{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/projectiampolicy/zz_controller.go b/internal/controller/cloudplatform/projectiampolicy/zz_controller.go new file mode 100755 index 00000000..0550331f --- /dev/null +++ b/internal/controller/cloudplatform/projectiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_project_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/projectorganizationpolicy/zz_controller.go b/internal/controller/cloudplatform/projectorganizationpolicy/zz_controller.go new file mode 100755 index 00000000..ddf8a193 --- /dev/null +++ b/internal/controller/cloudplatform/projectorganizationpolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectorganizationpolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectOrganizationPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectOrganizationPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectOrganizationPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_project_organization_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectOrganizationPolicy{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/projectservice/zz_controller.go b/internal/controller/cloudplatform/projectservice/zz_controller.go new file mode 100755 index 00000000..8970ba93 --- /dev/null +++ b/internal/controller/cloudplatform/projectservice/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectservice + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectService managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectService_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectService_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_project_service"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectService{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/projectusageexportbucket/zz_controller.go b/internal/controller/cloudplatform/projectusageexportbucket/zz_controller.go new file mode 100755 index 00000000..5e79552a --- /dev/null +++ b/internal/controller/cloudplatform/projectusageexportbucket/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectusageexportbucket + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectUsageExportBucket managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectUsageExportBucket_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectUsageExportBucket_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_project_usage_export_bucket"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectUsageExportBucket{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/serviceaccountiambinding/zz_controller.go b/internal/controller/cloudplatform/serviceaccountiambinding/zz_controller.go new file mode 100755 index 00000000..fc5a8ad8 --- /dev/null +++ b/internal/controller/cloudplatform/serviceaccountiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package serviceaccountiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles ServiceAccountIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServiceAccountIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServiceAccountIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_service_account_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServiceAccountIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/serviceaccountiammember/zz_controller.go b/internal/controller/cloudplatform/serviceaccountiammember/zz_controller.go new file mode 100755 index 00000000..89b51adc --- /dev/null +++ b/internal/controller/cloudplatform/serviceaccountiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package serviceaccountiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles ServiceAccountIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServiceAccountIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServiceAccountIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_service_account_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServiceAccountIAMMember{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/serviceaccountiampolicy/zz_controller.go b/internal/controller/cloudplatform/serviceaccountiampolicy/zz_controller.go new file mode 100755 index 00000000..3e6a050a --- /dev/null +++ b/internal/controller/cloudplatform/serviceaccountiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package serviceaccountiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles ServiceAccountIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServiceAccountIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServiceAccountIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_service_account_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServiceAccountIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/cloudplatform/servicenetworkingpeereddnsdomain/zz_controller.go b/internal/controller/cloudplatform/servicenetworkingpeereddnsdomain/zz_controller.go new file mode 100755 index 00000000..5ab10657 --- /dev/null +++ b/internal/controller/cloudplatform/servicenetworkingpeereddnsdomain/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package servicenetworkingpeereddnsdomain + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudplatform/v1alpha1" +) + +// Setup adds a controller that reconciles ServiceNetworkingPeeredDNSDomain managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServiceNetworkingPeeredDNSDomain_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServiceNetworkingPeeredDNSDomain_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_service_networking_peered_dns_domain"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServiceNetworkingPeeredDNSDomain{}). + Complete(r) +} diff --git a/internal/controller/cloudrun/domainmapping/zz_controller.go b/internal/controller/cloudrun/domainmapping/zz_controller.go new file mode 100755 index 00000000..4d7d0a94 --- /dev/null +++ b/internal/controller/cloudrun/domainmapping/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package domainmapping + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudrun/v1alpha1" +) + +// Setup adds a controller that reconciles DomainMapping managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DomainMapping_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DomainMapping_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloud_run_domain_mapping"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DomainMapping{}). + Complete(r) +} diff --git a/internal/controller/cloudrun/service/zz_controller.go b/internal/controller/cloudrun/service/zz_controller.go new file mode 100755 index 00000000..9cf7bc1c --- /dev/null +++ b/internal/controller/cloudrun/service/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package service + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudrun/v1alpha1" +) + +// Setup adds a controller that reconciles Service managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Service_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Service_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloud_run_service"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Service{}). + Complete(r) +} diff --git a/internal/controller/cloudrun/serviceiambinding/zz_controller.go b/internal/controller/cloudrun/serviceiambinding/zz_controller.go new file mode 100755 index 00000000..82d82f5b --- /dev/null +++ b/internal/controller/cloudrun/serviceiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package serviceiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudrun/v1alpha1" +) + +// Setup adds a controller that reconciles ServiceIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServiceIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServiceIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloud_run_service_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServiceIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/cloudrun/serviceiammember/zz_controller.go b/internal/controller/cloudrun/serviceiammember/zz_controller.go new file mode 100755 index 00000000..f33c350e --- /dev/null +++ b/internal/controller/cloudrun/serviceiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package serviceiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudrun/v1alpha1" +) + +// Setup adds a controller that reconciles ServiceIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServiceIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServiceIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloud_run_service_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServiceIAMMember{}). + Complete(r) +} diff --git a/internal/controller/cloudrun/serviceiampolicy/zz_controller.go b/internal/controller/cloudrun/serviceiampolicy/zz_controller.go new file mode 100755 index 00000000..76831a5b --- /dev/null +++ b/internal/controller/cloudrun/serviceiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package serviceiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudrun/v1alpha1" +) + +// Setup adds a controller that reconciles ServiceIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServiceIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServiceIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloud_run_service_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServiceIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/cloudscheduler/job/zz_controller.go b/internal/controller/cloudscheduler/job/zz_controller.go new file mode 100755 index 00000000..a9856214 --- /dev/null +++ b/internal/controller/cloudscheduler/job/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package job + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudscheduler/v1alpha1" +) + +// Setup adds a controller that reconciles Job managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Job_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Job_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloud_scheduler_job"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Job{}). + Complete(r) +} diff --git a/internal/controller/cloudtasks/queue/zz_controller.go b/internal/controller/cloudtasks/queue/zz_controller.go new file mode 100755 index 00000000..c84cb268 --- /dev/null +++ b/internal/controller/cloudtasks/queue/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package queue + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/cloudtasks/v1alpha1" +) + +// Setup adds a controller that reconciles Queue managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Queue_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Queue_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_cloud_tasks_queue"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Queue{}). + Complete(r) +} diff --git a/internal/controller/composer/environment/zz_controller.go b/internal/controller/composer/environment/zz_controller.go new file mode 100755 index 00000000..f00ae421 --- /dev/null +++ b/internal/controller/composer/environment/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package environment + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/composer/v1alpha1" +) + +// Setup adds a controller that reconciles Environment managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Environment_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Environment_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_composer_environment"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Environment{}). + Complete(r) +} diff --git a/internal/controller/compute/attacheddisk/zz_controller.go b/internal/controller/compute/attacheddisk/zz_controller.go new file mode 100755 index 00000000..3c29b4f0 --- /dev/null +++ b/internal/controller/compute/attacheddisk/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package attacheddisk + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles AttachedDisk managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AttachedDisk_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AttachedDisk_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_attached_disk"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AttachedDisk{}). + Complete(r) +} diff --git a/internal/controller/compute/autoscaler/zz_controller.go b/internal/controller/compute/autoscaler/zz_controller.go new file mode 100755 index 00000000..9d0f6fe4 --- /dev/null +++ b/internal/controller/compute/autoscaler/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package autoscaler + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles Autoscaler managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Autoscaler_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Autoscaler_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_autoscaler"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Autoscaler{}). + Complete(r) +} diff --git a/internal/controller/compute/backendbucket/zz_controller.go b/internal/controller/compute/backendbucket/zz_controller.go new file mode 100755 index 00000000..cafbec61 --- /dev/null +++ b/internal/controller/compute/backendbucket/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package backendbucket + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles BackendBucket managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.BackendBucket_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.BackendBucket_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_backend_bucket"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.BackendBucket{}). + Complete(r) +} diff --git a/internal/controller/compute/backendbucketsignedurlkey/zz_controller.go b/internal/controller/compute/backendbucketsignedurlkey/zz_controller.go new file mode 100755 index 00000000..4360cfa9 --- /dev/null +++ b/internal/controller/compute/backendbucketsignedurlkey/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package backendbucketsignedurlkey + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles BackendBucketSignedURLKey managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.BackendBucketSignedURLKey_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.BackendBucketSignedURLKey_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_backend_bucket_signed_url_key"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.BackendBucketSignedURLKey{}). + Complete(r) +} diff --git a/internal/controller/compute/backendservice/zz_controller.go b/internal/controller/compute/backendservice/zz_controller.go new file mode 100755 index 00000000..6928d4b0 --- /dev/null +++ b/internal/controller/compute/backendservice/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package backendservice + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles BackendService managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.BackendService_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.BackendService_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_backend_service"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.BackendService{}). + Complete(r) +} diff --git a/internal/controller/compute/backendservicesignedurlkey/zz_controller.go b/internal/controller/compute/backendservicesignedurlkey/zz_controller.go new file mode 100755 index 00000000..d69a7044 --- /dev/null +++ b/internal/controller/compute/backendservicesignedurlkey/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package backendservicesignedurlkey + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles BackendServiceSignedURLKey managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.BackendServiceSignedURLKey_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.BackendServiceSignedURLKey_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_backend_service_signed_url_key"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.BackendServiceSignedURLKey{}). + Complete(r) +} diff --git a/internal/controller/compute/disk/zz_controller.go b/internal/controller/compute/disk/zz_controller.go new file mode 100755 index 00000000..b90825f3 --- /dev/null +++ b/internal/controller/compute/disk/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package disk + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles Disk managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Disk_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Disk_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_disk"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Disk{}). + Complete(r) +} diff --git a/internal/controller/compute/diskiambinding/zz_controller.go b/internal/controller/compute/diskiambinding/zz_controller.go new file mode 100755 index 00000000..eb02f629 --- /dev/null +++ b/internal/controller/compute/diskiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package diskiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles DiskIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DiskIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DiskIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_disk_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DiskIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/compute/diskiammember/zz_controller.go b/internal/controller/compute/diskiammember/zz_controller.go new file mode 100755 index 00000000..de476bb3 --- /dev/null +++ b/internal/controller/compute/diskiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package diskiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles DiskIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DiskIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DiskIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_disk_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DiskIAMMember{}). + Complete(r) +} diff --git a/internal/controller/compute/diskiampolicy/zz_controller.go b/internal/controller/compute/diskiampolicy/zz_controller.go new file mode 100755 index 00000000..2414ae13 --- /dev/null +++ b/internal/controller/compute/diskiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package diskiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles DiskIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DiskIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DiskIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_disk_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DiskIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/compute/diskresourcepolicyattachment/zz_controller.go b/internal/controller/compute/diskresourcepolicyattachment/zz_controller.go new file mode 100755 index 00000000..c4b461b3 --- /dev/null +++ b/internal/controller/compute/diskresourcepolicyattachment/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package diskresourcepolicyattachment + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles DiskResourcePolicyAttachment managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DiskResourcePolicyAttachment_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DiskResourcePolicyAttachment_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_disk_resource_policy_attachment"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DiskResourcePolicyAttachment{}). + Complete(r) +} diff --git a/internal/controller/compute/externalvpngateway/zz_controller.go b/internal/controller/compute/externalvpngateway/zz_controller.go new file mode 100755 index 00000000..bff56246 --- /dev/null +++ b/internal/controller/compute/externalvpngateway/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package externalvpngateway + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles ExternalVPNGateway managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ExternalVPNGateway_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ExternalVPNGateway_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_external_vpn_gateway"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ExternalVPNGateway{}). + Complete(r) +} diff --git a/internal/controller/compute/firewallpolicy/zz_controller.go b/internal/controller/compute/firewallpolicy/zz_controller.go new file mode 100755 index 00000000..a73eaac1 --- /dev/null +++ b/internal/controller/compute/firewallpolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package firewallpolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles FirewallPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FirewallPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FirewallPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_firewall_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FirewallPolicy{}). + Complete(r) +} diff --git a/internal/controller/compute/firewallpolicyassociation/zz_controller.go b/internal/controller/compute/firewallpolicyassociation/zz_controller.go new file mode 100755 index 00000000..d4bbc09f --- /dev/null +++ b/internal/controller/compute/firewallpolicyassociation/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package firewallpolicyassociation + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles FirewallPolicyAssociation managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FirewallPolicyAssociation_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FirewallPolicyAssociation_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_firewall_policy_association"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FirewallPolicyAssociation{}). + Complete(r) +} diff --git a/internal/controller/compute/firewallpolicyrule/zz_controller.go b/internal/controller/compute/firewallpolicyrule/zz_controller.go new file mode 100755 index 00000000..49f744a1 --- /dev/null +++ b/internal/controller/compute/firewallpolicyrule/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package firewallpolicyrule + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles FirewallPolicyRule managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FirewallPolicyRule_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FirewallPolicyRule_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_firewall_policy_rule"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FirewallPolicyRule{}). + Complete(r) +} diff --git a/internal/controller/compute/forwardingrule/zz_controller.go b/internal/controller/compute/forwardingrule/zz_controller.go new file mode 100755 index 00000000..6a63b22c --- /dev/null +++ b/internal/controller/compute/forwardingrule/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package forwardingrule + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles ForwardingRule managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ForwardingRule_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ForwardingRule_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_forwarding_rule"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ForwardingRule{}). + Complete(r) +} diff --git a/internal/controller/compute/globaladdress/zz_controller.go b/internal/controller/compute/globaladdress/zz_controller.go new file mode 100755 index 00000000..4ee8f97d --- /dev/null +++ b/internal/controller/compute/globaladdress/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package globaladdress + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles GlobalAddress managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.GlobalAddress_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.GlobalAddress_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_global_address"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.GlobalAddress{}). + Complete(r) +} diff --git a/internal/controller/compute/globalforwardingrule/zz_controller.go b/internal/controller/compute/globalforwardingrule/zz_controller.go new file mode 100755 index 00000000..7c9875ae --- /dev/null +++ b/internal/controller/compute/globalforwardingrule/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package globalforwardingrule + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles GlobalForwardingRule managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.GlobalForwardingRule_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.GlobalForwardingRule_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_global_forwarding_rule"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.GlobalForwardingRule{}). + Complete(r) +} diff --git a/internal/controller/compute/globalnetworkendpoint/zz_controller.go b/internal/controller/compute/globalnetworkendpoint/zz_controller.go new file mode 100755 index 00000000..bd07e452 --- /dev/null +++ b/internal/controller/compute/globalnetworkendpoint/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package globalnetworkendpoint + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles GlobalNetworkEndpoint managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.GlobalNetworkEndpoint_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.GlobalNetworkEndpoint_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_global_network_endpoint"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.GlobalNetworkEndpoint{}). + Complete(r) +} diff --git a/internal/controller/compute/globalnetworkendpointgroup/zz_controller.go b/internal/controller/compute/globalnetworkendpointgroup/zz_controller.go new file mode 100755 index 00000000..7dd4d2e5 --- /dev/null +++ b/internal/controller/compute/globalnetworkendpointgroup/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package globalnetworkendpointgroup + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles GlobalNetworkEndpointGroup managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.GlobalNetworkEndpointGroup_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.GlobalNetworkEndpointGroup_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_global_network_endpoint_group"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.GlobalNetworkEndpointGroup{}). + Complete(r) +} diff --git a/internal/controller/compute/havpngateway/zz_controller.go b/internal/controller/compute/havpngateway/zz_controller.go new file mode 100755 index 00000000..aad9d3d9 --- /dev/null +++ b/internal/controller/compute/havpngateway/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package havpngateway + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles HaVPNGateway managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.HaVPNGateway_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.HaVPNGateway_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_ha_vpn_gateway"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.HaVPNGateway{}). + Complete(r) +} diff --git a/internal/controller/compute/healthcheck/zz_controller.go b/internal/controller/compute/healthcheck/zz_controller.go new file mode 100755 index 00000000..00ba6f96 --- /dev/null +++ b/internal/controller/compute/healthcheck/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package healthcheck + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles HealthCheck managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.HealthCheck_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.HealthCheck_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_health_check"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.HealthCheck{}). + Complete(r) +} diff --git a/internal/controller/compute/httphealthcheck/zz_controller.go b/internal/controller/compute/httphealthcheck/zz_controller.go new file mode 100755 index 00000000..97358543 --- /dev/null +++ b/internal/controller/compute/httphealthcheck/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package httphealthcheck + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles HTTPHealthCheck managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.HTTPHealthCheck_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.HTTPHealthCheck_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_http_health_check"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.HTTPHealthCheck{}). + Complete(r) +} diff --git a/internal/controller/compute/httpshealthcheck/zz_controller.go b/internal/controller/compute/httpshealthcheck/zz_controller.go new file mode 100755 index 00000000..9de71b0c --- /dev/null +++ b/internal/controller/compute/httpshealthcheck/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package httpshealthcheck + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles HTTPSHealthCheck managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.HTTPSHealthCheck_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.HTTPSHealthCheck_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_https_health_check"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.HTTPSHealthCheck{}). + Complete(r) +} diff --git a/internal/controller/compute/image/zz_controller.go b/internal/controller/compute/image/zz_controller.go new file mode 100755 index 00000000..285860ed --- /dev/null +++ b/internal/controller/compute/image/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package image + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles Image managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Image_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Image_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_image"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Image{}). + Complete(r) +} diff --git a/internal/controller/compute/imageiambinding/zz_controller.go b/internal/controller/compute/imageiambinding/zz_controller.go new file mode 100755 index 00000000..8d784fc4 --- /dev/null +++ b/internal/controller/compute/imageiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package imageiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles ImageIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ImageIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ImageIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_image_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ImageIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/compute/imageiammember/zz_controller.go b/internal/controller/compute/imageiammember/zz_controller.go new file mode 100755 index 00000000..606ddf65 --- /dev/null +++ b/internal/controller/compute/imageiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package imageiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles ImageIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ImageIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ImageIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_image_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ImageIAMMember{}). + Complete(r) +} diff --git a/internal/controller/compute/imageiampolicy/zz_controller.go b/internal/controller/compute/imageiampolicy/zz_controller.go new file mode 100755 index 00000000..49dfa8f1 --- /dev/null +++ b/internal/controller/compute/imageiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package imageiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles ImageIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ImageIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ImageIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_image_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ImageIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/compute/instancefromtemplate/zz_controller.go b/internal/controller/compute/instancefromtemplate/zz_controller.go new file mode 100755 index 00000000..b7208e2a --- /dev/null +++ b/internal/controller/compute/instancefromtemplate/zz_controller.go @@ -0,0 +1,59 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instancefromtemplate + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha2 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha2" +) + +// Setup adds a controller that reconciles InstanceFromTemplate managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha2.InstanceFromTemplate_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha2.InstanceFromTemplate_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_instance_from_template"], + tjcontroller.WithCallbackProvider(tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1alpha2.InstanceFromTemplate_GroupVersionKind))), + )), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha2.InstanceFromTemplate{}). + Complete(r) +} diff --git a/internal/controller/compute/instancegroup/zz_controller.go b/internal/controller/compute/instancegroup/zz_controller.go new file mode 100755 index 00000000..b7dce3ac --- /dev/null +++ b/internal/controller/compute/instancegroup/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instancegroup + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceGroup managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceGroup_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceGroup_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_instance_group"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceGroup{}). + Complete(r) +} diff --git a/internal/controller/compute/instancegroupmanager/zz_controller.go b/internal/controller/compute/instancegroupmanager/zz_controller.go new file mode 100755 index 00000000..83112ee0 --- /dev/null +++ b/internal/controller/compute/instancegroupmanager/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instancegroupmanager + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceGroupManager managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceGroupManager_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceGroupManager_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_instance_group_manager"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceGroupManager{}). + Complete(r) +} diff --git a/internal/controller/compute/instancegroupnamedport/zz_controller.go b/internal/controller/compute/instancegroupnamedport/zz_controller.go new file mode 100755 index 00000000..525680e2 --- /dev/null +++ b/internal/controller/compute/instancegroupnamedport/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instancegroupnamedport + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceGroupNamedPort managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceGroupNamedPort_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceGroupNamedPort_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_instance_group_named_port"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceGroupNamedPort{}). + Complete(r) +} diff --git a/internal/controller/compute/instanceiambinding/zz_controller.go b/internal/controller/compute/instanceiambinding/zz_controller.go new file mode 100755 index 00000000..f1c32448 --- /dev/null +++ b/internal/controller/compute/instanceiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instanceiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_instance_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/compute/instanceiammember/zz_controller.go b/internal/controller/compute/instanceiammember/zz_controller.go new file mode 100755 index 00000000..70444eab --- /dev/null +++ b/internal/controller/compute/instanceiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instanceiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_instance_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceIAMMember{}). + Complete(r) +} diff --git a/internal/controller/compute/instanceiampolicy/zz_controller.go b/internal/controller/compute/instanceiampolicy/zz_controller.go new file mode 100755 index 00000000..e15fd209 --- /dev/null +++ b/internal/controller/compute/instanceiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instanceiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_instance_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/compute/instancetemplate/zz_controller.go b/internal/controller/compute/instancetemplate/zz_controller.go new file mode 100755 index 00000000..29a6b6f8 --- /dev/null +++ b/internal/controller/compute/instancetemplate/zz_controller.go @@ -0,0 +1,57 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instancetemplate + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha2 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha2" +) + +// Setup adds a controller that reconciles InstanceTemplate managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha2.InstanceTemplate_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha2.InstanceTemplate_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_instance_template"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha2.InstanceTemplate{}). + Complete(r) +} diff --git a/internal/controller/compute/interconnectattachment/zz_controller.go b/internal/controller/compute/interconnectattachment/zz_controller.go new file mode 100755 index 00000000..bb322b4d --- /dev/null +++ b/internal/controller/compute/interconnectattachment/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package interconnectattachment + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles InterconnectAttachment managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InterconnectAttachment_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InterconnectAttachment_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_interconnect_attachment"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InterconnectAttachment{}). + Complete(r) +} diff --git a/internal/controller/compute/networkendpoint/zz_controller.go b/internal/controller/compute/networkendpoint/zz_controller.go new file mode 100755 index 00000000..9ab35c9e --- /dev/null +++ b/internal/controller/compute/networkendpoint/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package networkendpoint + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles NetworkEndpoint managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.NetworkEndpoint_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.NetworkEndpoint_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_network_endpoint"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.NetworkEndpoint{}). + Complete(r) +} diff --git a/internal/controller/compute/networkendpointgroup/zz_controller.go b/internal/controller/compute/networkendpointgroup/zz_controller.go new file mode 100755 index 00000000..e2d3f04a --- /dev/null +++ b/internal/controller/compute/networkendpointgroup/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package networkendpointgroup + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles NetworkEndpointGroup managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.NetworkEndpointGroup_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.NetworkEndpointGroup_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_network_endpoint_group"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.NetworkEndpointGroup{}). + Complete(r) +} diff --git a/internal/controller/compute/networkpeering/zz_controller.go b/internal/controller/compute/networkpeering/zz_controller.go new file mode 100755 index 00000000..472f51d9 --- /dev/null +++ b/internal/controller/compute/networkpeering/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package networkpeering + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles NetworkPeering managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.NetworkPeering_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.NetworkPeering_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_network_peering"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.NetworkPeering{}). + Complete(r) +} diff --git a/internal/controller/compute/networkpeeringroutesconfig/zz_controller.go b/internal/controller/compute/networkpeeringroutesconfig/zz_controller.go new file mode 100755 index 00000000..02a16aa6 --- /dev/null +++ b/internal/controller/compute/networkpeeringroutesconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package networkpeeringroutesconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles NetworkPeeringRoutesConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.NetworkPeeringRoutesConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.NetworkPeeringRoutesConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_network_peering_routes_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.NetworkPeeringRoutesConfig{}). + Complete(r) +} diff --git a/internal/controller/compute/nodegroup/zz_controller.go b/internal/controller/compute/nodegroup/zz_controller.go new file mode 100755 index 00000000..6a10b3c2 --- /dev/null +++ b/internal/controller/compute/nodegroup/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package nodegroup + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles NodeGroup managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.NodeGroup_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.NodeGroup_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_node_group"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.NodeGroup{}). + Complete(r) +} diff --git a/internal/controller/compute/nodetemplate/zz_controller.go b/internal/controller/compute/nodetemplate/zz_controller.go new file mode 100755 index 00000000..070d7642 --- /dev/null +++ b/internal/controller/compute/nodetemplate/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package nodetemplate + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles NodeTemplate managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.NodeTemplate_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.NodeTemplate_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_node_template"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.NodeTemplate{}). + Complete(r) +} diff --git a/internal/controller/compute/packetmirroring/zz_controller.go b/internal/controller/compute/packetmirroring/zz_controller.go new file mode 100755 index 00000000..8440c0ae --- /dev/null +++ b/internal/controller/compute/packetmirroring/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package packetmirroring + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles PacketMirroring managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.PacketMirroring_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.PacketMirroring_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_packet_mirroring"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.PacketMirroring{}). + Complete(r) +} diff --git a/internal/controller/compute/perinstanceconfig/zz_controller.go b/internal/controller/compute/perinstanceconfig/zz_controller.go new file mode 100755 index 00000000..7324d729 --- /dev/null +++ b/internal/controller/compute/perinstanceconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package perinstanceconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles PerInstanceConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.PerInstanceConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.PerInstanceConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_per_instance_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.PerInstanceConfig{}). + Complete(r) +} diff --git a/internal/controller/compute/projectdefaultnetworktier/zz_controller.go b/internal/controller/compute/projectdefaultnetworktier/zz_controller.go new file mode 100755 index 00000000..e95b69ed --- /dev/null +++ b/internal/controller/compute/projectdefaultnetworktier/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectdefaultnetworktier + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectDefaultNetworkTier managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectDefaultNetworkTier_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectDefaultNetworkTier_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_project_default_network_tier"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectDefaultNetworkTier{}). + Complete(r) +} diff --git a/internal/controller/compute/projectmetadata/zz_controller.go b/internal/controller/compute/projectmetadata/zz_controller.go new file mode 100755 index 00000000..19bb7d48 --- /dev/null +++ b/internal/controller/compute/projectmetadata/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectmetadata + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectMetadata managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectMetadata_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectMetadata_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_project_metadata"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectMetadata{}). + Complete(r) +} diff --git a/internal/controller/compute/projectmetadataitem/zz_controller.go b/internal/controller/compute/projectmetadataitem/zz_controller.go new file mode 100755 index 00000000..aa56c685 --- /dev/null +++ b/internal/controller/compute/projectmetadataitem/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectmetadataitem + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectMetadataItem managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectMetadataItem_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectMetadataItem_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_project_metadata_item"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectMetadataItem{}). + Complete(r) +} diff --git a/internal/controller/compute/regionautoscaler/zz_controller.go b/internal/controller/compute/regionautoscaler/zz_controller.go new file mode 100755 index 00000000..f7170981 --- /dev/null +++ b/internal/controller/compute/regionautoscaler/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regionautoscaler + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionAutoscaler managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionAutoscaler_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionAutoscaler_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_autoscaler"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionAutoscaler{}). + Complete(r) +} diff --git a/internal/controller/compute/regionbackendservice/zz_controller.go b/internal/controller/compute/regionbackendservice/zz_controller.go new file mode 100755 index 00000000..097576fe --- /dev/null +++ b/internal/controller/compute/regionbackendservice/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regionbackendservice + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionBackendService managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionBackendService_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionBackendService_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_backend_service"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionBackendService{}). + Complete(r) +} diff --git a/internal/controller/compute/regiondisk/zz_controller.go b/internal/controller/compute/regiondisk/zz_controller.go new file mode 100755 index 00000000..1d33ad79 --- /dev/null +++ b/internal/controller/compute/regiondisk/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regiondisk + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionDisk managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionDisk_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionDisk_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_disk"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionDisk{}). + Complete(r) +} diff --git a/internal/controller/compute/regiondiskiambinding/zz_controller.go b/internal/controller/compute/regiondiskiambinding/zz_controller.go new file mode 100755 index 00000000..bfa010a6 --- /dev/null +++ b/internal/controller/compute/regiondiskiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regiondiskiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionDiskIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionDiskIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionDiskIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_disk_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionDiskIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/compute/regiondiskiammember/zz_controller.go b/internal/controller/compute/regiondiskiammember/zz_controller.go new file mode 100755 index 00000000..12f2a316 --- /dev/null +++ b/internal/controller/compute/regiondiskiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regiondiskiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionDiskIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionDiskIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionDiskIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_disk_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionDiskIAMMember{}). + Complete(r) +} diff --git a/internal/controller/compute/regiondiskiampolicy/zz_controller.go b/internal/controller/compute/regiondiskiampolicy/zz_controller.go new file mode 100755 index 00000000..209eedd3 --- /dev/null +++ b/internal/controller/compute/regiondiskiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regiondiskiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionDiskIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionDiskIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionDiskIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_disk_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionDiskIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/compute/regiondiskresourcepolicyattachment/zz_controller.go b/internal/controller/compute/regiondiskresourcepolicyattachment/zz_controller.go new file mode 100755 index 00000000..41842149 --- /dev/null +++ b/internal/controller/compute/regiondiskresourcepolicyattachment/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regiondiskresourcepolicyattachment + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionDiskResourcePolicyAttachment managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionDiskResourcePolicyAttachment_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionDiskResourcePolicyAttachment_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_disk_resource_policy_attachment"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionDiskResourcePolicyAttachment{}). + Complete(r) +} diff --git a/internal/controller/compute/regionhealthcheck/zz_controller.go b/internal/controller/compute/regionhealthcheck/zz_controller.go new file mode 100755 index 00000000..d66e7c9e --- /dev/null +++ b/internal/controller/compute/regionhealthcheck/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regionhealthcheck + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionHealthCheck managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionHealthCheck_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionHealthCheck_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_health_check"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionHealthCheck{}). + Complete(r) +} diff --git a/internal/controller/compute/regioninstancegroupmanager/zz_controller.go b/internal/controller/compute/regioninstancegroupmanager/zz_controller.go new file mode 100755 index 00000000..ffb96dd5 --- /dev/null +++ b/internal/controller/compute/regioninstancegroupmanager/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regioninstancegroupmanager + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionInstanceGroupManager managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionInstanceGroupManager_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionInstanceGroupManager_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_instance_group_manager"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionInstanceGroupManager{}). + Complete(r) +} diff --git a/internal/controller/compute/regionnetworkendpointgroup/zz_controller.go b/internal/controller/compute/regionnetworkendpointgroup/zz_controller.go new file mode 100755 index 00000000..e1d7d0d6 --- /dev/null +++ b/internal/controller/compute/regionnetworkendpointgroup/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regionnetworkendpointgroup + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionNetworkEndpointGroup managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionNetworkEndpointGroup_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionNetworkEndpointGroup_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_network_endpoint_group"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionNetworkEndpointGroup{}). + Complete(r) +} diff --git a/internal/controller/compute/regionperinstanceconfig/zz_controller.go b/internal/controller/compute/regionperinstanceconfig/zz_controller.go new file mode 100755 index 00000000..c7e4a5c8 --- /dev/null +++ b/internal/controller/compute/regionperinstanceconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regionperinstanceconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionPerInstanceConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionPerInstanceConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionPerInstanceConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_per_instance_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionPerInstanceConfig{}). + Complete(r) +} diff --git a/internal/controller/compute/regionsslcertificate/zz_controller.go b/internal/controller/compute/regionsslcertificate/zz_controller.go new file mode 100755 index 00000000..7576f367 --- /dev/null +++ b/internal/controller/compute/regionsslcertificate/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regionsslcertificate + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionSSLCertificate managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionSSLCertificate_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionSSLCertificate_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_ssl_certificate"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionSSLCertificate{}). + Complete(r) +} diff --git a/internal/controller/compute/regiontargethttpproxy/zz_controller.go b/internal/controller/compute/regiontargethttpproxy/zz_controller.go new file mode 100755 index 00000000..e7e254a1 --- /dev/null +++ b/internal/controller/compute/regiontargethttpproxy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regiontargethttpproxy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionTargetHTTPProxy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionTargetHTTPProxy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionTargetHTTPProxy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_target_http_proxy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionTargetHTTPProxy{}). + Complete(r) +} diff --git a/internal/controller/compute/regiontargethttpsproxy/zz_controller.go b/internal/controller/compute/regiontargethttpsproxy/zz_controller.go new file mode 100755 index 00000000..4c3c4c25 --- /dev/null +++ b/internal/controller/compute/regiontargethttpsproxy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regiontargethttpsproxy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionTargetHTTPSProxy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionTargetHTTPSProxy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionTargetHTTPSProxy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_target_https_proxy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionTargetHTTPSProxy{}). + Complete(r) +} diff --git a/internal/controller/compute/regionurlmap/zz_controller.go b/internal/controller/compute/regionurlmap/zz_controller.go new file mode 100755 index 00000000..8d50b2a8 --- /dev/null +++ b/internal/controller/compute/regionurlmap/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package regionurlmap + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RegionURLMap managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RegionURLMap_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RegionURLMap_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_region_url_map"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RegionURLMap{}). + Complete(r) +} diff --git a/internal/controller/compute/reservation/zz_controller.go b/internal/controller/compute/reservation/zz_controller.go new file mode 100755 index 00000000..d5c2b23d --- /dev/null +++ b/internal/controller/compute/reservation/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package reservation + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles Reservation managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Reservation_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Reservation_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_reservation"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Reservation{}). + Complete(r) +} diff --git a/internal/controller/compute/resourcepolicy/zz_controller.go b/internal/controller/compute/resourcepolicy/zz_controller.go new file mode 100755 index 00000000..1e374e8a --- /dev/null +++ b/internal/controller/compute/resourcepolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package resourcepolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles ResourcePolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ResourcePolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ResourcePolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_resource_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ResourcePolicy{}). + Complete(r) +} diff --git a/internal/controller/compute/route/zz_controller.go b/internal/controller/compute/route/zz_controller.go new file mode 100755 index 00000000..2a4c39f7 --- /dev/null +++ b/internal/controller/compute/route/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package route + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles Route managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Route_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Route_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_route"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Route{}). + Complete(r) +} diff --git a/internal/controller/compute/routerinterface/zz_controller.go b/internal/controller/compute/routerinterface/zz_controller.go new file mode 100755 index 00000000..69c91216 --- /dev/null +++ b/internal/controller/compute/routerinterface/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package routerinterface + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RouterInterface managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RouterInterface_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RouterInterface_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_router_interface"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RouterInterface{}). + Complete(r) +} diff --git a/internal/controller/compute/routerpeer/zz_controller.go b/internal/controller/compute/routerpeer/zz_controller.go new file mode 100755 index 00000000..26382ac6 --- /dev/null +++ b/internal/controller/compute/routerpeer/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package routerpeer + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles RouterPeer managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RouterPeer_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RouterPeer_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_router_peer"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RouterPeer{}). + Complete(r) +} diff --git a/internal/controller/compute/securitypolicy/zz_controller.go b/internal/controller/compute/securitypolicy/zz_controller.go new file mode 100755 index 00000000..e084bcac --- /dev/null +++ b/internal/controller/compute/securitypolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package securitypolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles SecurityPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SecurityPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SecurityPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_security_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SecurityPolicy{}). + Complete(r) +} diff --git a/internal/controller/compute/serviceattachment/zz_controller.go b/internal/controller/compute/serviceattachment/zz_controller.go new file mode 100755 index 00000000..6b1fa143 --- /dev/null +++ b/internal/controller/compute/serviceattachment/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package serviceattachment + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles ServiceAttachment managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServiceAttachment_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServiceAttachment_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_service_attachment"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServiceAttachment{}). + Complete(r) +} diff --git a/internal/controller/compute/sharedvpchostproject/zz_controller.go b/internal/controller/compute/sharedvpchostproject/zz_controller.go new file mode 100755 index 00000000..b49061ff --- /dev/null +++ b/internal/controller/compute/sharedvpchostproject/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package sharedvpchostproject + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles SharedVPCHostProject managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SharedVPCHostProject_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SharedVPCHostProject_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_shared_vpc_host_project"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SharedVPCHostProject{}). + Complete(r) +} diff --git a/internal/controller/compute/sharedvpcserviceproject/zz_controller.go b/internal/controller/compute/sharedvpcserviceproject/zz_controller.go new file mode 100755 index 00000000..edb39cc6 --- /dev/null +++ b/internal/controller/compute/sharedvpcserviceproject/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package sharedvpcserviceproject + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles SharedVPCServiceProject managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SharedVPCServiceProject_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SharedVPCServiceProject_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_shared_vpc_service_project"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SharedVPCServiceProject{}). + Complete(r) +} diff --git a/internal/controller/compute/snapshot/zz_controller.go b/internal/controller/compute/snapshot/zz_controller.go new file mode 100755 index 00000000..fd9a495a --- /dev/null +++ b/internal/controller/compute/snapshot/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package snapshot + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles Snapshot managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Snapshot_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Snapshot_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_snapshot"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Snapshot{}). + Complete(r) +} diff --git a/internal/controller/compute/sslcertificate/zz_controller.go b/internal/controller/compute/sslcertificate/zz_controller.go new file mode 100755 index 00000000..4a75ec4e --- /dev/null +++ b/internal/controller/compute/sslcertificate/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package sslcertificate + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles SSLCertificate managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SSLCertificate_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SSLCertificate_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_ssl_certificate"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SSLCertificate{}). + Complete(r) +} diff --git a/internal/controller/compute/sslpolicy/zz_controller.go b/internal/controller/compute/sslpolicy/zz_controller.go new file mode 100755 index 00000000..e76bbf1f --- /dev/null +++ b/internal/controller/compute/sslpolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package sslpolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles SSLPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SSLPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SSLPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_ssl_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SSLPolicy{}). + Complete(r) +} diff --git a/internal/controller/compute/subnetworkiambinding/zz_controller.go b/internal/controller/compute/subnetworkiambinding/zz_controller.go new file mode 100755 index 00000000..46b72a8c --- /dev/null +++ b/internal/controller/compute/subnetworkiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package subnetworkiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles SubnetworkIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SubnetworkIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SubnetworkIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_subnetwork_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SubnetworkIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/compute/subnetworkiammember/zz_controller.go b/internal/controller/compute/subnetworkiammember/zz_controller.go new file mode 100755 index 00000000..74b99795 --- /dev/null +++ b/internal/controller/compute/subnetworkiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package subnetworkiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles SubnetworkIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SubnetworkIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SubnetworkIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_subnetwork_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SubnetworkIAMMember{}). + Complete(r) +} diff --git a/internal/controller/compute/subnetworkiampolicy/zz_controller.go b/internal/controller/compute/subnetworkiampolicy/zz_controller.go new file mode 100755 index 00000000..be1bc4c4 --- /dev/null +++ b/internal/controller/compute/subnetworkiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package subnetworkiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles SubnetworkIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SubnetworkIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SubnetworkIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_subnetwork_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SubnetworkIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/compute/targetgrpcproxy/zz_controller.go b/internal/controller/compute/targetgrpcproxy/zz_controller.go new file mode 100755 index 00000000..02dd5246 --- /dev/null +++ b/internal/controller/compute/targetgrpcproxy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package targetgrpcproxy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles TargetGRPCProxy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TargetGRPCProxy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TargetGRPCProxy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_target_grpc_proxy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TargetGRPCProxy{}). + Complete(r) +} diff --git a/internal/controller/compute/targethttpproxy/zz_controller.go b/internal/controller/compute/targethttpproxy/zz_controller.go new file mode 100755 index 00000000..f867a668 --- /dev/null +++ b/internal/controller/compute/targethttpproxy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package targethttpproxy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles TargetHTTPProxy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TargetHTTPProxy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TargetHTTPProxy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_target_http_proxy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TargetHTTPProxy{}). + Complete(r) +} diff --git a/internal/controller/compute/targethttpsproxy/zz_controller.go b/internal/controller/compute/targethttpsproxy/zz_controller.go new file mode 100755 index 00000000..0652c143 --- /dev/null +++ b/internal/controller/compute/targethttpsproxy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package targethttpsproxy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles TargetHTTPSProxy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TargetHTTPSProxy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TargetHTTPSProxy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_target_https_proxy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TargetHTTPSProxy{}). + Complete(r) +} diff --git a/internal/controller/compute/targetinstance/zz_controller.go b/internal/controller/compute/targetinstance/zz_controller.go new file mode 100755 index 00000000..80069acf --- /dev/null +++ b/internal/controller/compute/targetinstance/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package targetinstance + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles TargetInstance managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TargetInstance_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TargetInstance_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_target_instance"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TargetInstance{}). + Complete(r) +} diff --git a/internal/controller/compute/targetpool/zz_controller.go b/internal/controller/compute/targetpool/zz_controller.go new file mode 100755 index 00000000..b7923164 --- /dev/null +++ b/internal/controller/compute/targetpool/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package targetpool + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles TargetPool managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TargetPool_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TargetPool_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_target_pool"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TargetPool{}). + Complete(r) +} diff --git a/internal/controller/compute/targetsslproxy/zz_controller.go b/internal/controller/compute/targetsslproxy/zz_controller.go new file mode 100755 index 00000000..d52ec4e4 --- /dev/null +++ b/internal/controller/compute/targetsslproxy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package targetsslproxy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles TargetSSLProxy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TargetSSLProxy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TargetSSLProxy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_target_ssl_proxy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TargetSSLProxy{}). + Complete(r) +} diff --git a/internal/controller/compute/targettcpproxy/zz_controller.go b/internal/controller/compute/targettcpproxy/zz_controller.go new file mode 100755 index 00000000..9fe73bd0 --- /dev/null +++ b/internal/controller/compute/targettcpproxy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package targettcpproxy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles TargetTCPProxy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TargetTCPProxy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TargetTCPProxy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_target_tcp_proxy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TargetTCPProxy{}). + Complete(r) +} diff --git a/internal/controller/compute/urlmap/zz_controller.go b/internal/controller/compute/urlmap/zz_controller.go new file mode 100755 index 00000000..d3e75b79 --- /dev/null +++ b/internal/controller/compute/urlmap/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package urlmap + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles URLMap managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.URLMap_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.URLMap_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_url_map"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.URLMap{}). + Complete(r) +} diff --git a/internal/controller/compute/vpngateway/zz_controller.go b/internal/controller/compute/vpngateway/zz_controller.go new file mode 100755 index 00000000..a8efa1bb --- /dev/null +++ b/internal/controller/compute/vpngateway/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package vpngateway + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles VPNGateway managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.VPNGateway_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.VPNGateway_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_vpn_gateway"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.VPNGateway{}). + Complete(r) +} diff --git a/internal/controller/compute/vpntunnel/zz_controller.go b/internal/controller/compute/vpntunnel/zz_controller.go new file mode 100755 index 00000000..f5f35786 --- /dev/null +++ b/internal/controller/compute/vpntunnel/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package vpntunnel + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/compute/v1alpha1" +) + +// Setup adds a controller that reconciles VPNTunnel managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.VPNTunnel_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.VPNTunnel_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_compute_vpn_tunnel"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.VPNTunnel{}). + Complete(r) +} diff --git a/internal/controller/container/registry/zz_controller.go b/internal/controller/container/registry/zz_controller.go new file mode 100755 index 00000000..136b0c60 --- /dev/null +++ b/internal/controller/container/registry/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package registry + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/container/v1alpha1" +) + +// Setup adds a controller that reconciles Registry managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Registry_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Registry_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_container_registry"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Registry{}). + Complete(r) +} diff --git a/internal/controller/containeranalysis/note/zz_controller.go b/internal/controller/containeranalysis/note/zz_controller.go new file mode 100755 index 00000000..f6aeec7a --- /dev/null +++ b/internal/controller/containeranalysis/note/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package note + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/containeranalysis/v1alpha1" +) + +// Setup adds a controller that reconciles Note managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Note_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Note_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_container_analysis_note"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Note{}). + Complete(r) +} diff --git a/internal/controller/containeranalysis/occurrence/zz_controller.go b/internal/controller/containeranalysis/occurrence/zz_controller.go new file mode 100755 index 00000000..dbf20c83 --- /dev/null +++ b/internal/controller/containeranalysis/occurrence/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package occurrence + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/containeranalysis/v1alpha1" +) + +// Setup adds a controller that reconciles Occurrence managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Occurrence_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Occurrence_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_container_analysis_occurrence"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Occurrence{}). + Complete(r) +} diff --git a/internal/controller/datacatalog/entry/zz_controller.go b/internal/controller/datacatalog/entry/zz_controller.go new file mode 100755 index 00000000..80f8853d --- /dev/null +++ b/internal/controller/datacatalog/entry/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package entry + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datacatalog/v1alpha1" +) + +// Setup adds a controller that reconciles Entry managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Entry_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Entry_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_data_catalog_entry"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Entry{}). + Complete(r) +} diff --git a/internal/controller/datacatalog/entrygroup/zz_controller.go b/internal/controller/datacatalog/entrygroup/zz_controller.go new file mode 100755 index 00000000..c93273fc --- /dev/null +++ b/internal/controller/datacatalog/entrygroup/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package entrygroup + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datacatalog/v1alpha1" +) + +// Setup adds a controller that reconciles EntryGroup managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.EntryGroup_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.EntryGroup_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_data_catalog_entry_group"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.EntryGroup{}). + Complete(r) +} diff --git a/internal/controller/datacatalog/entrygroupiambinding/zz_controller.go b/internal/controller/datacatalog/entrygroupiambinding/zz_controller.go new file mode 100755 index 00000000..ad959bc5 --- /dev/null +++ b/internal/controller/datacatalog/entrygroupiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package entrygroupiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datacatalog/v1alpha1" +) + +// Setup adds a controller that reconciles EntryGroupIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.EntryGroupIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.EntryGroupIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_data_catalog_entry_group_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.EntryGroupIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/datacatalog/entrygroupiammember/zz_controller.go b/internal/controller/datacatalog/entrygroupiammember/zz_controller.go new file mode 100755 index 00000000..cc7dca80 --- /dev/null +++ b/internal/controller/datacatalog/entrygroupiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package entrygroupiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datacatalog/v1alpha1" +) + +// Setup adds a controller that reconciles EntryGroupIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.EntryGroupIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.EntryGroupIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_data_catalog_entry_group_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.EntryGroupIAMMember{}). + Complete(r) +} diff --git a/internal/controller/datacatalog/entrygroupiampolicy/zz_controller.go b/internal/controller/datacatalog/entrygroupiampolicy/zz_controller.go new file mode 100755 index 00000000..fc5dada7 --- /dev/null +++ b/internal/controller/datacatalog/entrygroupiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package entrygroupiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datacatalog/v1alpha1" +) + +// Setup adds a controller that reconciles EntryGroupIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.EntryGroupIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.EntryGroupIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_data_catalog_entry_group_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.EntryGroupIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/datacatalog/tag/zz_controller.go b/internal/controller/datacatalog/tag/zz_controller.go new file mode 100755 index 00000000..d2e2a4d1 --- /dev/null +++ b/internal/controller/datacatalog/tag/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tag + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datacatalog/v1alpha1" +) + +// Setup adds a controller that reconciles Tag managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Tag_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Tag_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_data_catalog_tag"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Tag{}). + Complete(r) +} diff --git a/internal/controller/datacatalog/tagtemplate/zz_controller.go b/internal/controller/datacatalog/tagtemplate/zz_controller.go new file mode 100755 index 00000000..25e7e9c1 --- /dev/null +++ b/internal/controller/datacatalog/tagtemplate/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tagtemplate + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datacatalog/v1alpha1" +) + +// Setup adds a controller that reconciles TagTemplate managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TagTemplate_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TagTemplate_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_data_catalog_tag_template"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TagTemplate{}). + Complete(r) +} diff --git a/internal/controller/datacatalog/tagtemplateiambinding/zz_controller.go b/internal/controller/datacatalog/tagtemplateiambinding/zz_controller.go new file mode 100755 index 00000000..2fbe0a4d --- /dev/null +++ b/internal/controller/datacatalog/tagtemplateiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tagtemplateiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datacatalog/v1alpha1" +) + +// Setup adds a controller that reconciles TagTemplateIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TagTemplateIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TagTemplateIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_data_catalog_tag_template_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TagTemplateIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/datacatalog/tagtemplateiammember/zz_controller.go b/internal/controller/datacatalog/tagtemplateiammember/zz_controller.go new file mode 100755 index 00000000..443e8782 --- /dev/null +++ b/internal/controller/datacatalog/tagtemplateiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tagtemplateiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datacatalog/v1alpha1" +) + +// Setup adds a controller that reconciles TagTemplateIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TagTemplateIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TagTemplateIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_data_catalog_tag_template_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TagTemplateIAMMember{}). + Complete(r) +} diff --git a/internal/controller/datacatalog/tagtemplateiampolicy/zz_controller.go b/internal/controller/datacatalog/tagtemplateiampolicy/zz_controller.go new file mode 100755 index 00000000..c151d3bd --- /dev/null +++ b/internal/controller/datacatalog/tagtemplateiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tagtemplateiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datacatalog/v1alpha1" +) + +// Setup adds a controller that reconciles TagTemplateIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TagTemplateIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TagTemplateIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_data_catalog_tag_template_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TagTemplateIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/dataflow/job/zz_controller.go b/internal/controller/dataflow/job/zz_controller.go new file mode 100755 index 00000000..b8911961 --- /dev/null +++ b/internal/controller/dataflow/job/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package job + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dataflow/v1alpha1" +) + +// Setup adds a controller that reconciles Job managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Job_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Job_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dataflow_job"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Job{}). + Complete(r) +} diff --git a/internal/controller/datalossprevention/deidentifytemplate/zz_controller.go b/internal/controller/datalossprevention/deidentifytemplate/zz_controller.go new file mode 100755 index 00000000..0330c0c8 --- /dev/null +++ b/internal/controller/datalossprevention/deidentifytemplate/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package deidentifytemplate + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datalossprevention/v1alpha1" +) + +// Setup adds a controller that reconciles DeidentifyTemplate managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DeidentifyTemplate_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DeidentifyTemplate_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_data_loss_prevention_deidentify_template"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DeidentifyTemplate{}). + Complete(r) +} diff --git a/internal/controller/datalossprevention/inspecttemplate/zz_controller.go b/internal/controller/datalossprevention/inspecttemplate/zz_controller.go new file mode 100755 index 00000000..bb79e6dc --- /dev/null +++ b/internal/controller/datalossprevention/inspecttemplate/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package inspecttemplate + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datalossprevention/v1alpha1" +) + +// Setup adds a controller that reconciles InspectTemplate managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InspectTemplate_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InspectTemplate_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_data_loss_prevention_inspect_template"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InspectTemplate{}). + Complete(r) +} diff --git a/internal/controller/datalossprevention/jobtrigger/zz_controller.go b/internal/controller/datalossprevention/jobtrigger/zz_controller.go new file mode 100755 index 00000000..32068f58 --- /dev/null +++ b/internal/controller/datalossprevention/jobtrigger/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package jobtrigger + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datalossprevention/v1alpha1" +) + +// Setup adds a controller that reconciles JobTrigger managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.JobTrigger_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.JobTrigger_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_data_loss_prevention_job_trigger"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.JobTrigger{}). + Complete(r) +} diff --git a/internal/controller/datalossprevention/storedinfotype/zz_controller.go b/internal/controller/datalossprevention/storedinfotype/zz_controller.go new file mode 100755 index 00000000..4cdd0288 --- /dev/null +++ b/internal/controller/datalossprevention/storedinfotype/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package storedinfotype + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datalossprevention/v1alpha1" +) + +// Setup adds a controller that reconciles StoredInfoType managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.StoredInfoType_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.StoredInfoType_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_data_loss_prevention_stored_info_type"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.StoredInfoType{}). + Complete(r) +} diff --git a/internal/controller/dataproc/autoscalingpolicy/zz_controller.go b/internal/controller/dataproc/autoscalingpolicy/zz_controller.go new file mode 100755 index 00000000..0f784877 --- /dev/null +++ b/internal/controller/dataproc/autoscalingpolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package autoscalingpolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dataproc/v1alpha1" +) + +// Setup adds a controller that reconciles AutoscalingPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AutoscalingPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AutoscalingPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dataproc_autoscaling_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AutoscalingPolicy{}). + Complete(r) +} diff --git a/internal/controller/dataproc/cluster/zz_controller.go b/internal/controller/dataproc/cluster/zz_controller.go new file mode 100755 index 00000000..d3ca46fb --- /dev/null +++ b/internal/controller/dataproc/cluster/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package cluster + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dataproc/v1alpha1" +) + +// Setup adds a controller that reconciles Cluster managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Cluster_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Cluster_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dataproc_cluster"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Cluster{}). + Complete(r) +} diff --git a/internal/controller/dataproc/clusteriambinding/zz_controller.go b/internal/controller/dataproc/clusteriambinding/zz_controller.go new file mode 100755 index 00000000..17fd4d84 --- /dev/null +++ b/internal/controller/dataproc/clusteriambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package clusteriambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dataproc/v1alpha1" +) + +// Setup adds a controller that reconciles ClusterIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ClusterIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ClusterIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dataproc_cluster_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ClusterIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/dataproc/clusteriammember/zz_controller.go b/internal/controller/dataproc/clusteriammember/zz_controller.go new file mode 100755 index 00000000..cc1b5200 --- /dev/null +++ b/internal/controller/dataproc/clusteriammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package clusteriammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dataproc/v1alpha1" +) + +// Setup adds a controller that reconciles ClusterIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ClusterIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ClusterIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dataproc_cluster_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ClusterIAMMember{}). + Complete(r) +} diff --git a/internal/controller/dataproc/clusteriampolicy/zz_controller.go b/internal/controller/dataproc/clusteriampolicy/zz_controller.go new file mode 100755 index 00000000..41bb1b9f --- /dev/null +++ b/internal/controller/dataproc/clusteriampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package clusteriampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dataproc/v1alpha1" +) + +// Setup adds a controller that reconciles ClusterIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ClusterIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ClusterIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dataproc_cluster_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ClusterIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/dataproc/job/zz_controller.go b/internal/controller/dataproc/job/zz_controller.go new file mode 100755 index 00000000..d8c8f1f9 --- /dev/null +++ b/internal/controller/dataproc/job/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package job + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dataproc/v1alpha1" +) + +// Setup adds a controller that reconciles Job managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Job_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Job_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dataproc_job"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Job{}). + Complete(r) +} diff --git a/internal/controller/dataproc/jobiambinding/zz_controller.go b/internal/controller/dataproc/jobiambinding/zz_controller.go new file mode 100755 index 00000000..29bb020c --- /dev/null +++ b/internal/controller/dataproc/jobiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package jobiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dataproc/v1alpha1" +) + +// Setup adds a controller that reconciles JobIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.JobIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.JobIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dataproc_job_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.JobIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/dataproc/jobiammember/zz_controller.go b/internal/controller/dataproc/jobiammember/zz_controller.go new file mode 100755 index 00000000..5b1cd74f --- /dev/null +++ b/internal/controller/dataproc/jobiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package jobiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dataproc/v1alpha1" +) + +// Setup adds a controller that reconciles JobIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.JobIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.JobIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dataproc_job_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.JobIAMMember{}). + Complete(r) +} diff --git a/internal/controller/dataproc/jobiampolicy/zz_controller.go b/internal/controller/dataproc/jobiampolicy/zz_controller.go new file mode 100755 index 00000000..d61720fa --- /dev/null +++ b/internal/controller/dataproc/jobiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package jobiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dataproc/v1alpha1" +) + +// Setup adds a controller that reconciles JobIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.JobIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.JobIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dataproc_job_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.JobIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/dataproc/workflowtemplate/zz_controller.go b/internal/controller/dataproc/workflowtemplate/zz_controller.go new file mode 100755 index 00000000..a61ce4f9 --- /dev/null +++ b/internal/controller/dataproc/workflowtemplate/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package workflowtemplate + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dataproc/v1alpha1" +) + +// Setup adds a controller that reconciles WorkflowTemplate managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.WorkflowTemplate_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.WorkflowTemplate_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dataproc_workflow_template"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.WorkflowTemplate{}). + Complete(r) +} diff --git a/internal/controller/datastore/index/zz_controller.go b/internal/controller/datastore/index/zz_controller.go new file mode 100755 index 00000000..11a8ef04 --- /dev/null +++ b/internal/controller/datastore/index/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package index + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/datastore/v1alpha1" +) + +// Setup adds a controller that reconciles Index managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Index_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Index_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_datastore_index"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Index{}). + Complete(r) +} diff --git a/internal/controller/deploymentmanager/deployment/zz_controller.go b/internal/controller/deploymentmanager/deployment/zz_controller.go new file mode 100755 index 00000000..a4389f39 --- /dev/null +++ b/internal/controller/deploymentmanager/deployment/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package deployment + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/deploymentmanager/v1alpha1" +) + +// Setup adds a controller that reconciles Deployment managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Deployment_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Deployment_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_deployment_manager_deployment"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Deployment{}). + Complete(r) +} diff --git a/internal/controller/dialogflow/agent/zz_controller.go b/internal/controller/dialogflow/agent/zz_controller.go new file mode 100755 index 00000000..5e50985b --- /dev/null +++ b/internal/controller/dialogflow/agent/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package agent + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dialogflow/v1alpha1" +) + +// Setup adds a controller that reconciles Agent managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Agent_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Agent_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dialogflow_agent"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Agent{}). + Complete(r) +} diff --git a/internal/controller/dialogflow/entitytype/zz_controller.go b/internal/controller/dialogflow/entitytype/zz_controller.go new file mode 100755 index 00000000..68a39527 --- /dev/null +++ b/internal/controller/dialogflow/entitytype/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package entitytype + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dialogflow/v1alpha1" +) + +// Setup adds a controller that reconciles EntityType managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.EntityType_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.EntityType_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dialogflow_entity_type"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.EntityType{}). + Complete(r) +} diff --git a/internal/controller/dialogflow/fulfillment/zz_controller.go b/internal/controller/dialogflow/fulfillment/zz_controller.go new file mode 100755 index 00000000..97576149 --- /dev/null +++ b/internal/controller/dialogflow/fulfillment/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package fulfillment + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dialogflow/v1alpha1" +) + +// Setup adds a controller that reconciles Fulfillment managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Fulfillment_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Fulfillment_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dialogflow_fulfillment"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Fulfillment{}). + Complete(r) +} diff --git a/internal/controller/dialogflow/intent/zz_controller.go b/internal/controller/dialogflow/intent/zz_controller.go new file mode 100755 index 00000000..1f3c00a0 --- /dev/null +++ b/internal/controller/dialogflow/intent/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package intent + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dialogflow/v1alpha1" +) + +// Setup adds a controller that reconciles Intent managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Intent_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Intent_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dialogflow_intent"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Intent{}). + Complete(r) +} diff --git a/internal/controller/dialogflowcx/agent/zz_controller.go b/internal/controller/dialogflowcx/agent/zz_controller.go new file mode 100755 index 00000000..03657b4f --- /dev/null +++ b/internal/controller/dialogflowcx/agent/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package agent + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dialogflowcx/v1alpha1" +) + +// Setup adds a controller that reconciles Agent managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Agent_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Agent_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dialogflow_cx_agent"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Agent{}). + Complete(r) +} diff --git a/internal/controller/dialogflowcx/entitytype/zz_controller.go b/internal/controller/dialogflowcx/entitytype/zz_controller.go new file mode 100755 index 00000000..73063e68 --- /dev/null +++ b/internal/controller/dialogflowcx/entitytype/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package entitytype + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dialogflowcx/v1alpha1" +) + +// Setup adds a controller that reconciles EntityType managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.EntityType_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.EntityType_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dialogflow_cx_entity_type"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.EntityType{}). + Complete(r) +} diff --git a/internal/controller/dialogflowcx/environment/zz_controller.go b/internal/controller/dialogflowcx/environment/zz_controller.go new file mode 100755 index 00000000..e7b9bf1b --- /dev/null +++ b/internal/controller/dialogflowcx/environment/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package environment + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dialogflowcx/v1alpha1" +) + +// Setup adds a controller that reconciles Environment managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Environment_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Environment_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dialogflow_cx_environment"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Environment{}). + Complete(r) +} diff --git a/internal/controller/dialogflowcx/flow/zz_controller.go b/internal/controller/dialogflowcx/flow/zz_controller.go new file mode 100755 index 00000000..1edb4ff3 --- /dev/null +++ b/internal/controller/dialogflowcx/flow/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package flow + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dialogflowcx/v1alpha1" +) + +// Setup adds a controller that reconciles Flow managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Flow_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Flow_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dialogflow_cx_flow"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Flow{}). + Complete(r) +} diff --git a/internal/controller/dialogflowcx/intent/zz_controller.go b/internal/controller/dialogflowcx/intent/zz_controller.go new file mode 100755 index 00000000..e0dc2d77 --- /dev/null +++ b/internal/controller/dialogflowcx/intent/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package intent + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dialogflowcx/v1alpha1" +) + +// Setup adds a controller that reconciles Intent managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Intent_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Intent_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dialogflow_cx_intent"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Intent{}). + Complete(r) +} diff --git a/internal/controller/dialogflowcx/page/zz_controller.go b/internal/controller/dialogflowcx/page/zz_controller.go new file mode 100755 index 00000000..fff19b11 --- /dev/null +++ b/internal/controller/dialogflowcx/page/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package page + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dialogflowcx/v1alpha1" +) + +// Setup adds a controller that reconciles Page managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Page_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Page_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dialogflow_cx_page"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Page{}). + Complete(r) +} diff --git a/internal/controller/dialogflowcx/version/zz_controller.go b/internal/controller/dialogflowcx/version/zz_controller.go new file mode 100755 index 00000000..0bf3b304 --- /dev/null +++ b/internal/controller/dialogflowcx/version/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package version + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dialogflowcx/v1alpha1" +) + +// Setup adds a controller that reconciles Version managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Version_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Version_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dialogflow_cx_version"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Version{}). + Complete(r) +} diff --git a/internal/controller/dns/managedzone/zz_controller.go b/internal/controller/dns/managedzone/zz_controller.go new file mode 100755 index 00000000..dcfe1cfb --- /dev/null +++ b/internal/controller/dns/managedzone/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package managedzone + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dns/v1alpha1" +) + +// Setup adds a controller that reconciles ManagedZone managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ManagedZone_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ManagedZone_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dns_managed_zone"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ManagedZone{}). + Complete(r) +} diff --git a/internal/controller/dns/policy/zz_controller.go b/internal/controller/dns/policy/zz_controller.go new file mode 100755 index 00000000..49c0d044 --- /dev/null +++ b/internal/controller/dns/policy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package policy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dns/v1alpha1" +) + +// Setup adds a controller that reconciles Policy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Policy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Policy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dns_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Policy{}). + Complete(r) +} diff --git a/internal/controller/dns/recordset/zz_controller.go b/internal/controller/dns/recordset/zz_controller.go new file mode 100755 index 00000000..a5f502c5 --- /dev/null +++ b/internal/controller/dns/recordset/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package recordset + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/dns/v1alpha1" +) + +// Setup adds a controller that reconciles RecordSet managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RecordSet_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RecordSet_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_dns_record_set"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RecordSet{}). + Complete(r) +} diff --git a/internal/controller/endpoints/service/zz_controller.go b/internal/controller/endpoints/service/zz_controller.go new file mode 100755 index 00000000..c0231cc6 --- /dev/null +++ b/internal/controller/endpoints/service/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package service + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/endpoints/v1alpha1" +) + +// Setup adds a controller that reconciles Service managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Service_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Service_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_endpoints_service"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Service{}). + Complete(r) +} diff --git a/internal/controller/endpoints/serviceiambinding/zz_controller.go b/internal/controller/endpoints/serviceiambinding/zz_controller.go new file mode 100755 index 00000000..63a802af --- /dev/null +++ b/internal/controller/endpoints/serviceiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package serviceiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/endpoints/v1alpha1" +) + +// Setup adds a controller that reconciles ServiceIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServiceIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServiceIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_endpoints_service_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServiceIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/endpoints/serviceiammember/zz_controller.go b/internal/controller/endpoints/serviceiammember/zz_controller.go new file mode 100755 index 00000000..60608ebd --- /dev/null +++ b/internal/controller/endpoints/serviceiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package serviceiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/endpoints/v1alpha1" +) + +// Setup adds a controller that reconciles ServiceIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServiceIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServiceIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_endpoints_service_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServiceIAMMember{}). + Complete(r) +} diff --git a/internal/controller/endpoints/serviceiampolicy/zz_controller.go b/internal/controller/endpoints/serviceiampolicy/zz_controller.go new file mode 100755 index 00000000..2cd04c54 --- /dev/null +++ b/internal/controller/endpoints/serviceiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package serviceiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/endpoints/v1alpha1" +) + +// Setup adds a controller that reconciles ServiceIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ServiceIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ServiceIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_endpoints_service_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ServiceIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/essentialcontacts/contact/zz_controller.go b/internal/controller/essentialcontacts/contact/zz_controller.go new file mode 100755 index 00000000..40a81081 --- /dev/null +++ b/internal/controller/essentialcontacts/contact/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package contact + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/essentialcontacts/v1alpha1" +) + +// Setup adds a controller that reconciles Contact managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Contact_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Contact_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_essential_contacts_contact"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Contact{}). + Complete(r) +} diff --git a/internal/controller/eventarc/trigger/zz_controller.go b/internal/controller/eventarc/trigger/zz_controller.go new file mode 100755 index 00000000..6ddc8616 --- /dev/null +++ b/internal/controller/eventarc/trigger/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package trigger + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/eventarc/v1alpha1" +) + +// Setup adds a controller that reconciles Trigger managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Trigger_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Trigger_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_eventarc_trigger"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Trigger{}). + Complete(r) +} diff --git a/internal/controller/filestore/instance/zz_controller.go b/internal/controller/filestore/instance/zz_controller.go new file mode 100755 index 00000000..6636b515 --- /dev/null +++ b/internal/controller/filestore/instance/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instance + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/filestore/v1alpha1" +) + +// Setup adds a controller that reconciles Instance managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Instance_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Instance_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_filestore_instance"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Instance{}). + Complete(r) +} diff --git a/internal/controller/firestore/document/zz_controller.go b/internal/controller/firestore/document/zz_controller.go new file mode 100755 index 00000000..d187a6d7 --- /dev/null +++ b/internal/controller/firestore/document/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package document + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/firestore/v1alpha1" +) + +// Setup adds a controller that reconciles Document managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Document_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Document_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_firestore_document"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Document{}). + Complete(r) +} diff --git a/internal/controller/firestore/index/zz_controller.go b/internal/controller/firestore/index/zz_controller.go new file mode 100755 index 00000000..2263f136 --- /dev/null +++ b/internal/controller/firestore/index/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package index + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/firestore/v1alpha1" +) + +// Setup adds a controller that reconciles Index managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Index_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Index_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_firestore_index"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Index{}). + Complete(r) +} diff --git a/internal/controller/gameservices/gameservercluster/zz_controller.go b/internal/controller/gameservices/gameservercluster/zz_controller.go new file mode 100755 index 00000000..e1203979 --- /dev/null +++ b/internal/controller/gameservices/gameservercluster/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package gameservercluster + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/gameservices/v1alpha1" +) + +// Setup adds a controller that reconciles GameServerCluster managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.GameServerCluster_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.GameServerCluster_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_game_services_game_server_cluster"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.GameServerCluster{}). + Complete(r) +} diff --git a/internal/controller/gameservices/gameserverconfig/zz_controller.go b/internal/controller/gameservices/gameserverconfig/zz_controller.go new file mode 100755 index 00000000..a73d5b27 --- /dev/null +++ b/internal/controller/gameservices/gameserverconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package gameserverconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/gameservices/v1alpha1" +) + +// Setup adds a controller that reconciles GameServerConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.GameServerConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.GameServerConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_game_services_game_server_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.GameServerConfig{}). + Complete(r) +} diff --git a/internal/controller/gameservices/gameserverdeployment/zz_controller.go b/internal/controller/gameservices/gameserverdeployment/zz_controller.go new file mode 100755 index 00000000..fd20e889 --- /dev/null +++ b/internal/controller/gameservices/gameserverdeployment/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package gameserverdeployment + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/gameservices/v1alpha1" +) + +// Setup adds a controller that reconciles GameServerDeployment managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.GameServerDeployment_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.GameServerDeployment_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_game_services_game_server_deployment"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.GameServerDeployment{}). + Complete(r) +} diff --git a/internal/controller/gameservices/gameserverdeploymentrollout/zz_controller.go b/internal/controller/gameservices/gameserverdeploymentrollout/zz_controller.go new file mode 100755 index 00000000..3df52770 --- /dev/null +++ b/internal/controller/gameservices/gameserverdeploymentrollout/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package gameserverdeploymentrollout + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/gameservices/v1alpha1" +) + +// Setup adds a controller that reconciles GameServerDeploymentRollout managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.GameServerDeploymentRollout_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.GameServerDeploymentRollout_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_game_services_game_server_deployment_rollout"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.GameServerDeploymentRollout{}). + Complete(r) +} diff --git a/internal/controller/gameservices/realm/zz_controller.go b/internal/controller/gameservices/realm/zz_controller.go new file mode 100755 index 00000000..5ad9ac57 --- /dev/null +++ b/internal/controller/gameservices/realm/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package realm + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/gameservices/v1alpha1" +) + +// Setup adds a controller that reconciles Realm managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Realm_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Realm_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_game_services_realm"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Realm{}). + Complete(r) +} diff --git a/internal/controller/gkehub/membership/zz_controller.go b/internal/controller/gkehub/membership/zz_controller.go new file mode 100755 index 00000000..03534f58 --- /dev/null +++ b/internal/controller/gkehub/membership/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package membership + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/gkehub/v1alpha1" +) + +// Setup adds a controller that reconciles Membership managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Membership_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Membership_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_gke_hub_membership"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Membership{}). + Complete(r) +} diff --git a/internal/controller/healthcare/consentstore/zz_controller.go b/internal/controller/healthcare/consentstore/zz_controller.go new file mode 100755 index 00000000..e9e730a8 --- /dev/null +++ b/internal/controller/healthcare/consentstore/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package consentstore + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles ConsentStore managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ConsentStore_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ConsentStore_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_consent_store"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ConsentStore{}). + Complete(r) +} diff --git a/internal/controller/healthcare/consentstoreiambinding/zz_controller.go b/internal/controller/healthcare/consentstoreiambinding/zz_controller.go new file mode 100755 index 00000000..f7ab58ea --- /dev/null +++ b/internal/controller/healthcare/consentstoreiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package consentstoreiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles ConsentStoreIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ConsentStoreIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ConsentStoreIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_consent_store_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ConsentStoreIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/healthcare/consentstoreiammember/zz_controller.go b/internal/controller/healthcare/consentstoreiammember/zz_controller.go new file mode 100755 index 00000000..7321738d --- /dev/null +++ b/internal/controller/healthcare/consentstoreiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package consentstoreiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles ConsentStoreIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ConsentStoreIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ConsentStoreIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_consent_store_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ConsentStoreIAMMember{}). + Complete(r) +} diff --git a/internal/controller/healthcare/consentstoreiampolicy/zz_controller.go b/internal/controller/healthcare/consentstoreiampolicy/zz_controller.go new file mode 100755 index 00000000..e30d917a --- /dev/null +++ b/internal/controller/healthcare/consentstoreiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package consentstoreiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles ConsentStoreIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ConsentStoreIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ConsentStoreIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_consent_store_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ConsentStoreIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/healthcare/dataset/zz_controller.go b/internal/controller/healthcare/dataset/zz_controller.go new file mode 100755 index 00000000..1e54631e --- /dev/null +++ b/internal/controller/healthcare/dataset/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package dataset + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles Dataset managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Dataset_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Dataset_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_dataset"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Dataset{}). + Complete(r) +} diff --git a/internal/controller/healthcare/datasetiambinding/zz_controller.go b/internal/controller/healthcare/datasetiambinding/zz_controller.go new file mode 100755 index 00000000..316ec624 --- /dev/null +++ b/internal/controller/healthcare/datasetiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package datasetiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles DatasetIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DatasetIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DatasetIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_dataset_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DatasetIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/healthcare/datasetiammember/zz_controller.go b/internal/controller/healthcare/datasetiammember/zz_controller.go new file mode 100755 index 00000000..00425af2 --- /dev/null +++ b/internal/controller/healthcare/datasetiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package datasetiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles DatasetIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DatasetIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DatasetIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_dataset_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DatasetIAMMember{}). + Complete(r) +} diff --git a/internal/controller/healthcare/datasetiampolicy/zz_controller.go b/internal/controller/healthcare/datasetiampolicy/zz_controller.go new file mode 100755 index 00000000..cb418f52 --- /dev/null +++ b/internal/controller/healthcare/datasetiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package datasetiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles DatasetIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DatasetIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DatasetIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_dataset_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DatasetIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/healthcare/dicomstore/zz_controller.go b/internal/controller/healthcare/dicomstore/zz_controller.go new file mode 100755 index 00000000..ddd5c02e --- /dev/null +++ b/internal/controller/healthcare/dicomstore/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package dicomstore + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles DICOMStore managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DICOMStore_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DICOMStore_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_dicom_store"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DICOMStore{}). + Complete(r) +} diff --git a/internal/controller/healthcare/dicomstoreiambinding/zz_controller.go b/internal/controller/healthcare/dicomstoreiambinding/zz_controller.go new file mode 100755 index 00000000..5682e842 --- /dev/null +++ b/internal/controller/healthcare/dicomstoreiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package dicomstoreiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles DICOMStoreIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DICOMStoreIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DICOMStoreIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_dicom_store_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DICOMStoreIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/healthcare/dicomstoreiammember/zz_controller.go b/internal/controller/healthcare/dicomstoreiammember/zz_controller.go new file mode 100755 index 00000000..4b1f6298 --- /dev/null +++ b/internal/controller/healthcare/dicomstoreiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package dicomstoreiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles DICOMStoreIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DICOMStoreIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DICOMStoreIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_dicom_store_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DICOMStoreIAMMember{}). + Complete(r) +} diff --git a/internal/controller/healthcare/dicomstoreiampolicy/zz_controller.go b/internal/controller/healthcare/dicomstoreiampolicy/zz_controller.go new file mode 100755 index 00000000..2080b6db --- /dev/null +++ b/internal/controller/healthcare/dicomstoreiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package dicomstoreiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles DICOMStoreIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DICOMStoreIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DICOMStoreIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_dicom_store_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DICOMStoreIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/healthcare/fhirstore/zz_controller.go b/internal/controller/healthcare/fhirstore/zz_controller.go new file mode 100755 index 00000000..afbb25b9 --- /dev/null +++ b/internal/controller/healthcare/fhirstore/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package fhirstore + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles FHIRStore managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FHIRStore_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FHIRStore_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_fhir_store"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FHIRStore{}). + Complete(r) +} diff --git a/internal/controller/healthcare/fhirstoreiambinding/zz_controller.go b/internal/controller/healthcare/fhirstoreiambinding/zz_controller.go new file mode 100755 index 00000000..318b5e46 --- /dev/null +++ b/internal/controller/healthcare/fhirstoreiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package fhirstoreiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles FHIRStoreIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FHIRStoreIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FHIRStoreIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_fhir_store_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FHIRStoreIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/healthcare/fhirstoreiammember/zz_controller.go b/internal/controller/healthcare/fhirstoreiammember/zz_controller.go new file mode 100755 index 00000000..c5992eb5 --- /dev/null +++ b/internal/controller/healthcare/fhirstoreiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package fhirstoreiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles FHIRStoreIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FHIRStoreIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FHIRStoreIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_fhir_store_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FHIRStoreIAMMember{}). + Complete(r) +} diff --git a/internal/controller/healthcare/fhirstoreiampolicy/zz_controller.go b/internal/controller/healthcare/fhirstoreiampolicy/zz_controller.go new file mode 100755 index 00000000..f0feba0f --- /dev/null +++ b/internal/controller/healthcare/fhirstoreiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package fhirstoreiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles FHIRStoreIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FHIRStoreIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FHIRStoreIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_fhir_store_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FHIRStoreIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/healthcare/hl7v2store/zz_controller.go b/internal/controller/healthcare/hl7v2store/zz_controller.go new file mode 100755 index 00000000..15c6f4a7 --- /dev/null +++ b/internal/controller/healthcare/hl7v2store/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package hl7v2store + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles HL7V2Store managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.HL7V2Store_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.HL7V2Store_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_hl7_v2_store"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.HL7V2Store{}). + Complete(r) +} diff --git a/internal/controller/healthcare/hl7v2storeiambinding/zz_controller.go b/internal/controller/healthcare/hl7v2storeiambinding/zz_controller.go new file mode 100755 index 00000000..6acbf5ee --- /dev/null +++ b/internal/controller/healthcare/hl7v2storeiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package hl7v2storeiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles HL7V2StoreIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.HL7V2StoreIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.HL7V2StoreIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_hl7_v2_store_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.HL7V2StoreIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/healthcare/hl7v2storeiammember/zz_controller.go b/internal/controller/healthcare/hl7v2storeiammember/zz_controller.go new file mode 100755 index 00000000..5446c2b7 --- /dev/null +++ b/internal/controller/healthcare/hl7v2storeiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package hl7v2storeiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles HL7V2StoreIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.HL7V2StoreIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.HL7V2StoreIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_hl7_v2_store_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.HL7V2StoreIAMMember{}). + Complete(r) +} diff --git a/internal/controller/healthcare/hl7v2storeiampolicy/zz_controller.go b/internal/controller/healthcare/hl7v2storeiampolicy/zz_controller.go new file mode 100755 index 00000000..48645057 --- /dev/null +++ b/internal/controller/healthcare/hl7v2storeiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package hl7v2storeiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/healthcare/v1alpha1" +) + +// Setup adds a controller that reconciles HL7V2StoreIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.HL7V2StoreIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.HL7V2StoreIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_healthcare_hl7_v2_store_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.HL7V2StoreIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/iap/appengineserviceiambinding/zz_controller.go b/internal/controller/iap/appengineserviceiambinding/zz_controller.go new file mode 100755 index 00000000..0defcb8f --- /dev/null +++ b/internal/controller/iap/appengineserviceiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package appengineserviceiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles AppEngineServiceIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AppEngineServiceIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AppEngineServiceIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_app_engine_service_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AppEngineServiceIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/iap/appengineserviceiammember/zz_controller.go b/internal/controller/iap/appengineserviceiammember/zz_controller.go new file mode 100755 index 00000000..24d5003f --- /dev/null +++ b/internal/controller/iap/appengineserviceiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package appengineserviceiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles AppEngineServiceIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AppEngineServiceIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AppEngineServiceIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_app_engine_service_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AppEngineServiceIAMMember{}). + Complete(r) +} diff --git a/internal/controller/iap/appengineserviceiampolicy/zz_controller.go b/internal/controller/iap/appengineserviceiampolicy/zz_controller.go new file mode 100755 index 00000000..4bb5f613 --- /dev/null +++ b/internal/controller/iap/appengineserviceiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package appengineserviceiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles AppEngineServiceIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AppEngineServiceIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AppEngineServiceIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_app_engine_service_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AppEngineServiceIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/iap/appengineversioniambinding/zz_controller.go b/internal/controller/iap/appengineversioniambinding/zz_controller.go new file mode 100755 index 00000000..b3f6ef1f --- /dev/null +++ b/internal/controller/iap/appengineversioniambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package appengineversioniambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles AppEngineVersionIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AppEngineVersionIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AppEngineVersionIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_app_engine_version_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AppEngineVersionIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/iap/appengineversioniammember/zz_controller.go b/internal/controller/iap/appengineversioniammember/zz_controller.go new file mode 100755 index 00000000..714b9051 --- /dev/null +++ b/internal/controller/iap/appengineversioniammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package appengineversioniammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles AppEngineVersionIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AppEngineVersionIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AppEngineVersionIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_app_engine_version_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AppEngineVersionIAMMember{}). + Complete(r) +} diff --git a/internal/controller/iap/appengineversioniampolicy/zz_controller.go b/internal/controller/iap/appengineversioniampolicy/zz_controller.go new file mode 100755 index 00000000..4973daeb --- /dev/null +++ b/internal/controller/iap/appengineversioniampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package appengineversioniampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles AppEngineVersionIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.AppEngineVersionIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.AppEngineVersionIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_app_engine_version_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.AppEngineVersionIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/iap/brand/zz_controller.go b/internal/controller/iap/brand/zz_controller.go new file mode 100755 index 00000000..c57a7fb0 --- /dev/null +++ b/internal/controller/iap/brand/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package brand + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles Brand managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Brand_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Brand_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_brand"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Brand{}). + Complete(r) +} diff --git a/internal/controller/iap/client/zz_controller.go b/internal/controller/iap/client/zz_controller.go new file mode 100755 index 00000000..08ca98bc --- /dev/null +++ b/internal/controller/iap/client/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package client + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles Client managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Client_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Client_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_client"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Client{}). + Complete(r) +} diff --git a/internal/controller/iap/tunneliambinding/zz_controller.go b/internal/controller/iap/tunneliambinding/zz_controller.go new file mode 100755 index 00000000..6ece6d2f --- /dev/null +++ b/internal/controller/iap/tunneliambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tunneliambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles TunnelIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TunnelIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TunnelIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_tunnel_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TunnelIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/iap/tunneliammember/zz_controller.go b/internal/controller/iap/tunneliammember/zz_controller.go new file mode 100755 index 00000000..06e88340 --- /dev/null +++ b/internal/controller/iap/tunneliammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tunneliammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles TunnelIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TunnelIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TunnelIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_tunnel_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TunnelIAMMember{}). + Complete(r) +} diff --git a/internal/controller/iap/tunneliampolicy/zz_controller.go b/internal/controller/iap/tunneliampolicy/zz_controller.go new file mode 100755 index 00000000..a1395cc6 --- /dev/null +++ b/internal/controller/iap/tunneliampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tunneliampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles TunnelIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TunnelIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TunnelIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_tunnel_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TunnelIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/iap/tunnelinstanceiambinding/zz_controller.go b/internal/controller/iap/tunnelinstanceiambinding/zz_controller.go new file mode 100755 index 00000000..4bf414ec --- /dev/null +++ b/internal/controller/iap/tunnelinstanceiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tunnelinstanceiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles TunnelInstanceIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TunnelInstanceIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TunnelInstanceIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_tunnel_instance_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TunnelInstanceIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/iap/tunnelinstanceiammember/zz_controller.go b/internal/controller/iap/tunnelinstanceiammember/zz_controller.go new file mode 100755 index 00000000..cd12e4a0 --- /dev/null +++ b/internal/controller/iap/tunnelinstanceiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tunnelinstanceiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles TunnelInstanceIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TunnelInstanceIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TunnelInstanceIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_tunnel_instance_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TunnelInstanceIAMMember{}). + Complete(r) +} diff --git a/internal/controller/iap/tunnelinstanceiampolicy/zz_controller.go b/internal/controller/iap/tunnelinstanceiampolicy/zz_controller.go new file mode 100755 index 00000000..cc8c7ddd --- /dev/null +++ b/internal/controller/iap/tunnelinstanceiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tunnelinstanceiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles TunnelInstanceIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TunnelInstanceIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TunnelInstanceIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_tunnel_instance_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TunnelInstanceIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/iap/webbackendserviceiambinding/zz_controller.go b/internal/controller/iap/webbackendserviceiambinding/zz_controller.go new file mode 100755 index 00000000..d922540c --- /dev/null +++ b/internal/controller/iap/webbackendserviceiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package webbackendserviceiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles WebBackendServiceIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.WebBackendServiceIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.WebBackendServiceIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_web_backend_service_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.WebBackendServiceIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/iap/webbackendserviceiammember/zz_controller.go b/internal/controller/iap/webbackendserviceiammember/zz_controller.go new file mode 100755 index 00000000..6513aeb2 --- /dev/null +++ b/internal/controller/iap/webbackendserviceiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package webbackendserviceiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles WebBackendServiceIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.WebBackendServiceIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.WebBackendServiceIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_web_backend_service_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.WebBackendServiceIAMMember{}). + Complete(r) +} diff --git a/internal/controller/iap/webbackendserviceiampolicy/zz_controller.go b/internal/controller/iap/webbackendserviceiampolicy/zz_controller.go new file mode 100755 index 00000000..fd4f7326 --- /dev/null +++ b/internal/controller/iap/webbackendserviceiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package webbackendserviceiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles WebBackendServiceIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.WebBackendServiceIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.WebBackendServiceIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_web_backend_service_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.WebBackendServiceIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/iap/webiambinding/zz_controller.go b/internal/controller/iap/webiambinding/zz_controller.go new file mode 100755 index 00000000..2f436f75 --- /dev/null +++ b/internal/controller/iap/webiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package webiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles WebIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.WebIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.WebIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_web_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.WebIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/iap/webiammember/zz_controller.go b/internal/controller/iap/webiammember/zz_controller.go new file mode 100755 index 00000000..ab958042 --- /dev/null +++ b/internal/controller/iap/webiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package webiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles WebIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.WebIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.WebIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_web_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.WebIAMMember{}). + Complete(r) +} diff --git a/internal/controller/iap/webiampolicy/zz_controller.go b/internal/controller/iap/webiampolicy/zz_controller.go new file mode 100755 index 00000000..90963e63 --- /dev/null +++ b/internal/controller/iap/webiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package webiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles WebIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.WebIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.WebIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_web_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.WebIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/iap/webtypeappengineiambinding/zz_controller.go b/internal/controller/iap/webtypeappengineiambinding/zz_controller.go new file mode 100755 index 00000000..a0c20fb9 --- /dev/null +++ b/internal/controller/iap/webtypeappengineiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package webtypeappengineiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles WebTypeAppEngineIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.WebTypeAppEngineIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.WebTypeAppEngineIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_web_type_app_engine_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.WebTypeAppEngineIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/iap/webtypeappengineiammember/zz_controller.go b/internal/controller/iap/webtypeappengineiammember/zz_controller.go new file mode 100755 index 00000000..01cc85b9 --- /dev/null +++ b/internal/controller/iap/webtypeappengineiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package webtypeappengineiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles WebTypeAppEngineIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.WebTypeAppEngineIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.WebTypeAppEngineIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_web_type_app_engine_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.WebTypeAppEngineIAMMember{}). + Complete(r) +} diff --git a/internal/controller/iap/webtypeappengineiampolicy/zz_controller.go b/internal/controller/iap/webtypeappengineiampolicy/zz_controller.go new file mode 100755 index 00000000..5fd5e55d --- /dev/null +++ b/internal/controller/iap/webtypeappengineiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package webtypeappengineiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles WebTypeAppEngineIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.WebTypeAppEngineIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.WebTypeAppEngineIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_web_type_app_engine_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.WebTypeAppEngineIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/iap/webtypecomputeiambinding/zz_controller.go b/internal/controller/iap/webtypecomputeiambinding/zz_controller.go new file mode 100755 index 00000000..755b35eb --- /dev/null +++ b/internal/controller/iap/webtypecomputeiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package webtypecomputeiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles WebTypeComputeIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.WebTypeComputeIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.WebTypeComputeIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_web_type_compute_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.WebTypeComputeIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/iap/webtypecomputeiammember/zz_controller.go b/internal/controller/iap/webtypecomputeiammember/zz_controller.go new file mode 100755 index 00000000..18fd9fca --- /dev/null +++ b/internal/controller/iap/webtypecomputeiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package webtypecomputeiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles WebTypeComputeIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.WebTypeComputeIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.WebTypeComputeIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_web_type_compute_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.WebTypeComputeIAMMember{}). + Complete(r) +} diff --git a/internal/controller/iap/webtypecomputeiampolicy/zz_controller.go b/internal/controller/iap/webtypecomputeiampolicy/zz_controller.go new file mode 100755 index 00000000..9e2f0876 --- /dev/null +++ b/internal/controller/iap/webtypecomputeiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package webtypecomputeiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/iap/v1alpha1" +) + +// Setup adds a controller that reconciles WebTypeComputeIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.WebTypeComputeIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.WebTypeComputeIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_iap_web_type_compute_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.WebTypeComputeIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/identityplatform/defaultsupportedidpconfig/zz_controller.go b/internal/controller/identityplatform/defaultsupportedidpconfig/zz_controller.go new file mode 100755 index 00000000..7f26f99a --- /dev/null +++ b/internal/controller/identityplatform/defaultsupportedidpconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package defaultsupportedidpconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/identityplatform/v1alpha1" +) + +// Setup adds a controller that reconciles DefaultSupportedIdPConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DefaultSupportedIdPConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DefaultSupportedIdPConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_identity_platform_default_supported_idp_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DefaultSupportedIdPConfig{}). + Complete(r) +} diff --git a/internal/controller/identityplatform/inboundsamlconfig/zz_controller.go b/internal/controller/identityplatform/inboundsamlconfig/zz_controller.go new file mode 100755 index 00000000..2de13fd2 --- /dev/null +++ b/internal/controller/identityplatform/inboundsamlconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package inboundsamlconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/identityplatform/v1alpha1" +) + +// Setup adds a controller that reconciles InboundSAMLConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InboundSAMLConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InboundSAMLConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_identity_platform_inbound_saml_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InboundSAMLConfig{}). + Complete(r) +} diff --git a/internal/controller/identityplatform/oauthidpconfig/zz_controller.go b/internal/controller/identityplatform/oauthidpconfig/zz_controller.go new file mode 100755 index 00000000..89439396 --- /dev/null +++ b/internal/controller/identityplatform/oauthidpconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package oauthidpconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/identityplatform/v1alpha1" +) + +// Setup adds a controller that reconciles OAuthIdPConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.OAuthIdPConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.OAuthIdPConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_identity_platform_oauth_idp_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.OAuthIdPConfig{}). + Complete(r) +} diff --git a/internal/controller/identityplatform/tenant/zz_controller.go b/internal/controller/identityplatform/tenant/zz_controller.go new file mode 100755 index 00000000..8a260b54 --- /dev/null +++ b/internal/controller/identityplatform/tenant/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tenant + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/identityplatform/v1alpha1" +) + +// Setup adds a controller that reconciles Tenant managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Tenant_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Tenant_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_identity_platform_tenant"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Tenant{}). + Complete(r) +} diff --git a/internal/controller/identityplatform/tenantdefaultsupportedidpconfig/zz_controller.go b/internal/controller/identityplatform/tenantdefaultsupportedidpconfig/zz_controller.go new file mode 100755 index 00000000..67ec541f --- /dev/null +++ b/internal/controller/identityplatform/tenantdefaultsupportedidpconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tenantdefaultsupportedidpconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/identityplatform/v1alpha1" +) + +// Setup adds a controller that reconciles TenantDefaultSupportedIdPConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TenantDefaultSupportedIdPConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TenantDefaultSupportedIdPConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_identity_platform_tenant_default_supported_idp_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TenantDefaultSupportedIdPConfig{}). + Complete(r) +} diff --git a/internal/controller/identityplatform/tenantinboundsamlconfig/zz_controller.go b/internal/controller/identityplatform/tenantinboundsamlconfig/zz_controller.go new file mode 100755 index 00000000..8be02089 --- /dev/null +++ b/internal/controller/identityplatform/tenantinboundsamlconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tenantinboundsamlconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/identityplatform/v1alpha1" +) + +// Setup adds a controller that reconciles TenantInboundSAMLConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TenantInboundSAMLConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TenantInboundSAMLConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_identity_platform_tenant_inbound_saml_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TenantInboundSAMLConfig{}). + Complete(r) +} diff --git a/internal/controller/identityplatform/tenantoauthidpconfig/zz_controller.go b/internal/controller/identityplatform/tenantoauthidpconfig/zz_controller.go new file mode 100755 index 00000000..e589c95e --- /dev/null +++ b/internal/controller/identityplatform/tenantoauthidpconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tenantoauthidpconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/identityplatform/v1alpha1" +) + +// Setup adds a controller that reconciles TenantOAuthIdPConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TenantOAuthIdPConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TenantOAuthIdPConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_identity_platform_tenant_oauth_idp_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TenantOAuthIdPConfig{}). + Complete(r) +} diff --git a/internal/controller/kms/cryptokey/zz_controller.go b/internal/controller/kms/cryptokey/zz_controller.go new file mode 100755 index 00000000..a53fbd69 --- /dev/null +++ b/internal/controller/kms/cryptokey/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package cryptokey + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/kms/v1alpha1" +) + +// Setup adds a controller that reconciles CryptoKey managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.CryptoKey_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.CryptoKey_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_kms_crypto_key"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.CryptoKey{}). + Complete(r) +} diff --git a/internal/controller/kms/cryptokeyiambinding/zz_controller.go b/internal/controller/kms/cryptokeyiambinding/zz_controller.go new file mode 100755 index 00000000..79c97c0f --- /dev/null +++ b/internal/controller/kms/cryptokeyiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package cryptokeyiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/kms/v1alpha1" +) + +// Setup adds a controller that reconciles CryptoKeyIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.CryptoKeyIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.CryptoKeyIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_kms_crypto_key_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.CryptoKeyIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/kms/cryptokeyiammember/zz_controller.go b/internal/controller/kms/cryptokeyiammember/zz_controller.go new file mode 100755 index 00000000..2bde782a --- /dev/null +++ b/internal/controller/kms/cryptokeyiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package cryptokeyiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/kms/v1alpha1" +) + +// Setup adds a controller that reconciles CryptoKeyIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.CryptoKeyIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.CryptoKeyIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_kms_crypto_key_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.CryptoKeyIAMMember{}). + Complete(r) +} diff --git a/internal/controller/kms/cryptokeyiampolicy/zz_controller.go b/internal/controller/kms/cryptokeyiampolicy/zz_controller.go new file mode 100755 index 00000000..427afe1e --- /dev/null +++ b/internal/controller/kms/cryptokeyiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package cryptokeyiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/kms/v1alpha1" +) + +// Setup adds a controller that reconciles CryptoKeyIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.CryptoKeyIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.CryptoKeyIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_kms_crypto_key_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.CryptoKeyIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/kms/keyring/zz_controller.go b/internal/controller/kms/keyring/zz_controller.go new file mode 100755 index 00000000..4b2d4cf5 --- /dev/null +++ b/internal/controller/kms/keyring/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package keyring + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/kms/v1alpha1" +) + +// Setup adds a controller that reconciles KeyRing managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.KeyRing_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.KeyRing_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_kms_key_ring"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.KeyRing{}). + Complete(r) +} diff --git a/internal/controller/kms/keyringiambinding/zz_controller.go b/internal/controller/kms/keyringiambinding/zz_controller.go new file mode 100755 index 00000000..ccb0c8c1 --- /dev/null +++ b/internal/controller/kms/keyringiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package keyringiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/kms/v1alpha1" +) + +// Setup adds a controller that reconciles KeyRingIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.KeyRingIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.KeyRingIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_kms_key_ring_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.KeyRingIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/kms/keyringiammember/zz_controller.go b/internal/controller/kms/keyringiammember/zz_controller.go new file mode 100755 index 00000000..413927fe --- /dev/null +++ b/internal/controller/kms/keyringiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package keyringiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/kms/v1alpha1" +) + +// Setup adds a controller that reconciles KeyRingIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.KeyRingIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.KeyRingIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_kms_key_ring_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.KeyRingIAMMember{}). + Complete(r) +} diff --git a/internal/controller/kms/keyringiampolicy/zz_controller.go b/internal/controller/kms/keyringiampolicy/zz_controller.go new file mode 100755 index 00000000..864f0945 --- /dev/null +++ b/internal/controller/kms/keyringiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package keyringiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/kms/v1alpha1" +) + +// Setup adds a controller that reconciles KeyRingIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.KeyRingIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.KeyRingIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_kms_key_ring_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.KeyRingIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/kms/keyringimportjob/zz_controller.go b/internal/controller/kms/keyringimportjob/zz_controller.go new file mode 100755 index 00000000..31688275 --- /dev/null +++ b/internal/controller/kms/keyringimportjob/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package keyringimportjob + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/kms/v1alpha1" +) + +// Setup adds a controller that reconciles KeyRingImportJob managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.KeyRingImportJob_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.KeyRingImportJob_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_kms_key_ring_import_job"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.KeyRingImportJob{}). + Complete(r) +} diff --git a/internal/controller/kms/secretciphertext/zz_controller.go b/internal/controller/kms/secretciphertext/zz_controller.go new file mode 100755 index 00000000..4aad097f --- /dev/null +++ b/internal/controller/kms/secretciphertext/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package secretciphertext + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/kms/v1alpha1" +) + +// Setup adds a controller that reconciles SecretCiphertext managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SecretCiphertext_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SecretCiphertext_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_kms_secret_ciphertext"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SecretCiphertext{}). + Complete(r) +} diff --git a/internal/controller/logging/billingaccountbucketconfig/zz_controller.go b/internal/controller/logging/billingaccountbucketconfig/zz_controller.go new file mode 100755 index 00000000..be41a31f --- /dev/null +++ b/internal/controller/logging/billingaccountbucketconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package billingaccountbucketconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/logging/v1alpha1" +) + +// Setup adds a controller that reconciles BillingAccountBucketConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.BillingAccountBucketConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.BillingAccountBucketConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_logging_billing_account_bucket_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.BillingAccountBucketConfig{}). + Complete(r) +} diff --git a/internal/controller/logging/billingaccountexclusion/zz_controller.go b/internal/controller/logging/billingaccountexclusion/zz_controller.go new file mode 100755 index 00000000..a972fab6 --- /dev/null +++ b/internal/controller/logging/billingaccountexclusion/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package billingaccountexclusion + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/logging/v1alpha1" +) + +// Setup adds a controller that reconciles BillingAccountExclusion managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.BillingAccountExclusion_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.BillingAccountExclusion_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_logging_billing_account_exclusion"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.BillingAccountExclusion{}). + Complete(r) +} diff --git a/internal/controller/logging/billingaccountsink/zz_controller.go b/internal/controller/logging/billingaccountsink/zz_controller.go new file mode 100755 index 00000000..5fc944b6 --- /dev/null +++ b/internal/controller/logging/billingaccountsink/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package billingaccountsink + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/logging/v1alpha1" +) + +// Setup adds a controller that reconciles BillingAccountSink managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.BillingAccountSink_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.BillingAccountSink_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_logging_billing_account_sink"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.BillingAccountSink{}). + Complete(r) +} diff --git a/internal/controller/logging/folderbucketconfig/zz_controller.go b/internal/controller/logging/folderbucketconfig/zz_controller.go new file mode 100755 index 00000000..e7fa4eb8 --- /dev/null +++ b/internal/controller/logging/folderbucketconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package folderbucketconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/logging/v1alpha1" +) + +// Setup adds a controller that reconciles FolderBucketConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FolderBucketConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FolderBucketConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_logging_folder_bucket_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FolderBucketConfig{}). + Complete(r) +} diff --git a/internal/controller/logging/folderexclusion/zz_controller.go b/internal/controller/logging/folderexclusion/zz_controller.go new file mode 100755 index 00000000..bf5223d1 --- /dev/null +++ b/internal/controller/logging/folderexclusion/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package folderexclusion + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/logging/v1alpha1" +) + +// Setup adds a controller that reconciles FolderExclusion managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FolderExclusion_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FolderExclusion_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_logging_folder_exclusion"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FolderExclusion{}). + Complete(r) +} diff --git a/internal/controller/logging/foldersink/zz_controller.go b/internal/controller/logging/foldersink/zz_controller.go new file mode 100755 index 00000000..39334fad --- /dev/null +++ b/internal/controller/logging/foldersink/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package foldersink + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/logging/v1alpha1" +) + +// Setup adds a controller that reconciles FolderSink managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.FolderSink_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.FolderSink_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_logging_folder_sink"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.FolderSink{}). + Complete(r) +} diff --git a/internal/controller/logging/metric/zz_controller.go b/internal/controller/logging/metric/zz_controller.go new file mode 100755 index 00000000..197a8501 --- /dev/null +++ b/internal/controller/logging/metric/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package metric + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/logging/v1alpha1" +) + +// Setup adds a controller that reconciles Metric managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Metric_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Metric_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_logging_metric"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Metric{}). + Complete(r) +} diff --git a/internal/controller/logging/organizationbucketconfig/zz_controller.go b/internal/controller/logging/organizationbucketconfig/zz_controller.go new file mode 100755 index 00000000..51e1b4c7 --- /dev/null +++ b/internal/controller/logging/organizationbucketconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package organizationbucketconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/logging/v1alpha1" +) + +// Setup adds a controller that reconciles OrganizationBucketConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.OrganizationBucketConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.OrganizationBucketConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_logging_organization_bucket_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.OrganizationBucketConfig{}). + Complete(r) +} diff --git a/internal/controller/logging/organizationexclusion/zz_controller.go b/internal/controller/logging/organizationexclusion/zz_controller.go new file mode 100755 index 00000000..283d68ac --- /dev/null +++ b/internal/controller/logging/organizationexclusion/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package organizationexclusion + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/logging/v1alpha1" +) + +// Setup adds a controller that reconciles OrganizationExclusion managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.OrganizationExclusion_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.OrganizationExclusion_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_logging_organization_exclusion"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.OrganizationExclusion{}). + Complete(r) +} diff --git a/internal/controller/logging/organizationsink/zz_controller.go b/internal/controller/logging/organizationsink/zz_controller.go new file mode 100755 index 00000000..ea8d6246 --- /dev/null +++ b/internal/controller/logging/organizationsink/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package organizationsink + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/logging/v1alpha1" +) + +// Setup adds a controller that reconciles OrganizationSink managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.OrganizationSink_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.OrganizationSink_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_logging_organization_sink"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.OrganizationSink{}). + Complete(r) +} diff --git a/internal/controller/logging/projectbucketconfig/zz_controller.go b/internal/controller/logging/projectbucketconfig/zz_controller.go new file mode 100755 index 00000000..7c1aed4c --- /dev/null +++ b/internal/controller/logging/projectbucketconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectbucketconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/logging/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectBucketConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectBucketConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectBucketConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_logging_project_bucket_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectBucketConfig{}). + Complete(r) +} diff --git a/internal/controller/logging/projectexclusion/zz_controller.go b/internal/controller/logging/projectexclusion/zz_controller.go new file mode 100755 index 00000000..6a737011 --- /dev/null +++ b/internal/controller/logging/projectexclusion/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectexclusion + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/logging/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectExclusion managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectExclusion_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectExclusion_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_logging_project_exclusion"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectExclusion{}). + Complete(r) +} diff --git a/internal/controller/logging/projectsink/zz_controller.go b/internal/controller/logging/projectsink/zz_controller.go new file mode 100755 index 00000000..60c5fc4b --- /dev/null +++ b/internal/controller/logging/projectsink/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package projectsink + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/logging/v1alpha1" +) + +// Setup adds a controller that reconciles ProjectSink managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ProjectSink_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ProjectSink_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_logging_project_sink"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ProjectSink{}). + Complete(r) +} diff --git a/internal/controller/memcache/instance/zz_controller.go b/internal/controller/memcache/instance/zz_controller.go new file mode 100755 index 00000000..fdbbd787 --- /dev/null +++ b/internal/controller/memcache/instance/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instance + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/memcache/v1alpha1" +) + +// Setup adds a controller that reconciles Instance managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Instance_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Instance_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_memcache_instance"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Instance{}). + Complete(r) +} diff --git a/internal/controller/mlengine/model/zz_controller.go b/internal/controller/mlengine/model/zz_controller.go new file mode 100755 index 00000000..3bc27ff5 --- /dev/null +++ b/internal/controller/mlengine/model/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package model + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/mlengine/v1alpha1" +) + +// Setup adds a controller that reconciles Model managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Model_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Model_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_ml_engine_model"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Model{}). + Complete(r) +} diff --git a/internal/controller/monitoring/customservice/zz_controller.go b/internal/controller/monitoring/customservice/zz_controller.go new file mode 100755 index 00000000..55466681 --- /dev/null +++ b/internal/controller/monitoring/customservice/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package customservice + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/monitoring/v1alpha1" +) + +// Setup adds a controller that reconciles CustomService managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.CustomService_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.CustomService_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_monitoring_custom_service"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.CustomService{}). + Complete(r) +} diff --git a/internal/controller/monitoring/dashboard/zz_controller.go b/internal/controller/monitoring/dashboard/zz_controller.go new file mode 100755 index 00000000..ce781f31 --- /dev/null +++ b/internal/controller/monitoring/dashboard/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package dashboard + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/monitoring/v1alpha1" +) + +// Setup adds a controller that reconciles Dashboard managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Dashboard_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Dashboard_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_monitoring_dashboard"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Dashboard{}). + Complete(r) +} diff --git a/internal/controller/monitoring/group/zz_controller.go b/internal/controller/monitoring/group/zz_controller.go new file mode 100755 index 00000000..ea7138b8 --- /dev/null +++ b/internal/controller/monitoring/group/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package group + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/monitoring/v1alpha1" +) + +// Setup adds a controller that reconciles Group managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Group_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Group_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_monitoring_group"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Group{}). + Complete(r) +} diff --git a/internal/controller/monitoring/metricdescriptor/zz_controller.go b/internal/controller/monitoring/metricdescriptor/zz_controller.go new file mode 100755 index 00000000..511e81b6 --- /dev/null +++ b/internal/controller/monitoring/metricdescriptor/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package metricdescriptor + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/monitoring/v1alpha1" +) + +// Setup adds a controller that reconciles MetricDescriptor managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.MetricDescriptor_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.MetricDescriptor_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_monitoring_metric_descriptor"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.MetricDescriptor{}). + Complete(r) +} diff --git a/internal/controller/monitoring/slo/zz_controller.go b/internal/controller/monitoring/slo/zz_controller.go new file mode 100755 index 00000000..a9415cf9 --- /dev/null +++ b/internal/controller/monitoring/slo/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package slo + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/monitoring/v1alpha1" +) + +// Setup adds a controller that reconciles SLO managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SLO_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SLO_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_monitoring_slo"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SLO{}). + Complete(r) +} diff --git a/internal/controller/networkmanagement/connectivitytest/zz_controller.go b/internal/controller/networkmanagement/connectivitytest/zz_controller.go new file mode 100755 index 00000000..25e7d45a --- /dev/null +++ b/internal/controller/networkmanagement/connectivitytest/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package connectivitytest + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/networkmanagement/v1alpha1" +) + +// Setup adds a controller that reconciles ConnectivityTest managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ConnectivityTest_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ConnectivityTest_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_network_management_connectivity_test"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ConnectivityTest{}). + Complete(r) +} diff --git a/internal/controller/networkservices/edgecachekeyset/zz_controller.go b/internal/controller/networkservices/edgecachekeyset/zz_controller.go new file mode 100755 index 00000000..663b21f6 --- /dev/null +++ b/internal/controller/networkservices/edgecachekeyset/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package edgecachekeyset + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/networkservices/v1alpha1" +) + +// Setup adds a controller that reconciles EdgeCacheKeyset managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.EdgeCacheKeyset_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.EdgeCacheKeyset_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_network_services_edge_cache_keyset"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.EdgeCacheKeyset{}). + Complete(r) +} diff --git a/internal/controller/networkservices/edgecacheorigin/zz_controller.go b/internal/controller/networkservices/edgecacheorigin/zz_controller.go new file mode 100755 index 00000000..2be0ede1 --- /dev/null +++ b/internal/controller/networkservices/edgecacheorigin/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package edgecacheorigin + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/networkservices/v1alpha1" +) + +// Setup adds a controller that reconciles EdgeCacheOrigin managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.EdgeCacheOrigin_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.EdgeCacheOrigin_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_network_services_edge_cache_origin"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.EdgeCacheOrigin{}). + Complete(r) +} diff --git a/internal/controller/networkservices/edgecacheservice/zz_controller.go b/internal/controller/networkservices/edgecacheservice/zz_controller.go new file mode 100755 index 00000000..df9d3bef --- /dev/null +++ b/internal/controller/networkservices/edgecacheservice/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package edgecacheservice + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/networkservices/v1alpha1" +) + +// Setup adds a controller that reconciles EdgeCacheService managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.EdgeCacheService_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.EdgeCacheService_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_network_services_edge_cache_service"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.EdgeCacheService{}). + Complete(r) +} diff --git a/internal/controller/notebooks/environment/zz_controller.go b/internal/controller/notebooks/environment/zz_controller.go new file mode 100755 index 00000000..c9bf53eb --- /dev/null +++ b/internal/controller/notebooks/environment/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package environment + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/notebooks/v1alpha1" +) + +// Setup adds a controller that reconciles Environment managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Environment_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Environment_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_notebooks_environment"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Environment{}). + Complete(r) +} diff --git a/internal/controller/notebooks/instance/zz_controller.go b/internal/controller/notebooks/instance/zz_controller.go new file mode 100755 index 00000000..e7e9f9dc --- /dev/null +++ b/internal/controller/notebooks/instance/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instance + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/notebooks/v1alpha1" +) + +// Setup adds a controller that reconciles Instance managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Instance_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Instance_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_notebooks_instance"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Instance{}). + Complete(r) +} diff --git a/internal/controller/notebooks/instanceiambinding/zz_controller.go b/internal/controller/notebooks/instanceiambinding/zz_controller.go new file mode 100755 index 00000000..2e3cfd93 --- /dev/null +++ b/internal/controller/notebooks/instanceiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instanceiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/notebooks/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_notebooks_instance_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/notebooks/instanceiammember/zz_controller.go b/internal/controller/notebooks/instanceiammember/zz_controller.go new file mode 100755 index 00000000..285b0bd9 --- /dev/null +++ b/internal/controller/notebooks/instanceiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instanceiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/notebooks/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_notebooks_instance_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceIAMMember{}). + Complete(r) +} diff --git a/internal/controller/notebooks/instanceiampolicy/zz_controller.go b/internal/controller/notebooks/instanceiampolicy/zz_controller.go new file mode 100755 index 00000000..1fb869a3 --- /dev/null +++ b/internal/controller/notebooks/instanceiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instanceiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/notebooks/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_notebooks_instance_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/notebooks/location/zz_controller.go b/internal/controller/notebooks/location/zz_controller.go new file mode 100755 index 00000000..6185958d --- /dev/null +++ b/internal/controller/notebooks/location/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package location + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/notebooks/v1alpha1" +) + +// Setup adds a controller that reconciles Location managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Location_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Location_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_notebooks_location"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Location{}). + Complete(r) +} diff --git a/internal/controller/orgpolicy/policy/zz_controller.go b/internal/controller/orgpolicy/policy/zz_controller.go new file mode 100755 index 00000000..9028e15e --- /dev/null +++ b/internal/controller/orgpolicy/policy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package policy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/orgpolicy/v1alpha1" +) + +// Setup adds a controller that reconciles Policy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Policy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Policy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_org_policy_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Policy{}). + Complete(r) +} diff --git a/internal/controller/osconfig/patchdeployment/zz_controller.go b/internal/controller/osconfig/patchdeployment/zz_controller.go new file mode 100755 index 00000000..01c309ba --- /dev/null +++ b/internal/controller/osconfig/patchdeployment/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package patchdeployment + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/osconfig/v1alpha1" +) + +// Setup adds a controller that reconciles PatchDeployment managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.PatchDeployment_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.PatchDeployment_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_os_config_patch_deployment"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.PatchDeployment{}). + Complete(r) +} diff --git a/internal/controller/oslogin/sshpublickey/zz_controller.go b/internal/controller/oslogin/sshpublickey/zz_controller.go new file mode 100755 index 00000000..e2eef4c6 --- /dev/null +++ b/internal/controller/oslogin/sshpublickey/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package sshpublickey + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/oslogin/v1alpha1" +) + +// Setup adds a controller that reconciles SSHPublicKey managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SSHPublicKey_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SSHPublicKey_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_os_login_ssh_public_key"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SSHPublicKey{}). + Complete(r) +} diff --git a/internal/controller/privateca/capool/zz_controller.go b/internal/controller/privateca/capool/zz_controller.go new file mode 100755 index 00000000..93b5776e --- /dev/null +++ b/internal/controller/privateca/capool/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package capool + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/privateca/v1alpha1" +) + +// Setup adds a controller that reconciles CAPool managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.CAPool_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.CAPool_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_privateca_ca_pool"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.CAPool{}). + Complete(r) +} diff --git a/internal/controller/privateca/capooliambinding/zz_controller.go b/internal/controller/privateca/capooliambinding/zz_controller.go new file mode 100755 index 00000000..2fbd6c3a --- /dev/null +++ b/internal/controller/privateca/capooliambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package capooliambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/privateca/v1alpha1" +) + +// Setup adds a controller that reconciles CAPoolIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.CAPoolIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.CAPoolIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_privateca_ca_pool_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.CAPoolIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/privateca/capooliammember/zz_controller.go b/internal/controller/privateca/capooliammember/zz_controller.go new file mode 100755 index 00000000..f35d484b --- /dev/null +++ b/internal/controller/privateca/capooliammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package capooliammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/privateca/v1alpha1" +) + +// Setup adds a controller that reconciles CAPoolIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.CAPoolIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.CAPoolIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_privateca_ca_pool_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.CAPoolIAMMember{}). + Complete(r) +} diff --git a/internal/controller/privateca/capooliampolicy/zz_controller.go b/internal/controller/privateca/capooliampolicy/zz_controller.go new file mode 100755 index 00000000..5cc4acc8 --- /dev/null +++ b/internal/controller/privateca/capooliampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package capooliampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/privateca/v1alpha1" +) + +// Setup adds a controller that reconciles CAPoolIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.CAPoolIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.CAPoolIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_privateca_ca_pool_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.CAPoolIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/privateca/certificate/zz_controller.go b/internal/controller/privateca/certificate/zz_controller.go new file mode 100755 index 00000000..551cf0c7 --- /dev/null +++ b/internal/controller/privateca/certificate/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package certificate + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/privateca/v1alpha1" +) + +// Setup adds a controller that reconciles Certificate managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Certificate_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Certificate_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_privateca_certificate"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Certificate{}). + Complete(r) +} diff --git a/internal/controller/privateca/certificateauthority/zz_controller.go b/internal/controller/privateca/certificateauthority/zz_controller.go new file mode 100755 index 00000000..0f09f8ea --- /dev/null +++ b/internal/controller/privateca/certificateauthority/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package certificateauthority + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/privateca/v1alpha1" +) + +// Setup adds a controller that reconciles CertificateAuthority managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.CertificateAuthority_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.CertificateAuthority_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_privateca_certificate_authority"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.CertificateAuthority{}). + Complete(r) +} diff --git a/internal/controller/privateca/certificatetemplate/zz_controller.go b/internal/controller/privateca/certificatetemplate/zz_controller.go new file mode 100755 index 00000000..1fd937ca --- /dev/null +++ b/internal/controller/privateca/certificatetemplate/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package certificatetemplate + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/privateca/v1alpha1" +) + +// Setup adds a controller that reconciles CertificateTemplate managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.CertificateTemplate_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.CertificateTemplate_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_privateca_certificate_template"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.CertificateTemplate{}). + Complete(r) +} diff --git a/internal/controller/pubsub/litereservation/zz_controller.go b/internal/controller/pubsub/litereservation/zz_controller.go new file mode 100755 index 00000000..ef2ac6db --- /dev/null +++ b/internal/controller/pubsub/litereservation/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package litereservation + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/pubsub/v1alpha1" +) + +// Setup adds a controller that reconciles LiteReservation managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.LiteReservation_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.LiteReservation_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_pubsub_lite_reservation"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.LiteReservation{}). + Complete(r) +} diff --git a/internal/controller/pubsub/litesubscription/zz_controller.go b/internal/controller/pubsub/litesubscription/zz_controller.go new file mode 100755 index 00000000..9a4a7c37 --- /dev/null +++ b/internal/controller/pubsub/litesubscription/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package litesubscription + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/pubsub/v1alpha1" +) + +// Setup adds a controller that reconciles LiteSubscription managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.LiteSubscription_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.LiteSubscription_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_pubsub_lite_subscription"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.LiteSubscription{}). + Complete(r) +} diff --git a/internal/controller/pubsub/litetopic/zz_controller.go b/internal/controller/pubsub/litetopic/zz_controller.go new file mode 100755 index 00000000..9a979262 --- /dev/null +++ b/internal/controller/pubsub/litetopic/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package litetopic + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/pubsub/v1alpha1" +) + +// Setup adds a controller that reconciles LiteTopic managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.LiteTopic_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.LiteTopic_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_pubsub_lite_topic"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.LiteTopic{}). + Complete(r) +} diff --git a/internal/controller/pubsub/schema/zz_controller.go b/internal/controller/pubsub/schema/zz_controller.go new file mode 100755 index 00000000..0c91a86e --- /dev/null +++ b/internal/controller/pubsub/schema/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package schema + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/pubsub/v1alpha1" +) + +// Setup adds a controller that reconciles Schema managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Schema_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Schema_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_pubsub_schema"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Schema{}). + Complete(r) +} diff --git a/internal/controller/pubsub/subscription/zz_controller.go b/internal/controller/pubsub/subscription/zz_controller.go new file mode 100755 index 00000000..061605ed --- /dev/null +++ b/internal/controller/pubsub/subscription/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package subscription + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/pubsub/v1alpha1" +) + +// Setup adds a controller that reconciles Subscription managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Subscription_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Subscription_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_pubsub_subscription"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Subscription{}). + Complete(r) +} diff --git a/internal/controller/pubsub/subscriptioniambinding/zz_controller.go b/internal/controller/pubsub/subscriptioniambinding/zz_controller.go new file mode 100755 index 00000000..1359b7e1 --- /dev/null +++ b/internal/controller/pubsub/subscriptioniambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package subscriptioniambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/pubsub/v1alpha1" +) + +// Setup adds a controller that reconciles SubscriptionIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SubscriptionIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SubscriptionIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_pubsub_subscription_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SubscriptionIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/pubsub/subscriptioniammember/zz_controller.go b/internal/controller/pubsub/subscriptioniammember/zz_controller.go new file mode 100755 index 00000000..78b680ae --- /dev/null +++ b/internal/controller/pubsub/subscriptioniammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package subscriptioniammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/pubsub/v1alpha1" +) + +// Setup adds a controller that reconciles SubscriptionIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SubscriptionIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SubscriptionIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_pubsub_subscription_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SubscriptionIAMMember{}). + Complete(r) +} diff --git a/internal/controller/pubsub/subscriptioniampolicy/zz_controller.go b/internal/controller/pubsub/subscriptioniampolicy/zz_controller.go new file mode 100755 index 00000000..a6e26ca9 --- /dev/null +++ b/internal/controller/pubsub/subscriptioniampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package subscriptioniampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/pubsub/v1alpha1" +) + +// Setup adds a controller that reconciles SubscriptionIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SubscriptionIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SubscriptionIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_pubsub_subscription_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SubscriptionIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/pubsub/topic/zz_controller.go b/internal/controller/pubsub/topic/zz_controller.go new file mode 100755 index 00000000..18f71d8a --- /dev/null +++ b/internal/controller/pubsub/topic/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package topic + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/pubsub/v1alpha1" +) + +// Setup adds a controller that reconciles Topic managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Topic_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Topic_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_pubsub_topic"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Topic{}). + Complete(r) +} diff --git a/internal/controller/pubsub/topiciambinding/zz_controller.go b/internal/controller/pubsub/topiciambinding/zz_controller.go new file mode 100755 index 00000000..f9d0aa7a --- /dev/null +++ b/internal/controller/pubsub/topiciambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package topiciambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/pubsub/v1alpha1" +) + +// Setup adds a controller that reconciles TopicIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TopicIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TopicIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_pubsub_topic_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TopicIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/pubsub/topiciammember/zz_controller.go b/internal/controller/pubsub/topiciammember/zz_controller.go new file mode 100755 index 00000000..4db71abf --- /dev/null +++ b/internal/controller/pubsub/topiciammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package topiciammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/pubsub/v1alpha1" +) + +// Setup adds a controller that reconciles TopicIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TopicIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TopicIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_pubsub_topic_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TopicIAMMember{}). + Complete(r) +} diff --git a/internal/controller/pubsub/topiciampolicy/zz_controller.go b/internal/controller/pubsub/topiciampolicy/zz_controller.go new file mode 100755 index 00000000..6775c8bd --- /dev/null +++ b/internal/controller/pubsub/topiciampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package topiciampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/pubsub/v1alpha1" +) + +// Setup adds a controller that reconciles TopicIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TopicIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TopicIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_pubsub_topic_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TopicIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/redis/instance/zz_controller.go b/internal/controller/redis/instance/zz_controller.go new file mode 100755 index 00000000..c9b4d4a1 --- /dev/null +++ b/internal/controller/redis/instance/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instance + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/redis/v1alpha1" +) + +// Setup adds a controller that reconciles Instance managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Instance_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Instance_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_redis_instance"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Instance{}). + Complete(r) +} diff --git a/internal/controller/resourcemanager/lien/zz_controller.go b/internal/controller/resourcemanager/lien/zz_controller.go new file mode 100755 index 00000000..e2d89b85 --- /dev/null +++ b/internal/controller/resourcemanager/lien/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package lien + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/resourcemanager/v1alpha1" +) + +// Setup adds a controller that reconciles Lien managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Lien_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Lien_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_resource_manager_lien"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Lien{}). + Complete(r) +} diff --git a/internal/controller/scc/notificationconfig/zz_controller.go b/internal/controller/scc/notificationconfig/zz_controller.go new file mode 100755 index 00000000..dea40ddc --- /dev/null +++ b/internal/controller/scc/notificationconfig/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package notificationconfig + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/scc/v1alpha1" +) + +// Setup adds a controller that reconciles NotificationConfig managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.NotificationConfig_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.NotificationConfig_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_scc_notification_config"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.NotificationConfig{}). + Complete(r) +} diff --git a/internal/controller/scc/source/zz_controller.go b/internal/controller/scc/source/zz_controller.go new file mode 100755 index 00000000..c8e1e141 --- /dev/null +++ b/internal/controller/scc/source/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package source + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/scc/v1alpha1" +) + +// Setup adds a controller that reconciles Source managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Source_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Source_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_scc_source"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Source{}). + Complete(r) +} diff --git a/internal/controller/secretmanager/secret/zz_controller.go b/internal/controller/secretmanager/secret/zz_controller.go new file mode 100755 index 00000000..54789089 --- /dev/null +++ b/internal/controller/secretmanager/secret/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package secret + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/secretmanager/v1alpha1" +) + +// Setup adds a controller that reconciles Secret managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Secret_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Secret_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_secret_manager_secret"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Secret{}). + Complete(r) +} diff --git a/internal/controller/secretmanager/secretiambinding/zz_controller.go b/internal/controller/secretmanager/secretiambinding/zz_controller.go new file mode 100755 index 00000000..acdab4d1 --- /dev/null +++ b/internal/controller/secretmanager/secretiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package secretiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/secretmanager/v1alpha1" +) + +// Setup adds a controller that reconciles SecretIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SecretIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SecretIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_secret_manager_secret_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SecretIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/secretmanager/secretiammember/zz_controller.go b/internal/controller/secretmanager/secretiammember/zz_controller.go new file mode 100755 index 00000000..3b4c25b9 --- /dev/null +++ b/internal/controller/secretmanager/secretiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package secretiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/secretmanager/v1alpha1" +) + +// Setup adds a controller that reconciles SecretIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SecretIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SecretIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_secret_manager_secret_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SecretIAMMember{}). + Complete(r) +} diff --git a/internal/controller/secretmanager/secretiampolicy/zz_controller.go b/internal/controller/secretmanager/secretiampolicy/zz_controller.go new file mode 100755 index 00000000..c7b6e754 --- /dev/null +++ b/internal/controller/secretmanager/secretiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package secretiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/secretmanager/v1alpha1" +) + +// Setup adds a controller that reconciles SecretIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SecretIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SecretIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_secret_manager_secret_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SecretIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/secretmanager/secretversion/zz_controller.go b/internal/controller/secretmanager/secretversion/zz_controller.go new file mode 100755 index 00000000..ccb10872 --- /dev/null +++ b/internal/controller/secretmanager/secretversion/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package secretversion + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/secretmanager/v1alpha1" +) + +// Setup adds a controller that reconciles SecretVersion managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.SecretVersion_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.SecretVersion_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_secret_manager_secret_version"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.SecretVersion{}). + Complete(r) +} diff --git a/internal/controller/servicenetworking/connection/zz_controller.go b/internal/controller/servicenetworking/connection/zz_controller.go new file mode 100755 index 00000000..34719ebb --- /dev/null +++ b/internal/controller/servicenetworking/connection/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package connection + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/servicenetworking/v1alpha1" +) + +// Setup adds a controller that reconciles Connection managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Connection_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Connection_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_service_networking_connection"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Connection{}). + Complete(r) +} diff --git a/internal/controller/sourcerepo/repository/zz_controller.go b/internal/controller/sourcerepo/repository/zz_controller.go new file mode 100755 index 00000000..0338f546 --- /dev/null +++ b/internal/controller/sourcerepo/repository/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package repository + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/sourcerepo/v1alpha1" +) + +// Setup adds a controller that reconciles Repository managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Repository_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Repository_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_sourcerepo_repository"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Repository{}). + Complete(r) +} diff --git a/internal/controller/sourcerepo/repositoryiambinding/zz_controller.go b/internal/controller/sourcerepo/repositoryiambinding/zz_controller.go new file mode 100755 index 00000000..b5cc89dd --- /dev/null +++ b/internal/controller/sourcerepo/repositoryiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package repositoryiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/sourcerepo/v1alpha1" +) + +// Setup adds a controller that reconciles RepositoryIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RepositoryIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RepositoryIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_sourcerepo_repository_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RepositoryIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/sourcerepo/repositoryiammember/zz_controller.go b/internal/controller/sourcerepo/repositoryiammember/zz_controller.go new file mode 100755 index 00000000..5c6b6d8b --- /dev/null +++ b/internal/controller/sourcerepo/repositoryiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package repositoryiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/sourcerepo/v1alpha1" +) + +// Setup adds a controller that reconciles RepositoryIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RepositoryIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RepositoryIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_sourcerepo_repository_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RepositoryIAMMember{}). + Complete(r) +} diff --git a/internal/controller/sourcerepo/repositoryiampolicy/zz_controller.go b/internal/controller/sourcerepo/repositoryiampolicy/zz_controller.go new file mode 100755 index 00000000..141eaf42 --- /dev/null +++ b/internal/controller/sourcerepo/repositoryiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package repositoryiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/sourcerepo/v1alpha1" +) + +// Setup adds a controller that reconciles RepositoryIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.RepositoryIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.RepositoryIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_sourcerepo_repository_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.RepositoryIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/spanner/database/zz_controller.go b/internal/controller/spanner/database/zz_controller.go new file mode 100755 index 00000000..d9e781e4 --- /dev/null +++ b/internal/controller/spanner/database/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package database + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/spanner/v1alpha1" +) + +// Setup adds a controller that reconciles Database managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Database_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Database_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_spanner_database"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Database{}). + Complete(r) +} diff --git a/internal/controller/spanner/databaseiambinding/zz_controller.go b/internal/controller/spanner/databaseiambinding/zz_controller.go new file mode 100755 index 00000000..e0b5e76c --- /dev/null +++ b/internal/controller/spanner/databaseiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package databaseiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/spanner/v1alpha1" +) + +// Setup adds a controller that reconciles DatabaseIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DatabaseIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DatabaseIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_spanner_database_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DatabaseIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/spanner/databaseiammember/zz_controller.go b/internal/controller/spanner/databaseiammember/zz_controller.go new file mode 100755 index 00000000..480e0a8c --- /dev/null +++ b/internal/controller/spanner/databaseiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package databaseiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/spanner/v1alpha1" +) + +// Setup adds a controller that reconciles DatabaseIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DatabaseIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DatabaseIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_spanner_database_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DatabaseIAMMember{}). + Complete(r) +} diff --git a/internal/controller/spanner/databaseiampolicy/zz_controller.go b/internal/controller/spanner/databaseiampolicy/zz_controller.go new file mode 100755 index 00000000..5884faf9 --- /dev/null +++ b/internal/controller/spanner/databaseiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package databaseiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/spanner/v1alpha1" +) + +// Setup adds a controller that reconciles DatabaseIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DatabaseIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DatabaseIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_spanner_database_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DatabaseIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/spanner/instance/zz_controller.go b/internal/controller/spanner/instance/zz_controller.go new file mode 100755 index 00000000..5b215dc7 --- /dev/null +++ b/internal/controller/spanner/instance/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instance + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/spanner/v1alpha1" +) + +// Setup adds a controller that reconciles Instance managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Instance_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Instance_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_spanner_instance"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Instance{}). + Complete(r) +} diff --git a/internal/controller/spanner/instanceiambinding/zz_controller.go b/internal/controller/spanner/instanceiambinding/zz_controller.go new file mode 100755 index 00000000..933ba01a --- /dev/null +++ b/internal/controller/spanner/instanceiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instanceiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/spanner/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_spanner_instance_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/spanner/instanceiammember/zz_controller.go b/internal/controller/spanner/instanceiammember/zz_controller.go new file mode 100755 index 00000000..977bba55 --- /dev/null +++ b/internal/controller/spanner/instanceiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instanceiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/spanner/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_spanner_instance_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceIAMMember{}). + Complete(r) +} diff --git a/internal/controller/spanner/instanceiampolicy/zz_controller.go b/internal/controller/spanner/instanceiampolicy/zz_controller.go new file mode 100755 index 00000000..93562a38 --- /dev/null +++ b/internal/controller/spanner/instanceiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package instanceiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/spanner/v1alpha1" +) + +// Setup adds a controller that reconciles InstanceIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.InstanceIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.InstanceIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_spanner_instance_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.InstanceIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/storage/bucketaccesscontrol/zz_controller.go b/internal/controller/storage/bucketaccesscontrol/zz_controller.go new file mode 100755 index 00000000..bfa36e9c --- /dev/null +++ b/internal/controller/storage/bucketaccesscontrol/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package bucketaccesscontrol + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/storage/v1alpha1" +) + +// Setup adds a controller that reconciles BucketAccessControl managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.BucketAccessControl_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.BucketAccessControl_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_storage_bucket_access_control"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.BucketAccessControl{}). + Complete(r) +} diff --git a/internal/controller/storage/bucketacl/zz_controller.go b/internal/controller/storage/bucketacl/zz_controller.go new file mode 100755 index 00000000..f19158f1 --- /dev/null +++ b/internal/controller/storage/bucketacl/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package bucketacl + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/storage/v1alpha1" +) + +// Setup adds a controller that reconciles BucketACL managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.BucketACL_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.BucketACL_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_storage_bucket_acl"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.BucketACL{}). + Complete(r) +} diff --git a/internal/controller/storage/bucketiambinding/zz_controller.go b/internal/controller/storage/bucketiambinding/zz_controller.go new file mode 100755 index 00000000..373b9c20 --- /dev/null +++ b/internal/controller/storage/bucketiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package bucketiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/storage/v1alpha1" +) + +// Setup adds a controller that reconciles BucketIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.BucketIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.BucketIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_storage_bucket_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.BucketIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/storage/bucketiammember/zz_controller.go b/internal/controller/storage/bucketiammember/zz_controller.go new file mode 100755 index 00000000..8457a012 --- /dev/null +++ b/internal/controller/storage/bucketiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package bucketiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/storage/v1alpha1" +) + +// Setup adds a controller that reconciles BucketIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.BucketIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.BucketIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_storage_bucket_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.BucketIAMMember{}). + Complete(r) +} diff --git a/internal/controller/storage/bucketiampolicy/zz_controller.go b/internal/controller/storage/bucketiampolicy/zz_controller.go new file mode 100755 index 00000000..232cd7e7 --- /dev/null +++ b/internal/controller/storage/bucketiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package bucketiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/storage/v1alpha1" +) + +// Setup adds a controller that reconciles BucketIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.BucketIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.BucketIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_storage_bucket_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.BucketIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/storage/bucketobject/zz_controller.go b/internal/controller/storage/bucketobject/zz_controller.go new file mode 100755 index 00000000..15f89f1d --- /dev/null +++ b/internal/controller/storage/bucketobject/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package bucketobject + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha2 "github.com/crossplane-contrib/provider-jet-gcp/apis/storage/v1alpha2" +) + +// Setup adds a controller that reconciles BucketObject managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha2.BucketObject_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha2.BucketObject_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_storage_bucket_object"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha2.BucketObject{}). + Complete(r) +} diff --git a/internal/controller/storage/defaultobjectaccesscontrol/zz_controller.go b/internal/controller/storage/defaultobjectaccesscontrol/zz_controller.go new file mode 100755 index 00000000..3afe19b4 --- /dev/null +++ b/internal/controller/storage/defaultobjectaccesscontrol/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package defaultobjectaccesscontrol + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/storage/v1alpha1" +) + +// Setup adds a controller that reconciles DefaultObjectAccessControl managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DefaultObjectAccessControl_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DefaultObjectAccessControl_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_storage_default_object_access_control"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DefaultObjectAccessControl{}). + Complete(r) +} diff --git a/internal/controller/storage/defaultobjectacl/zz_controller.go b/internal/controller/storage/defaultobjectacl/zz_controller.go new file mode 100755 index 00000000..5f973d73 --- /dev/null +++ b/internal/controller/storage/defaultobjectacl/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package defaultobjectacl + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/storage/v1alpha1" +) + +// Setup adds a controller that reconciles DefaultObjectACL managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.DefaultObjectACL_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.DefaultObjectACL_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_storage_default_object_acl"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.DefaultObjectACL{}). + Complete(r) +} diff --git a/internal/controller/storage/hmackey/zz_controller.go b/internal/controller/storage/hmackey/zz_controller.go new file mode 100755 index 00000000..082e989a --- /dev/null +++ b/internal/controller/storage/hmackey/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package hmackey + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/storage/v1alpha1" +) + +// Setup adds a controller that reconciles HMACKey managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.HMACKey_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.HMACKey_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_storage_hmac_key"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.HMACKey{}). + Complete(r) +} diff --git a/internal/controller/storage/notification/zz_controller.go b/internal/controller/storage/notification/zz_controller.go new file mode 100755 index 00000000..4ab8353b --- /dev/null +++ b/internal/controller/storage/notification/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package notification + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/storage/v1alpha1" +) + +// Setup adds a controller that reconciles Notification managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Notification_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Notification_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_storage_notification"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Notification{}). + Complete(r) +} diff --git a/internal/controller/storage/objectaccesscontrol/zz_controller.go b/internal/controller/storage/objectaccesscontrol/zz_controller.go new file mode 100755 index 00000000..3563bc14 --- /dev/null +++ b/internal/controller/storage/objectaccesscontrol/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package objectaccesscontrol + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/storage/v1alpha1" +) + +// Setup adds a controller that reconciles ObjectAccessControl managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ObjectAccessControl_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ObjectAccessControl_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_storage_object_access_control"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ObjectAccessControl{}). + Complete(r) +} diff --git a/internal/controller/storage/objectacl/zz_controller.go b/internal/controller/storage/objectacl/zz_controller.go new file mode 100755 index 00000000..6ec940f3 --- /dev/null +++ b/internal/controller/storage/objectacl/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package objectacl + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/storage/v1alpha1" +) + +// Setup adds a controller that reconciles ObjectACL managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.ObjectACL_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.ObjectACL_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_storage_object_acl"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.ObjectACL{}). + Complete(r) +} diff --git a/internal/controller/storagetransfer/job/zz_controller.go b/internal/controller/storagetransfer/job/zz_controller.go new file mode 100755 index 00000000..9689f4e3 --- /dev/null +++ b/internal/controller/storagetransfer/job/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package job + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/storagetransfer/v1alpha1" +) + +// Setup adds a controller that reconciles Job managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Job_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Job_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_storage_transfer_job"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Job{}). + Complete(r) +} diff --git a/internal/controller/tags/tagbinding/zz_controller.go b/internal/controller/tags/tagbinding/zz_controller.go new file mode 100755 index 00000000..a5eea093 --- /dev/null +++ b/internal/controller/tags/tagbinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tagbinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/tags/v1alpha1" +) + +// Setup adds a controller that reconciles TagBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TagBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TagBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_tags_tag_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TagBinding{}). + Complete(r) +} diff --git a/internal/controller/tags/tagkey/zz_controller.go b/internal/controller/tags/tagkey/zz_controller.go new file mode 100755 index 00000000..621da6c8 --- /dev/null +++ b/internal/controller/tags/tagkey/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tagkey + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/tags/v1alpha1" +) + +// Setup adds a controller that reconciles TagKey managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TagKey_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TagKey_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_tags_tag_key"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TagKey{}). + Complete(r) +} diff --git a/internal/controller/tags/tagkeyiambinding/zz_controller.go b/internal/controller/tags/tagkeyiambinding/zz_controller.go new file mode 100755 index 00000000..b536b99e --- /dev/null +++ b/internal/controller/tags/tagkeyiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tagkeyiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/tags/v1alpha1" +) + +// Setup adds a controller that reconciles TagKeyIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TagKeyIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TagKeyIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_tags_tag_key_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TagKeyIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/tags/tagkeyiammember/zz_controller.go b/internal/controller/tags/tagkeyiammember/zz_controller.go new file mode 100755 index 00000000..a2d7a87a --- /dev/null +++ b/internal/controller/tags/tagkeyiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tagkeyiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/tags/v1alpha1" +) + +// Setup adds a controller that reconciles TagKeyIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TagKeyIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TagKeyIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_tags_tag_key_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TagKeyIAMMember{}). + Complete(r) +} diff --git a/internal/controller/tags/tagkeyiampolicy/zz_controller.go b/internal/controller/tags/tagkeyiampolicy/zz_controller.go new file mode 100755 index 00000000..e150f00b --- /dev/null +++ b/internal/controller/tags/tagkeyiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tagkeyiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/tags/v1alpha1" +) + +// Setup adds a controller that reconciles TagKeyIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TagKeyIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TagKeyIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_tags_tag_key_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TagKeyIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/tags/tagvalue/zz_controller.go b/internal/controller/tags/tagvalue/zz_controller.go new file mode 100755 index 00000000..1b5bb019 --- /dev/null +++ b/internal/controller/tags/tagvalue/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tagvalue + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/tags/v1alpha1" +) + +// Setup adds a controller that reconciles TagValue managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TagValue_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TagValue_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_tags_tag_value"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TagValue{}). + Complete(r) +} diff --git a/internal/controller/tags/tagvalueiambinding/zz_controller.go b/internal/controller/tags/tagvalueiambinding/zz_controller.go new file mode 100755 index 00000000..8f2f5ec6 --- /dev/null +++ b/internal/controller/tags/tagvalueiambinding/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tagvalueiambinding + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/tags/v1alpha1" +) + +// Setup adds a controller that reconciles TagValueIAMBinding managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TagValueIAMBinding_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TagValueIAMBinding_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_tags_tag_value_iam_binding"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TagValueIAMBinding{}). + Complete(r) +} diff --git a/internal/controller/tags/tagvalueiammember/zz_controller.go b/internal/controller/tags/tagvalueiammember/zz_controller.go new file mode 100755 index 00000000..3f973a49 --- /dev/null +++ b/internal/controller/tags/tagvalueiammember/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tagvalueiammember + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/tags/v1alpha1" +) + +// Setup adds a controller that reconciles TagValueIAMMember managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TagValueIAMMember_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TagValueIAMMember_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_tags_tag_value_iam_member"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TagValueIAMMember{}). + Complete(r) +} diff --git a/internal/controller/tags/tagvalueiampolicy/zz_controller.go b/internal/controller/tags/tagvalueiampolicy/zz_controller.go new file mode 100755 index 00000000..0935b298 --- /dev/null +++ b/internal/controller/tags/tagvalueiampolicy/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package tagvalueiampolicy + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/tags/v1alpha1" +) + +// Setup adds a controller that reconciles TagValueIAMPolicy managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.TagValueIAMPolicy_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.TagValueIAMPolicy_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_tags_tag_value_iam_policy"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.TagValueIAMPolicy{}). + Complete(r) +} diff --git a/internal/controller/tpu/node/zz_controller.go b/internal/controller/tpu/node/zz_controller.go new file mode 100755 index 00000000..3d40d34d --- /dev/null +++ b/internal/controller/tpu/node/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package node + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/tpu/v1alpha1" +) + +// Setup adds a controller that reconciles Node managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Node_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Node_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_tpu_node"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Node{}). + Complete(r) +} diff --git a/internal/controller/vertexai/dataset/zz_controller.go b/internal/controller/vertexai/dataset/zz_controller.go new file mode 100755 index 00000000..39412ba9 --- /dev/null +++ b/internal/controller/vertexai/dataset/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package dataset + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/vertexai/v1alpha1" +) + +// Setup adds a controller that reconciles Dataset managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Dataset_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Dataset_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_vertex_ai_dataset"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Dataset{}). + Complete(r) +} diff --git a/internal/controller/vpcaccess/connector/zz_controller.go b/internal/controller/vpcaccess/connector/zz_controller.go new file mode 100755 index 00000000..2b759b5f --- /dev/null +++ b/internal/controller/vpcaccess/connector/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package connector + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/vpcaccess/v1alpha1" +) + +// Setup adds a controller that reconciles Connector managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Connector_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Connector_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_vpc_access_connector"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Connector{}). + Complete(r) +} diff --git a/internal/controller/workflows/workflow/zz_controller.go b/internal/controller/workflows/workflow/zz_controller.go new file mode 100755 index 00000000..c2b06651 --- /dev/null +++ b/internal/controller/workflows/workflow/zz_controller.go @@ -0,0 +1,58 @@ +/* +Copyright 2021 The Crossplane Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by terrajet. DO NOT EDIT. + +package workflow + +import ( + "time" + + "k8s.io/client-go/util/workqueue" + ctrl "sigs.k8s.io/controller-runtime" + + "github.com/crossplane/crossplane-runtime/pkg/event" + "github.com/crossplane/crossplane-runtime/pkg/logging" + "github.com/crossplane/crossplane-runtime/pkg/reconciler/managed" + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "sigs.k8s.io/controller-runtime/pkg/controller" + + tjconfig "github.com/crossplane/terrajet/pkg/config" + tjcontroller "github.com/crossplane/terrajet/pkg/controller" + "github.com/crossplane/terrajet/pkg/terraform" + + v1alpha1 "github.com/crossplane-contrib/provider-jet-gcp/apis/workflows/v1alpha1" +) + +// Setup adds a controller that reconciles Workflow managed resources. +func Setup(mgr ctrl.Manager, l logging.Logger, rl workqueue.RateLimiter, s terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { + name := managed.ControllerName(v1alpha1.Workflow_GroupVersionKind.String()) + r := managed.NewReconciler(mgr, + xpresource.ManagedKind(v1alpha1.Workflow_GroupVersionKind), + managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), ws, s, cfg.Resources["google_workflows_workflow"])), + managed.WithLogger(l.WithValues("controller", name)), + managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), + managed.WithFinalizer(terraform.NewWorkspaceFinalizer(ws, xpresource.NewAPIFinalizer(mgr.GetClient(), managed.FinalizerName))), + managed.WithTimeout(3*time.Minute), + managed.WithInitializers(), + ) + + return ctrl.NewControllerManagedBy(mgr). + Named(name). + WithOptions(controller.Options{RateLimiter: rl, MaxConcurrentReconciles: concurrency}). + For(&v1alpha1.Workflow{}). + Complete(r) +} diff --git a/internal/controller/zz_setup.go b/internal/controller/zz_setup.go index 28607409..3a79eae2 100755 --- a/internal/controller/zz_setup.go +++ b/internal/controller/zz_setup.go @@ -25,56 +25,886 @@ import ( tjconfig "github.com/crossplane/terrajet/pkg/config" "github.com/crossplane/terrajet/pkg/terraform" + foldersettings "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/accessapproval/foldersettings" + organizationsettings "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/accessapproval/organizationsettings" + projectsettings "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/accessapproval/projectsettings" + accesslevel "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/accesscontextmanager/accesslevel" + accesslevelcondition "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/accesscontextmanager/accesslevelcondition" + accesspolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/accesscontextmanager/accesspolicy" + gcpuseraccessbinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/accesscontextmanager/gcpuseraccessbinding" + serviceperimeter "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/accesscontextmanager/serviceperimeter" + serviceperimeterresource "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/accesscontextmanager/serviceperimeterresource" + domain "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/activedirectory/domain" + domaintrust "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/activedirectory/domaintrust" + envgroup "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/apigee/envgroup" + envgroupattachment "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/apigee/envgroupattachment" + environment "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/apigee/environment" + instance "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/apigee/instance" + instanceattachment "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/apigee/instanceattachment" + organization "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/apigee/organization" + application "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/appengine/application" + applicationurldispatchrules "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/appengine/applicationurldispatchrules" + domainmapping "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/appengine/domainmapping" + firewallrule "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/appengine/firewallrule" + flexibleappversion "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/appengine/flexibleappversion" + servicenetworksettings "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/appengine/servicenetworksettings" + servicesplittraffic "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/appengine/servicesplittraffic" + standardappversion "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/appengine/standardappversion" + workload "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/assuredworkloads/workload" + dataset "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigquery/dataset" + datasetaccess "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigquery/datasetaccess" + datasetiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigquery/datasetiambinding" + datasetiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigquery/datasetiammember" + datasetiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigquery/datasetiampolicy" + datatransferconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigquery/datatransferconfig" + job "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigquery/job" + reservation "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigquery/reservation" + routine "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigquery/routine" + table "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigquery/table" + tableiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigquery/tableiambinding" + tableiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigquery/tableiammember" + tableiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigquery/tableiampolicy" + appprofile "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigtable/appprofile" + garbagecollectionpolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigtable/garbagecollectionpolicy" + instancebigtable "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigtable/instance" + instanceiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigtable/instanceiambinding" + instanceiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigtable/instanceiammember" + instanceiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigtable/instanceiampolicy" + tablebigtable "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigtable/table" + tableiambindingbigtable "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigtable/tableiambinding" + tableiammemberbigtable "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigtable/tableiammember" + tableiampolicybigtable "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/bigtable/tableiampolicy" + accountiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/billing/accountiambinding" + accountiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/billing/accountiammember" + accountiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/billing/accountiampolicy" + budget "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/billing/budget" + attestor "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/binaryauthorization/attestor" + attestoriambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/binaryauthorization/attestoriambinding" + attestoriammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/binaryauthorization/attestoriammember" + attestoriampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/binaryauthorization/attestoriampolicy" + policy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/binaryauthorization/policy" + folderfeed "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudasset/folderfeed" + organizationfeed "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudasset/organizationfeed" + projectfeed "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudasset/projectfeed" + trigger "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudbuild/trigger" + function "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudfunctions/function" + functioniambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudfunctions/functioniambinding" + functioniammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudfunctions/functioniammember" + functioniampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudfunctions/functioniampolicy" + group "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudidentity/group" + groupmembership "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudidentity/groupmembership" + device "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudiot/device" + registry "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudiot/registry" + billingsubaccount "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/billingsubaccount" + folder "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/folder" + folderiamauditconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/folderiamauditconfig" + folderiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/folderiambinding" + folderiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/folderiammember" + folderiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/folderiampolicy" + folderorganizationpolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/folderorganizationpolicy" + organizationiamauditconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/organizationiamauditconfig" + organizationiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/organizationiambinding" + organizationiamcustomrole "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/organizationiamcustomrole" + organizationiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/organizationiammember" + organizationiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/organizationiampolicy" + organizationpolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/organizationpolicy" + project "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/project" + projectdefaultserviceaccounts "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/projectdefaultserviceaccounts" + projectiamauditconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/projectiamauditconfig" + projectiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/projectiambinding" + projectiamcustomrole "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/projectiamcustomrole" + projectiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/projectiammember" + projectiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/projectiampolicy" + projectorganizationpolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/projectorganizationpolicy" + projectservice "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/projectservice" + projectusageexportbucket "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/projectusageexportbucket" serviceaccount "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/serviceaccount" + serviceaccountiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/serviceaccountiambinding" + serviceaccountiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/serviceaccountiammember" + serviceaccountiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/serviceaccountiampolicy" serviceaccountkey "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/serviceaccountkey" + servicenetworkingpeereddnsdomain "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudplatform/servicenetworkingpeereddnsdomain" + domainmappingcloudrun "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudrun/domainmapping" + service "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudrun/service" + serviceiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudrun/serviceiambinding" + serviceiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudrun/serviceiammember" + serviceiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudrun/serviceiampolicy" + jobcloudscheduler "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudscheduler/job" + queue "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/cloudtasks/queue" + environmentcomposer "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/composer/environment" address "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/address" + attacheddisk "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/attacheddisk" + autoscaler "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/autoscaler" + backendbucket "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/backendbucket" + backendbucketsignedurlkey "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/backendbucketsignedurlkey" + backendservice "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/backendservice" + backendservicesignedurlkey "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/backendservicesignedurlkey" + disk "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/disk" + diskiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/diskiambinding" + diskiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/diskiammember" + diskiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/diskiampolicy" + diskresourcepolicyattachment "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/diskresourcepolicyattachment" + externalvpngateway "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/externalvpngateway" firewall "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/firewall" - instance "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/instance" + firewallpolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/firewallpolicy" + firewallpolicyassociation "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/firewallpolicyassociation" + firewallpolicyrule "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/firewallpolicyrule" + forwardingrule "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/forwardingrule" + globaladdress "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/globaladdress" + globalforwardingrule "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/globalforwardingrule" + globalnetworkendpoint "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/globalnetworkendpoint" + globalnetworkendpointgroup "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/globalnetworkendpointgroup" + havpngateway "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/havpngateway" + healthcheck "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/healthcheck" + httphealthcheck "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/httphealthcheck" + httpshealthcheck "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/httpshealthcheck" + image "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/image" + imageiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/imageiambinding" + imageiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/imageiammember" + imageiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/imageiampolicy" + instancecompute "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/instance" + instancefromtemplate "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/instancefromtemplate" + instancegroup "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/instancegroup" + instancegroupmanager "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/instancegroupmanager" + instancegroupnamedport "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/instancegroupnamedport" + instanceiambindingcompute "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/instanceiambinding" + instanceiammembercompute "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/instanceiammember" + instanceiampolicycompute "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/instanceiampolicy" + instancetemplate "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/instancetemplate" + interconnectattachment "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/interconnectattachment" managedsslcertificate "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/managedsslcertificate" network "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/network" + networkendpoint "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/networkendpoint" + networkendpointgroup "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/networkendpointgroup" + networkpeering "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/networkpeering" + networkpeeringroutesconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/networkpeeringroutesconfig" + nodegroup "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/nodegroup" + nodetemplate "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/nodetemplate" + packetmirroring "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/packetmirroring" + perinstanceconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/perinstanceconfig" + projectdefaultnetworktier "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/projectdefaultnetworktier" + projectmetadata "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/projectmetadata" + projectmetadataitem "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/projectmetadataitem" + regionautoscaler "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regionautoscaler" + regionbackendservice "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regionbackendservice" + regiondisk "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regiondisk" + regiondiskiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regiondiskiambinding" + regiondiskiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regiondiskiammember" + regiondiskiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regiondiskiampolicy" + regiondiskresourcepolicyattachment "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regiondiskresourcepolicyattachment" + regionhealthcheck "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regionhealthcheck" + regioninstancegroupmanager "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regioninstancegroupmanager" + regionnetworkendpointgroup "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regionnetworkendpointgroup" + regionperinstanceconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regionperinstanceconfig" + regionsslcertificate "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regionsslcertificate" + regiontargethttpproxy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regiontargethttpproxy" + regiontargethttpsproxy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regiontargethttpsproxy" + regionurlmap "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/regionurlmap" + reservationcompute "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/reservation" + resourcepolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/resourcepolicy" + route "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/route" router "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/router" + routerinterface "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/routerinterface" routernat "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/routernat" + routerpeer "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/routerpeer" + securitypolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/securitypolicy" + serviceattachment "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/serviceattachment" + sharedvpchostproject "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/sharedvpchostproject" + sharedvpcserviceproject "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/sharedvpcserviceproject" + snapshot "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/snapshot" + sslcertificate "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/sslcertificate" + sslpolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/sslpolicy" subnetwork "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/subnetwork" + subnetworkiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/subnetworkiambinding" + subnetworkiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/subnetworkiammember" + subnetworkiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/subnetworkiampolicy" + targetgrpcproxy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/targetgrpcproxy" + targethttpproxy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/targethttpproxy" + targethttpsproxy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/targethttpsproxy" + targetinstance "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/targetinstance" + targetpool "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/targetpool" + targetsslproxy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/targetsslproxy" + targettcpproxy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/targettcpproxy" + urlmap "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/urlmap" + vpngateway "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/vpngateway" + vpntunnel "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/compute/vpntunnel" cluster "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/container/cluster" nodepool "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/container/nodepool" + registrycontainer "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/container/registry" + note "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/containeranalysis/note" + occurrence "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/containeranalysis/occurrence" + entry "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datacatalog/entry" + entrygroup "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datacatalog/entrygroup" + entrygroupiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datacatalog/entrygroupiambinding" + entrygroupiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datacatalog/entrygroupiammember" + entrygroupiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datacatalog/entrygroupiampolicy" + tag "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datacatalog/tag" + tagtemplate "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datacatalog/tagtemplate" + tagtemplateiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datacatalog/tagtemplateiambinding" + tagtemplateiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datacatalog/tagtemplateiammember" + tagtemplateiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datacatalog/tagtemplateiampolicy" + jobdataflow "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dataflow/job" + deidentifytemplate "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datalossprevention/deidentifytemplate" + inspecttemplate "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datalossprevention/inspecttemplate" + jobtrigger "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datalossprevention/jobtrigger" + storedinfotype "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datalossprevention/storedinfotype" + autoscalingpolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dataproc/autoscalingpolicy" + clusterdataproc "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dataproc/cluster" + clusteriambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dataproc/clusteriambinding" + clusteriammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dataproc/clusteriammember" + clusteriampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dataproc/clusteriampolicy" + jobdataproc "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dataproc/job" + jobiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dataproc/jobiambinding" + jobiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dataproc/jobiammember" + jobiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dataproc/jobiampolicy" + workflowtemplate "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dataproc/workflowtemplate" + index "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/datastore/index" + deployment "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/deploymentmanager/deployment" + agent "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dialogflow/agent" + entitytype "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dialogflow/entitytype" + fulfillment "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dialogflow/fulfillment" + intent "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dialogflow/intent" + agentdialogflowcx "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dialogflowcx/agent" + entitytypedialogflowcx "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dialogflowcx/entitytype" + environmentdialogflowcx "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dialogflowcx/environment" + flow "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dialogflowcx/flow" + intentdialogflowcx "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dialogflowcx/intent" + page "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dialogflowcx/page" + version "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dialogflowcx/version" + managedzone "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dns/managedzone" + policydns "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dns/policy" + recordset "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/dns/recordset" + serviceendpoints "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/endpoints/service" + serviceiambindingendpoints "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/endpoints/serviceiambinding" + serviceiammemberendpoints "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/endpoints/serviceiammember" + serviceiampolicyendpoints "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/endpoints/serviceiampolicy" + contact "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/essentialcontacts/contact" + triggereventarc "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/eventarc/trigger" + instancefilestore "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/filestore/instance" + document "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/firestore/document" + indexfirestore "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/firestore/index" + gameservercluster "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/gameservices/gameservercluster" + gameserverconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/gameservices/gameserverconfig" + gameserverdeployment "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/gameservices/gameserverdeployment" + gameserverdeploymentrollout "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/gameservices/gameserverdeploymentrollout" + realm "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/gameservices/realm" + membership "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/gkehub/membership" + consentstore "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/consentstore" + consentstoreiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/consentstoreiambinding" + consentstoreiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/consentstoreiammember" + consentstoreiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/consentstoreiampolicy" + datasethealthcare "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/dataset" + datasetiambindinghealthcare "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/datasetiambinding" + datasetiammemberhealthcare "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/datasetiammember" + datasetiampolicyhealthcare "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/datasetiampolicy" + dicomstore "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/dicomstore" + dicomstoreiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/dicomstoreiambinding" + dicomstoreiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/dicomstoreiammember" + dicomstoreiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/dicomstoreiampolicy" + fhirstore "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/fhirstore" + fhirstoreiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/fhirstoreiambinding" + fhirstoreiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/fhirstoreiammember" + fhirstoreiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/fhirstoreiampolicy" + hl7v2store "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/hl7v2store" + hl7v2storeiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/hl7v2storeiambinding" + hl7v2storeiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/hl7v2storeiammember" + hl7v2storeiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/healthcare/hl7v2storeiampolicy" + appengineserviceiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/appengineserviceiambinding" + appengineserviceiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/appengineserviceiammember" + appengineserviceiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/appengineserviceiampolicy" + appengineversioniambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/appengineversioniambinding" + appengineversioniammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/appengineversioniammember" + appengineversioniampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/appengineversioniampolicy" + brand "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/brand" + client "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/client" + tunneliambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/tunneliambinding" + tunneliammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/tunneliammember" + tunneliampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/tunneliampolicy" + tunnelinstanceiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/tunnelinstanceiambinding" + tunnelinstanceiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/tunnelinstanceiammember" + tunnelinstanceiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/tunnelinstanceiampolicy" + webbackendserviceiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/webbackendserviceiambinding" + webbackendserviceiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/webbackendserviceiammember" + webbackendserviceiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/webbackendserviceiampolicy" + webiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/webiambinding" + webiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/webiammember" + webiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/webiampolicy" + webtypeappengineiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/webtypeappengineiambinding" + webtypeappengineiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/webtypeappengineiammember" + webtypeappengineiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/webtypeappengineiampolicy" + webtypecomputeiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/webtypecomputeiambinding" + webtypecomputeiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/webtypecomputeiammember" + webtypecomputeiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/iap/webtypecomputeiampolicy" + defaultsupportedidpconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/identityplatform/defaultsupportedidpconfig" + inboundsamlconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/identityplatform/inboundsamlconfig" + oauthidpconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/identityplatform/oauthidpconfig" + tenant "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/identityplatform/tenant" + tenantdefaultsupportedidpconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/identityplatform/tenantdefaultsupportedidpconfig" + tenantinboundsamlconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/identityplatform/tenantinboundsamlconfig" + tenantoauthidpconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/identityplatform/tenantoauthidpconfig" + cryptokey "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/kms/cryptokey" + cryptokeyiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/kms/cryptokeyiambinding" + cryptokeyiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/kms/cryptokeyiammember" + cryptokeyiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/kms/cryptokeyiampolicy" + keyring "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/kms/keyring" + keyringiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/kms/keyringiambinding" + keyringiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/kms/keyringiammember" + keyringiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/kms/keyringiampolicy" + keyringimportjob "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/kms/keyringimportjob" + secretciphertext "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/kms/secretciphertext" + billingaccountbucketconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/logging/billingaccountbucketconfig" + billingaccountexclusion "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/logging/billingaccountexclusion" + billingaccountsink "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/logging/billingaccountsink" + folderbucketconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/logging/folderbucketconfig" + folderexclusion "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/logging/folderexclusion" + foldersink "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/logging/foldersink" + metric "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/logging/metric" + organizationbucketconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/logging/organizationbucketconfig" + organizationexclusion "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/logging/organizationexclusion" + organizationsink "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/logging/organizationsink" + projectbucketconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/logging/projectbucketconfig" + projectexclusion "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/logging/projectexclusion" + projectsink "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/logging/projectsink" + instancememcache "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/memcache/instance" + model "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/mlengine/model" alertpolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/monitoring/alertpolicy" + customservice "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/monitoring/customservice" + dashboard "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/monitoring/dashboard" + groupmonitoring "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/monitoring/group" + metricdescriptor "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/monitoring/metricdescriptor" notificationchannel "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/monitoring/notificationchannel" + slo "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/monitoring/slo" uptimecheckconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/monitoring/uptimecheckconfig" + connectivitytest "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/networkmanagement/connectivitytest" + edgecachekeyset "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/networkservices/edgecachekeyset" + edgecacheorigin "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/networkservices/edgecacheorigin" + edgecacheservice "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/networkservices/edgecacheservice" + environmentnotebooks "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/notebooks/environment" + instancenotebooks "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/notebooks/instance" + instanceiambindingnotebooks "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/notebooks/instanceiambinding" + instanceiammembernotebooks "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/notebooks/instanceiammember" + instanceiampolicynotebooks "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/notebooks/instanceiampolicy" + location "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/notebooks/location" + policyorgpolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/orgpolicy/policy" + patchdeployment "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/osconfig/patchdeployment" + sshpublickey "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/oslogin/sshpublickey" + capool "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/privateca/capool" + capooliambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/privateca/capooliambinding" + capooliammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/privateca/capooliammember" + capooliampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/privateca/capooliampolicy" + certificate "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/privateca/certificate" + certificateauthority "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/privateca/certificateauthority" + certificatetemplate "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/privateca/certificatetemplate" providerconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/providerconfig" - database "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/sql/database" + litereservation "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/pubsub/litereservation" + litesubscription "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/pubsub/litesubscription" + litetopic "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/pubsub/litetopic" + schema "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/pubsub/schema" + subscription "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/pubsub/subscription" + subscriptioniambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/pubsub/subscriptioniambinding" + subscriptioniammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/pubsub/subscriptioniammember" + subscriptioniampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/pubsub/subscriptioniampolicy" + topic "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/pubsub/topic" + topiciambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/pubsub/topiciambinding" + topiciammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/pubsub/topiciammember" + topiciampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/pubsub/topiciampolicy" + instanceredis "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/redis/instance" + lien "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/resourcemanager/lien" + notificationconfig "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/scc/notificationconfig" + source "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/scc/source" + secret "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/secretmanager/secret" + secretiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/secretmanager/secretiambinding" + secretiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/secretmanager/secretiammember" + secretiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/secretmanager/secretiampolicy" + secretversion "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/secretmanager/secretversion" + connection "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/servicenetworking/connection" + repository "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/sourcerepo/repository" + repositoryiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/sourcerepo/repositoryiambinding" + repositoryiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/sourcerepo/repositoryiammember" + repositoryiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/sourcerepo/repositoryiampolicy" + database "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/spanner/database" + databaseiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/spanner/databaseiambinding" + databaseiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/spanner/databaseiammember" + databaseiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/spanner/databaseiampolicy" + instancespanner "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/spanner/instance" + instanceiambindingspanner "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/spanner/instanceiambinding" + instanceiammemberspanner "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/spanner/instanceiammember" + instanceiampolicyspanner "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/spanner/instanceiampolicy" + databasesql "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/sql/database" databaseinstance "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/sql/databaseinstance" sourcerepresentationinstance "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/sql/sourcerepresentationinstance" sslcert "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/sql/sslcert" user "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/sql/user" bucket "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/storage/bucket" + bucketaccesscontrol "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/storage/bucketaccesscontrol" + bucketacl "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/storage/bucketacl" + bucketiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/storage/bucketiambinding" + bucketiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/storage/bucketiammember" + bucketiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/storage/bucketiampolicy" + bucketobject "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/storage/bucketobject" + defaultobjectaccesscontrol "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/storage/defaultobjectaccesscontrol" + defaultobjectacl "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/storage/defaultobjectacl" + hmackey "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/storage/hmackey" + notification "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/storage/notification" + objectaccesscontrol "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/storage/objectaccesscontrol" + objectacl "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/storage/objectacl" + jobstoragetransfer "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/storagetransfer/job" + tagbinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/tags/tagbinding" + tagkey "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/tags/tagkey" + tagkeyiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/tags/tagkeyiambinding" + tagkeyiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/tags/tagkeyiammember" + tagkeyiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/tags/tagkeyiampolicy" + tagvalue "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/tags/tagvalue" + tagvalueiambinding "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/tags/tagvalueiambinding" + tagvalueiammember "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/tags/tagvalueiammember" + tagvalueiampolicy "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/tags/tagvalueiampolicy" + node "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/tpu/node" + datasetvertexai "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/vertexai/dataset" + connector "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/vpcaccess/connector" + workflow "github.com/crossplane-contrib/provider-jet-gcp/internal/controller/workflows/workflow" ) // Setup creates all controllers with the supplied logger and adds them to // the supplied manager. func Setup(mgr ctrl.Manager, l logging.Logger, wl workqueue.RateLimiter, ps terraform.SetupFn, ws *terraform.WorkspaceStore, cfg *tjconfig.Provider, concurrency int) error { for _, setup := range []func(ctrl.Manager, logging.Logger, workqueue.RateLimiter, terraform.SetupFn, *terraform.WorkspaceStore, *tjconfig.Provider, int) error{ + foldersettings.Setup, + organizationsettings.Setup, + projectsettings.Setup, + accesslevel.Setup, + accesslevelcondition.Setup, + accesspolicy.Setup, + gcpuseraccessbinding.Setup, + serviceperimeter.Setup, + serviceperimeterresource.Setup, + domain.Setup, + domaintrust.Setup, + envgroup.Setup, + envgroupattachment.Setup, + environment.Setup, + instance.Setup, + instanceattachment.Setup, + organization.Setup, + application.Setup, + applicationurldispatchrules.Setup, + domainmapping.Setup, + firewallrule.Setup, + flexibleappversion.Setup, + servicenetworksettings.Setup, + servicesplittraffic.Setup, + standardappversion.Setup, + workload.Setup, + dataset.Setup, + datasetaccess.Setup, + datasetiambinding.Setup, + datasetiammember.Setup, + datasetiampolicy.Setup, + datatransferconfig.Setup, + job.Setup, + reservation.Setup, + routine.Setup, + table.Setup, + tableiambinding.Setup, + tableiammember.Setup, + tableiampolicy.Setup, + appprofile.Setup, + garbagecollectionpolicy.Setup, + instancebigtable.Setup, + instanceiambinding.Setup, + instanceiammember.Setup, + instanceiampolicy.Setup, + tablebigtable.Setup, + tableiambindingbigtable.Setup, + tableiammemberbigtable.Setup, + tableiampolicybigtable.Setup, + accountiambinding.Setup, + accountiammember.Setup, + accountiampolicy.Setup, + budget.Setup, + attestor.Setup, + attestoriambinding.Setup, + attestoriammember.Setup, + attestoriampolicy.Setup, + policy.Setup, + folderfeed.Setup, + organizationfeed.Setup, + projectfeed.Setup, + trigger.Setup, + function.Setup, + functioniambinding.Setup, + functioniammember.Setup, + functioniampolicy.Setup, + group.Setup, + groupmembership.Setup, + device.Setup, + registry.Setup, + billingsubaccount.Setup, + folder.Setup, + folderiamauditconfig.Setup, + folderiambinding.Setup, + folderiammember.Setup, + folderiampolicy.Setup, + folderorganizationpolicy.Setup, + organizationiamauditconfig.Setup, + organizationiambinding.Setup, + organizationiamcustomrole.Setup, + organizationiammember.Setup, + organizationiampolicy.Setup, + organizationpolicy.Setup, + project.Setup, + projectdefaultserviceaccounts.Setup, + projectiamauditconfig.Setup, + projectiambinding.Setup, + projectiamcustomrole.Setup, + projectiammember.Setup, + projectiampolicy.Setup, + projectorganizationpolicy.Setup, + projectservice.Setup, + projectusageexportbucket.Setup, serviceaccount.Setup, + serviceaccountiambinding.Setup, + serviceaccountiammember.Setup, + serviceaccountiampolicy.Setup, serviceaccountkey.Setup, + servicenetworkingpeereddnsdomain.Setup, + domainmappingcloudrun.Setup, + service.Setup, + serviceiambinding.Setup, + serviceiammember.Setup, + serviceiampolicy.Setup, + jobcloudscheduler.Setup, + queue.Setup, + environmentcomposer.Setup, address.Setup, + attacheddisk.Setup, + autoscaler.Setup, + backendbucket.Setup, + backendbucketsignedurlkey.Setup, + backendservice.Setup, + backendservicesignedurlkey.Setup, + disk.Setup, + diskiambinding.Setup, + diskiammember.Setup, + diskiampolicy.Setup, + diskresourcepolicyattachment.Setup, + externalvpngateway.Setup, firewall.Setup, - instance.Setup, + firewallpolicy.Setup, + firewallpolicyassociation.Setup, + firewallpolicyrule.Setup, + forwardingrule.Setup, + globaladdress.Setup, + globalforwardingrule.Setup, + globalnetworkendpoint.Setup, + globalnetworkendpointgroup.Setup, + havpngateway.Setup, + healthcheck.Setup, + httphealthcheck.Setup, + httpshealthcheck.Setup, + image.Setup, + imageiambinding.Setup, + imageiammember.Setup, + imageiampolicy.Setup, + instancecompute.Setup, + instancefromtemplate.Setup, + instancegroup.Setup, + instancegroupmanager.Setup, + instancegroupnamedport.Setup, + instanceiambindingcompute.Setup, + instanceiammembercompute.Setup, + instanceiampolicycompute.Setup, + instancetemplate.Setup, + interconnectattachment.Setup, managedsslcertificate.Setup, network.Setup, + networkendpoint.Setup, + networkendpointgroup.Setup, + networkpeering.Setup, + networkpeeringroutesconfig.Setup, + nodegroup.Setup, + nodetemplate.Setup, + packetmirroring.Setup, + perinstanceconfig.Setup, + projectdefaultnetworktier.Setup, + projectmetadata.Setup, + projectmetadataitem.Setup, + regionautoscaler.Setup, + regionbackendservice.Setup, + regiondisk.Setup, + regiondiskiambinding.Setup, + regiondiskiammember.Setup, + regiondiskiampolicy.Setup, + regiondiskresourcepolicyattachment.Setup, + regionhealthcheck.Setup, + regioninstancegroupmanager.Setup, + regionnetworkendpointgroup.Setup, + regionperinstanceconfig.Setup, + regionsslcertificate.Setup, + regiontargethttpproxy.Setup, + regiontargethttpsproxy.Setup, + regionurlmap.Setup, + reservationcompute.Setup, + resourcepolicy.Setup, + route.Setup, router.Setup, + routerinterface.Setup, routernat.Setup, + routerpeer.Setup, + securitypolicy.Setup, + serviceattachment.Setup, + sharedvpchostproject.Setup, + sharedvpcserviceproject.Setup, + snapshot.Setup, + sslcertificate.Setup, + sslpolicy.Setup, subnetwork.Setup, + subnetworkiambinding.Setup, + subnetworkiammember.Setup, + subnetworkiampolicy.Setup, + targetgrpcproxy.Setup, + targethttpproxy.Setup, + targethttpsproxy.Setup, + targetinstance.Setup, + targetpool.Setup, + targetsslproxy.Setup, + targettcpproxy.Setup, + urlmap.Setup, + vpngateway.Setup, + vpntunnel.Setup, cluster.Setup, nodepool.Setup, + registrycontainer.Setup, + note.Setup, + occurrence.Setup, + entry.Setup, + entrygroup.Setup, + entrygroupiambinding.Setup, + entrygroupiammember.Setup, + entrygroupiampolicy.Setup, + tag.Setup, + tagtemplate.Setup, + tagtemplateiambinding.Setup, + tagtemplateiammember.Setup, + tagtemplateiampolicy.Setup, + jobdataflow.Setup, + deidentifytemplate.Setup, + inspecttemplate.Setup, + jobtrigger.Setup, + storedinfotype.Setup, + autoscalingpolicy.Setup, + clusterdataproc.Setup, + clusteriambinding.Setup, + clusteriammember.Setup, + clusteriampolicy.Setup, + jobdataproc.Setup, + jobiambinding.Setup, + jobiammember.Setup, + jobiampolicy.Setup, + workflowtemplate.Setup, + index.Setup, + deployment.Setup, + agent.Setup, + entitytype.Setup, + fulfillment.Setup, + intent.Setup, + agentdialogflowcx.Setup, + entitytypedialogflowcx.Setup, + environmentdialogflowcx.Setup, + flow.Setup, + intentdialogflowcx.Setup, + page.Setup, + version.Setup, + managedzone.Setup, + policydns.Setup, + recordset.Setup, + serviceendpoints.Setup, + serviceiambindingendpoints.Setup, + serviceiammemberendpoints.Setup, + serviceiampolicyendpoints.Setup, + contact.Setup, + triggereventarc.Setup, + instancefilestore.Setup, + document.Setup, + indexfirestore.Setup, + gameservercluster.Setup, + gameserverconfig.Setup, + gameserverdeployment.Setup, + gameserverdeploymentrollout.Setup, + realm.Setup, + membership.Setup, + consentstore.Setup, + consentstoreiambinding.Setup, + consentstoreiammember.Setup, + consentstoreiampolicy.Setup, + datasethealthcare.Setup, + datasetiambindinghealthcare.Setup, + datasetiammemberhealthcare.Setup, + datasetiampolicyhealthcare.Setup, + dicomstore.Setup, + dicomstoreiambinding.Setup, + dicomstoreiammember.Setup, + dicomstoreiampolicy.Setup, + fhirstore.Setup, + fhirstoreiambinding.Setup, + fhirstoreiammember.Setup, + fhirstoreiampolicy.Setup, + hl7v2store.Setup, + hl7v2storeiambinding.Setup, + hl7v2storeiammember.Setup, + hl7v2storeiampolicy.Setup, + appengineserviceiambinding.Setup, + appengineserviceiammember.Setup, + appengineserviceiampolicy.Setup, + appengineversioniambinding.Setup, + appengineversioniammember.Setup, + appengineversioniampolicy.Setup, + brand.Setup, + client.Setup, + tunneliambinding.Setup, + tunneliammember.Setup, + tunneliampolicy.Setup, + tunnelinstanceiambinding.Setup, + tunnelinstanceiammember.Setup, + tunnelinstanceiampolicy.Setup, + webbackendserviceiambinding.Setup, + webbackendserviceiammember.Setup, + webbackendserviceiampolicy.Setup, + webiambinding.Setup, + webiammember.Setup, + webiampolicy.Setup, + webtypeappengineiambinding.Setup, + webtypeappengineiammember.Setup, + webtypeappengineiampolicy.Setup, + webtypecomputeiambinding.Setup, + webtypecomputeiammember.Setup, + webtypecomputeiampolicy.Setup, + defaultsupportedidpconfig.Setup, + inboundsamlconfig.Setup, + oauthidpconfig.Setup, + tenant.Setup, + tenantdefaultsupportedidpconfig.Setup, + tenantinboundsamlconfig.Setup, + tenantoauthidpconfig.Setup, + cryptokey.Setup, + cryptokeyiambinding.Setup, + cryptokeyiammember.Setup, + cryptokeyiampolicy.Setup, + keyring.Setup, + keyringiambinding.Setup, + keyringiammember.Setup, + keyringiampolicy.Setup, + keyringimportjob.Setup, + secretciphertext.Setup, + billingaccountbucketconfig.Setup, + billingaccountexclusion.Setup, + billingaccountsink.Setup, + folderbucketconfig.Setup, + folderexclusion.Setup, + foldersink.Setup, + metric.Setup, + organizationbucketconfig.Setup, + organizationexclusion.Setup, + organizationsink.Setup, + projectbucketconfig.Setup, + projectexclusion.Setup, + projectsink.Setup, + instancememcache.Setup, + model.Setup, alertpolicy.Setup, + customservice.Setup, + dashboard.Setup, + groupmonitoring.Setup, + metricdescriptor.Setup, notificationchannel.Setup, + slo.Setup, uptimecheckconfig.Setup, + connectivitytest.Setup, + edgecachekeyset.Setup, + edgecacheorigin.Setup, + edgecacheservice.Setup, + environmentnotebooks.Setup, + instancenotebooks.Setup, + instanceiambindingnotebooks.Setup, + instanceiammembernotebooks.Setup, + instanceiampolicynotebooks.Setup, + location.Setup, + policyorgpolicy.Setup, + patchdeployment.Setup, + sshpublickey.Setup, + capool.Setup, + capooliambinding.Setup, + capooliammember.Setup, + capooliampolicy.Setup, + certificate.Setup, + certificateauthority.Setup, + certificatetemplate.Setup, providerconfig.Setup, + litereservation.Setup, + litesubscription.Setup, + litetopic.Setup, + schema.Setup, + subscription.Setup, + subscriptioniambinding.Setup, + subscriptioniammember.Setup, + subscriptioniampolicy.Setup, + topic.Setup, + topiciambinding.Setup, + topiciammember.Setup, + topiciampolicy.Setup, + instanceredis.Setup, + lien.Setup, + notificationconfig.Setup, + source.Setup, + secret.Setup, + secretiambinding.Setup, + secretiammember.Setup, + secretiampolicy.Setup, + secretversion.Setup, + connection.Setup, + repository.Setup, + repositoryiambinding.Setup, + repositoryiammember.Setup, + repositoryiampolicy.Setup, database.Setup, + databaseiambinding.Setup, + databaseiammember.Setup, + databaseiampolicy.Setup, + instancespanner.Setup, + instanceiambindingspanner.Setup, + instanceiammemberspanner.Setup, + instanceiampolicyspanner.Setup, + databasesql.Setup, databaseinstance.Setup, sourcerepresentationinstance.Setup, sslcert.Setup, user.Setup, bucket.Setup, + bucketaccesscontrol.Setup, + bucketacl.Setup, + bucketiambinding.Setup, + bucketiammember.Setup, + bucketiampolicy.Setup, + bucketobject.Setup, + defaultobjectaccesscontrol.Setup, + defaultobjectacl.Setup, + hmackey.Setup, + notification.Setup, + objectaccesscontrol.Setup, + objectacl.Setup, + jobstoragetransfer.Setup, + tagbinding.Setup, + tagkey.Setup, + tagkeyiambinding.Setup, + tagkeyiammember.Setup, + tagkeyiampolicy.Setup, + tagvalue.Setup, + tagvalueiambinding.Setup, + tagvalueiammember.Setup, + tagvalueiampolicy.Setup, + node.Setup, + datasetvertexai.Setup, + connector.Setup, + workflow.Setup, } { if err := setup(mgr, l, wl, ps, ws, cfg, concurrency); err != nil { return err diff --git a/package/crds/accessapproval.gcp.jet.crossplane.io_foldersettings.yaml b/package/crds/accessapproval.gcp.jet.crossplane.io_foldersettings.yaml new file mode 100644 index 00000000..3ac6abc8 --- /dev/null +++ b/package/crds/accessapproval.gcp.jet.crossplane.io_foldersettings.yaml @@ -0,0 +1,214 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: foldersettings.accessapproval.gcp.jet.crossplane.io +spec: + group: accessapproval.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FolderSettings + listKind: FolderSettingsList + plural: foldersettings + singular: foldersettings + 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: FolderSettings is the Schema for the FolderSettingss 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: FolderSettingsSpec defines the desired state of FolderSettings + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + enrolledServices: + description: "A list of Google Cloud Services for which the given + resource has Access Approval enrolled. Access requests for the + resource given by name against any of these services contained + here will be required to have explicit approval. Enrollment + can only be done on an all or nothing basis. \n A maximum of + 10 enrolled services will be enforced, to be expanded as the + set of supported services is expanded." + items: + properties: + cloudProduct: + description: "The product for which Access Approval will + be enrolled. Allowed values are listed (case-sensitive): + * all * App Engine * BigQuery * Cloud Bigtable * Cloud + Key Management Service * Compute Engine * Cloud Dataflow + * Cloud Identity and Access Management * Cloud Pub/Sub + * Cloud Storage * Persistent Disk \n Note: These values + are supported as input, but considered a legacy format: + * all * appengine.googleapis.com * bigquery.googleapis.com + * bigtable.googleapis.com * cloudkms.googleapis.com * + compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com + * pubsub.googleapis.com * storage.googleapis.com" + type: string + enrollmentLevel: + description: 'The enrollment level of the service. Default + value: "BLOCK_ALL" Possible values: ["BLOCK_ALL"]' + type: string + required: + - cloudProduct + type: object + type: array + folderId: + description: ID of the folder of the access approval settings. + type: string + notificationEmails: + description: A list of email addresses to which notifications + relating to approval requests should be sent. Notifications + relating to a resource will be sent to all emails in the settings + of ancestor resources of that resource. A maximum of 50 email + addresses are allowed. + items: + type: string + type: array + required: + - enrolledServices + - folderId + type: object + 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 + 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 + 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. + 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 + status: + description: FolderSettingsStatus defines the observed state of FolderSettings. + properties: + atProvider: + properties: + enrolledAncestor: + type: boolean + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/accessapproval.gcp.jet.crossplane.io_organizationsettings.yaml b/package/crds/accessapproval.gcp.jet.crossplane.io_organizationsettings.yaml new file mode 100644 index 00000000..9ff942bc --- /dev/null +++ b/package/crds/accessapproval.gcp.jet.crossplane.io_organizationsettings.yaml @@ -0,0 +1,210 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: organizationsettings.accessapproval.gcp.jet.crossplane.io +spec: + group: accessapproval.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: OrganizationSettings + listKind: OrganizationSettingsList + plural: organizationsettings + singular: organizationsettings + 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: OrganizationSettings is the Schema for the OrganizationSettingss + 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: OrganizationSettingsSpec defines the desired state of OrganizationSettings + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + enrolledServices: + description: "A list of Google Cloud Services for which the given + resource has Access Approval enrolled. Access requests for the + resource given by name against any of these services contained + here will be required to have explicit approval. Enrollment + can be done for individual services. \n A maximum of 10 enrolled + services will be enforced, to be expanded as the set of supported + services is expanded." + items: + properties: + cloudProduct: + description: 'The product for which Access Approval will + be enrolled. Allowed values are listed (case-sensitive): + all appengine.googleapis.com bigquery.googleapis.com bigtable.googleapis.com + cloudkms.googleapis.com compute.googleapis.com dataflow.googleapis.com + iam.googleapis.com pubsub.googleapis.com storage.googleapis.com' + type: string + enrollmentLevel: + description: 'The enrollment level of the service. Default + value: "BLOCK_ALL" Possible values: ["BLOCK_ALL"]' + type: string + required: + - cloudProduct + type: object + type: array + notificationEmails: + description: A list of email addresses to which notifications + relating to approval requests should be sent. Notifications + relating to a resource will be sent to all emails in the settings + of ancestor resources of that resource. A maximum of 50 email + addresses are allowed. + items: + type: string + type: array + organizationId: + description: ID of the organization of the access approval settings. + type: string + required: + - enrolledServices + - organizationId + type: object + 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 + 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 + 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. + 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 + status: + description: OrganizationSettingsStatus defines the observed state of + OrganizationSettings. + properties: + atProvider: + properties: + enrolledAncestor: + type: boolean + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/accessapproval.gcp.jet.crossplane.io_projectsettings.yaml b/package/crds/accessapproval.gcp.jet.crossplane.io_projectsettings.yaml new file mode 100644 index 00000000..7e305d38 --- /dev/null +++ b/package/crds/accessapproval.gcp.jet.crossplane.io_projectsettings.yaml @@ -0,0 +1,211 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectsettings.accessapproval.gcp.jet.crossplane.io +spec: + group: accessapproval.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectSettings + listKind: ProjectSettingsList + plural: projectsettings + singular: projectsettings + 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: ProjectSettings is the Schema for the ProjectSettingss 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: ProjectSettingsSpec defines the desired state of ProjectSettings + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + enrolledServices: + description: "A list of Google Cloud Services for which the given + resource has Access Approval enrolled. Access requests for the + resource given by name against any of these services contained + here will be required to have explicit approval. Enrollment + can only be done on an all or nothing basis. \n A maximum of + 10 enrolled services will be enforced, to be expanded as the + set of supported services is expanded." + items: + properties: + cloudProduct: + description: 'The product for which Access Approval will + be enrolled. Allowed values are listed (case-sensitive): + all appengine.googleapis.com bigquery.googleapis.com bigtable.googleapis.com + cloudkms.googleapis.com compute.googleapis.com dataflow.googleapis.com + iam.googleapis.com pubsub.googleapis.com storage.googleapis.com' + type: string + enrollmentLevel: + description: 'The enrollment level of the service. Default + value: "BLOCK_ALL" Possible values: ["BLOCK_ALL"]' + type: string + required: + - cloudProduct + type: object + type: array + notificationEmails: + description: A list of email addresses to which notifications + relating to approval requests should be sent. Notifications + relating to a resource will be sent to all emails in the settings + of ancestor resources of that resource. A maximum of 50 email + addresses are allowed. + items: + type: string + type: array + project: + description: Deprecated in favor of 'project_id' + type: string + projectId: + description: ID of the project of the access approval settings. + type: string + required: + - enrolledServices + - projectId + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectSettingsStatus defines the observed state of ProjectSettings. + properties: + atProvider: + properties: + enrolledAncestor: + type: boolean + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/accesscontextmanager.gcp.jet.crossplane.io_accesslevelconditions.yaml b/package/crds/accesscontextmanager.gcp.jet.crossplane.io_accesslevelconditions.yaml new file mode 100644 index 00000000..913b0dce --- /dev/null +++ b/package/crds/accesscontextmanager.gcp.jet.crossplane.io_accesslevelconditions.yaml @@ -0,0 +1,269 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: accesslevelconditions.accesscontextmanager.gcp.jet.crossplane.io +spec: + group: accesscontextmanager.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AccessLevelCondition + listKind: AccessLevelConditionList + plural: accesslevelconditions + singular: accesslevelcondition + 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: AccessLevelCondition is the Schema for the AccessLevelConditions + 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: AccessLevelConditionSpec defines the desired state of AccessLevelCondition + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accessLevel: + description: The name of the Access Level to add this condition + to. + type: string + devicePolicy: + description: Device specific restrictions, all restrictions must + hold for the Condition to be true. If not specified, all devices + are allowed. + items: + properties: + allowedDeviceManagementLevels: + description: 'A list of allowed device management levels. + An empty list allows all management levels. Possible values: + ["MANAGEMENT_UNSPECIFIED", "NONE", "BASIC", "COMPLETE"]' + items: + type: string + type: array + allowedEncryptionStatuses: + description: 'A list of allowed encryptions statuses. An + empty list allows all statuses. Possible values: ["ENCRYPTION_UNSPECIFIED", + "ENCRYPTION_UNSUPPORTED", "UNENCRYPTED", "ENCRYPTED"]' + items: + type: string + type: array + osConstraints: + description: A list of allowed OS versions. An empty list + allows all types and all versions. + items: + properties: + minimumVersion: + description: 'The minimum allowed OS version. If not + set, any version of this OS satisfies the constraint. + Format: "major.minor.patch" such as "10.5.301", + "9.2.1".' + type: string + osType: + description: 'The operating system type of the device. + Possible values: ["OS_UNSPECIFIED", "DESKTOP_MAC", + "DESKTOP_WINDOWS", "DESKTOP_LINUX", "DESKTOP_CHROME_OS", + "ANDROID", "IOS"]' + type: string + required: + - osType + type: object + type: array + requireAdminApproval: + description: Whether the device needs to be approved by + the customer admin. + type: boolean + requireCorpOwned: + description: Whether the device needs to be corp owned. + type: boolean + requireScreenLock: + description: Whether or not screenlock is required for the + DevicePolicy to be true. Defaults to false. + type: boolean + type: object + type: array + ipSubnetworks: + description: A list of CIDR block IP subnetwork specification. + May be IPv4 or IPv6. Note that for a CIDR IP address block, + the specified IP address portion must be properly truncated + (i.e. all the host bits must be zero) or the input is considered + malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" + is not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas + "2001:db8::1/32" is not. The originating IP of a request must + be in one of the listed subnets in order for this Condition + to be true. If empty, all IP addresses are allowed. + items: + type: string + type: array + members: + description: "An allowed list of members (users, service accounts). + Using groups is not supported yet. \n The signed-in user originating + the request must be a part of one of the provided members. If + not specified, a request may come from any user (logged in/not + logged in, not present in any groups, etc.). Formats: 'user:{emailid}', + 'serviceAccount:{emailid}'" + items: + type: string + type: array + negate: + description: Whether to negate the Condition. If true, the Condition + becomes a NAND over its non-empty fields, each field must be + false for the Condition overall to be satisfied. Defaults to + false. + type: boolean + regions: + description: 'The request must originate from one of the provided + countries/regions. Format: A valid ISO 3166-1 alpha-2 code.' + items: + type: string + type: array + requiredAccessLevels: + description: 'A list of other access levels defined in the same + Policy, referenced by resource name. Referencing an AccessLevel + which does not exist is an error. All access levels listed must + be granted for the Condition to be true. Format: accessPolicies/{policy_id}/accessLevels/{short_name}' + items: + type: string + type: array + required: + - accessLevel + type: object + 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 + 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 + 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. + 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 + status: + description: AccessLevelConditionStatus defines the observed state of + AccessLevelCondition. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/accesscontextmanager.gcp.jet.crossplane.io_accesslevels.yaml b/package/crds/accesscontextmanager.gcp.jet.crossplane.io_accesslevels.yaml new file mode 100644 index 00000000..187784a6 --- /dev/null +++ b/package/crds/accesscontextmanager.gcp.jet.crossplane.io_accesslevels.yaml @@ -0,0 +1,360 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: accesslevels.accesscontextmanager.gcp.jet.crossplane.io +spec: + group: accesscontextmanager.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AccessLevel + listKind: AccessLevelList + plural: accesslevels + singular: accesslevel + 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: AccessLevel is the Schema for the AccessLevels 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: AccessLevelSpec defines the desired state of AccessLevel + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + basic: + description: A set of predefined conditions for the access level + and a combining function. + items: + properties: + combiningFunction: + description: 'How the conditions list should be combined + to determine if a request is granted this AccessLevel. + If AND is used, each Condition in conditions must be satisfied + for the AccessLevel to be applied. If OR is used, at least + one Condition in conditions must be satisfied for the + AccessLevel to be applied. Default value: "AND" Possible + values: ["AND", "OR"]' + type: string + conditions: + description: A set of requirements for the AccessLevel to + be granted. + items: + properties: + devicePolicy: + description: Device specific restrictions, all restrictions + must hold for the Condition to be true. If not specified, + all devices are allowed. + items: + properties: + allowedDeviceManagementLevels: + description: 'A list of allowed device management + levels. An empty list allows all management + levels. Possible values: ["MANAGEMENT_UNSPECIFIED", + "NONE", "BASIC", "COMPLETE"]' + items: + type: string + type: array + allowedEncryptionStatuses: + description: 'A list of allowed encryptions + statuses. An empty list allows all statuses. + Possible values: ["ENCRYPTION_UNSPECIFIED", + "ENCRYPTION_UNSUPPORTED", "UNENCRYPTED", "ENCRYPTED"]' + items: + type: string + type: array + osConstraints: + description: A list of allowed OS versions. + An empty list allows all types and all versions. + items: + properties: + minimumVersion: + description: 'The minimum allowed OS version. + If not set, any version of this OS satisfies + the constraint. Format: "major.minor.patch" + such as "10.5.301", "9.2.1".' + type: string + osType: + description: 'The operating system type + of the device. Possible values: ["OS_UNSPECIFIED", + "DESKTOP_MAC", "DESKTOP_WINDOWS", "DESKTOP_LINUX", + "DESKTOP_CHROME_OS", "ANDROID", "IOS"]' + type: string + requireVerifiedChromeOs: + description: If you specify DESKTOP_CHROME_OS + for osType, you can optionally include + requireVerifiedChromeOs to require Chrome + Verified Access. + type: boolean + required: + - osType + type: object + type: array + requireAdminApproval: + description: Whether the device needs to be + approved by the customer admin. + type: boolean + requireCorpOwned: + description: Whether the device needs to be + corp owned. + type: boolean + requireScreenLock: + description: Whether or not screenlock is required + for the DevicePolicy to be true. Defaults + to false. + type: boolean + type: object + type: array + ipSubnetworks: + description: A list of CIDR block IP subnetwork specification. + May be IPv4 or IPv6. Note that for a CIDR IP address + block, the specified IP address portion must be + properly truncated (i.e. all the host bits must + be zero) or the input is considered malformed. For + example, "192.0.2.0/24" is accepted but "192.0.2.1/24" + is not. Similarly, for IPv6, "2001:db8::/32" is + accepted whereas "2001:db8::1/32" is not. The originating + IP of a request must be in one of the listed subnets + in order for this Condition to be true. If empty, + all IP addresses are allowed. + items: + type: string + type: array + members: + description: "An allowed list of members (users, service + accounts). Using groups is not supported yet. \n + The signed-in user originating the request must + be a part of one of the provided members. If not + specified, a request may come from any user (logged + in/not logged in, not present in any groups, etc.). + Formats: 'user:{emailid}', 'serviceAccount:{emailid}'" + items: + type: string + type: array + negate: + description: Whether to negate the Condition. If true, + the Condition becomes a NAND over its non-empty + fields, each field must be false for the Condition + overall to be satisfied. Defaults to false. + type: boolean + regions: + description: 'The request must originate from one + of the provided countries/regions. Format: A valid + ISO 3166-1 alpha-2 code.' + items: + type: string + type: array + requiredAccessLevels: + description: 'A list of other access levels defined + in the same Policy, referenced by resource name. + Referencing an AccessLevel which does not exist + is an error. All access levels listed must be granted + for the Condition to be true. Format: accessPolicies/{policy_id}/accessLevels/{short_name}' + items: + type: string + type: array + type: object + type: array + required: + - conditions + type: object + type: array + custom: + description: 'Custom access level conditions are set using the + Cloud Common Expression Language to represent the necessary + conditions for the level to apply to a request. See CEL spec + at: https://github.com/google/cel-spec.' + items: + properties: + expr: + description: Represents a textual expression in the Common + Expression Language (CEL) syntax. CEL is a C-like expression + language. This page details the objects and attributes + that are used to the build the CEL expressions for custom + access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec. + items: + properties: + description: + description: Description of the expression + type: string + expression: + description: Textual representation of an expression + in Common Expression Language syntax. + type: string + location: + description: String indicating the location of the + expression for error reporting, e.g. a file name + and a position in the file + type: string + title: + description: Title for the expression, i.e. a short + string describing its purpose. + type: string + required: + - expression + type: object + type: array + required: + - expr + type: object + type: array + description: + description: Description of the AccessLevel and its use. Does + not affect behavior. + type: string + name: + description: 'Resource name for the Access Level. The short_name + component must begin with a letter and only include alphanumeric + and ''_''. Format: accessPolicies/{policy_id}/accessLevels/{short_name}' + type: string + parent: + description: 'The AccessPolicy this AccessLevel lives in. Format: + accessPolicies/{policy_id}' + type: string + title: + description: Human readable title. Must be unique within the Policy. + type: string + required: + - name + - parent + - title + type: object + 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 + 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 + 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. + 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 + status: + description: AccessLevelStatus defines the observed state of AccessLevel. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/accesscontextmanager.gcp.jet.crossplane.io_accesspolicies.yaml b/package/crds/accesscontextmanager.gcp.jet.crossplane.io_accesspolicies.yaml new file mode 100644 index 00000000..7690ca08 --- /dev/null +++ b/package/crds/accesscontextmanager.gcp.jet.crossplane.io_accesspolicies.yaml @@ -0,0 +1,180 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: accesspolicies.accesscontextmanager.gcp.jet.crossplane.io +spec: + group: accesscontextmanager.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AccessPolicy + listKind: AccessPolicyList + plural: accesspolicies + singular: accesspolicy + 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: AccessPolicy is the Schema for the AccessPolicys 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: AccessPolicySpec defines the desired state of AccessPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + parent: + description: 'The parent of this AccessPolicy in the Cloud Resource + Hierarchy. Format: organizations/{organization_id}' + type: string + title: + description: Human readable title. Does not affect behavior. + type: string + required: + - parent + - title + type: object + 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 + 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 + 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. + 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 + status: + description: AccessPolicyStatus defines the observed state of AccessPolicy. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + name: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/accesscontextmanager.gcp.jet.crossplane.io_gcpuseraccessbindings.yaml b/package/crds/accesscontextmanager.gcp.jet.crossplane.io_gcpuseraccessbindings.yaml new file mode 100644 index 00000000..383850c4 --- /dev/null +++ b/package/crds/accesscontextmanager.gcp.jet.crossplane.io_gcpuseraccessbindings.yaml @@ -0,0 +1,191 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: gcpuseraccessbindings.accesscontextmanager.gcp.jet.crossplane.io +spec: + group: accesscontextmanager.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: GCPUserAccessBinding + listKind: GCPUserAccessBindingList + plural: gcpuseraccessbindings + singular: gcpuseraccessbinding + 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: GCPUserAccessBinding is the Schema for the GCPUserAccessBindings + 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: GCPUserAccessBindingSpec defines the desired state of GCPUserAccessBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accessLevels: + description: 'Required. Access level that a user must have to + be granted access. Only one access level is supported, not multiple. + This repeated field must have exactly one element. Example: + "accessPolicies/9522/accessLevels/device_trusted"' + items: + type: string + type: array + groupKey: + description: 'Required. Immutable. Google Group id whose members + are subject to this binding''s restrictions. See "id" in the + G Suite Directory API''s Groups resource. If a group''s email + address/alias is changed, this resource will continue to point + at the changed group. This field does not accept group email + addresses or aliases. Example: "01d520gv4vjcrht"' + type: string + organizationId: + description: Required. ID of the parent organization. + type: string + required: + - accessLevels + - groupKey + - organizationId + type: object + 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 + 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 + 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. + 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 + status: + description: GCPUserAccessBindingStatus defines the observed state of + GCPUserAccessBinding. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/accesscontextmanager.gcp.jet.crossplane.io_serviceperimeterresources.yaml b/package/crds/accesscontextmanager.gcp.jet.crossplane.io_serviceperimeterresources.yaml new file mode 100644 index 00000000..50b2ca91 --- /dev/null +++ b/package/crds/accesscontextmanager.gcp.jet.crossplane.io_serviceperimeterresources.yaml @@ -0,0 +1,178 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: serviceperimeterresources.accesscontextmanager.gcp.jet.crossplane.io +spec: + group: accesscontextmanager.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServicePerimeterResource + listKind: ServicePerimeterResourceList + plural: serviceperimeterresources + singular: serviceperimeterresource + 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: ServicePerimeterResource is the Schema for the ServicePerimeterResources + 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: ServicePerimeterResourceSpec defines the desired state of + ServicePerimeterResource + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + perimeterName: + description: The name of the Service Perimeter to add this resource + to. + type: string + resource: + description: 'A GCP resource that is inside of the service perimeter. + Currently only projects are allowed. Format: projects/{project_number}' + type: string + required: + - perimeterName + - resource + type: object + 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 + 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 + 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. + 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 + status: + description: ServicePerimeterResourceStatus defines the observed state + of ServicePerimeterResource. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/accesscontextmanager.gcp.jet.crossplane.io_serviceperimeters.yaml b/package/crds/accesscontextmanager.gcp.jet.crossplane.io_serviceperimeters.yaml new file mode 100644 index 00000000..532a0f4b --- /dev/null +++ b/package/crds/accesscontextmanager.gcp.jet.crossplane.io_serviceperimeters.yaml @@ -0,0 +1,794 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: serviceperimeters.accesscontextmanager.gcp.jet.crossplane.io +spec: + group: accesscontextmanager.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServicePerimeter + listKind: ServicePerimeterList + plural: serviceperimeters + singular: serviceperimeter + 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: ServicePerimeter is the Schema for the ServicePerimeters 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: ServicePerimeterSpec defines the desired state of ServicePerimeter + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Description of the ServicePerimeter and its use. + Does not affect behavior. + type: string + name: + description: 'Resource name for the ServicePerimeter. The short_name + component must begin with a letter and only include alphanumeric + and ''_''. Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}' + type: string + parent: + description: 'The AccessPolicy this ServicePerimeter lives in. + Format: accessPolicies/{policy_id}' + type: string + perimeterType: + description: "Specifies the type of the Perimeter. There are two + types: regular and bridge. Regular Service Perimeter contains + resources, access levels, and restricted services. Every resource + can be in at most ONE regular Service Perimeter. \n In addition + to being in a regular service perimeter, a resource can also + be in zero or more perimeter bridges. A perimeter bridge only + contains resources. Cross project operations are permitted if + all effected resources share some perimeter (whether bridge + or regular). Perimeter Bridge does not contain access levels + or services: those are governed entirely by the regular perimeter + that resource is in. \n Perimeter Bridges are typically useful + when building more complex topologies with many independent + perimeters that need to share some data with a common perimeter, + but should not be able to share data among themselves. Default + value: \"PERIMETER_TYPE_REGULAR\" Possible values: [\"PERIMETER_TYPE_REGULAR\", + \"PERIMETER_TYPE_BRIDGE\"]" + type: string + spec: + description: Proposed (or dry run) ServicePerimeter configuration. + This configuration allows to specify and test ServicePerimeter + configuration without enforcing actual access restrictions. + Only allowed to be set when the 'useExplicitDryRunSpec' flag + is set. + items: + properties: + accessLevels: + description: "A list of AccessLevel resource names that + allow resources within the ServicePerimeter to be accessed + from the internet. AccessLevels listed must be in the + same policy as this ServicePerimeter. Referencing a nonexistent + AccessLevel is a syntax error. If no AccessLevel names + are listed, resources within the perimeter can only be + accessed via GCP calls with request origins within the + perimeter. For Service Perimeter Bridge, must be empty. + \n Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}" + items: + type: string + type: array + egressPolicies: + description: List of EgressPolicies to apply to the perimeter. + A perimeter may have multiple EgressPolicies, each of + which is evaluated separately. Access is granted if any + EgressPolicy grants it. Must be empty for a perimeter + bridge. + items: + properties: + egressFrom: + description: Defines conditions on the source of a + request causing this 'EgressPolicy' to apply. + items: + properties: + identities: + description: A list of identities that are allowed + access through this 'EgressPolicy'. Should + be in the format of email address. The email + address should represent individual user or + service account only. + items: + type: string + type: array + identityType: + description: 'Specifies the type of identities + that are allowed access to outside the perimeter. + If left unspecified, then members of ''identities'' + field will be allowed access. Possible values: + ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", + "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]' + type: string + type: object + type: array + egressTo: + description: Defines the conditions on the 'ApiOperation' + and destination resources that cause this 'EgressPolicy' + to apply. + items: + properties: + operations: + description: A list of 'ApiOperations' that + this egress rule applies to. A request matches + if it contains an operation/service in this + list. + items: + properties: + methodSelectors: + description: API methods or permissions + to allow. Method or permission must + belong to the service specified by 'serviceName' + field. A single MethodSelector entry + with '*' specified for the 'method' + field will allow all methods AND permissions + for the service specified in 'serviceName'. + items: + properties: + method: + description: Value for 'method' + should be a valid method name + for the corresponding 'serviceName' + in 'ApiOperation'. If '*' used + as value for method, then ALL + methods and permissions are allowed. + type: string + permission: + description: Value for permission + should be a valid Cloud IAM permission + for the corresponding 'serviceName' + in 'ApiOperation'. + type: string + type: object + type: array + serviceName: + description: The name of the API whose + methods or permissions the 'IngressPolicy' + or 'EgressPolicy' want to allow. A single + 'ApiOperation' with serviceName field + set to '*' will allow all methods AND + permissions for all services. + type: string + type: object + type: array + resources: + description: A list of resources, currently + only projects in the form 'projects/', + that match this to stanza. A request matches + if it contains a resource in this list. If + * is specified for resources, then this 'EgressTo' + rule will authorize access to all resources + outside the perimeter. + items: + type: string + type: array + type: object + type: array + type: object + type: array + ingressPolicies: + description: List of 'IngressPolicies' to apply to the perimeter. + A perimeter may have multiple 'IngressPolicies', each + of which is evaluated separately. Access is granted if + any 'Ingress Policy' grants it. Must be empty for a perimeter + bridge. + items: + properties: + ingressFrom: + description: Defines the conditions on the source + of a request causing this 'IngressPolicy' to apply. + items: + properties: + identities: + description: A list of identities that are allowed + access through this ingress policy. Should + be in the format of email address. The email + address should represent individual user or + service account only. + items: + type: string + type: array + identityType: + description: 'Specifies the type of identities + that are allowed access from outside the perimeter. + If left unspecified, then members of ''identities'' + field will be allowed access. Possible values: + ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", + "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]' + type: string + sources: + description: Sources that this 'IngressPolicy' + authorizes access from. + items: + properties: + accessLevel: + description: An 'AccessLevel' resource + name that allow resources within the + 'ServicePerimeters' to be accessed from + the internet. 'AccessLevels' listed + must be in the same policy as this 'ServicePerimeter'. + Referencing a nonexistent 'AccessLevel' + will cause an error. If no 'AccessLevel' + names are listed, resources within the + perimeter can only be accessed via Google + Cloud calls with request origins within + the perimeter. Example 'accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.' + If * is specified, then all IngressSources + will be allowed. + type: string + resource: + description: A Google Cloud resource that + is allowed to ingress the perimeter. + Requests from these resources will be + allowed to access perimeter data. Currently + only projects are allowed. Format 'projects/{project_number}' + The project may be in any Google Cloud + organization, not just the organization + that the perimeter is defined in. '*' + is not allowed, the case of allowing + all Google Cloud resources only is not + supported. + type: string + type: object + type: array + type: object + type: array + ingressTo: + description: Defines the conditions on the 'ApiOperation' + and request destination that cause this 'IngressPolicy' + to apply. + items: + properties: + operations: + description: A list of 'ApiOperations' the sources + specified in corresponding 'IngressFrom' are + allowed to perform in this 'ServicePerimeter'. + items: + properties: + methodSelectors: + description: API methods or permissions + to allow. Method or permission must + belong to the service specified by serviceName + field. A single 'MethodSelector' entry + with '*' specified for the method field + will allow all methods AND permissions + for the service specified in 'serviceName'. + items: + properties: + method: + description: Value for method should + be a valid method name for the + corresponding serviceName in 'ApiOperation'. + If '*' used as value for 'method', + then ALL methods and permissions + are allowed. + type: string + permission: + description: Value for permission + should be a valid Cloud IAM permission + for the corresponding 'serviceName' + in 'ApiOperation'. + type: string + type: object + type: array + serviceName: + description: The name of the API whose + methods or permissions the 'IngressPolicy' + or 'EgressPolicy' want to allow. A single + 'ApiOperation' with 'serviceName' field + set to '*' will allow all methods AND + permissions for all services. + type: string + type: object + type: array + resources: + description: A list of resources, currently + only projects in the form 'projects/', + protected by this 'ServicePerimeter' that + are allowed to be accessed by sources defined + in the corresponding 'IngressFrom'. A request + matches if it contains a resource in this + list. If '*' is specified for resources, then + this 'IngressTo' rule will authorize access + to all resources inside the perimeter, provided + that the request also matches the 'operations' + field. + items: + type: string + type: array + type: object + type: array + type: object + type: array + resources: + description: 'A list of GCP resources that are inside of + the service perimeter. Currently only projects are allowed. + Format: projects/{project_number}' + items: + type: string + type: array + restrictedServices: + description: GCP services that are subject to the Service + Perimeter restrictions. Must contain a list of services. + For example, if 'storage.googleapis.com' is specified, + access to the storage buckets inside the perimeter must + meet the perimeter's access restrictions. + items: + type: string + type: array + vpcAccessibleServices: + description: Specifies how APIs are allowed to communicate + within the Service Perimeter. + items: + properties: + allowedServices: + description: The list of APIs usable within the Service + Perimeter. Must be empty unless 'enableRestriction' + is True. + items: + type: string + type: array + enableRestriction: + description: Whether to restrict API calls within + the Service Perimeter to the list of APIs specified + in 'allowedServices'. + type: boolean + type: object + type: array + type: object + type: array + status: + description: ServicePerimeter configuration. Specifies sets of + resources, restricted services and access levels that determine + perimeter content and boundaries. + items: + properties: + accessLevels: + description: "A list of AccessLevel resource names that + allow resources within the ServicePerimeter to be accessed + from the internet. AccessLevels listed must be in the + same policy as this ServicePerimeter. Referencing a nonexistent + AccessLevel is a syntax error. If no AccessLevel names + are listed, resources within the perimeter can only be + accessed via GCP calls with request origins within the + perimeter. For Service Perimeter Bridge, must be empty. + \n Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}" + items: + type: string + type: array + egressPolicies: + description: List of EgressPolicies to apply to the perimeter. + A perimeter may have multiple EgressPolicies, each of + which is evaluated separately. Access is granted if any + EgressPolicy grants it. Must be empty for a perimeter + bridge. + items: + properties: + egressFrom: + description: Defines conditions on the source of a + request causing this 'EgressPolicy' to apply. + items: + properties: + identities: + description: A list of identities that are allowed + access through this 'EgressPolicy'. Should + be in the format of email address. The email + address should represent individual user or + service account only. + items: + type: string + type: array + identityType: + description: 'Specifies the type of identities + that are allowed access to outside the perimeter. + If left unspecified, then members of ''identities'' + field will be allowed access. Possible values: + ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", + "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]' + type: string + type: object + type: array + egressTo: + description: Defines the conditions on the 'ApiOperation' + and destination resources that cause this 'EgressPolicy' + to apply. + items: + properties: + operations: + description: A list of 'ApiOperations' that + this egress rule applies to. A request matches + if it contains an operation/service in this + list. + items: + properties: + methodSelectors: + description: API methods or permissions + to allow. Method or permission must + belong to the service specified by 'serviceName' + field. A single MethodSelector entry + with '*' specified for the 'method' + field will allow all methods AND permissions + for the service specified in 'serviceName'. + items: + properties: + method: + description: Value for 'method' + should be a valid method name + for the corresponding 'serviceName' + in 'ApiOperation'. If '*' used + as value for method, then ALL + methods and permissions are allowed. + type: string + permission: + description: Value for permission + should be a valid Cloud IAM permission + for the corresponding 'serviceName' + in 'ApiOperation'. + type: string + type: object + type: array + serviceName: + description: The name of the API whose + methods or permissions the 'IngressPolicy' + or 'EgressPolicy' want to allow. A single + 'ApiOperation' with serviceName field + set to '*' will allow all methods AND + permissions for all services. + type: string + type: object + type: array + resources: + description: A list of resources, currently + only projects in the form 'projects/', + that match this to stanza. A request matches + if it contains a resource in this list. If + * is specified for resources, then this 'EgressTo' + rule will authorize access to all resources + outside the perimeter. + items: + type: string + type: array + type: object + type: array + type: object + type: array + ingressPolicies: + description: List of 'IngressPolicies' to apply to the perimeter. + A perimeter may have multiple 'IngressPolicies', each + of which is evaluated separately. Access is granted if + any 'Ingress Policy' grants it. Must be empty for a perimeter + bridge. + items: + properties: + ingressFrom: + description: Defines the conditions on the source + of a request causing this 'IngressPolicy' to apply. + items: + properties: + identities: + description: A list of identities that are allowed + access through this ingress policy. Should + be in the format of email address. The email + address should represent individual user or + service account only. + items: + type: string + type: array + identityType: + description: 'Specifies the type of identities + that are allowed access from outside the perimeter. + If left unspecified, then members of ''identities'' + field will be allowed access. Possible values: + ["IDENTITY_TYPE_UNSPECIFIED", "ANY_IDENTITY", + "ANY_USER_ACCOUNT", "ANY_SERVICE_ACCOUNT"]' + type: string + sources: + description: Sources that this 'IngressPolicy' + authorizes access from. + items: + properties: + accessLevel: + description: An 'AccessLevel' resource + name that allow resources within the + 'ServicePerimeters' to be accessed from + the internet. 'AccessLevels' listed + must be in the same policy as this 'ServicePerimeter'. + Referencing a nonexistent 'AccessLevel' + will cause an error. If no 'AccessLevel' + names are listed, resources within the + perimeter can only be accessed via Google + Cloud calls with request origins within + the perimeter. Example 'accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.' + If * is specified, then all IngressSources + will be allowed. + type: string + resource: + description: A Google Cloud resource that + is allowed to ingress the perimeter. + Requests from these resources will be + allowed to access perimeter data. Currently + only projects are allowed. Format 'projects/{project_number}' + The project may be in any Google Cloud + organization, not just the organization + that the perimeter is defined in. '*' + is not allowed, the case of allowing + all Google Cloud resources only is not + supported. + type: string + type: object + type: array + type: object + type: array + ingressTo: + description: Defines the conditions on the 'ApiOperation' + and request destination that cause this 'IngressPolicy' + to apply. + items: + properties: + operations: + description: A list of 'ApiOperations' the sources + specified in corresponding 'IngressFrom' are + allowed to perform in this 'ServicePerimeter'. + items: + properties: + methodSelectors: + description: API methods or permissions + to allow. Method or permission must + belong to the service specified by serviceName + field. A single 'MethodSelector' entry + with '*' specified for the method field + will allow all methods AND permissions + for the service specified in 'serviceName'. + items: + properties: + method: + description: Value for method should + be a valid method name for the + corresponding serviceName in 'ApiOperation'. + If '*' used as value for 'method', + then ALL methods and permissions + are allowed. + type: string + permission: + description: Value for permission + should be a valid Cloud IAM permission + for the corresponding 'serviceName' + in 'ApiOperation'. + type: string + type: object + type: array + serviceName: + description: The name of the API whose + methods or permissions the 'IngressPolicy' + or 'EgressPolicy' want to allow. A single + 'ApiOperation' with 'serviceName' field + set to '*' will allow all methods AND + permissions for all services. + type: string + type: object + type: array + resources: + description: A list of resources, currently + only projects in the form 'projects/', + protected by this 'ServicePerimeter' that + are allowed to be accessed by sources defined + in the corresponding 'IngressFrom'. A request + matches if it contains a resource in this + list. If '*' is specified for resources, then + this 'IngressTo' rule will authorize access + to all resources inside the perimeter, provided + that the request also matches the 'operations' + field. + items: + type: string + type: array + type: object + type: array + type: object + type: array + resources: + description: 'A list of GCP resources that are inside of + the service perimeter. Currently only projects are allowed. + Format: projects/{project_number}' + items: + type: string + type: array + restrictedServices: + description: GCP services that are subject to the Service + Perimeter restrictions. Must contain a list of services. + For example, if 'storage.googleapis.com' is specified, + access to the storage buckets inside the perimeter must + meet the perimeter's access restrictions. + items: + type: string + type: array + vpcAccessibleServices: + description: Specifies how APIs are allowed to communicate + within the Service Perimeter. + items: + properties: + allowedServices: + description: The list of APIs usable within the Service + Perimeter. Must be empty unless 'enableRestriction' + is True. + items: + type: string + type: array + enableRestriction: + description: Whether to restrict API calls within + the Service Perimeter to the list of APIs specified + in 'allowedServices'. + type: boolean + type: object + type: array + type: object + type: array + title: + description: Human readable title. Must be unique within the Policy. + type: string + useExplicitDryRunSpec: + description: Use explicit dry run spec flag. Ordinarily, a dry-run + spec implicitly exists for all Service Perimeters, and that + spec is identical to the status for those Service Perimeters. + When this flag is set, it inhibits the generation of the implicit + spec, thereby allowing the user to explicitly provide a configuration + ("spec") to use in a dry-run version of the Service Perimeter. + This allows the user to test changes to the enforced config + ("status") without actually enforcing them. This testing is + done through analyzing the differences between currently enforced + and suggested restrictions. useExplicitDryRunSpec must bet set + to True if any of the fields in the spec are set to non-default + values. + type: boolean + required: + - name + - parent + - title + type: object + 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 + 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 + 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. + 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 + status: + description: ServicePerimeterStatus defines the observed state of ServicePerimeter. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/activedirectory.gcp.jet.crossplane.io_domains.yaml b/package/crds/activedirectory.gcp.jet.crossplane.io_domains.yaml new file mode 100644 index 00000000..9dad6838 --- /dev/null +++ b/package/crds/activedirectory.gcp.jet.crossplane.io_domains.yaml @@ -0,0 +1,209 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: domains.activedirectory.gcp.jet.crossplane.io +spec: + group: activedirectory.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Domain + listKind: DomainList + plural: domains + singular: domain + 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: Domain is the Schema for the Domains 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: DomainSpec defines the desired state of Domain + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + admin: + description: The name of delegated administrator account used + to perform Active Directory operations. If not specified, setupadmin + will be used. + type: string + authorizedNetworks: + description: The full names of the Google Compute Engine networks + the domain instance is connected to. The domain is only available + on networks listed in authorizedNetworks. If CIDR subnets overlap + between networks, domain creation will fail. + items: + type: string + type: array + domainName: + description: The fully qualified domain name. e.g. mydomain.myorganization.com, + with the restrictions, https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains. + type: string + labels: + additionalProperties: + type: string + description: Resource labels that can contain user-provided metadata + type: object + locations: + description: Locations where domain needs to be provisioned. [regions][compute/docs/regions-zones/] + e.g. us-west1 or us-east4 Service supports up to 4 locations + at once. Each location will use a /26 block. + items: + type: string + type: array + project: + type: string + reservedIpRange: + description: The CIDR range of internal addresses that are reserved + for this domain. Reserved networks must be /24 or larger. Ranges + must be unique and non-overlapping with existing subnets in + authorizedNetworks + type: string + required: + - domainName + - locations + - reservedIpRange + type: object + 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 + 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 + 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. + 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 + status: + description: DomainStatus defines the observed state of Domain. + properties: + atProvider: + properties: + fqdn: + type: string + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/activedirectory.gcp.jet.crossplane.io_domaintrusts.yaml b/package/crds/activedirectory.gcp.jet.crossplane.io_domaintrusts.yaml new file mode 100644 index 00000000..61ced39d --- /dev/null +++ b/package/crds/activedirectory.gcp.jet.crossplane.io_domaintrusts.yaml @@ -0,0 +1,218 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: domaintrusts.activedirectory.gcp.jet.crossplane.io +spec: + group: activedirectory.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DomainTrust + listKind: DomainTrustList + plural: domaintrusts + singular: domaintrust + 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: DomainTrust is the Schema for the DomainTrusts 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: DomainTrustSpec defines the desired state of DomainTrust + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + domain: + description: The fully qualified domain name. e.g. mydomain.myorganization.com, + with the restrictions, https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains. + type: string + project: + type: string + selectiveAuthentication: + description: Whether the trusted side has forest/domain wide access + or selective access to an approved set of resources. + type: boolean + targetDnsIpAddresses: + description: The target DNS server IP addresses which can resolve + the remote domain involved in the trust. + items: + type: string + type: array + targetDomainName: + description: The fully qualified target domain name which will + be in trust with the current domain. + type: string + trustDirection: + description: 'The trust direction, which decides if the current + domain is trusted, trusting, or both. Possible values: ["INBOUND", + "OUTBOUND", "BIDIRECTIONAL"]' + type: string + trustHandshakeSecretSecretRef: + description: The trust secret used for the handshake with the + target domain. This will not be stored. + 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 + trustType: + description: 'The type of trust represented by the trust resource. + Possible values: ["FOREST", "EXTERNAL"]' + type: string + required: + - domain + - targetDnsIpAddresses + - targetDomainName + - trustDirection + - trustHandshakeSecretSecretRef + - trustType + type: object + 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 + 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 + 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. + 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 + status: + description: DomainTrustStatus defines the observed state of DomainTrust. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/apigee.gcp.jet.crossplane.io_envgroupattachments.yaml b/package/crds/apigee.gcp.jet.crossplane.io_envgroupattachments.yaml new file mode 100644 index 00000000..75947e3a --- /dev/null +++ b/package/crds/apigee.gcp.jet.crossplane.io_envgroupattachments.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: envgroupattachments.apigee.gcp.jet.crossplane.io +spec: + group: apigee.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: EnvgroupAttachment + listKind: EnvgroupAttachmentList + plural: envgroupattachments + singular: envgroupattachment + 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: EnvgroupAttachment is the Schema for the EnvgroupAttachments + 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: EnvgroupAttachmentSpec defines the desired state of EnvgroupAttachment + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + envgroupId: + description: The Apigee environment group associated with the + Apigee environment, in the format 'organizations/{{org_name}}/envgroups/{{envgroup_name}}'. + type: string + environment: + description: The resource ID of the environment. + type: string + required: + - envgroupId + - environment + type: object + 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 + 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 + 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. + 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 + status: + description: EnvgroupAttachmentStatus defines the observed state of EnvgroupAttachment. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/apigee.gcp.jet.crossplane.io_envgroups.yaml b/package/crds/apigee.gcp.jet.crossplane.io_envgroups.yaml new file mode 100644 index 00000000..2cfd9d14 --- /dev/null +++ b/package/crds/apigee.gcp.jet.crossplane.io_envgroups.yaml @@ -0,0 +1,179 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: envgroups.apigee.gcp.jet.crossplane.io +spec: + group: apigee.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Envgroup + listKind: EnvgroupList + plural: envgroups + singular: envgroup + 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: Envgroup is the Schema for the Envgroups 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: EnvgroupSpec defines the desired state of Envgroup + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + hostnames: + description: Hostnames of the environment group. + items: + type: string + type: array + name: + description: The resource ID of the environment group. + type: string + orgId: + description: The Apigee Organization associated with the Apigee + environment group, in the format 'organizations/{{org_name}}'. + type: string + required: + - name + - orgId + type: object + 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 + 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 + 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. + 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 + status: + description: EnvgroupStatus defines the observed state of Envgroup. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/apigee.gcp.jet.crossplane.io_environments.yaml b/package/crds/apigee.gcp.jet.crossplane.io_environments.yaml new file mode 100644 index 00000000..74f787bf --- /dev/null +++ b/package/crds/apigee.gcp.jet.crossplane.io_environments.yaml @@ -0,0 +1,180 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: environments.apigee.gcp.jet.crossplane.io +spec: + group: apigee.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Environment + listKind: EnvironmentList + plural: environments + singular: environment + 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: Environment is the Schema for the Environments 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: EnvironmentSpec defines the desired state of Environment + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Description of the environment. + type: string + displayName: + description: Display name of the environment. + type: string + name: + description: The resource ID of the environment. + type: string + orgId: + description: The Apigee Organization associated with the Apigee + environment, in the format 'organizations/{{org_name}}'. + type: string + required: + - name + - orgId + type: object + 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 + 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 + 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. + 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 + status: + description: EnvironmentStatus defines the observed state of Environment. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/apigee.gcp.jet.crossplane.io_instanceattachments.yaml b/package/crds/apigee.gcp.jet.crossplane.io_instanceattachments.yaml new file mode 100644 index 00000000..2edd0dc8 --- /dev/null +++ b/package/crds/apigee.gcp.jet.crossplane.io_instanceattachments.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instanceattachments.apigee.gcp.jet.crossplane.io +spec: + group: apigee.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceAttachment + listKind: InstanceAttachmentList + plural: instanceattachments + singular: instanceattachment + 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: InstanceAttachment is the Schema for the InstanceAttachments + 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: InstanceAttachmentSpec defines the desired state of InstanceAttachment + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + environment: + description: The resource ID of the environment. + type: string + instanceId: + description: The Apigee instance associated with the Apigee environment, + in the format 'organisations/{{org_name}}/instances/{{instance_name}}'. + type: string + required: + - environment + - instanceId + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceAttachmentStatus defines the observed state of InstanceAttachment. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/apigee.gcp.jet.crossplane.io_instances.yaml b/package/crds/apigee.gcp.jet.crossplane.io_instances.yaml new file mode 100644 index 00000000..b2170b6e --- /dev/null +++ b/package/crds/apigee.gcp.jet.crossplane.io_instances.yaml @@ -0,0 +1,200 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instances.apigee.gcp.jet.crossplane.io +spec: + group: apigee.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Instance + listKind: InstanceList + plural: instances + singular: instance + 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: Instance is the Schema for the Instances 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: InstanceSpec defines the desired state of Instance + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Description of the instance. + type: string + diskEncryptionKeyName: + description: 'Customer Managed Encryption Key (CMEK) used for + disk and volume encryption. Required for Apigee paid subscriptions + only. Use the following format: ''projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)''' + type: string + displayName: + description: Display name of the instance. + type: string + location: + description: Compute Engine location where the instance resides. + For trial organization subscriptions, the location must be a + Compute Engine zone. For paid organization subscriptions, it + should correspond to a Compute Engine region. + type: string + name: + description: Resource ID of the instance. + type: string + orgId: + description: The Apigee Organization associated with the Apigee + instance, in the format 'organizations/{{org_name}}'. + type: string + peeringCidrRange: + description: 'The size of the CIDR block range that will be reserved + by the instance. Possible values: ["SLASH_16", "SLASH_20", "SLASH_22"]' + type: string + required: + - location + - name + - orgId + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceStatus defines the observed state of Instance. + properties: + atProvider: + properties: + host: + type: string + id: + type: string + port: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/apigee.gcp.jet.crossplane.io_organizations.yaml b/package/crds/apigee.gcp.jet.crossplane.io_organizations.yaml new file mode 100644 index 00000000..06770a6b --- /dev/null +++ b/package/crds/apigee.gcp.jet.crossplane.io_organizations.yaml @@ -0,0 +1,205 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: organizations.apigee.gcp.jet.crossplane.io +spec: + group: apigee.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Organization + listKind: OrganizationList + plural: organizations + singular: organization + 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: Organization is the Schema for the Organizations 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: OrganizationSpec defines the desired state of Organization + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + analyticsRegion: + description: Primary GCP region for analytics data storage. For + valid values, see [Create an Apigee organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org). + type: string + authorizedNetwork: + description: 'Compute Engine network used for Service Networking + to be peered with Apigee runtime instances. See [Getting started + with the Service Networking API](https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started). + Valid only when ''RuntimeType'' is set to CLOUD. The value can + be updated only when there are no runtime instances. For example: + "default".' + type: string + description: + description: Description of the Apigee organization. + type: string + displayName: + description: The display name of the Apigee organization. + type: string + projectId: + description: The project ID associated with the Apigee organization. + type: string + runtimeDatabaseEncryptionKeyName: + description: 'Cloud KMS key name used for encrypting the data + that is stored and replicated across runtime instances. Update + is not allowed after the organization is created. If not specified, + a Google-Managed encryption key will be used. Valid only when + ''RuntimeType'' is CLOUD. For example: ''projects/foo/locations/us/keyRings/bar/cryptoKeys/baz''.' + type: string + runtimeType: + description: 'Runtime type of the Apigee organization based on + the Apigee subscription purchased. Default value: "CLOUD" Possible + values: ["CLOUD", "HYBRID"]' + type: string + required: + - projectId + type: object + 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 + 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 + 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. + 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 + status: + description: OrganizationStatus defines the observed state of Organization. + properties: + atProvider: + properties: + caCertificate: + type: string + id: + type: string + name: + type: string + subscriptionType: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/appengine.gcp.jet.crossplane.io_applications.yaml b/package/crds/appengine.gcp.jet.crossplane.io_applications.yaml new file mode 100644 index 00000000..cbe3ca65 --- /dev/null +++ b/package/crds/appengine.gcp.jet.crossplane.io_applications.yaml @@ -0,0 +1,250 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: applications.appengine.gcp.jet.crossplane.io +spec: + group: appengine.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Application + listKind: ApplicationList + plural: applications + singular: application + 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: Application is the Schema for the Applications 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: ApplicationSpec defines the desired state of Application + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + authDomain: + description: The domain to authenticate users with when using + App Engine's User API. + type: string + databaseType: + type: string + featureSettings: + description: 'A block of optional settings to configure specific + App Engine features:' + items: + properties: + splitHealthChecks: + type: boolean + required: + - splitHealthChecks + type: object + type: array + iap: + description: Settings for enabling Cloud Identity Aware Proxy + items: + properties: + enabled: + description: Adapted for use with the app + type: boolean + oauth2ClientId: + description: OAuth2 client ID to use for the authentication + flow. + type: string + oauth2ClientSecretSecretRef: + description: OAuth2 client secret to use for the authentication + flow. The SHA-256 hash of the value is returned in the + oauth2ClientSecretSha256 field. + 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 + required: + - oauth2ClientId + - oauth2ClientSecretSecretRef + type: object + type: array + locationId: + description: The location to serve the app from. + type: string + project: + description: The project ID to create the application under. + type: string + servingStatus: + description: The serving status of the app. + type: string + required: + - locationId + type: object + 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 + 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 + 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. + 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 + status: + description: ApplicationStatus defines the observed state of Application. + properties: + atProvider: + properties: + appId: + type: string + codeBucket: + type: string + defaultBucket: + type: string + defaultHostname: + type: string + gcrDomain: + type: string + id: + type: string + name: + type: string + urlDispatchRule: + items: + properties: + domain: + type: string + path: + type: string + service: + type: string + type: object + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/appengine.gcp.jet.crossplane.io_applicationurldispatchrules.yaml b/package/crds/appengine.gcp.jet.crossplane.io_applicationurldispatchrules.yaml new file mode 100644 index 00000000..6a6959fd --- /dev/null +++ b/package/crds/appengine.gcp.jet.crossplane.io_applicationurldispatchrules.yaml @@ -0,0 +1,198 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: applicationurldispatchrules.appengine.gcp.jet.crossplane.io +spec: + group: appengine.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ApplicationURLDispatchRules + listKind: ApplicationURLDispatchRulesList + plural: applicationurldispatchrules + singular: applicationurldispatchrules + 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: ApplicationURLDispatchRules is the Schema for the ApplicationURLDispatchRuless + 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: ApplicationURLDispatchRulesSpec defines the desired state + of ApplicationURLDispatchRules + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dispatchRules: + description: Rules to match an HTTP request and dispatch that + request to a service. + items: + properties: + domain: + description: 'Domain name to match against. The wildcard + "*" is supported if specified before a period: "*.". Defaults + to matching all domains: "*".' + type: string + path: + description: Pathname within the host. Must start with a + "/". A single "*" can be included at the end of the path. + The sum of the lengths of the domain and path may not + exceed 100 characters. + type: string + service: + description: Pathname within the host. Must start with a + "/". A single "*" can be included at the end of the path. + The sum of the lengths of the domain and path may not + exceed 100 characters. + type: string + required: + - path + - service + type: object + type: array + project: + type: string + required: + - dispatchRules + type: object + 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 + 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 + 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. + 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 + status: + description: ApplicationURLDispatchRulesStatus defines the observed state + of ApplicationURLDispatchRules. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/appengine.gcp.jet.crossplane.io_domainmappings.yaml b/package/crds/appengine.gcp.jet.crossplane.io_domainmappings.yaml new file mode 100644 index 00000000..900089d1 --- /dev/null +++ b/package/crds/appengine.gcp.jet.crossplane.io_domainmappings.yaml @@ -0,0 +1,211 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: domainmappings.appengine.gcp.jet.crossplane.io +spec: + group: appengine.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DomainMapping + listKind: DomainMappingList + plural: domainmappings + singular: domainmapping + 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: DomainMapping is the Schema for the DomainMappings 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: DomainMappingSpec defines the desired state of DomainMapping + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + domainName: + description: 'Relative name of the domain serving the application. + Example: example.com.' + type: string + overrideStrategy: + description: 'Whether the domain creation should override any + existing mappings for this domain. By default, overrides are + rejected. Default value: "STRICT" Possible values: ["STRICT", + "OVERRIDE"]' + type: string + project: + type: string + sslSettings: + description: SSL configuration for this domain. If unconfigured, + this domain will not serve with SSL. + items: + properties: + certificateId: + description: 'ID of the AuthorizedCertificate resource configuring + SSL for the application. Clearing this field will remove + SSL support. By default, a managed certificate is automatically + created for every domain mapping. To omit SSL support + or to configure SSL manually, specify ''SslManagementType.MANUAL'' + on a ''CREATE'' or ''UPDATE'' request. You must be authorized + to administer the ''AuthorizedCertificate'' resource to + manually map it to a DomainMapping resource. Example: + 12345.' + type: string + sslManagementType: + description: 'SSL management type for this domain. If ''AUTOMATIC'', + a managed certificate is automatically provisioned. If + ''MANUAL'', ''certificateId'' must be manually specified + in order to configure SSL for this domain. Possible values: + ["AUTOMATIC", "MANUAL"]' + type: string + required: + - sslManagementType + type: object + type: array + required: + - domainName + type: object + 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 + 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 + 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. + 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 + status: + description: DomainMappingStatus defines the observed state of DomainMapping. + properties: + atProvider: + properties: + id: + type: string + name: + type: string + resourceRecords: + items: + type: object + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/appengine.gcp.jet.crossplane.io_firewallrules.yaml b/package/crds/appengine.gcp.jet.crossplane.io_firewallrules.yaml new file mode 100644 index 00000000..6eb832c2 --- /dev/null +++ b/package/crds/appengine.gcp.jet.crossplane.io_firewallrules.yaml @@ -0,0 +1,188 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: firewallrules.appengine.gcp.jet.crossplane.io +spec: + group: appengine.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FirewallRule + listKind: FirewallRuleList + plural: firewallrules + singular: firewallrule + 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: FirewallRule is the Schema for the FirewallRules 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: FirewallRuleSpec defines the desired state of FirewallRule + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + action: + description: 'The action to take if this rule matches. Possible + values: ["UNSPECIFIED_ACTION", "ALLOW", "DENY"]' + type: string + description: + description: An optional string description of this rule. + type: string + priority: + description: "A positive integer that defines the order of rule + evaluation. Rules with the lowest priority are evaluated first. + \n A default rule at priority Int32.MaxValue matches all IPv4 + and IPv6 traffic when no previous rule matches. Only the action + of this rule can be modified by the user." + format: int64 + type: integer + project: + type: string + sourceRange: + description: IP address or range, defined using CIDR notation, + of requests that this rule applies to. + type: string + required: + - action + - sourceRange + type: object + 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 + 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 + 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. + 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 + status: + description: FirewallRuleStatus defines the observed state of FirewallRule. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/appengine.gcp.jet.crossplane.io_flexibleappversions.yaml b/package/crds/appengine.gcp.jet.crossplane.io_flexibleappversions.yaml new file mode 100644 index 00000000..4638678a --- /dev/null +++ b/package/crds/appengine.gcp.jet.crossplane.io_flexibleappversions.yaml @@ -0,0 +1,817 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: flexibleappversions.appengine.gcp.jet.crossplane.io +spec: + group: appengine.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FlexibleAppVersion + listKind: FlexibleAppVersionList + plural: flexibleappversions + singular: flexibleappversion + 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: FlexibleAppVersion is the Schema for the FlexibleAppVersions + 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: FlexibleAppVersionSpec defines the desired state of FlexibleAppVersion + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + apiConfig: + description: Serving configuration for Google Cloud Endpoints. + items: + properties: + authFailAction: + description: 'Action to take when users access resources + that require authentication. Default value: "AUTH_FAIL_ACTION_REDIRECT" + Possible values: ["AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED"]' + type: string + login: + description: 'Level of login required to access this resource. + Default value: "LOGIN_OPTIONAL" Possible values: ["LOGIN_OPTIONAL", + "LOGIN_ADMIN", "LOGIN_REQUIRED"]' + type: string + script: + description: Path to the script from the application root + directory. + type: string + securityLevel: + description: 'Security (HTTPS) enforcement for this URL. + Possible values: ["SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", + "SECURE_ALWAYS"]' + type: string + url: + description: URL to serve the endpoint at. + type: string + required: + - script + type: object + type: array + automaticScaling: + description: Automatic scaling is based on request rate, response + latencies, and other application metrics. + items: + properties: + coolDownPeriod: + description: 'The time period that the Autoscaler should + wait before it starts collecting information from a new + instance. This prevents the autoscaler from collecting + information when the instance is initializing, during + which the collected usage would not be reliable. Default: + 120s' + type: string + cpuUtilization: + description: Target scaling by CPU usage. + items: + properties: + aggregationWindowLength: + description: Period of time over which CPU utilization + is calculated. + type: string + targetUtilization: + description: Target CPU utilization ratio to maintain + when scaling. Must be between 0 and 1. + type: number + required: + - targetUtilization + type: object + type: array + diskUtilization: + description: Target scaling by disk usage. + items: + properties: + targetReadBytesPerSecond: + description: Target bytes read per second. + format: int64 + type: integer + targetReadOpsPerSecond: + description: Target ops read per seconds. + format: int64 + type: integer + targetWriteBytesPerSecond: + description: Target bytes written per second. + format: int64 + type: integer + targetWriteOpsPerSecond: + description: Target ops written per second. + format: int64 + type: integer + type: object + type: array + maxConcurrentRequests: + description: "Number of concurrent requests an automatic + scaling instance can accept before the scheduler spawns + a new instance. \n Defaults to a runtime-specific value." + format: int64 + type: integer + maxIdleInstances: + description: Maximum number of idle instances that should + be maintained for this version. + format: int64 + type: integer + maxPendingLatency: + description: Maximum amount of time that a request should + wait in the pending queue before starting a new instance + to handle it. + type: string + maxTotalInstances: + description: 'Maximum number of instances that should be + started to handle requests for this version. Default: + 20' + format: int64 + type: integer + minIdleInstances: + description: Minimum number of idle instances that should + be maintained for this version. Only applicable for the + default version of a service. + format: int64 + type: integer + minPendingLatency: + description: Minimum amount of time a request should wait + in the pending queue before starting a new instance to + handle it. + type: string + minTotalInstances: + description: 'Minimum number of running instances that should + be maintained for this version. Default: 2' + format: int64 + type: integer + networkUtilization: + description: Target scaling by network usage. + items: + properties: + targetReceivedBytesPerSecond: + description: Target bytes received per second. + format: int64 + type: integer + targetReceivedPacketsPerSecond: + description: Target packets received per second. + format: int64 + type: integer + targetSentBytesPerSecond: + description: Target bytes sent per second. + format: int64 + type: integer + targetSentPacketsPerSecond: + description: Target packets sent per second. + format: int64 + type: integer + type: object + type: array + requestUtilization: + description: Target scaling by request utilization. + items: + properties: + targetConcurrentRequests: + description: Target number of concurrent requests. + type: number + targetRequestCountPerSecond: + description: Target requests per second. + type: string + type: object + type: array + required: + - cpuUtilization + type: object + type: array + betaSettings: + additionalProperties: + type: string + description: Metadata settings that are supplied to this version + to enable beta runtime features. + type: object + defaultExpiration: + description: Duration that static files should be cached by web + proxies and browsers. Only applicable if the corresponding StaticFilesHandler + does not specify its own expiration time. + type: string + deleteServiceOnDestroy: + type: boolean + deployment: + description: Code and application artifacts that make up this + version. + items: + properties: + cloudBuildOptions: + description: Options for the build operations performed + as a part of the version deployment. Only applicable when + creating a version using source code directly. + items: + properties: + appYamlPath: + description: Path to the yaml file used in deployment, + used to determine runtime configuration details. + type: string + cloudBuildTimeout: + description: "The Cloud Build timeout used as part + of any dependent builds performed by version creation. + Defaults to 10 minutes. \n A duration in seconds + with up to nine fractional digits, terminated by + 's'. Example: \"3.5s\"." + type: string + required: + - appYamlPath + type: object + type: array + container: + description: The Docker image for the container that runs + the version. + items: + properties: + image: + description: 'URI to the hosted container image in + Google Container Registry. The URI must be fully + qualified and include a tag or digest. Examples: + "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest"' + type: string + required: + - image + type: object + type: array + files: + description: Manifest of the files stored in Google Cloud + Storage that are included as part of this version. All + files must be readable using the credentials supplied + with this call. + items: + properties: + name: + type: string + sha1Sum: + description: SHA1 checksum of the file + type: string + sourceUrl: + description: Source URL + type: string + required: + - name + - sourceUrl + type: object + type: array + zip: + description: Zip File + items: + properties: + filesCount: + description: files count + format: int64 + type: integer + sourceUrl: + description: Source URL + type: string + required: + - sourceUrl + type: object + type: array + type: object + type: array + endpointsApiService: + description: Code and application artifacts that make up this + version. + items: + properties: + configId: + description: "Endpoints service configuration ID as specified + by the Service Management API. For example \"2016-09-19r1\". + \n By default, the rollout strategy for Endpoints is \"FIXED\". + This means that Endpoints starts up with a particular + configuration ID. When a new configuration is rolled out, + Endpoints must be given the new configuration ID. The + configId field is used to give the configuration ID and + is required in this case. \n Endpoints also has a rollout + strategy called \"MANAGED\". When using this, Endpoints + fetches the latest configuration and does not need the + configuration ID. In this case, configId must be omitted." + type: string + disableTraceSampling: + description: Enable or disable trace sampling. By default, + this is set to false for enabled. + type: boolean + name: + description: Endpoints service name which is the name of + the "service" resource in the Service Management API. + For example "myapi.endpoints.myproject.cloud.goog" + type: string + rolloutStrategy: + description: 'Endpoints rollout strategy. If FIXED, configId + must be specified. If MANAGED, configId must be omitted. + Default value: "FIXED" Possible values: ["FIXED", "MANAGED"]' + type: string + required: + - name + type: object + type: array + entrypoint: + description: The entrypoint for the application. + items: + properties: + shell: + description: The format should be a shell command that can + be fed to bash -c. + type: string + required: + - shell + type: object + type: array + envVariables: + additionalProperties: + type: string + description: Environment variables available to the application. As + these are not returned in the API request, Terraform will not + detect any changes made outside of the Terraform config. + type: object + handlers: + description: An ordered list of URL-matching patterns that should + be applied to incoming requests. The first matching URL handles + the request and other request handlers are not attempted. + items: + properties: + authFailAction: + description: 'Actions to take when the user is not logged + in. Possible values: ["AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED"]' + type: string + login: + description: 'Methods to restrict access to a URL based + on login status. Possible values: ["LOGIN_OPTIONAL", "LOGIN_ADMIN", + "LOGIN_REQUIRED"]' + type: string + redirectHttpResponseCode: + description: '30x code to use when performing redirects + for the secure field. Possible values: ["REDIRECT_HTTP_RESPONSE_CODE_301", + "REDIRECT_HTTP_RESPONSE_CODE_302", "REDIRECT_HTTP_RESPONSE_CODE_303", + "REDIRECT_HTTP_RESPONSE_CODE_307"]' + type: string + script: + description: Executes a script to handle the requests that + match this URL pattern. Only the auto value is supported + for Node.js in the App Engine standard environment, for + example "script:" "auto". + items: + properties: + scriptPath: + description: Path to the script from the application + root directory. + type: string + required: + - scriptPath + type: object + type: array + securityLevel: + description: 'Security (HTTPS) enforcement for this URL. + Possible values: ["SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", + "SECURE_ALWAYS"]' + type: string + staticFiles: + description: Files served directly to the user for a given + URL, such as images, CSS stylesheets, or JavaScript source + files. Static file handlers describe which files in the + application directory are static files, and which URLs + serve them. + items: + properties: + applicationReadable: + description: Whether files should also be uploaded + as code data. By default, files declared in static + file handlers are uploaded as static data and are + only served to end users; they cannot be read by + the application. If enabled, uploads are charged + against both your code and static data storage resource + quotas. + type: boolean + expiration: + description: Time a static file served by this handler + should be cached by web proxies and browsers. A + duration in seconds with up to nine fractional digits, + terminated by 's'. Example "3.5s". Default is '0s' + type: string + httpHeaders: + additionalProperties: + type: string + description: HTTP headers to use for all responses + from these URLs. An object containing a list of + "key:value" value pairs.". + type: object + mimeType: + description: MIME type used to serve all files served + by this handler. Defaults to file-specific MIME + types, which are derived from each file's filename + extension. + type: string + path: + description: Path to the static files matched by the + URL pattern, from the application root directory. + The path can refer to text matched in groupings + in the URL pattern. + type: string + requireMatchingFile: + description: Whether this handler should match the + request if the file referenced by the handler does + not exist. + type: boolean + uploadPathRegex: + description: Regular expression that matches the file + paths for all files that should be referenced by + this handler. + type: string + type: object + type: array + urlRegex: + description: URL prefix. Uses regular expression syntax, + which means regexp special characters must be escaped, + but should not contain groupings. All URLs that begin + with this prefix are handled by this handler, using the + portion of the URL after the prefix as part of the file + path. + type: string + type: object + type: array + inboundServices: + description: 'A list of the types of messages that this application + is able to receive. Possible values: ["INBOUND_SERVICE_MAIL", + "INBOUND_SERVICE_MAIL_BOUNCE", "INBOUND_SERVICE_XMPP_ERROR", + "INBOUND_SERVICE_XMPP_MESSAGE", "INBOUND_SERVICE_XMPP_SUBSCRIBE", + "INBOUND_SERVICE_XMPP_PRESENCE", "INBOUND_SERVICE_CHANNEL_PRESENCE", + "INBOUND_SERVICE_WARMUP"]' + items: + type: string + type: array + instanceClass: + description: 'Instance class that is used to run this version. + Valid values are AutomaticScaling: F1, F2, F4, F4_1G ManualScaling: + B1, B2, B4, B8, B4_1G Defaults to F1 for AutomaticScaling and + B1 for ManualScaling.' + type: string + livenessCheck: + description: Health checking configuration for VM instances. Unhealthy + instances are killed and replaced with new instances. + items: + properties: + checkInterval: + description: Interval between health checks. + type: string + failureThreshold: + description: 'Number of consecutive failed checks required + before considering the VM unhealthy. Default: 4.' + type: number + host: + description: 'Host header to send when performing a HTTP + Readiness check. Example: "myapp.appspot.com"' + type: string + initialDelay: + description: 'The initial delay before starting to execute + the checks. Default: "300s"' + type: string + path: + description: The request path. + type: string + successThreshold: + description: 'Number of consecutive successful checks required + before considering the VM healthy. Default: 2.' + type: number + timeout: + description: 'Time before the check is considered failed. + Default: "4s"' + type: string + required: + - path + type: object + type: array + manualScaling: + description: A service with manual scaling runs continuously, + allowing you to perform complex initialization and rely on the + state of its memory over time. + items: + properties: + instances: + description: "Number of instances to assign to the service + at the start. \n **Note:** When managing the number of + instances at runtime through the App Engine Admin API + or the (now deprecated) Python 2 Modules API set_num_instances() + you must use 'lifecycle.ignore_changes = [\"manual_scaling\"[0].instances]' + to prevent drift detection." + format: int64 + type: integer + required: + - instances + type: object + type: array + network: + description: Extra network settings + items: + properties: + forwardedPorts: + description: List of ports, or port pairs, to forward from + the virtual machine to the application container. + items: + type: string + type: array + instanceTag: + description: Tag to apply to the instance during creation. + type: string + name: + description: Google Compute Engine network where the virtual + machines are created. Specify the short name, not the + resource path. + type: string + sessionAffinity: + description: Enable session affinity. + type: boolean + subnetwork: + description: "Google Cloud Platform sub-network where the + virtual machines are created. Specify the short name, + not the resource path. \n If the network that the instance + is being created in is a Legacy network, then the IP address + is allocated from the IPv4Range. If the network that the + instance is being created in is an auto Subnet Mode Network, + then only network name should be specified (not the subnetworkName) + and the IP address is created from the IPCidrRange of + the subnetwork that exists in that zone for that network. + If the network that the instance is being created in is + a custom Subnet Mode Network, then the subnetworkName + must be specified and the IP address is created from the + IPCidrRange of the subnetwork. If specified, the subnetwork + must exist in the same region as the App Engine flexible + environment application." + type: string + required: + - name + type: object + type: array + nobuildFilesRegex: + description: Files that match this pattern will not be built into + this version. Only applicable for Go runtimes. + type: string + noopOnDestroy: + type: boolean + project: + type: string + readinessCheck: + description: Configures readiness health checking for instances. + Unhealthy instances are not put into the backend traffic rotation. + items: + properties: + appStartTimeout: + description: 'A maximum time limit on application initialization, + measured from moment the application successfully replies + to a healthcheck until it is ready to serve traffic. Default: + "300s"' + type: string + checkInterval: + description: 'Interval between health checks. Default: + "5s".' + type: string + failureThreshold: + description: 'Number of consecutive failed checks required + before removing traffic. Default: 2.' + type: number + host: + description: 'Host header to send when performing a HTTP + Readiness check. Example: "myapp.appspot.com"' + type: string + path: + description: The request path. + type: string + successThreshold: + description: 'Number of consecutive successful checks required + before receiving traffic. Default: 2.' + type: number + timeout: + description: 'Time before the check is considered failed. + Default: "4s"' + type: string + required: + - path + type: object + type: array + resources: + description: Machine resources for a version. + items: + properties: + cpu: + description: Number of CPU cores needed. + format: int64 + type: integer + diskGb: + description: Disk size (GB) needed. + format: int64 + type: integer + memoryGb: + description: Memory (GB) needed. + type: number + volumes: + description: List of ports, or port pairs, to forward from + the virtual machine to the application container. + items: + properties: + name: + description: Unique name for the volume. + type: string + sizeGb: + description: Volume size in gigabytes. + format: int64 + type: integer + volumeType: + description: Underlying volume type, e.g. 'tmpfs'. + type: string + required: + - name + - sizeGb + - volumeType + type: object + type: array + type: object + type: array + runtime: + description: Desired runtime. Example python27. + type: string + runtimeApiVersion: + description: The version of the API in the given runtime environment. + Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard//config/appref + type: string + runtimeChannel: + description: The channel of the runtime to use. Only available + for some runtimes. + type: string + runtimeMainExecutablePath: + description: The path or name of the app's main executable. + type: string + service: + description: AppEngine service resource. Can contain numbers, + letters, and hyphens. + type: string + servingStatus: + description: 'Current serving status of this version. Only the + versions with a SERVING status create instances and can be billed. + Default value: "SERVING" Possible values: ["SERVING", "STOPPED"]' + type: string + versionId: + description: Relative name of the version within the service. + For example, 'v1'. Version names can contain only lowercase + letters, numbers, or hyphens. Reserved names,"default", "latest", + and any name with the prefix "ah-". + type: string + vpcAccessConnector: + description: Enables VPC connectivity for standard apps. + items: + properties: + name: + description: Full Serverless VPC Access Connector name e.g. + /projects/my-project/locations/us-central1/connectors/c1. + type: string + required: + - name + type: object + type: array + required: + - livenessCheck + - readinessCheck + - runtime + - service + type: object + 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 + 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 + 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. + 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 + status: + description: FlexibleAppVersionStatus defines the observed state of FlexibleAppVersion. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/appengine.gcp.jet.crossplane.io_servicenetworksettings.yaml b/package/crds/appengine.gcp.jet.crossplane.io_servicenetworksettings.yaml new file mode 100644 index 00000000..d4cc1a10 --- /dev/null +++ b/package/crds/appengine.gcp.jet.crossplane.io_servicenetworksettings.yaml @@ -0,0 +1,187 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: servicenetworksettings.appengine.gcp.jet.crossplane.io +spec: + group: appengine.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServiceNetworkSettings + listKind: ServiceNetworkSettingsList + plural: servicenetworksettings + singular: servicenetworksettings + 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: ServiceNetworkSettings is the Schema for the ServiceNetworkSettingss + 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: ServiceNetworkSettingsSpec defines the desired state of ServiceNetworkSettings + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + networkSettings: + description: Ingress settings for this service. Will apply to + all versions. + items: + properties: + ingressTrafficAllowed: + description: 'The ingress settings for version or service. + Default value: "INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED" Possible + values: ["INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED", "INGRESS_TRAFFIC_ALLOWED_ALL", + "INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY", "INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB"]' + type: string + type: object + type: array + project: + type: string + service: + description: The name of the service these settings apply to. + type: string + required: + - networkSettings + - service + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceNetworkSettingsStatus defines the observed state of + ServiceNetworkSettings. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/appengine.gcp.jet.crossplane.io_servicesplittraffics.yaml b/package/crds/appengine.gcp.jet.crossplane.io_servicesplittraffics.yaml new file mode 100644 index 00000000..89d44ff9 --- /dev/null +++ b/package/crds/appengine.gcp.jet.crossplane.io_servicesplittraffics.yaml @@ -0,0 +1,205 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: servicesplittraffics.appengine.gcp.jet.crossplane.io +spec: + group: appengine.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServiceSplitTraffic + listKind: ServiceSplitTrafficList + plural: servicesplittraffics + singular: servicesplittraffic + 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: ServiceSplitTraffic is the Schema for the ServiceSplitTraffics + 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: ServiceSplitTrafficSpec defines the desired state of ServiceSplitTraffic + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + migrateTraffic: + description: If set to true traffic will be migrated to this version. + type: boolean + project: + type: string + service: + description: The name of the service these settings apply to. + type: string + split: + description: Mapping that defines fractional HTTP traffic diversion + to different versions within the service. + items: + properties: + allocations: + additionalProperties: + type: string + description: Mapping from version IDs within the service + to fractional (0.000, 1] allocations of traffic for that + version. Each version can be specified only once, but + some versions in the service may not have any traffic + allocation. Services that have traffic allocated cannot + be deleted until either the service is deleted or their + traffic allocation is removed. Allocations must sum to + 1. Up to two decimal place precision is supported for + IP-based splits and up to three decimal places is supported + for cookie-based splits. + type: object + shardBy: + description: 'Mechanism used to determine which version + a request is sent to. The traffic selection algorithm + will be stable for either type until allocations are changed. + Possible values: ["UNSPECIFIED", "COOKIE", "IP", "RANDOM"]' + type: string + required: + - allocations + type: object + type: array + required: + - service + - split + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceSplitTrafficStatus defines the observed state of ServiceSplitTraffic. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/appengine.gcp.jet.crossplane.io_standardappversions.yaml b/package/crds/appengine.gcp.jet.crossplane.io_standardappversions.yaml new file mode 100644 index 00000000..df30af93 --- /dev/null +++ b/package/crds/appengine.gcp.jet.crossplane.io_standardappversions.yaml @@ -0,0 +1,509 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: standardappversions.appengine.gcp.jet.crossplane.io +spec: + group: appengine.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: StandardAppVersion + listKind: StandardAppVersionList + plural: standardappversions + singular: standardappversion + 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: StandardAppVersion is the Schema for the StandardAppVersions + 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: StandardAppVersionSpec defines the desired state of StandardAppVersion + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + automaticScaling: + description: Automatic scaling is based on request rate, response + latencies, and other application metrics. + items: + properties: + maxConcurrentRequests: + description: "Number of concurrent requests an automatic + scaling instance can accept before the scheduler spawns + a new instance. \n Defaults to a runtime-specific value." + format: int64 + type: integer + maxIdleInstances: + description: Maximum number of idle instances that should + be maintained for this version. + format: int64 + type: integer + maxPendingLatency: + description: 'Maximum amount of time that a request should + wait in the pending queue before starting a new instance + to handle it. A duration in seconds with up to nine fractional + digits, terminated by ''s''. Example: "3.5s".' + type: string + minIdleInstances: + description: Minimum number of idle instances that should + be maintained for this version. Only applicable for the + default version of a service. + format: int64 + type: integer + minPendingLatency: + description: 'Minimum amount of time a request should wait + in the pending queue before starting a new instance to + handle it. A duration in seconds with up to nine fractional + digits, terminated by ''s''. Example: "3.5s".' + type: string + standardSchedulerSettings: + description: Scheduler settings for standard environment. + items: + properties: + maxInstances: + description: Maximum number of instances to run for + this version. Set to zero to disable maxInstances + configuration. + format: int64 + type: integer + minInstances: + description: Minimum number of instances to run for + this version. Set to zero to disable minInstances + configuration. + format: int64 + type: integer + targetCpuUtilization: + description: Target CPU utilization ratio to maintain + when scaling. Should be a value in the range [0.50, + 0.95], zero, or a negative value. + type: number + targetThroughputUtilization: + description: Target throughput utilization ratio to + maintain when scaling. Should be a value in the + range [0.50, 0.95], zero, or a negative value. + type: number + type: object + type: array + type: object + type: array + basicScaling: + description: Basic scaling creates instances when your application + receives requests. Each instance will be shut down when the + application becomes idle. Basic scaling is ideal for work that + is intermittent or driven by user activity. + items: + properties: + idleTimeout: + description: 'Duration of time after the last request that + an instance must wait before the instance is shut down. + A duration in seconds with up to nine fractional digits, + terminated by ''s''. Example: "3.5s". Defaults to 900s.' + type: string + maxInstances: + description: Maximum number of instances to create for this + version. Must be in the range [1.0, 200.0]. + format: int64 + type: integer + required: + - maxInstances + type: object + type: array + deleteServiceOnDestroy: + type: boolean + deployment: + description: Code and application artifacts that make up this + version. + items: + properties: + files: + description: Manifest of the files stored in Google Cloud + Storage that are included as part of this version. All + files must be readable using the credentials supplied + with this call. + items: + properties: + name: + type: string + sha1Sum: + description: SHA1 checksum of the file + type: string + sourceUrl: + description: Source URL + type: string + required: + - name + - sourceUrl + type: object + type: array + zip: + description: Zip File + items: + properties: + filesCount: + description: files count + format: int64 + type: integer + sourceUrl: + description: Source URL + type: string + required: + - sourceUrl + type: object + type: array + type: object + type: array + entrypoint: + description: The entrypoint for the application. + items: + properties: + shell: + description: The format should be a shell command that can + be fed to bash -c. + type: string + required: + - shell + type: object + type: array + envVariables: + additionalProperties: + type: string + description: Environment variables available to the application. + type: object + handlers: + description: An ordered list of URL-matching patterns that should + be applied to incoming requests. The first matching URL handles + the request and other request handlers are not attempted. + items: + properties: + authFailAction: + description: 'Actions to take when the user is not logged + in. Possible values: ["AUTH_FAIL_ACTION_REDIRECT", "AUTH_FAIL_ACTION_UNAUTHORIZED"]' + type: string + login: + description: 'Methods to restrict access to a URL based + on login status. Possible values: ["LOGIN_OPTIONAL", "LOGIN_ADMIN", + "LOGIN_REQUIRED"]' + type: string + redirectHttpResponseCode: + description: '30x code to use when performing redirects + for the secure field. Possible values: ["REDIRECT_HTTP_RESPONSE_CODE_301", + "REDIRECT_HTTP_RESPONSE_CODE_302", "REDIRECT_HTTP_RESPONSE_CODE_303", + "REDIRECT_HTTP_RESPONSE_CODE_307"]' + type: string + script: + description: Executes a script to handle the requests that + match this URL pattern. Only the auto value is supported + for Node.js in the App Engine standard environment, for + example "script:" "auto". + items: + properties: + scriptPath: + description: Path to the script from the application + root directory. + type: string + required: + - scriptPath + type: object + type: array + securityLevel: + description: 'Security (HTTPS) enforcement for this URL. + Possible values: ["SECURE_DEFAULT", "SECURE_NEVER", "SECURE_OPTIONAL", + "SECURE_ALWAYS"]' + type: string + staticFiles: + description: Files served directly to the user for a given + URL, such as images, CSS stylesheets, or JavaScript source + files. Static file handlers describe which files in the + application directory are static files, and which URLs + serve them. + items: + properties: + applicationReadable: + description: Whether files should also be uploaded + as code data. By default, files declared in static + file handlers are uploaded as static data and are + only served to end users; they cannot be read by + the application. If enabled, uploads are charged + against both your code and static data storage resource + quotas. + type: boolean + expiration: + description: Time a static file served by this handler + should be cached by web proxies and browsers. A + duration in seconds with up to nine fractional digits, + terminated by 's'. Example "3.5s". + type: string + httpHeaders: + additionalProperties: + type: string + description: HTTP headers to use for all responses + from these URLs. An object containing a list of + "key:value" value pairs.". + type: object + mimeType: + description: MIME type used to serve all files served + by this handler. Defaults to file-specific MIME + types, which are derived from each file's filename + extension. + type: string + path: + description: Path to the static files matched by the + URL pattern, from the application root directory. + The path can refer to text matched in groupings + in the URL pattern. + type: string + requireMatchingFile: + description: Whether this handler should match the + request if the file referenced by the handler does + not exist. + type: boolean + uploadPathRegex: + description: Regular expression that matches the file + paths for all files that should be referenced by + this handler. + type: string + type: object + type: array + urlRegex: + description: URL prefix. Uses regular expression syntax, + which means regexp special characters must be escaped, + but should not contain groupings. All URLs that begin + with this prefix are handled by this handler, using the + portion of the URL after the prefix as part of the file + path. + type: string + type: object + type: array + inboundServices: + description: 'A list of the types of messages that this application + is able to receive. Possible values: ["INBOUND_SERVICE_MAIL", + "INBOUND_SERVICE_MAIL_BOUNCE", "INBOUND_SERVICE_XMPP_ERROR", + "INBOUND_SERVICE_XMPP_MESSAGE", "INBOUND_SERVICE_XMPP_SUBSCRIBE", + "INBOUND_SERVICE_XMPP_PRESENCE", "INBOUND_SERVICE_CHANNEL_PRESENCE", + "INBOUND_SERVICE_WARMUP"]' + items: + type: string + type: array + instanceClass: + description: 'Instance class that is used to run this version. + Valid values are AutomaticScaling: F1, F2, F4, F4_1G BasicScaling + or ManualScaling: B1, B2, B4, B4_1G, B8 Defaults to F1 for AutomaticScaling + and B2 for ManualScaling and BasicScaling. If no scaling is + specified, AutomaticScaling is chosen.' + type: string + libraries: + description: Configuration for third-party Python runtime libraries + that are required by the application. + items: + properties: + name: + description: Name of the library. Example "django". + type: string + version: + description: Version of the library to select, or "latest". + type: string + type: object + type: array + manualScaling: + description: A service with manual scaling runs continuously, + allowing you to perform complex initialization and rely on the + state of its memory over time. + items: + properties: + instances: + description: "Number of instances to assign to the service + at the start. \n **Note:** When managing the number of + instances at runtime through the App Engine Admin API + or the (now deprecated) Python 2 Modules API set_num_instances() + you must use 'lifecycle.ignore_changes = [\"manual_scaling\"[0].instances]' + to prevent drift detection." + format: int64 + type: integer + required: + - instances + type: object + type: array + noopOnDestroy: + type: boolean + project: + type: string + runtime: + description: Desired runtime. Example python27. + type: string + runtimeApiVersion: + description: The version of the API in the given runtime environment. + Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard//config/appref + type: string + service: + description: AppEngine service resource + type: string + threadsafe: + description: Whether multiple requests can be dispatched to this + version at once. + type: boolean + versionId: + description: Relative name of the version within the service. + For example, 'v1'. Version names can contain only lowercase + letters, numbers, or hyphens. Reserved names,"default", "latest", + and any name with the prefix "ah-". + type: string + vpcAccessConnector: + description: Enables VPC connectivity for standard apps. + items: + properties: + name: + description: Full Serverless VPC Access Connector name e.g. + /projects/my-project/locations/us-central1/connectors/c1. + type: string + required: + - name + type: object + type: array + required: + - deployment + - entrypoint + - runtime + - service + type: object + 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 + 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 + 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. + 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 + status: + description: StandardAppVersionStatus defines the observed state of StandardAppVersion. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/assuredworkloads.gcp.jet.crossplane.io_workloads.yaml b/package/crds/assuredworkloads.gcp.jet.crossplane.io_workloads.yaml new file mode 100644 index 00000000..7c11faaa --- /dev/null +++ b/package/crds/assuredworkloads.gcp.jet.crossplane.io_workloads.yaml @@ -0,0 +1,265 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: workloads.assuredworkloads.gcp.jet.crossplane.io +spec: + group: assuredworkloads.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Workload + listKind: WorkloadList + plural: workloads + singular: workload + 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: Workload is the Schema for the Workloads 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: WorkloadSpec defines the desired state of Workload + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + billingAccount: + description: Required. Input only. The billing account used for + the resources which are direct children of workload. This billing + account is initially associated with the resources created as + part of Workload creation. After the initial creation of these + resources, the customer can change the assigned billing account. + The resource name has the form `billingAccounts/{billing_account_id}`. + For example, 'billingAccounts/012345-567890-ABCDEF`. + type: string + complianceRegime: + description: 'Required. Immutable. Compliance Regime associated + with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, + IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS' + type: string + displayName: + description: 'Required. The user-assigned display name of the + Workload. When present it must be between 4 to 30 characters. + Allowed characters are: lowercase and uppercase letters, numbers, + hyphen, and spaces. Example: My Workload' + type: string + kmsSettings: + description: Input only. Settings used to create a CMEK crypto + key. When set a project with a KMS CMEK key is provisioned. + This field is mandatory for a subset of Compliance Regimes. + items: + properties: + nextRotationTime: + description: Required. Input only. Immutable. The time at + which the Key Management Service will automatically create + a new version of the crypto key and mark it as the primary. + type: string + rotationPeriod: + description: Required. Input only. Immutable. will be advanced + by this period when the Key Management Service automatically + rotates a key. Must be at least 24 hours and at most 876,000 + hours. + type: string + required: + - nextRotationTime + - rotationPeriod + type: object + type: array + labels: + additionalProperties: + type: string + description: Optional. Labels applied to the workload. + type: object + location: + description: The location for the resource + type: string + organization: + description: The organization for the resource + type: string + provisionedResourcesParent: + description: 'Input only. The parent resource for the resources + managed by this Assured Workload. May be either an organization + or a folder. Must be the same or a child of the Workload parent. + If not specified all resources are created under the Workload + parent. Formats: folders/{folder_id}, organizations/{organization_id}' + type: string + resourceSettings: + description: Input only. Resource properties that are used to + customize workload resources. These properties (such as custom + project id) will be used to create workload resources if possible. + This field is optional. + items: + properties: + resourceId: + description: Resource identifier. For a project this represents + project_number. If the project is already taken, the workload + creation will fail. + type: string + resourceType: + description: 'Indicates the type of resource. This field + should be specified to correspond the id to the right + project type (CONSUMER_PROJECT or ENCRYPTION_KEYS_PROJECT) + Possible values: RESOURCE_TYPE_UNSPECIFIED, CONSUMER_PROJECT, + ENCRYPTION_KEYS_PROJECT, KEYRING, CONSUMER_FOLDER' + type: string + type: object + type: array + required: + - billingAccount + - complianceRegime + - displayName + - location + - organization + type: object + 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 + 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 + 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. + 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 + status: + description: WorkloadStatus defines the observed state of Workload. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + name: + type: string + resources: + items: + properties: + resourceId: + format: int64 + type: integer + resourceType: + type: string + type: object + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigquery.gcp.jet.crossplane.io_datasetaccesses.yaml b/package/crds/bigquery.gcp.jet.crossplane.io_datasetaccesses.yaml new file mode 100644 index 00000000..f18ceee0 --- /dev/null +++ b/package/crds/bigquery.gcp.jet.crossplane.io_datasetaccesses.yaml @@ -0,0 +1,231 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: datasetaccesses.bigquery.gcp.jet.crossplane.io +spec: + group: bigquery.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DatasetAccess + listKind: DatasetAccessList + plural: datasetaccesses + singular: datasetaccess + 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: DatasetAccess is the Schema for the DatasetAccesss 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: DatasetAccessSpec defines the desired state of DatasetAccess + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + datasetId: + description: A unique ID for this dataset, without the project + name. The ID must contain only letters (a-z, A-Z), numbers (0-9), + or underscores (_). The maximum length is 1,024 characters. + type: string + domain: + description: A domain to grant access to. Any users signed in + with the domain specified will be granted the specified access + type: string + groupByEmail: + description: An email address of a Google Group to grant access + to. + type: string + iamMember: + description: 'Some other type of member that appears in the IAM + Policy but isn''t a user, group, domain, or special group. For + example: ''allUsers''' + type: string + project: + type: string + role: + description: Describes the rights granted to the user specified + by the other member of the access object. Basic, predefined, + and custom roles are supported. Predefined roles that have equivalent + basic roles are swapped by the API to their basic counterparts, + and will show a diff post-create. See [official docs](https://cloud.google.com/bigquery/docs/access-control). + type: string + specialGroup: + description: "A special group to grant access to. Possible values + include: \n * 'projectOwners': Owners of the enclosing project. + \n * 'projectReaders': Readers of the enclosing project. \n + * 'projectWriters': Writers of the enclosing project. \n * 'allAuthenticatedUsers': + All authenticated BigQuery users." + type: string + userByEmail: + description: 'An email address of a user to grant access to. For + example: fred@example.com' + type: string + view: + description: A view from a different dataset to grant access to. + Queries executed against that view will have read access to + tables in this dataset. The role field is not required when + this field is set. If that view is updated by any user, access + to the view needs to be granted again via an update operation. + items: + properties: + datasetId: + description: The ID of the dataset containing this table. + type: string + projectId: + description: The ID of the project containing this table. + type: string + tableId: + description: The ID of the table. The ID must contain only + letters (a-z, A-Z), numbers (0-9), or underscores (_). + The maximum length is 1,024 characters. + type: string + required: + - datasetId + - projectId + - tableId + type: object + type: array + required: + - datasetId + type: object + 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 + 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 + 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. + 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 + status: + description: DatasetAccessStatus defines the observed state of DatasetAccess. + properties: + atProvider: + properties: + apiUpdatedMember: + type: boolean + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigquery.gcp.jet.crossplane.io_datasetiambindings.yaml b/package/crds/bigquery.gcp.jet.crossplane.io_datasetiambindings.yaml new file mode 100644 index 00000000..946432ed --- /dev/null +++ b/package/crds/bigquery.gcp.jet.crossplane.io_datasetiambindings.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: datasetiambindings.bigquery.gcp.jet.crossplane.io +spec: + group: bigquery.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DatasetIAMBinding + listKind: DatasetIAMBindingList + plural: datasetiambindings + singular: datasetiambinding + 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: DatasetIAMBinding is the Schema for the DatasetIAMBindings 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: DatasetIAMBindingSpec defines the desired state of DatasetIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + datasetId: + type: string + members: + items: + type: string + type: array + project: + type: string + role: + type: string + required: + - datasetId + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: DatasetIAMBindingStatus defines the observed state of DatasetIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigquery.gcp.jet.crossplane.io_datasetiammembers.yaml b/package/crds/bigquery.gcp.jet.crossplane.io_datasetiammembers.yaml new file mode 100644 index 00000000..0b70ca90 --- /dev/null +++ b/package/crds/bigquery.gcp.jet.crossplane.io_datasetiammembers.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: datasetiammembers.bigquery.gcp.jet.crossplane.io +spec: + group: bigquery.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DatasetIAMMember + listKind: DatasetIAMMemberList + plural: datasetiammembers + singular: datasetiammember + 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: DatasetIAMMember is the Schema for the DatasetIAMMembers 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: DatasetIAMMemberSpec defines the desired state of DatasetIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + datasetId: + type: string + member: + type: string + project: + type: string + role: + type: string + required: + - datasetId + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: DatasetIAMMemberStatus defines the observed state of DatasetIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigquery.gcp.jet.crossplane.io_datasetiampolicies.yaml b/package/crds/bigquery.gcp.jet.crossplane.io_datasetiampolicies.yaml new file mode 100644 index 00000000..eb48a001 --- /dev/null +++ b/package/crds/bigquery.gcp.jet.crossplane.io_datasetiampolicies.yaml @@ -0,0 +1,175 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: datasetiampolicies.bigquery.gcp.jet.crossplane.io +spec: + group: bigquery.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DatasetIAMPolicy + listKind: DatasetIAMPolicyList + plural: datasetiampolicies + singular: datasetiampolicy + 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: DatasetIAMPolicy is the Schema for the DatasetIAMPolicys 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: DatasetIAMPolicySpec defines the desired state of DatasetIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + datasetId: + type: string + policyData: + type: string + project: + type: string + required: + - datasetId + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: DatasetIAMPolicyStatus defines the observed state of DatasetIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigquery.gcp.jet.crossplane.io_datasets.yaml b/package/crds/bigquery.gcp.jet.crossplane.io_datasets.yaml new file mode 100644 index 00000000..0448c716 --- /dev/null +++ b/package/crds/bigquery.gcp.jet.crossplane.io_datasets.yaml @@ -0,0 +1,319 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: datasets.bigquery.gcp.jet.crossplane.io +spec: + group: bigquery.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Dataset + listKind: DatasetList + plural: datasets + singular: dataset + 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: Dataset is the Schema for the Datasets 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: DatasetSpec defines the desired state of Dataset + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + access: + description: An array of objects that define dataset access for + one or more entities. + items: + properties: + domain: + description: A domain to grant access to. Any users signed + in with the domain specified will be granted the specified + access + type: string + groupByEmail: + description: An email address of a Google Group to grant + access to. + type: string + role: + description: Describes the rights granted to the user specified + by the other member of the access object. Basic, predefined, + and custom roles are supported. Predefined roles that + have equivalent basic roles are swapped by the API to + their basic counterparts. See [official docs](https://cloud.google.com/bigquery/docs/access-control). + type: string + specialGroup: + description: "A special group to grant access to. Possible + values include: \n * 'projectOwners': Owners of the enclosing + project. \n * 'projectReaders': Readers of the enclosing + project. \n * 'projectWriters': Writers of the enclosing + project. \n * 'allAuthenticatedUsers': All authenticated + BigQuery users." + type: string + userByEmail: + description: 'An email address of a user to grant access + to. For example: fred@example.com' + type: string + view: + description: A view from a different dataset to grant access + to. Queries executed against that view will have read + access to tables in this dataset. The role field is not + required when this field is set. If that view is updated + by any user, access to the view needs to be granted again + via an update operation. + items: + properties: + datasetId: + description: The ID of the dataset containing this + table. + type: string + projectId: + description: The ID of the project containing this + table. + type: string + tableId: + description: The ID of the table. The ID must contain + only letters (a-z, A-Z), numbers (0-9), or underscores + (_). The maximum length is 1,024 characters. + type: string + required: + - datasetId + - projectId + - tableId + type: object + type: array + type: object + type: array + datasetId: + description: A unique ID for this dataset, without the project + name. The ID must contain only letters (a-z, A-Z), numbers (0-9), + or underscores (_). The maximum length is 1,024 characters. + type: string + defaultEncryptionConfiguration: + description: The default encryption key for all tables in the + dataset. Once this property is set, all newly-created partitioned + tables in the dataset will have encryption key set to this value, + unless table creation request (or query) overrides the key. + items: + properties: + kmsKeyName: + description: Describes the Cloud KMS encryption key that + will be used to protect destination BigQuery table. The + BigQuery Service Account associated with your project + requires access to this encryption key. + type: string + required: + - kmsKeyName + type: object + type: array + defaultPartitionExpirationMs: + description: "The default partition expiration for all partitioned + tables in the dataset, in milliseconds. \n Once this property + is set, all newly-created partitioned tables in the dataset + will have an 'expirationMs' property in the 'timePartitioning' + settings set to this value, and changing the value will only + affect new tables, not existing ones. The storage in a partition + will have an expiration time of its partition time plus this + value. Setting this property overrides the use of 'defaultTableExpirationMs' + for partitioned tables: only one of 'defaultTableExpirationMs' + and 'defaultPartitionExpirationMs' will be used for any new + partitioned table. If you provide an explicit 'timePartitioning.expirationMs' + when creating or updating a partitioned table, that value takes + precedence over the default partition expiration time indicated + by this property." + format: int64 + type: integer + defaultTableExpirationMs: + description: "The default lifetime of all tables in the dataset, + in milliseconds. The minimum value is 3600000 milliseconds (one + hour). \n Once this property is set, all newly-created tables + in the dataset will have an 'expirationTime' property set to + the creation time plus the value in this property, and changing + the value will only affect new tables, not existing ones. When + the 'expirationTime' for a given table is reached, that table + will be deleted automatically. If a table's 'expirationTime' + is modified or removed before the table expires, or if you provide + an explicit 'expirationTime' when creating a table, that value + takes precedence over the default expiration time indicated + by this property." + format: int64 + type: integer + deleteContentsOnDestroy: + type: boolean + description: + description: A user-friendly description of the dataset + type: string + friendlyName: + description: A descriptive name for the dataset + type: string + labels: + additionalProperties: + type: string + description: The labels associated with this dataset. You can + use these to organize and group your datasets + type: object + location: + description: "The geographic location where the dataset should + reside. See [official docs](https://cloud.google.com/bigquery/docs/dataset-locations). + \n There are two types of locations, regional or multi-regional. + A regional location is a specific geographic place, such as + Tokyo, and a multi-regional location is a large geographic area, + such as the United States, that contains at least two geographic + places. \n The default value is multi-regional location 'US'. + Changing this forces a new resource to be created." + type: string + project: + type: string + required: + - datasetId + type: object + 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 + 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 + 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. + 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 + status: + description: DatasetStatus defines the observed state of Dataset. + properties: + atProvider: + properties: + creationTime: + format: int64 + type: integer + etag: + type: string + id: + type: string + lastModifiedTime: + format: int64 + type: integer + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigquery.gcp.jet.crossplane.io_datatransferconfigs.yaml b/package/crds/bigquery.gcp.jet.crossplane.io_datatransferconfigs.yaml new file mode 100644 index 00000000..abe00c53 --- /dev/null +++ b/package/crds/bigquery.gcp.jet.crossplane.io_datatransferconfigs.yaml @@ -0,0 +1,303 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: datatransferconfigs.bigquery.gcp.jet.crossplane.io +spec: + group: bigquery.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DataTransferConfig + listKind: DataTransferConfigList + plural: datatransferconfigs + singular: datatransferconfig + 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: DataTransferConfig is the Schema for the DataTransferConfigs + 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: DataTransferConfigSpec defines the desired state of DataTransferConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dataRefreshWindowDays: + description: The number of days to look back to automatically + refresh the data. For example, if dataRefreshWindowDays = 10, + then every day BigQuery reingests data for [today-10, today-1], + rather than ingesting data for just [today-1]. Only valid if + the data source supports the feature. Set the value to 0 to + use the default value. + format: int64 + type: integer + dataSourceId: + description: The data source id. Cannot be changed once the transfer + config is created. + type: string + destinationDatasetId: + description: The BigQuery target dataset id. + type: string + disabled: + description: When set to true, no runs are scheduled for a given + transfer. + type: boolean + displayName: + description: The user specified display name for the transfer + config. + type: string + emailPreferences: + description: Email notifications will be sent according to these + preferences to the email address of the user who owns this transfer + config. + items: + properties: + enableFailureEmail: + description: If true, email notifications will be sent on + transfer run failures. + type: boolean + required: + - enableFailureEmail + type: object + type: array + location: + description: 'The geographic location where the transfer config + should reside. Examples: US, EU, asia-northeast1. The default + value is US.' + type: string + notificationPubsubTopic: + description: Pub/Sub topic where notifications will be sent after + transfer runs associated with this transfer config finish. + type: string + params: + additionalProperties: + type: string + description: These parameters are specific to each data source. + type: object + project: + type: string + schedule: + description: 'Data transfer schedule. If the data source does + not support a custom schedule, this should be empty. If it is + empty, the default value for the data source will be used. The + specified times are in UTC. Examples of valid format: 1st,3rd + monday of month 15:30, every wed,fri of jan, jun 13:15, and + first sunday of quarter 00:00. See more explanation about the + format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format + NOTE: the granularity should be at least 8 hours, or less frequent.' + type: string + scheduleOptions: + description: Options customizing the data transfer schedule. + items: + properties: + disableAutoScheduling: + description: If true, automatic scheduling of data transfer + runs for this configuration will be disabled. The runs + can be started on ad-hoc basis using transferConfigs.startManualRuns + API. When automatic scheduling is disabled, the TransferConfig.schedule + field will be ignored. + type: boolean + endTime: + description: Defines time to stop scheduling transfer runs. + A transfer run cannot be scheduled at or after the end + time. The end time can be changed at any moment. The time + when a data transfer can be triggered manually is not + limited by this option. + type: string + startTime: + description: Specifies time to start scheduling transfer + runs. The first run will be scheduled at or after the + start time according to a recurrence pattern defined in + the schedule string. The start time can be changed at + any moment. The time when a data transfer can be triggered + manually is not limited by this option. + type: string + type: object + type: array + sensitiveParams: + description: "Different parameters are configured primarily using + the the 'params' field on this resource. This block contains + the parameters which contain secrets or passwords so that they + can be marked sensitive and hidden from plan output. The name + of the field, eg: secret_access_key, will be the key in the + 'params' map in the api request. \n Credentials may not be specified + in both locations and will cause an error. Changing from one + location to a different credential configuration in the config + will require an apply to update state." + items: + properties: + secretAccessKeySecretRef: + description: The Secret Access Key of the AWS account transferring + data from. + 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 + required: + - secretAccessKeySecretRef + type: object + type: array + serviceAccountName: + description: Optional service account name. If this field is set, + transfer config will be created with this service account credentials. + It requires that requesting user calling this API has permissions + to act as this service account. + type: string + required: + - dataSourceId + - displayName + - params + type: object + 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 + 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 + 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. + 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 + status: + description: DataTransferConfigStatus defines the observed state of DataTransferConfig. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigquery.gcp.jet.crossplane.io_jobs.yaml b/package/crds/bigquery.gcp.jet.crossplane.io_jobs.yaml new file mode 100644 index 00000000..8ad829c5 --- /dev/null +++ b/package/crds/bigquery.gcp.jet.crossplane.io_jobs.yaml @@ -0,0 +1,830 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: jobs.bigquery.gcp.jet.crossplane.io +spec: + group: bigquery.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Job + listKind: JobList + plural: jobs + singular: job + 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: Job is the Schema for the Jobs 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: JobSpec defines the desired state of Job + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + copy: + description: Copies a table. + items: + properties: + createDisposition: + description: 'Specifies whether the job is allowed to create + new tables. The following values are supported: CREATE_IF_NEEDED: + If the table does not exist, BigQuery creates the table. + CREATE_NEVER: The table must already exist. If it does + not, a ''notFound'' error is returned in the job result. + Creation, truncation and append actions occur as one atomic + update upon job completion Default value: "CREATE_IF_NEEDED" + Possible values: ["CREATE_IF_NEEDED", "CREATE_NEVER"]' + type: string + destinationEncryptionConfiguration: + description: Custom encryption configuration (e.g., Cloud + KMS keys) + items: + properties: + kmsKeyName: + description: Describes the Cloud KMS encryption key + that will be used to protect destination BigQuery + table. The BigQuery Service Account associated with + your project requires access to this encryption + key. + type: string + required: + - kmsKeyName + type: object + type: array + destinationTable: + description: The destination table. + items: + properties: + datasetId: + description: The ID of the dataset containing this + table. + type: string + projectId: + description: The ID of the project containing this + table. + type: string + tableId: + description: The table. Can be specified '{{table_id}}' + if 'project_id' and 'dataset_id' are also set, or + of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' + if not. + type: string + required: + - tableId + type: object + type: array + sourceTables: + description: Source tables to copy. + items: + properties: + datasetId: + description: The ID of the dataset containing this + table. + type: string + projectId: + description: The ID of the project containing this + table. + type: string + tableId: + description: The table. Can be specified '{{table_id}}' + if 'project_id' and 'dataset_id' are also set, or + of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' + if not. + type: string + required: + - tableId + type: object + type: array + writeDisposition: + description: 'Specifies the action that occurs if the destination + table already exists. The following values are supported: + WRITE_TRUNCATE: If the table already exists, BigQuery + overwrites the table data and uses the schema from the + query result. WRITE_APPEND: If the table already exists, + BigQuery appends the data to the table. WRITE_EMPTY: If + the table already exists and contains data, a ''duplicate'' + error is returned in the job result. Each action is atomic + and only occurs if BigQuery is able to complete the job + successfully. Creation, truncation and append actions + occur as one atomic update upon job completion. Default + value: "WRITE_EMPTY" Possible values: ["WRITE_TRUNCATE", + "WRITE_APPEND", "WRITE_EMPTY"]' + type: string + required: + - sourceTables + type: object + type: array + extract: + description: Configures an extract job. + items: + properties: + compression: + description: The compression type to use for exported files. + Possible values include GZIP, DEFLATE, SNAPPY, and NONE. + The default value is NONE. DEFLATE and SNAPPY are only + supported for Avro. + type: string + destinationFormat: + description: The exported file format. Possible values include + CSV, NEWLINE_DELIMITED_JSON and AVRO for tables and SAVED_MODEL + for models. The default value for tables is CSV. Tables + with nested or repeated fields cannot be exported as CSV. + The default value for models is SAVED_MODEL. + type: string + destinationUris: + description: A list of fully-qualified Google Cloud Storage + URIs where the extracted table should be written. + items: + type: string + type: array + fieldDelimiter: + description: When extracting data in CSV format, this defines + the delimiter to use between fields in the exported data. + Default is ',' + type: string + printHeader: + description: Whether to print out a header row in the results. + Default is true. + type: boolean + sourceModel: + description: A reference to the model being exported. + items: + properties: + datasetId: + description: The ID of the dataset containing this + model. + type: string + modelId: + description: The ID of the model. + type: string + projectId: + description: The ID of the project containing this + model. + type: string + required: + - datasetId + - modelId + - projectId + type: object + type: array + sourceTable: + description: A reference to the table being exported. + items: + properties: + datasetId: + description: The ID of the dataset containing this + table. + type: string + projectId: + description: The ID of the project containing this + table. + type: string + tableId: + description: The table. Can be specified '{{table_id}}' + if 'project_id' and 'dataset_id' are also set, or + of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' + if not. + type: string + required: + - tableId + type: object + type: array + useAvroLogicalTypes: + description: Whether to use logical types when extracting + to AVRO format. + type: boolean + required: + - destinationUris + type: object + type: array + jobId: + description: The ID of the job. The ID must contain only letters + (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). The + maximum length is 1,024 characters. + type: string + jobTimeoutMs: + description: Job timeout in milliseconds. If this time limit is + exceeded, BigQuery may attempt to terminate the job. + type: string + labels: + additionalProperties: + type: string + description: The labels associated with this job. You can use + these to organize and group your jobs. + type: object + load: + description: Configures a load job. + items: + properties: + allowJaggedRows: + description: Accept rows that are missing trailing optional + columns. The missing values are treated as nulls. If false, + records with missing trailing columns are treated as bad + records, and if there are too many bad records, an invalid + error is returned in the job result. The default value + is false. Only applicable to CSV, ignored for other formats. + type: boolean + allowQuotedNewlines: + description: Indicates if BigQuery should allow quoted data + sections that contain newline characters in a CSV file. + The default value is false. + type: boolean + autodetect: + description: Indicates if we should automatically infer + the options and schema for CSV and JSON sources. + type: boolean + createDisposition: + description: 'Specifies whether the job is allowed to create + new tables. The following values are supported: CREATE_IF_NEEDED: + If the table does not exist, BigQuery creates the table. + CREATE_NEVER: The table must already exist. If it does + not, a ''notFound'' error is returned in the job result. + Creation, truncation and append actions occur as one atomic + update upon job completion Default value: "CREATE_IF_NEEDED" + Possible values: ["CREATE_IF_NEEDED", "CREATE_NEVER"]' + type: string + destinationEncryptionConfiguration: + description: Custom encryption configuration (e.g., Cloud + KMS keys) + items: + properties: + kmsKeyName: + description: Describes the Cloud KMS encryption key + that will be used to protect destination BigQuery + table. The BigQuery Service Account associated with + your project requires access to this encryption + key. + type: string + required: + - kmsKeyName + type: object + type: array + destinationTable: + description: The destination table to load the data into. + items: + properties: + datasetId: + description: The ID of the dataset containing this + table. + type: string + projectId: + description: The ID of the project containing this + table. + type: string + tableId: + description: The table. Can be specified '{{table_id}}' + if 'project_id' and 'dataset_id' are also set, or + of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' + if not. + type: string + required: + - tableId + type: object + type: array + encoding: + description: The character encoding of the data. The supported + values are UTF-8 or ISO-8859-1. The default value is UTF-8. + BigQuery decodes the data after the raw, binary data has + been split using the values of the quote and fieldDelimiter + properties. + type: string + fieldDelimiter: + description: The separator for fields in a CSV file. The + separator can be any ISO-8859-1 single-byte character. + To use a character in the range 128-255, you must encode + the character as UTF8. BigQuery converts the string to + ISO-8859-1 encoding, and then uses the first byte of the + encoded string to split the data in its raw, binary state. + BigQuery also supports the escape sequence "\t" to specify + a tab separator. The default value is a comma (','). + type: string + ignoreUnknownValues: + description: 'Indicates if BigQuery should allow extra values + that are not represented in the table schema. If true, + the extra values are ignored. If false, records with extra + columns are treated as bad records, and if there are too + many bad records, an invalid error is returned in the + job result. The default value is false. The sourceFormat + property determines what BigQuery treats as an extra value: + CSV: Trailing columns JSON: Named values that don''t match + any column names' + type: boolean + maxBadRecords: + description: The maximum number of bad records that BigQuery + can ignore when running the job. If the number of bad + records exceeds this value, an invalid error is returned + in the job result. The default value is 0, which requires + that all records are valid. + format: int64 + type: integer + nullMarker: + description: Specifies a string that represents a null value + in a CSV file. For example, if you specify "\N", BigQuery + interprets "\N" as a null value when loading a CSV file. + The default value is the empty string. If you set this + property to a custom value, BigQuery throws an error if + an empty string is present for all data types except for + STRING and BYTE. For STRING and BYTE columns, BigQuery + interprets the empty string as an empty value. + type: string + projectionFields: + description: If sourceFormat is set to "DATASTORE_BACKUP", + indicates which entity properties to load into BigQuery + from a Cloud Datastore backup. Property names are case + sensitive and must be top-level properties. If no properties + are specified, BigQuery loads all properties. If any named + property isn't found in the Cloud Datastore backup, an + invalid error is returned in the job result. + items: + type: string + type: array + quote: + description: The value that is used to quote data sections + in a CSV file. BigQuery converts the string to ISO-8859-1 + encoding, and then uses the first byte of the encoded + string to split the data in its raw, binary state. The + default value is a double-quote ('"'). If your data does + not contain quoted sections, set the property value to + an empty string. If your data contains quoted newline + characters, you must also set the allowQuotedNewlines + property to true. + type: string + schemaUpdateOptions: + description: 'Allows the schema of the destination table + to be updated as a side effect of the load job if a schema + is autodetected or supplied in the job configuration. + Schema update options are supported in two cases: when + writeDisposition is WRITE_APPEND; when writeDisposition + is WRITE_TRUNCATE and the destination table is a partition + of a table, specified by partition decorators. For normal + tables, WRITE_TRUNCATE will always overwrite the schema. + One or more of the following values are specified: ALLOW_FIELD_ADDITION: + allow adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: + allow relaxing a required field in the original schema + to nullable.' + items: + type: string + type: array + skipLeadingRows: + description: 'The number of rows at the top of a CSV file + that BigQuery will skip when loading the data. The default + value is 0. This property is useful if you have header + rows in the file that should be skipped. When autodetect + is on, the behavior is the following: skipLeadingRows + unspecified - Autodetect tries to detect headers in the + first row. If they are not detected, the row is read as + data. Otherwise data is read starting from the second + row. skipLeadingRows is 0 - Instructs autodetect that + there are no headers and data should be read starting + from the first row. skipLeadingRows = N > 0 - Autodetect + skips N-1 rows and tries to detect headers in row N. If + headers are not detected, row N is just skipped. Otherwise + row N is used to extract column names for the detected + schema.' + format: int64 + type: integer + sourceFormat: + description: The format of the data files. For CSV files, + specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". + For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". + For Avro, specify "AVRO". For parquet, specify "PARQUET". + For orc, specify "ORC". [Beta] For Bigtable, specify "BIGTABLE". + The default value is CSV. + type: string + sourceUris: + description: 'The fully-qualified URIs that point to your + data in Google Cloud. For Google Cloud Storage URIs: Each + URI can contain one ''*'' wildcard character and it must + come after the ''bucket'' name. Size limits related to + load jobs apply to external data sources. For Google Cloud + Bigtable URIs: Exactly one URI can be specified and it + has be a fully specified and valid HTTPS URL for a Google + Cloud Bigtable table. For Google Cloud Datastore backups: + Exactly one URI can be specified. Also, the ''*'' wildcard + character is not allowed.' + items: + type: string + type: array + timePartitioning: + description: Time-based partitioning specification for the + destination table. + items: + properties: + expirationMs: + description: Number of milliseconds for which to keep + the storage for a partition. A wrapper is used here + because 0 is an invalid value. + type: string + field: + description: If not set, the table is partitioned + by pseudo column '_PARTITIONTIME'; if set, the table + is partitioned by this field. The field must be + a top-level TIMESTAMP or DATE field. Its mode must + be NULLABLE or REQUIRED. A wrapper is used here + because an empty string is an invalid value. + type: string + type: + description: The only type supported is DAY, which + will generate one partition per day. Providing an + empty string used to cause an error, but in OnePlatform + the field will be treated as unset. + type: string + required: + - type + type: object + type: array + writeDisposition: + description: 'Specifies the action that occurs if the destination + table already exists. The following values are supported: + WRITE_TRUNCATE: If the table already exists, BigQuery + overwrites the table data and uses the schema from the + query result. WRITE_APPEND: If the table already exists, + BigQuery appends the data to the table. WRITE_EMPTY: If + the table already exists and contains data, a ''duplicate'' + error is returned in the job result. Each action is atomic + and only occurs if BigQuery is able to complete the job + successfully. Creation, truncation and append actions + occur as one atomic update upon job completion. Default + value: "WRITE_EMPTY" Possible values: ["WRITE_TRUNCATE", + "WRITE_APPEND", "WRITE_EMPTY"]' + type: string + required: + - destinationTable + - sourceUris + type: object + type: array + location: + description: The geographic location of the job. The default value + is US. + type: string + project: + type: string + query: + description: Configures a query job. + items: + properties: + allowLargeResults: + description: If true and query uses legacy SQL dialect, + allows the query to produce arbitrarily large result tables + at a slight cost in performance. Requires destinationTable + to be set. For standard SQL queries, this flag is ignored + and large results are always allowed. However, you must + still set destinationTable when result size exceeds the + allowed maximum response size. + type: boolean + createDisposition: + description: 'Specifies whether the job is allowed to create + new tables. The following values are supported: CREATE_IF_NEEDED: + If the table does not exist, BigQuery creates the table. + CREATE_NEVER: The table must already exist. If it does + not, a ''notFound'' error is returned in the job result. + Creation, truncation and append actions occur as one atomic + update upon job completion Default value: "CREATE_IF_NEEDED" + Possible values: ["CREATE_IF_NEEDED", "CREATE_NEVER"]' + type: string + defaultDataset: + description: Specifies the default dataset to use for unqualified + table names in the query. Note that this does not alter + behavior of unqualified dataset names. + items: + properties: + datasetId: + description: The dataset. Can be specified '{{dataset_id}}' + if 'project_id' is also set, or of the form 'projects/{{project}}/datasets/{{dataset_id}}' + if not. + type: string + projectId: + description: The ID of the project containing this + table. + type: string + required: + - datasetId + type: object + type: array + destinationEncryptionConfiguration: + description: Custom encryption configuration (e.g., Cloud + KMS keys) + items: + properties: + kmsKeyName: + description: Describes the Cloud KMS encryption key + that will be used to protect destination BigQuery + table. The BigQuery Service Account associated with + your project requires access to this encryption + key. + type: string + required: + - kmsKeyName + type: object + type: array + destinationTable: + description: Describes the table where the query results + should be stored. This property must be set for large + results that exceed the maximum response size. For queries + that produce anonymous (cached) results, this field will + be populated by BigQuery. + items: + properties: + datasetId: + description: The ID of the dataset containing this + table. + type: string + projectId: + description: The ID of the project containing this + table. + type: string + tableId: + description: The table. Can be specified '{{table_id}}' + if 'project_id' and 'dataset_id' are also set, or + of the form 'projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}' + if not. + type: string + required: + - tableId + type: object + type: array + flattenResults: + description: If true and query uses legacy SQL dialect, + flattens all nested and repeated fields in the query results. + allowLargeResults must be true if this is set to false. + For standard SQL queries, this flag is ignored and results + are never flattened. + type: boolean + maximumBillingTier: + description: Limits the billing tier for this job. Queries + that have resource usage beyond this tier will fail (without + incurring a charge). If unspecified, this will be set + to your project default. + format: int64 + type: integer + maximumBytesBilled: + description: Limits the bytes billed for this job. Queries + that will have bytes billed beyond this limit will fail + (without incurring a charge). If unspecified, this will + be set to your project default. + type: string + parameterMode: + description: Standard SQL only. Set to POSITIONAL to use + positional (?) query parameters or to NAMED to use named + (@myparam) query parameters in this query. + type: string + priority: + description: 'Specifies a priority for the query. Default + value: "INTERACTIVE" Possible values: ["INTERACTIVE", + "BATCH"]' + type: string + query: + description: 'SQL query text to execute. The useLegacySql + field can be used to indicate whether the query uses legacy + SQL or standard SQL. *NOTE*: queries containing [DML language](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) + (''DELETE'', ''UPDATE'', ''MERGE'', ''INSERT'') must specify + ''create_disposition = ""'' and ''write_disposition = + ""''.' + type: string + schemaUpdateOptions: + description: 'Allows the schema of the destination table + to be updated as a side effect of the query job. Schema + update options are supported in two cases: when writeDisposition + is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE + and the destination table is a partition of a table, specified + by partition decorators. For normal tables, WRITE_TRUNCATE + will always overwrite the schema. One or more of the following + values are specified: ALLOW_FIELD_ADDITION: allow adding + a nullable field to the schema. ALLOW_FIELD_RELAXATION: + allow relaxing a required field in the original schema + to nullable.' + items: + type: string + type: array + scriptOptions: + description: Options controlling the execution of scripts. + items: + properties: + keyResultStatement: + description: 'Determines which statement in the script + represents the "key result", used to populate the + schema and query results of the script job. Possible + values: ["LAST", "FIRST_SELECT"]' + type: string + statementByteBudget: + description: Limit on the number of bytes billed per + statement. Exceeding this budget results in an error. + type: string + statementTimeoutMs: + description: Timeout period for each statement in + a script. + type: string + type: object + type: array + useLegacySql: + description: Specifies whether to use BigQuery's legacy + SQL dialect for this query. The default value is true. + If set to false, the query will use BigQuery's standard + SQL. + type: boolean + useQueryCache: + description: Whether to look for the result in the query + cache. The query cache is a best-effort cache that will + be flushed whenever tables in the query are modified. + Moreover, the query cache is only available when a query + does not have a destination table specified. The default + value is true. + type: boolean + userDefinedFunctionResources: + description: Describes user-defined function resources used + in the query. + items: + properties: + inlineCode: + description: An inline resource that contains code + for a user-defined function (UDF). Providing a inline + code resource is equivalent to providing a URI for + a file containing the same code. + type: string + resourceUri: + description: A code resource to load from a Google + Cloud Storage URI (gs://bucket/path). + type: string + type: object + type: array + writeDisposition: + description: 'Specifies the action that occurs if the destination + table already exists. The following values are supported: + WRITE_TRUNCATE: If the table already exists, BigQuery + overwrites the table data and uses the schema from the + query result. WRITE_APPEND: If the table already exists, + BigQuery appends the data to the table. WRITE_EMPTY: If + the table already exists and contains data, a ''duplicate'' + error is returned in the job result. Each action is atomic + and only occurs if BigQuery is able to complete the job + successfully. Creation, truncation and append actions + occur as one atomic update upon job completion. Default + value: "WRITE_EMPTY" Possible values: ["WRITE_TRUNCATE", + "WRITE_APPEND", "WRITE_EMPTY"]' + type: string + required: + - query + type: object + type: array + required: + - jobId + type: object + 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 + 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 + 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. + 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 + status: + description: JobStatus defines the observed state of Job. + properties: + atProvider: + properties: + id: + type: string + jobType: + type: string + status: + items: + properties: + errorResult: + items: + type: object + type: array + errors: + items: + type: object + type: array + state: + type: string + type: object + type: array + userEmail: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigquery.gcp.jet.crossplane.io_reservations.yaml b/package/crds/bigquery.gcp.jet.crossplane.io_reservations.yaml new file mode 100644 index 00000000..7f048bd5 --- /dev/null +++ b/package/crds/bigquery.gcp.jet.crossplane.io_reservations.yaml @@ -0,0 +1,191 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: reservations.bigquery.gcp.jet.crossplane.io +spec: + group: bigquery.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Reservation + listKind: ReservationList + plural: reservations + singular: reservation + 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: Reservation is the Schema for the Reservations 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: ReservationSpec defines the desired state of Reservation + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + ignoreIdleSlots: + description: If false, any query using this reservation will use + idle slots from other reservations within the same admin project. + If true, a query using this reservation will execute with the + slot capacity specified above at most. + type: boolean + location: + description: 'The geographic location where the transfer config + should reside. Examples: US, EU, asia-northeast1. The default + value is US.' + type: string + name: + description: The name of the reservation. This field must only + contain alphanumeric characters or dash. + type: string + project: + type: string + slotCapacity: + description: Minimum slots available to this reservation. A slot + is a unit of computational power in BigQuery, and serves as + the unit of parallelism. Queries using this reservation might + use more slots during runtime if ignoreIdleSlots is set to false. + format: int64 + type: integer + required: + - name + - slotCapacity + type: object + 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 + 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 + 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. + 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 + status: + description: ReservationStatus defines the observed state of Reservation. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigquery.gcp.jet.crossplane.io_routines.yaml b/package/crds/bigquery.gcp.jet.crossplane.io_routines.yaml new file mode 100644 index 00000000..1bc948a3 --- /dev/null +++ b/package/crds/bigquery.gcp.jet.crossplane.io_routines.yaml @@ -0,0 +1,255 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: routines.bigquery.gcp.jet.crossplane.io +spec: + group: bigquery.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Routine + listKind: RoutineList + plural: routines + singular: routine + 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: Routine is the Schema for the Routines 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: RoutineSpec defines the desired state of Routine + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + arguments: + description: Input/output argument of a function or a stored procedure. + items: + properties: + argumentKind: + description: 'Defaults to FIXED_TYPE. Default value: "FIXED_TYPE" + Possible values: ["FIXED_TYPE", "ANY_TYPE"]' + type: string + dataType: + description: 'A JSON schema for the data type. Required + unless argumentKind = ANY_TYPE. ~>**NOTE**: Because this + field expects a JSON string, any changes to the string + will create a diff, even if the JSON itself hasn''t changed. + If the API returns a different value for the same schema, + e.g. it switched the order of values or replaced STRUCT + field type with RECORD field type, we currently cannot + suppress the recurring diff this causes. As a workaround, + we recommend using the schema as returned by the API.' + type: string + mode: + description: 'Specifies whether the argument is input or + output. Can be set for procedures only. Possible values: + ["IN", "OUT", "INOUT"]' + type: string + name: + description: The name of this argument. Can be absent for + function return argument. + type: string + type: object + type: array + datasetId: + description: The ID of the dataset containing this routine + type: string + definitionBody: + description: The body of the routine. For functions, this is the + expression in the AS clause. If language=SQL, it is the substring + inside (but excluding) the parentheses. + type: string + description: + description: The description of the routine if defined. + type: string + determinismLevel: + description: 'The determinism level of the JavaScript UDF if defined. + Possible values: ["DETERMINISM_LEVEL_UNSPECIFIED", "DETERMINISTIC", + "NOT_DETERMINISTIC"]' + type: string + importedLibraries: + description: Optional. If language = "JAVASCRIPT", this field + stores the path of the imported JAVASCRIPT libraries. + items: + type: string + type: array + language: + description: 'The language of the routine. Possible values: ["SQL", + "JAVASCRIPT"]' + type: string + project: + type: string + returnType: + description: 'A JSON schema for the return type. Optional if language + = "SQL"; required otherwise. If absent, the return type is inferred + from definitionBody at query time in each query that references + this routine. If present, then the evaluated result will be + cast to the specified returned type at query time. ~>**NOTE**: + Because this field expects a JSON string, any changes to the + string will create a diff, even if the JSON itself hasn''t changed. + If the API returns a different value for the same schema, e.g. + it switche d the order of values or replaced STRUCT field type + with RECORD field type, we currently cannot suppress the recurring + diff this causes. As a workaround, we recommend using the schema + as returned by the API.' + type: string + routineId: + description: The ID of the the routine. The ID must contain only + letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum + length is 256 characters. + type: string + routineType: + description: 'The type of routine. Possible values: ["SCALAR_FUNCTION", + "PROCEDURE"]' + type: string + required: + - datasetId + - definitionBody + - routineId + type: object + 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 + 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 + 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. + 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 + status: + description: RoutineStatus defines the observed state of Routine. + properties: + atProvider: + properties: + creationTime: + format: int64 + type: integer + id: + type: string + lastModifiedTime: + format: int64 + type: integer + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigquery.gcp.jet.crossplane.io_tableiambindings.yaml b/package/crds/bigquery.gcp.jet.crossplane.io_tableiambindings.yaml new file mode 100644 index 00000000..b41f140f --- /dev/null +++ b/package/crds/bigquery.gcp.jet.crossplane.io_tableiambindings.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tableiambindings.bigquery.gcp.jet.crossplane.io +spec: + group: bigquery.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TableIAMBinding + listKind: TableIAMBindingList + plural: tableiambindings + singular: tableiambinding + 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: TableIAMBinding is the Schema for the TableIAMBindings 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: TableIAMBindingSpec defines the desired state of TableIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + datasetId: + type: string + members: + items: + type: string + type: array + project: + type: string + role: + type: string + tableId: + type: string + required: + - datasetId + - members + - role + - tableId + type: object + 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 + 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 + 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. + 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 + status: + description: TableIAMBindingStatus defines the observed state of TableIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigquery.gcp.jet.crossplane.io_tableiammembers.yaml b/package/crds/bigquery.gcp.jet.crossplane.io_tableiammembers.yaml new file mode 100644 index 00000000..16c73833 --- /dev/null +++ b/package/crds/bigquery.gcp.jet.crossplane.io_tableiammembers.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tableiammembers.bigquery.gcp.jet.crossplane.io +spec: + group: bigquery.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TableIAMMember + listKind: TableIAMMemberList + plural: tableiammembers + singular: tableiammember + 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: TableIAMMember is the Schema for the TableIAMMembers 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: TableIAMMemberSpec defines the desired state of TableIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + datasetId: + type: string + member: + type: string + project: + type: string + role: + type: string + tableId: + type: string + required: + - datasetId + - member + - role + - tableId + type: object + 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 + 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 + 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. + 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 + status: + description: TableIAMMemberStatus defines the observed state of TableIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigquery.gcp.jet.crossplane.io_tableiampolicies.yaml b/package/crds/bigquery.gcp.jet.crossplane.io_tableiampolicies.yaml new file mode 100644 index 00000000..29f6a175 --- /dev/null +++ b/package/crds/bigquery.gcp.jet.crossplane.io_tableiampolicies.yaml @@ -0,0 +1,178 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tableiampolicies.bigquery.gcp.jet.crossplane.io +spec: + group: bigquery.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TableIAMPolicy + listKind: TableIAMPolicyList + plural: tableiampolicies + singular: tableiampolicy + 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: TableIAMPolicy is the Schema for the TableIAMPolicys 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: TableIAMPolicySpec defines the desired state of TableIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + datasetId: + type: string + policyData: + type: string + project: + type: string + tableId: + type: string + required: + - datasetId + - policyData + - tableId + type: object + 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 + 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 + 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. + 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 + status: + description: TableIAMPolicyStatus defines the observed state of TableIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigquery.gcp.jet.crossplane.io_tables.yaml b/package/crds/bigquery.gcp.jet.crossplane.io_tables.yaml new file mode 100644 index 00000000..83009362 --- /dev/null +++ b/package/crds/bigquery.gcp.jet.crossplane.io_tables.yaml @@ -0,0 +1,494 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tables.bigquery.gcp.jet.crossplane.io +spec: + group: bigquery.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Table + listKind: TableList + plural: tables + singular: table + 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: Table is the Schema for the Tables 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: TableSpec defines the desired state of Table + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + clustering: + description: Specifies column names to use for data clustering. + Up to four top-level columns are allowed, and should be specified + in descending priority order. + items: + type: string + type: array + datasetId: + description: The dataset ID to create the table in. Changing this + forces a new resource to be created. + type: string + deletionProtection: + description: Whether or not to allow Terraform to destroy the + instance. Unless this field is set to false in Terraform state, + a terraform destroy or terraform apply that would delete the + instance will fail. + type: boolean + description: + description: The field description. + type: string + encryptionConfiguration: + description: Specifies how the table should be encrypted. If left + blank, the table will be encrypted with a Google-managed key; + that process is transparent to the user. + items: + properties: + kmsKeyName: + description: The self link or full name of a key which should + be used to encrypt this table. Note that the default bigquery + service account will need to have encrypt/decrypt permissions + on this key - you may want to see the google_bigquery_default_service_account + datasource and the google_kms_crypto_key_iam_binding resource. + type: string + required: + - kmsKeyName + type: object + type: array + expirationTime: + description: The time when this table expires, in milliseconds + since the epoch. If not present, the table will persist indefinitely. + Expired tables will be deleted and their storage reclaimed. + format: int64 + type: integer + externalDataConfiguration: + description: Describes the data format, location, and other properties + of a table stored outside of BigQuery. By defining these properties, + the data source can then be queried as if it were a standard + BigQuery table. + items: + properties: + autodetect: + description: Let BigQuery try to autodetect the schema and + format of the table. + type: boolean + compression: + description: The compression type of the data source. Valid + values are "NONE" or "GZIP". + type: string + csvOptions: + description: Additional properties to set if source_format + is set to "CSV". + items: + properties: + allowJaggedRows: + description: Indicates if BigQuery should accept rows + that are missing trailing optional columns. + type: boolean + allowQuotedNewlines: + description: Indicates if BigQuery should allow quoted + data sections that contain newline characters in + a CSV file. The default value is false. + type: boolean + encoding: + description: The character encoding of the data. The + supported values are UTF-8 or ISO-8859-1. + type: string + fieldDelimiter: + description: The separator for fields in a CSV file. + type: string + quote: + description: The value that is used to quote data + sections in a CSV file. If your data does not contain + quoted sections, set the property value to an empty + string. If your data contains quoted newline characters, + you must also set the allow_quoted_newlines property + to true. The API-side default is ", specified in + Terraform escaped as \". Due to limitations with + Terraform default values, this value is required + to be explicitly set. + type: string + skipLeadingRows: + description: The number of rows at the top of a CSV + file that BigQuery will skip when reading the data. + format: int64 + type: integer + required: + - quote + type: object + type: array + googleSheetsOptions: + description: Additional options if source_format is set + to "GOOGLE_SHEETS". + items: + properties: + range: + description: 'Range of a sheet to query from. Only + used when non-empty. At least one of range or skip_leading_rows + must be set. Typical format: "sheet_name!top_left_cell_id:bottom_right_cell_id" + For example: "sheet1!A1:B20"' + type: string + skipLeadingRows: + description: The number of rows at the top of the + sheet that BigQuery will skip when reading the data. + At least one of range or skip_leading_rows must + be set. + format: int64 + type: integer + type: object + type: array + hivePartitioningOptions: + description: When set, configures hive partitioning support. + Not all storage formats support hive partitioning -- requesting + hive partitioning on an unsupported format will lead to + an error, as will providing an invalid specification. + items: + properties: + mode: + description: When set, what mode of hive partitioning + to use when reading data. + type: string + requirePartitionFilter: + description: If set to true, queries over this table + require a partition filter that can be used for + partition elimination to be specified. + type: boolean + sourceUriPrefix: + description: When hive partition detection is requested, + a common for all source uris must be required. The + prefix must end immediately before the partition + key encoding begins. + type: string + type: object + type: array + ignoreUnknownValues: + description: Indicates if BigQuery should allow extra values + that are not represented in the table schema. If true, + the extra values are ignored. If false, records with extra + columns are treated as bad records, and if there are too + many bad records, an invalid error is returned in the + job result. The default value is false. + type: boolean + maxBadRecords: + description: The maximum number of bad records that BigQuery + can ignore when reading data. + format: int64 + type: integer + schema: + description: A JSON schema for the external table. Schema + is required for CSV and JSON formats and is disallowed + for Google Cloud Bigtable, Cloud Datastore backups, and + Avro formats when using external tables. + type: string + sourceFormat: + description: 'The data format. Supported values are: "CSV", + "GOOGLE_SHEETS", "NEWLINE_DELIMITED_JSON", "AVRO", "PARQUET", + "ORC" and "DATASTORE_BACKUP". To use "GOOGLE_SHEETS" the + scopes must include "googleapis.com/auth/drive.readonly".' + type: string + sourceUris: + description: A list of the fully-qualified URIs that point + to your data in Google Cloud. + items: + type: string + type: array + required: + - autodetect + - sourceFormat + - sourceUris + type: object + type: array + friendlyName: + description: A descriptive name for the table. + type: string + labels: + additionalProperties: + type: string + description: A mapping of labels to assign to the resource. + type: object + materializedView: + description: If specified, configures this table as a materialized + view. + items: + properties: + enableRefresh: + description: Specifies if BigQuery should automatically + refresh materialized view when the base table is updated. + The default is true. + type: boolean + query: + description: A query whose result is persisted. + type: string + refreshIntervalMs: + description: Specifies maximum frequency at which this materialized + view will be refreshed. The default is 1800000 + format: int64 + type: integer + required: + - query + type: object + type: array + project: + description: The ID of the project in which the resource belongs. + type: string + rangePartitioning: + description: If specified, configures range-based partitioning + for this table. + items: + properties: + field: + description: The field used to determine how to create a + range-based partition. + type: string + range: + description: Information required to partition based on + ranges. Structure is documented below. + items: + properties: + end: + description: End of the range partitioning, exclusive. + format: int64 + type: integer + interval: + description: The width of each range within the partition. + format: int64 + type: integer + start: + description: Start of the range partitioning, inclusive. + format: int64 + type: integer + required: + - end + - interval + - start + type: object + type: array + required: + - field + - range + type: object + type: array + schema: + description: A JSON schema for the table. + type: string + tableId: + description: A unique ID for the resource. Changing this forces + a new resource to be created. + type: string + timePartitioning: + description: If specified, configures time-based partitioning + for this table. + items: + properties: + expirationMs: + description: Number of milliseconds for which to keep the + storage for a partition. + format: int64 + type: integer + field: + description: The field used to determine how to create a + time-based partition. If time-based partitioning is enabled + without this value, the table is partitioned based on + the load time. + type: string + requirePartitionFilter: + description: If set to true, queries over this table require + a partition filter that can be used for partition elimination + to be specified. + type: boolean + type: + description: The supported types are DAY, HOUR, MONTH, and + YEAR, which will generate one partition per day, hour, + month, and year, respectively. + type: string + required: + - type + type: object + type: array + view: + description: If specified, configures this table as a view. + items: + properties: + query: + description: A query that BigQuery executes when the view + is referenced. + type: string + useLegacySql: + description: Specifies whether to use BigQuery's legacy + SQL for this view. The default value is true. If set to + false, the view will use BigQuery's standard SQL + type: boolean + required: + - query + type: object + type: array + required: + - datasetId + - tableId + type: object + 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 + 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 + 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. + 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 + status: + description: TableStatus defines the observed state of Table. + properties: + atProvider: + properties: + creationTime: + format: int64 + type: integer + etag: + type: string + id: + type: string + lastModifiedTime: + format: int64 + type: integer + location: + type: string + numBytes: + format: int64 + type: integer + numLongTermBytes: + format: int64 + type: integer + numRows: + format: int64 + type: integer + selfLink: + type: string + type: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigtable.gcp.jet.crossplane.io_appprofiles.yaml b/package/crds/bigtable.gcp.jet.crossplane.io_appprofiles.yaml new file mode 100644 index 00000000..9f91415e --- /dev/null +++ b/package/crds/bigtable.gcp.jet.crossplane.io_appprofiles.yaml @@ -0,0 +1,210 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: appprofiles.bigtable.gcp.jet.crossplane.io +spec: + group: bigtable.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AppProfile + listKind: AppProfileList + plural: appprofiles + singular: appprofile + 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: AppProfile is the Schema for the AppProfiles 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: AppProfileSpec defines the desired state of AppProfile + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + appProfileId: + description: The unique name of the app profile in the form '[_a-zA-Z0-9][-_.a-zA-Z0-9]*'. + type: string + description: + description: Long form description of the use case for this app + profile. + type: string + ignoreWarnings: + description: If true, ignore safety checks when deleting/updating + the app profile. + type: boolean + instance: + description: The name of the instance to create the app profile + within. + type: string + multiClusterRoutingUseAny: + description: If true, read/write requests are routed to the nearest + cluster in the instance, and will fail over to the nearest cluster + that is available in the event of transient errors or delays. + Clusters in a region are considered equidistant. Choosing this + option sacrifices read-your-writes consistency to improve availability. + type: boolean + project: + type: string + singleClusterRouting: + description: Use a single-cluster routing policy. + items: + properties: + allowTransactionalWrites: + description: If true, CheckAndMutateRow and ReadModifyWriteRow + requests are allowed by this app profile. It is unsafe + to send these requests to the same table/row/column in + multiple clusters. + type: boolean + clusterId: + description: The cluster to which read/write requests should + be routed. + type: string + required: + - clusterId + type: object + type: array + required: + - appProfileId + type: object + 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 + 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 + 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. + 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 + status: + description: AppProfileStatus defines the observed state of AppProfile. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigtable.gcp.jet.crossplane.io_garbagecollectionpolicies.yaml b/package/crds/bigtable.gcp.jet.crossplane.io_garbagecollectionpolicies.yaml new file mode 100644 index 00000000..6cb061fe --- /dev/null +++ b/package/crds/bigtable.gcp.jet.crossplane.io_garbagecollectionpolicies.yaml @@ -0,0 +1,215 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: garbagecollectionpolicies.bigtable.gcp.jet.crossplane.io +spec: + group: bigtable.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: GarbageCollectionPolicy + listKind: GarbageCollectionPolicyList + plural: garbagecollectionpolicies + singular: garbagecollectionpolicy + 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: GarbageCollectionPolicy is the Schema for the GarbageCollectionPolicys + 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: GarbageCollectionPolicySpec defines the desired state of + GarbageCollectionPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + columnFamily: + description: The name of the column family. + type: string + instanceName: + description: The name of the Bigtable instance. + type: string + maxAge: + description: GC policy that applies to all cells older than the + given age. + items: + properties: + days: + description: Number of days before applying GC policy. + format: int64 + type: integer + duration: + description: Duration before applying GC policy + type: string + type: object + type: array + maxVersion: + description: GC policy that applies to all versions of a cell + except for the most recent. + items: + properties: + number: + description: Number of version before applying the GC policy. + format: int64 + type: integer + required: + - number + type: object + type: array + mode: + description: If multiple policies are set, you should choose between + UNION OR INTERSECTION. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + table: + description: The name of the table. + type: string + required: + - columnFamily + - instanceName + - table + type: object + 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 + 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 + 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. + 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 + status: + description: GarbageCollectionPolicyStatus defines the observed state + of GarbageCollectionPolicy. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigtable.gcp.jet.crossplane.io_instanceiambindings.yaml b/package/crds/bigtable.gcp.jet.crossplane.io_instanceiambindings.yaml new file mode 100644 index 00000000..b57c87a9 --- /dev/null +++ b/package/crds/bigtable.gcp.jet.crossplane.io_instanceiambindings.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instanceiambindings.bigtable.gcp.jet.crossplane.io +spec: + group: bigtable.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceIAMBinding + listKind: InstanceIAMBindingList + plural: instanceiambindings + singular: instanceiambinding + 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: InstanceIAMBinding is the Schema for the InstanceIAMBindings + 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: InstanceIAMBindingSpec defines the desired state of InstanceIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + instance: + type: string + members: + items: + type: string + type: array + project: + type: string + role: + type: string + required: + - instance + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceIAMBindingStatus defines the observed state of InstanceIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigtable.gcp.jet.crossplane.io_instanceiammembers.yaml b/package/crds/bigtable.gcp.jet.crossplane.io_instanceiammembers.yaml new file mode 100644 index 00000000..441e47d9 --- /dev/null +++ b/package/crds/bigtable.gcp.jet.crossplane.io_instanceiammembers.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instanceiammembers.bigtable.gcp.jet.crossplane.io +spec: + group: bigtable.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceIAMMember + listKind: InstanceIAMMemberList + plural: instanceiammembers + singular: instanceiammember + 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: InstanceIAMMember is the Schema for the InstanceIAMMembers 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: InstanceIAMMemberSpec defines the desired state of InstanceIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + instance: + type: string + member: + type: string + project: + type: string + role: + type: string + required: + - instance + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceIAMMemberStatus defines the observed state of InstanceIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigtable.gcp.jet.crossplane.io_instanceiampolicies.yaml b/package/crds/bigtable.gcp.jet.crossplane.io_instanceiampolicies.yaml new file mode 100644 index 00000000..a9ed95c1 --- /dev/null +++ b/package/crds/bigtable.gcp.jet.crossplane.io_instanceiampolicies.yaml @@ -0,0 +1,175 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instanceiampolicies.bigtable.gcp.jet.crossplane.io +spec: + group: bigtable.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceIAMPolicy + listKind: InstanceIAMPolicyList + plural: instanceiampolicies + singular: instanceiampolicy + 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: InstanceIAMPolicy is the Schema for the InstanceIAMPolicys 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: InstanceIAMPolicySpec defines the desired state of InstanceIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + instance: + type: string + policyData: + type: string + project: + type: string + required: + - instance + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceIAMPolicyStatus defines the observed state of InstanceIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigtable.gcp.jet.crossplane.io_instances.yaml b/package/crds/bigtable.gcp.jet.crossplane.io_instances.yaml new file mode 100644 index 00000000..9611912a --- /dev/null +++ b/package/crds/bigtable.gcp.jet.crossplane.io_instances.yaml @@ -0,0 +1,232 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instances.bigtable.gcp.jet.crossplane.io +spec: + group: bigtable.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Instance + listKind: InstanceList + plural: instances + singular: instance + 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: Instance is the Schema for the Instances 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: InstanceSpec defines the desired state of Instance + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + cluster: + description: A block of cluster configuration options. This can + be specified at least once. + items: + properties: + clusterId: + description: The ID of the Cloud Bigtable cluster. + type: string + kmsKeyName: + description: 'Describes the Cloud KMS encryption key that + will be used to protect the destination Bigtable cluster. + The requirements for this key are: 1) The Cloud Bigtable + service account associated with the project that contains + this cluster must be granted the cloudkms.cryptoKeyEncrypterDecrypter + role on the CMEK key. 2) Only regional keys can be used + and the region of the CMEK key must match the region of + the cluster. 3) All clusters within an instance must use + the same CMEK key. Values are of the form projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}' + type: string + numNodes: + description: The number of nodes in your Cloud Bigtable + cluster. Required, with a minimum of 1 for a PRODUCTION + instance. Must be left unset for a DEVELOPMENT instance. + format: int64 + type: integer + storageType: + description: The storage type to use. One of "SSD" or "HDD". + Defaults to "SSD". + type: string + zone: + description: The zone to create the Cloud Bigtable cluster + in. Each cluster must have a different zone in the same + region. Zones that support Bigtable instances are noted + on the Cloud Bigtable locations page. + type: string + required: + - clusterId + type: object + type: array + deletionProtection: + description: Whether or not to allow Terraform to destroy the + instance. Unless this field is set to false in Terraform state, + a terraform destroy or terraform apply that would delete the + instance will fail. + type: boolean + displayName: + description: The human-readable display name of the Bigtable instance. + Defaults to the instance name. + type: string + instanceType: + description: The instance type to create. One of "DEVELOPMENT" + or "PRODUCTION". Defaults to "PRODUCTION". + type: string + labels: + additionalProperties: + type: string + description: A mapping of labels to assign to the resource. + type: object + name: + description: The name (also called Instance Id in the Cloud Console) + of the Cloud Bigtable instance. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceStatus defines the observed state of Instance. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigtable.gcp.jet.crossplane.io_tableiambindings.yaml b/package/crds/bigtable.gcp.jet.crossplane.io_tableiambindings.yaml new file mode 100644 index 00000000..5bc086e6 --- /dev/null +++ b/package/crds/bigtable.gcp.jet.crossplane.io_tableiambindings.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tableiambindings.bigtable.gcp.jet.crossplane.io +spec: + group: bigtable.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TableIAMBinding + listKind: TableIAMBindingList + plural: tableiambindings + singular: tableiambinding + 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: TableIAMBinding is the Schema for the TableIAMBindings 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: TableIAMBindingSpec defines the desired state of TableIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + instance: + type: string + members: + items: + type: string + type: array + project: + type: string + role: + type: string + table: + type: string + required: + - instance + - members + - role + - table + type: object + 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 + 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 + 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. + 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 + status: + description: TableIAMBindingStatus defines the observed state of TableIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigtable.gcp.jet.crossplane.io_tableiammembers.yaml b/package/crds/bigtable.gcp.jet.crossplane.io_tableiammembers.yaml new file mode 100644 index 00000000..ccab67e6 --- /dev/null +++ b/package/crds/bigtable.gcp.jet.crossplane.io_tableiammembers.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tableiammembers.bigtable.gcp.jet.crossplane.io +spec: + group: bigtable.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TableIAMMember + listKind: TableIAMMemberList + plural: tableiammembers + singular: tableiammember + 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: TableIAMMember is the Schema for the TableIAMMembers 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: TableIAMMemberSpec defines the desired state of TableIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + instance: + type: string + member: + type: string + project: + type: string + role: + type: string + table: + type: string + required: + - instance + - member + - role + - table + type: object + 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 + 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 + 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. + 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 + status: + description: TableIAMMemberStatus defines the observed state of TableIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigtable.gcp.jet.crossplane.io_tableiampolicies.yaml b/package/crds/bigtable.gcp.jet.crossplane.io_tableiampolicies.yaml new file mode 100644 index 00000000..594bee8e --- /dev/null +++ b/package/crds/bigtable.gcp.jet.crossplane.io_tableiampolicies.yaml @@ -0,0 +1,178 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tableiampolicies.bigtable.gcp.jet.crossplane.io +spec: + group: bigtable.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TableIAMPolicy + listKind: TableIAMPolicyList + plural: tableiampolicies + singular: tableiampolicy + 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: TableIAMPolicy is the Schema for the TableIAMPolicys 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: TableIAMPolicySpec defines the desired state of TableIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + instance: + type: string + policyData: + type: string + project: + type: string + table: + type: string + required: + - instance + - policyData + - table + type: object + 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 + 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 + 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. + 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 + status: + description: TableIAMPolicyStatus defines the observed state of TableIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/bigtable.gcp.jet.crossplane.io_tables.yaml b/package/crds/bigtable.gcp.jet.crossplane.io_tables.yaml new file mode 100644 index 00000000..b81590ea --- /dev/null +++ b/package/crds/bigtable.gcp.jet.crossplane.io_tables.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tables.bigtable.gcp.jet.crossplane.io +spec: + group: bigtable.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Table + listKind: TableList + plural: tables + singular: table + 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: Table is the Schema for the Tables 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: TableSpec defines the desired state of Table + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + columnFamily: + description: A group of columns within a table which share a common + configuration. This can be specified multiple times. + items: + properties: + family: + description: The name of the column family. + type: string + required: + - family + type: object + type: array + instanceName: + description: The name of the Bigtable instance. + type: string + name: + description: The name of the table. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + splitKeys: + description: 'A list of predefined keys to split the table on. + !> Warning: Modifying the split_keys of an existing table will + cause Terraform to delete/recreate the entire google_bigtable_table + resource.' + items: + type: string + type: array + required: + - instanceName + - name + type: object + 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 + 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 + 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. + 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 + status: + description: TableStatus defines the observed state of Table. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/billing.gcp.jet.crossplane.io_accountiambindings.yaml b/package/crds/billing.gcp.jet.crossplane.io_accountiambindings.yaml new file mode 100644 index 00000000..8e1c2489 --- /dev/null +++ b/package/crds/billing.gcp.jet.crossplane.io_accountiambindings.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: accountiambindings.billing.gcp.jet.crossplane.io +spec: + group: billing.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AccountIAMBinding + listKind: AccountIAMBindingList + plural: accountiambindings + singular: accountiambinding + 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: AccountIAMBinding is the Schema for the AccountIAMBindings 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: AccountIAMBindingSpec defines the desired state of AccountIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + billingAccountId: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + role: + type: string + required: + - billingAccountId + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: AccountIAMBindingStatus defines the observed state of AccountIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/billing.gcp.jet.crossplane.io_accountiammembers.yaml b/package/crds/billing.gcp.jet.crossplane.io_accountiammembers.yaml new file mode 100644 index 00000000..c4ecef54 --- /dev/null +++ b/package/crds/billing.gcp.jet.crossplane.io_accountiammembers.yaml @@ -0,0 +1,190 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: accountiammembers.billing.gcp.jet.crossplane.io +spec: + group: billing.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AccountIAMMember + listKind: AccountIAMMemberList + plural: accountiammembers + singular: accountiammember + 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: AccountIAMMember is the Schema for the AccountIAMMembers 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: AccountIAMMemberSpec defines the desired state of AccountIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + billingAccountId: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + role: + type: string + required: + - billingAccountId + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: AccountIAMMemberStatus defines the observed state of AccountIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/billing.gcp.jet.crossplane.io_accountiampolicies.yaml b/package/crds/billing.gcp.jet.crossplane.io_accountiampolicies.yaml new file mode 100644 index 00000000..499a70b3 --- /dev/null +++ b/package/crds/billing.gcp.jet.crossplane.io_accountiampolicies.yaml @@ -0,0 +1,173 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: accountiampolicies.billing.gcp.jet.crossplane.io +spec: + group: billing.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AccountIAMPolicy + listKind: AccountIAMPolicyList + plural: accountiampolicies + singular: accountiampolicy + 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: AccountIAMPolicy is the Schema for the AccountIAMPolicys 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: AccountIAMPolicySpec defines the desired state of AccountIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + billingAccountId: + type: string + policyData: + type: string + required: + - billingAccountId + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: AccountIAMPolicyStatus defines the observed state of AccountIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/billing.gcp.jet.crossplane.io_budgets.yaml b/package/crds/billing.gcp.jet.crossplane.io_budgets.yaml new file mode 100644 index 00000000..52ef972c --- /dev/null +++ b/package/crds/billing.gcp.jet.crossplane.io_budgets.yaml @@ -0,0 +1,327 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: budgets.billing.gcp.jet.crossplane.io +spec: + group: billing.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Budget + listKind: BudgetList + plural: budgets + singular: budget + 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: Budget is the Schema for the Budgets 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: BudgetSpec defines the desired state of Budget + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + allUpdatesRule: + description: Defines notifications that are sent on every update + to the billing account's spend, regardless of the thresholds + defined using threshold rules. + items: + properties: + disableDefaultIamRecipients: + description: Boolean. When set to true, disables default + notifications sent when a threshold is exceeded. Default + recipients are those with Billing Account Administrators + and Billing Account Users IAM roles for the target account. + type: boolean + monitoringNotificationChannels: + description: The full resource name of a monitoring notification + channel in the form projects/{project_id}/notificationChannels/{channel_id}. + A maximum of 5 channels are allowed. + items: + type: string + type: array + pubsubTopic: + description: The name of the Cloud Pub/Sub topic where budget + related messages will be published, in the form projects/{project_id}/topics/{topic_id}. + Updates are sent at regular intervals to the topic. + type: string + schemaVersion: + description: The schema version of the notification. Only + "1.0" is accepted. It represents the JSON schema as defined + in https://cloud.google.com/billing/docs/how-to/budgets#notification_format. + type: string + type: object + type: array + amount: + description: The budgeted amount for each usage period. + items: + properties: + lastPeriodAmount: + description: Configures a budget amount that is automatically + set to 100% of last period's spend. Boolean. Set value + to true to use. Do not set to false, instead use the 'specified_amount' + block. + type: boolean + specifiedAmount: + description: A specified amount to use as the budget. currencyCode + is optional. If specified, it must match the currency + of the billing account. The currencyCode is provided on + output. + items: + properties: + currencyCode: + description: The 3-letter currency code defined in + ISO 4217. + type: string + nanos: + description: Number of nano (10^-9) units of the amount. + The value must be between -999,999,999 and +999,999,999 + inclusive. If units is positive, nanos must be positive + or zero. If units is zero, nanos can be positive, + zero, or negative. If units is negative, nanos must + be negative or zero. For example $-1.75 is represented + as units=-1 and nanos=-750,000,000. + format: int64 + type: integer + units: + description: The whole units of the amount. For example + if currencyCode is "USD", then 1 unit is one US + dollar. + type: string + type: object + type: array + type: object + type: array + billingAccount: + description: ID of the billing account to set a budget on. + type: string + budgetFilter: + description: Filters that define which resources are used to compute + the actual spend against the budget. + items: + properties: + creditTypes: + description: A set of subaccounts of the form billingAccounts/{account_id}, + specifying that usage from only this set of subaccounts + should be included in the budget. If a subaccount is set + to the name of the parent account, usage from the parent + account will be included. If the field is omitted, the + report will include usage from the parent account and + all subaccounts, if they exist. + items: + type: string + type: array + creditTypesTreatment: + description: 'Specifies how credits should be treated when + determining spend for threshold calculations. Default + value: "INCLUDE_ALL_CREDITS" Possible values: ["INCLUDE_ALL_CREDITS", + "EXCLUDE_ALL_CREDITS", "INCLUDE_SPECIFIED_CREDITS"]' + type: string + labels: + additionalProperties: + type: string + description: A single label and value pair specifying that + usage from only this set of labeled resources should be + included in the budget. + type: object + projects: + description: A set of projects of the form projects/{project_number}, + specifying that usage from only this set of projects should + be included in the budget. If omitted, the report will + include all usage for the billing account, regardless + of which project the usage occurred on. + items: + type: string + type: array + services: + description: 'A set of services of the form services/{service_id}, + specifying that usage from only this set of services should + be included in the budget. If omitted, the report will + include usage for all the services. The service names + are available through the Catalog API: https://cloud.google.com/billing/v1/how-tos/catalog-api.' + items: + type: string + type: array + subaccounts: + description: A set of subaccounts of the form billingAccounts/{account_id}, + specifying that usage from only this set of subaccounts + should be included in the budget. If a subaccount is set + to the name of the parent account, usage from the parent + account will be included. If the field is omitted, the + report will include usage from the parent account and + all subaccounts, if they exist. + items: + type: string + type: array + type: object + type: array + displayName: + description: User data for display name in UI. Must be <= 60 chars. + type: string + thresholdRules: + description: Rules that trigger alerts (notifications of thresholds + being crossed) when spend exceeds the specified percentages + of the budget. + items: + properties: + spendBasis: + description: 'The type of basis used to determine if spend + has passed the threshold. Default value: "CURRENT_SPEND" + Possible values: ["CURRENT_SPEND", "FORECASTED_SPEND"]' + type: string + thresholdPercent: + description: Send an alert when this threshold is exceeded. + This is a 1.0-based percentage, so 0.5 = 50%. Must be + >= 0. + type: number + required: + - thresholdPercent + type: object + type: array + required: + - amount + - billingAccount + - thresholdRules + type: object + 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 + 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 + 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. + 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 + status: + description: BudgetStatus defines the observed state of Budget. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/binaryauthorization.gcp.jet.crossplane.io_attestoriambindings.yaml b/package/crds/binaryauthorization.gcp.jet.crossplane.io_attestoriambindings.yaml new file mode 100644 index 00000000..6b92740c --- /dev/null +++ b/package/crds/binaryauthorization.gcp.jet.crossplane.io_attestoriambindings.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: attestoriambindings.binaryauthorization.gcp.jet.crossplane.io +spec: + group: binaryauthorization.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AttestorIAMBinding + listKind: AttestorIAMBindingList + plural: attestoriambindings + singular: attestoriambinding + 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: AttestorIAMBinding is the Schema for the AttestorIAMBindings + 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: AttestorIAMBindingSpec defines the desired state of AttestorIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + attestor: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + role: + type: string + required: + - attestor + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: AttestorIAMBindingStatus defines the observed state of AttestorIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/binaryauthorization.gcp.jet.crossplane.io_attestoriammembers.yaml b/package/crds/binaryauthorization.gcp.jet.crossplane.io_attestoriammembers.yaml new file mode 100644 index 00000000..57064c5f --- /dev/null +++ b/package/crds/binaryauthorization.gcp.jet.crossplane.io_attestoriammembers.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: attestoriammembers.binaryauthorization.gcp.jet.crossplane.io +spec: + group: binaryauthorization.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AttestorIAMMember + listKind: AttestorIAMMemberList + plural: attestoriammembers + singular: attestoriammember + 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: AttestorIAMMember is the Schema for the AttestorIAMMembers 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: AttestorIAMMemberSpec defines the desired state of AttestorIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + attestor: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + role: + type: string + required: + - attestor + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: AttestorIAMMemberStatus defines the observed state of AttestorIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/binaryauthorization.gcp.jet.crossplane.io_attestoriampolicies.yaml b/package/crds/binaryauthorization.gcp.jet.crossplane.io_attestoriampolicies.yaml new file mode 100644 index 00000000..7256ffc8 --- /dev/null +++ b/package/crds/binaryauthorization.gcp.jet.crossplane.io_attestoriampolicies.yaml @@ -0,0 +1,175 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: attestoriampolicies.binaryauthorization.gcp.jet.crossplane.io +spec: + group: binaryauthorization.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AttestorIAMPolicy + listKind: AttestorIAMPolicyList + plural: attestoriampolicies + singular: attestoriampolicy + 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: AttestorIAMPolicy is the Schema for the AttestorIAMPolicys 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: AttestorIAMPolicySpec defines the desired state of AttestorIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + attestor: + type: string + policyData: + type: string + project: + type: string + required: + - attestor + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: AttestorIAMPolicyStatus defines the observed state of AttestorIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/binaryauthorization.gcp.jet.crossplane.io_attestors.yaml b/package/crds/binaryauthorization.gcp.jet.crossplane.io_attestors.yaml new file mode 100644 index 00000000..a391f834 --- /dev/null +++ b/package/crds/binaryauthorization.gcp.jet.crossplane.io_attestors.yaml @@ -0,0 +1,256 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: attestors.binaryauthorization.gcp.jet.crossplane.io +spec: + group: binaryauthorization.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Attestor + listKind: AttestorList + plural: attestors + singular: attestor + 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: Attestor is the Schema for the Attestors 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: AttestorSpec defines the desired state of Attestor + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + attestationAuthorityNote: + description: A Container Analysis ATTESTATION_AUTHORITY Note, + created by the user. + items: + properties: + noteReference: + description: The resource name of a ATTESTATION_AUTHORITY + Note, created by the user. If the Note is in a different + project from the Attestor, it should be specified in the + format 'projects/*/notes/*' (or the legacy 'providers/*/notes/*'). + This field may not be updated. An attestation by this + attestor is stored as a Container Analysis ATTESTATION_AUTHORITY + Occurrence that names a container image and that links + to this Note. + type: string + publicKeys: + description: Public keys that verify attestations signed + by this attestor. This field may be updated. If this field + is non-empty, one of the specified public keys must verify + that an attestation was signed by this attestor for the + image specified in the admission request. If this field + is empty, this attestor always returns that no valid attestations + exist. + items: + properties: + asciiArmoredPgpPublicKey: + description: ASCII-armored representation of a PGP + public key, as the entire output by the command + 'gpg --export --armor foo@example.com' (either LF + or CRLF line endings). When using this field, id + should be left blank. The BinAuthz API handlers + will calculate the ID and fill it in automatically. + BinAuthz computes this ID as the OpenPGP RFC4880 + V4 fingerprint, represented as upper-case hex. If + id is provided by the caller, it will be overwritten + by the API-calculated ID. + type: string + comment: + description: A descriptive comment. This field may + be updated. + type: string + id: + description: The ID of this public key. Signatures + verified by BinAuthz must include the ID of the + public key that can be used to verify them, and + that ID must match the contents of this field exactly. + Additional restrictions on this field can be imposed + based on which public key type is encapsulated. + See the documentation on publicKey cases below for + details. + type: string + pkixPublicKey: + description: "A raw PKIX SubjectPublicKeyInfo format + public key. \n NOTE: id may be explicitly provided + by the caller when using this type of public key, + but it MUST be a valid RFC3986 URI. If id is left + blank, a default one will be computed based on the + digest of the DER encoding of the public key." + items: + properties: + publicKeyPem: + description: A PEM-encoded public key, as described + in 'https://tools.ietf.org/html/rfc7468#section-13' + type: string + signatureAlgorithm: + description: The signature algorithm used to + verify a message against a signature using + this key. These signature algorithm must match + the structure and any object identifiers encoded + in publicKeyPem (i.e. this algorithm must + match that of the public key). + type: string + type: object + type: array + type: object + type: array + required: + - noteReference + type: object + type: array + description: + description: A descriptive comment. This field may be updated. + The field may be displayed in chooser dialogs. + type: string + name: + description: The resource name. + type: string + project: + type: string + required: + - attestationAuthorityNote + - name + type: object + 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 + 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 + 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. + 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 + status: + description: AttestorStatus defines the observed state of Attestor. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/binaryauthorization.gcp.jet.crossplane.io_policies.yaml b/package/crds/binaryauthorization.gcp.jet.crossplane.io_policies.yaml new file mode 100644 index 00000000..6ea8e29f --- /dev/null +++ b/package/crds/binaryauthorization.gcp.jet.crossplane.io_policies.yaml @@ -0,0 +1,268 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: policies.binaryauthorization.gcp.jet.crossplane.io +spec: + group: binaryauthorization.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Policy + listKind: PolicyList + plural: policies + singular: policy + 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: Policy is the Schema for the Policys 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: PolicySpec defines the desired state of Policy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + admissionWhitelistPatterns: + description: A whitelist of image patterns to exclude from admission + rules. If an image's name matches a whitelist pattern, the image's + admission requests will always be permitted regardless of your + admission rules. + items: + properties: + namePattern: + description: An image name pattern to whitelist, in the + form 'registry/path/to/image'. This supports a trailing + * as a wildcard, but this is allowed only in text after + the registry/ part. + type: string + required: + - namePattern + type: object + type: array + clusterAdmissionRules: + description: "Per-cluster admission rules. An admission rule specifies + either that all container images used in a pod creation request + must be attested to by one or more attestors, that all pod creations + will be allowed, or that all pod creations will be denied. There + can be at most one admission rule per cluster spec. \n Identifier + format: '{{location}}.{{clusterId}}'. A location is either a + compute zone (e.g. 'us-central1-a') or a region (e.g. 'us-central1')." + items: + properties: + cluster: + type: string + enforcementMode: + description: 'The action when a pod creation is denied by + the admission rule. Possible values: ["ENFORCED_BLOCK_AND_AUDIT_LOG", + "DRYRUN_AUDIT_LOG_ONLY"]' + type: string + evaluationMode: + description: 'How this admission rule will be evaluated. + Possible values: ["ALWAYS_ALLOW", "REQUIRE_ATTESTATION", + "ALWAYS_DENY"]' + type: string + requireAttestationsBy: + description: "The resource names of the attestors that must + attest to a container image. If the attestor is in a different + project from the policy, it should be specified in the + format 'projects/*/attestors/*'. Each attestor must exist + before a policy can reference it. To add an attestor to + a policy the principal issuing the policy change request + must be able to read the attestor resource. \n Note: this + field must be non-empty when the evaluation_mode field + specifies REQUIRE_ATTESTATION, otherwise it must be empty." + items: + type: string + type: array + required: + - cluster + - enforcementMode + - evaluationMode + type: object + type: array + defaultAdmissionRule: + description: Default admission rule for a cluster without a per-cluster + admission rule. + items: + properties: + enforcementMode: + description: 'The action when a pod creation is denied by + the admission rule. Possible values: ["ENFORCED_BLOCK_AND_AUDIT_LOG", + "DRYRUN_AUDIT_LOG_ONLY"]' + type: string + evaluationMode: + description: 'How this admission rule will be evaluated. + Possible values: ["ALWAYS_ALLOW", "REQUIRE_ATTESTATION", + "ALWAYS_DENY"]' + type: string + requireAttestationsBy: + description: "The resource names of the attestors that must + attest to a container image. If the attestor is in a different + project from the policy, it should be specified in the + format 'projects/*/attestors/*'. Each attestor must exist + before a policy can reference it. To add an attestor to + a policy the principal issuing the policy change request + must be able to read the attestor resource. \n Note: this + field must be non-empty when the evaluation_mode field + specifies REQUIRE_ATTESTATION, otherwise it must be empty." + items: + type: string + type: array + required: + - enforcementMode + - evaluationMode + type: object + type: array + description: + description: A descriptive comment. + type: string + globalPolicyEvaluationMode: + description: 'Controls the evaluation of a Google-maintained global + admission policy for common system-level images. Images not + covered by the global policy will be subject to the project + admission policy. Possible values: ["ENABLE", "DISABLE"]' + type: string + project: + type: string + required: + - defaultAdmissionRule + type: object + 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 + 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 + 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. + 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 + status: + description: PolicyStatus defines the observed state of Policy. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudasset.gcp.jet.crossplane.io_folderfeeds.yaml b/package/crds/cloudasset.gcp.jet.crossplane.io_folderfeeds.yaml new file mode 100644 index 00000000..843eb99c --- /dev/null +++ b/package/crds/cloudasset.gcp.jet.crossplane.io_folderfeeds.yaml @@ -0,0 +1,263 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: folderfeeds.cloudasset.gcp.jet.crossplane.io +spec: + group: cloudasset.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FolderFeed + listKind: FolderFeedList + plural: folderfeeds + singular: folderfeed + 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: FolderFeed is the Schema for the FolderFeeds 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: FolderFeedSpec defines the desired state of FolderFeed + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + assetNames: + description: 'A list of the full names of the assets to receive + updates. You must specify either or both of assetNames and assetTypes. + Only asset updates matching specified assetNames and assetTypes + are exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1. + See https://cloud.google.com/apis/design/resourceNames#fullResourceName + for more info.' + items: + type: string + type: array + assetTypes: + description: 'A list of types of the assets to receive updates. + You must specify either or both of assetNames and assetTypes. + Only asset updates matching specified assetNames and assetTypes + are exported to the feed. For example: "compute.googleapis.com/Disk" + See https://cloud.google.com/asset-inventory/docs/supported-asset-types + for a list of all supported asset types.' + items: + type: string + type: array + billingProject: + description: The project whose identity will be used when sending + messages to the destination pubsub topic. It also specifies + the project for API enablement check, quota, and billing. + type: string + condition: + description: 'A condition which determines whether an asset update + should be published. If specified, an asset will be returned + only when the expression evaluates to true. When set, expression + field must be a valid CEL expression on a TemporalAsset with + name temporal_asset. Example: a Feed with expression "temporal_asset.deleted + == true" will only publish Asset deletions. Other fields of + condition are optional.' + items: + properties: + description: + description: Description of the expression. This is a longer + text which describes the expression, e.g. when hovered + over it in a UI. + type: string + expression: + description: Textual representation of an expression in + Common Expression Language syntax. + type: string + location: + description: String indicating the location of the expression + for error reporting, e.g. a file name and a position in + the file. + type: string + title: + description: Title for the expression, i.e. a short string + describing its purpose. This can be used e.g. in UIs which + allow to enter the expression. + type: string + required: + - expression + type: object + type: array + contentType: + description: 'Asset content type. If not specified, no content + but the asset name and type will be returned. Possible values: + ["CONTENT_TYPE_UNSPECIFIED", "RESOURCE", "IAM_POLICY", "ORG_POLICY", + "ACCESS_POLICY"]' + type: string + feedId: + description: This is the client-assigned asset feed identifier + and it needs to be unique under a specific parent. + type: string + feedOutputConfig: + description: Output configuration for asset feed destination. + items: + properties: + pubsubDestination: + description: Destination on Cloud Pubsub. + items: + properties: + topic: + description: Destination on Cloud Pubsub topic. + type: string + required: + - topic + type: object + type: array + required: + - pubsubDestination + type: object + type: array + folder: + description: The folder this feed should be created in. + type: string + required: + - billingProject + - feedId + - feedOutputConfig + - folder + type: object + 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 + 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 + 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. + 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 + status: + description: FolderFeedStatus defines the observed state of FolderFeed. + properties: + atProvider: + properties: + folderId: + type: string + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudasset.gcp.jet.crossplane.io_organizationfeeds.yaml b/package/crds/cloudasset.gcp.jet.crossplane.io_organizationfeeds.yaml new file mode 100644 index 00000000..26d408cb --- /dev/null +++ b/package/crds/cloudasset.gcp.jet.crossplane.io_organizationfeeds.yaml @@ -0,0 +1,261 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: organizationfeeds.cloudasset.gcp.jet.crossplane.io +spec: + group: cloudasset.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: OrganizationFeed + listKind: OrganizationFeedList + plural: organizationfeeds + singular: organizationfeed + 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: OrganizationFeed is the Schema for the OrganizationFeeds 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: OrganizationFeedSpec defines the desired state of OrganizationFeed + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + assetNames: + description: 'A list of the full names of the assets to receive + updates. You must specify either or both of assetNames and assetTypes. + Only asset updates matching specified assetNames and assetTypes + are exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1. + See https://cloud.google.com/apis/design/resourceNames#fullResourceName + for more info.' + items: + type: string + type: array + assetTypes: + description: 'A list of types of the assets to receive updates. + You must specify either or both of assetNames and assetTypes. + Only asset updates matching specified assetNames and assetTypes + are exported to the feed. For example: "compute.googleapis.com/Disk" + See https://cloud.google.com/asset-inventory/docs/supported-asset-types + for a list of all supported asset types.' + items: + type: string + type: array + billingProject: + description: The project whose identity will be used when sending + messages to the destination pubsub topic. It also specifies + the project for API enablement check, quota, and billing. + type: string + condition: + description: 'A condition which determines whether an asset update + should be published. If specified, an asset will be returned + only when the expression evaluates to true. When set, expression + field must be a valid CEL expression on a TemporalAsset with + name temporal_asset. Example: a Feed with expression "temporal_asset.deleted + == true" will only publish Asset deletions. Other fields of + condition are optional.' + items: + properties: + description: + description: Description of the expression. This is a longer + text which describes the expression, e.g. when hovered + over it in a UI. + type: string + expression: + description: Textual representation of an expression in + Common Expression Language syntax. + type: string + location: + description: String indicating the location of the expression + for error reporting, e.g. a file name and a position in + the file. + type: string + title: + description: Title for the expression, i.e. a short string + describing its purpose. This can be used e.g. in UIs which + allow to enter the expression. + type: string + required: + - expression + type: object + type: array + contentType: + description: 'Asset content type. If not specified, no content + but the asset name and type will be returned. Possible values: + ["CONTENT_TYPE_UNSPECIFIED", "RESOURCE", "IAM_POLICY", "ORG_POLICY", + "ACCESS_POLICY"]' + type: string + feedId: + description: This is the client-assigned asset feed identifier + and it needs to be unique under a specific parent. + type: string + feedOutputConfig: + description: Output configuration for asset feed destination. + items: + properties: + pubsubDestination: + description: Destination on Cloud Pubsub. + items: + properties: + topic: + description: Destination on Cloud Pubsub topic. + type: string + required: + - topic + type: object + type: array + required: + - pubsubDestination + type: object + type: array + orgId: + description: The organization this feed should be created in. + type: string + required: + - billingProject + - feedId + - feedOutputConfig + - orgId + type: object + 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 + 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 + 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. + 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 + status: + description: OrganizationFeedStatus defines the observed state of OrganizationFeed. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudasset.gcp.jet.crossplane.io_projectfeeds.yaml b/package/crds/cloudasset.gcp.jet.crossplane.io_projectfeeds.yaml new file mode 100644 index 00000000..f1052c89 --- /dev/null +++ b/package/crds/cloudasset.gcp.jet.crossplane.io_projectfeeds.yaml @@ -0,0 +1,259 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectfeeds.cloudasset.gcp.jet.crossplane.io +spec: + group: cloudasset.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectFeed + listKind: ProjectFeedList + plural: projectfeeds + singular: projectfeed + 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: ProjectFeed is the Schema for the ProjectFeeds 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: ProjectFeedSpec defines the desired state of ProjectFeed + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + assetNames: + description: 'A list of the full names of the assets to receive + updates. You must specify either or both of assetNames and assetTypes. + Only asset updates matching specified assetNames and assetTypes + are exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1. + See https://cloud.google.com/apis/design/resourceNames#fullResourceName + for more info.' + items: + type: string + type: array + assetTypes: + description: 'A list of types of the assets to receive updates. + You must specify either or both of assetNames and assetTypes. + Only asset updates matching specified assetNames and assetTypes + are exported to the feed. For example: "compute.googleapis.com/Disk" + See https://cloud.google.com/asset-inventory/docs/supported-asset-types + for a list of all supported asset types.' + items: + type: string + type: array + billingProject: + description: The project whose identity will be used when sending + messages to the destination pubsub topic. It also specifies + the project for API enablement check, quota, and billing. If + not specified, the resource's project will be used. + type: string + condition: + description: 'A condition which determines whether an asset update + should be published. If specified, an asset will be returned + only when the expression evaluates to true. When set, expression + field must be a valid CEL expression on a TemporalAsset with + name temporal_asset. Example: a Feed with expression "temporal_asset.deleted + == true" will only publish Asset deletions. Other fields of + condition are optional.' + items: + properties: + description: + description: Description of the expression. This is a longer + text which describes the expression, e.g. when hovered + over it in a UI. + type: string + expression: + description: Textual representation of an expression in + Common Expression Language syntax. + type: string + location: + description: String indicating the location of the expression + for error reporting, e.g. a file name and a position in + the file. + type: string + title: + description: Title for the expression, i.e. a short string + describing its purpose. This can be used e.g. in UIs which + allow to enter the expression. + type: string + required: + - expression + type: object + type: array + contentType: + description: 'Asset content type. If not specified, no content + but the asset name and type will be returned. Possible values: + ["CONTENT_TYPE_UNSPECIFIED", "RESOURCE", "IAM_POLICY", "ORG_POLICY", + "ACCESS_POLICY"]' + type: string + feedId: + description: This is the client-assigned asset feed identifier + and it needs to be unique under a specific parent. + type: string + feedOutputConfig: + description: Output configuration for asset feed destination. + items: + properties: + pubsubDestination: + description: Destination on Cloud Pubsub. + items: + properties: + topic: + description: Destination on Cloud Pubsub topic. + type: string + required: + - topic + type: object + type: array + required: + - pubsubDestination + type: object + type: array + project: + type: string + required: + - feedId + - feedOutputConfig + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectFeedStatus defines the observed state of ProjectFeed. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudbuild.gcp.jet.crossplane.io_triggers.yaml b/package/crds/cloudbuild.gcp.jet.crossplane.io_triggers.yaml new file mode 100644 index 00000000..d6b2485c --- /dev/null +++ b/package/crds/cloudbuild.gcp.jet.crossplane.io_triggers.yaml @@ -0,0 +1,803 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: triggers.cloudbuild.gcp.jet.crossplane.io +spec: + group: cloudbuild.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Trigger + listKind: TriggerList + plural: triggers + singular: trigger + 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: Trigger is the Schema for the Triggers 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: TriggerSpec defines the desired state of Trigger + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + build: + description: Contents of the build template. Either a filename + or build template must be provided. + items: + properties: + artifacts: + description: Artifacts produced by the build that should + be uploaded upon successful completion of all build steps. + items: + properties: + images: + description: "A list of images to be pushed upon the + successful completion of all build steps. \n The + images will be pushed using the builder service + account's credentials. \n The digests of the pushed + images will be stored in the Build resource's results + field. \n If any of the images fail to be pushed, + the build is marked FAILURE." + items: + type: string + type: array + objects: + description: "A list of objects to be uploaded to + Cloud Storage upon successful completion of all + build steps. \n Files in the workspace matching + specified paths globs will be uploaded to the Cloud + Storage location using the builder service account's + credentials. \n The location and generation of the + uploaded objects will be stored in the Build resource's + results field. \n If any objects fail to be pushed, + the build is marked FAILURE." + items: + properties: + location: + description: "Cloud Storage bucket and optional + object path, in the form \"gs://bucket/path/to/somewhere/\". + \n Files in the workspace matching any path + pattern will be uploaded to Cloud Storage + with this location as a prefix." + type: string + paths: + description: Path globs used to match files + in the build's workspace. + items: + type: string + type: array + type: object + type: array + type: object + type: array + images: + description: A list of images to be pushed upon the successful + completion of all build steps. The images are pushed using + the builder service account's credentials. The digests + of the pushed images will be stored in the Build resource's + results field. If any of the images fail to be pushed, + the build status is marked FAILURE. + items: + type: string + type: array + logsBucket: + description: Google Cloud Storage bucket where logs should + be written. Logs file names will be of the format ${logsBucket}/log-${build_id}.txt. + type: string + options: + description: Special options for this build. + items: + properties: + diskSizeGb: + description: Requested disk size for the VM that runs + the build. Note that this is NOT "disk free"; some + of the space will be used by the operating system + and build utilities. Also note that this is the + minimum disk size that will be allocated for the + build -- the build may run with a larger disk than + requested. At present, the maximum disk size is + 1000GB; builds that request more than the maximum + are rejected with an error. + format: int64 + type: integer + dynamicSubstitutions: + description: "Option to specify whether or not to + apply bash style string operations to the substitutions. + \n NOTE this is always enabled for triggered builds + and cannot be overridden in the build configuration + file." + type: boolean + env: + description: "A list of global environment variable + definitions that will exist for all build steps + in this build. If a variable is defined in both + globally and in a build step, the variable will + use the build step value. \n The elements are of + the form \"KEY=VALUE\" for the environment variable + \"KEY\" being given the value \"VALUE\"." + items: + type: string + type: array + logStreamingOption: + description: 'Option to define build log streaming + behavior to Google Cloud Storage. Possible values: + ["STREAM_DEFAULT", "STREAM_ON", "STREAM_OFF"]' + type: string + logging: + description: 'Option to specify the logging mode, + which determines if and where build logs are stored. + Possible values: ["LOGGING_UNSPECIFIED", "LEGACY", + "GCS_ONLY", "STACKDRIVER_ONLY", "NONE"]' + type: string + machineType: + description: 'Compute Engine machine type on which + to run the build. Possible values: ["UNSPECIFIED", + "N1_HIGHCPU_8", "N1_HIGHCPU_32", "E2_HIGHCPU_8", + "E2_HIGHCPU_32"]' + type: string + requestedVerifyOption: + description: 'Requested verifiability options. Possible + values: ["NOT_VERIFIED", "VERIFIED"]' + type: string + secretEnv: + description: A list of global environment variables, + which are encrypted using a Cloud Key Management + Service crypto key. These values must be specified + in the build's Secret. These variables will be available + to all build steps in this build. + items: + type: string + type: array + sourceProvenanceHash: + description: 'Requested hash for SourceProvenance. + Possible values: ["NONE", "SHA256", "MD5"]' + items: + type: string + type: array + substitutionOption: + description: "Option to specify behavior when there + is an error in the substitution checks. \n NOTE + this is always set to ALLOW_LOOSE for triggered + builds and cannot be overridden in the build configuration + file. Possible values: [\"MUST_MATCH\", \"ALLOW_LOOSE\"]" + type: string + volumes: + description: "Global list of volumes to mount for + ALL build steps \n Each volume is created as an + empty volume prior to starting the build process. + Upon completion of the build, volumes and their + contents are discarded. Global volume names and + paths cannot conflict with the volumes defined a + build step. \n Using a global volume in a build + with only one step is not valid as it is indicative + of a build request with an incorrect configuration." + items: + properties: + name: + description: "Name of the volume to mount. \n + Volume names must be unique per build step + and must be valid names for Docker volumes. + Each named volume must be used by at least + two build steps." + type: string + path: + description: "Path at which to mount the volume. + \n Paths must be absolute and cannot conflict + with other volume paths on the same build + step or with certain reserved volume paths." + type: string + type: object + type: array + workerPool: + description: "Option to specify a WorkerPool for the + build. Format projects/{project}/workerPools/{workerPool} + \n This field is experimental." + type: string + type: object + type: array + queueTtl: + description: 'TTL in queue for this build. If provided and + the build is enqueued longer than this value, the build + will expire and the build status will be EXPIRED. The + TTL starts ticking from createTime. A duration in seconds + with up to nine fractional digits, terminated by ''s''. + Example: "3.5s".' + type: string + secret: + description: Secrets to decrypt using Cloud Key Management + Service. + items: + properties: + kmsKeyName: + description: Cloud KMS key name to use to decrypt + these envs. + type: string + secretEnv: + additionalProperties: + type: string + description: Map of environment variable name to its + encrypted value. Secret environment variables must + be unique across all of a build's secrets, and must + be used by at least one build step. Values can be + at most 64 KB in size. There can be at most 100 + secret values across all of a build's secrets. + type: object + required: + - kmsKeyName + type: object + type: array + source: + description: "The location of the source files to build. + \n One of 'storageSource' or 'repoSource' must be provided." + items: + properties: + repoSource: + description: Location of the source in a Google Cloud + Source Repository. + items: + properties: + branchName: + description: Regex matching branches to build. + Exactly one a of branch name, tag, or commit + SHA must be provided. The syntax of the regular + expressions accepted is the syntax accepted + by RE2 and described at https://github.com/google/re2/wiki/Syntax + type: string + commitSha: + description: Explicit commit SHA to build. Exactly + one a of branch name, tag, or commit SHA must + be provided. + type: string + dir: + description: Directory, relative to the source + root, in which to run the build. This must + be a relative path. If a step's dir is specified + and is an absolute path, this value is ignored + for that step's execution. + type: string + invertRegex: + description: Only trigger a build if the revision + regex does NOT match the revision regex. + type: boolean + projectId: + description: ID of the project that owns the + Cloud Source Repository. If omitted, the project + ID requesting the build is assumed. + type: string + repoName: + description: Name of the Cloud Source Repository. + type: string + substitutions: + additionalProperties: + type: string + description: Substitutions to use in a triggered + build. Should only be used with triggers.run + type: object + tagName: + description: Regex matching tags to build. Exactly + one a of branch name, tag, or commit SHA must + be provided. The syntax of the regular expressions + accepted is the syntax accepted by RE2 and + described at https://github.com/google/re2/wiki/Syntax + type: string + required: + - repoName + type: object + type: array + storageSource: + description: Location of the source in an archive + file in Google Cloud Storage. + items: + properties: + bucket: + description: Google Cloud Storage bucket containing + the source. + type: string + generation: + description: Google Cloud Storage generation + for the object. If the generation is omitted, + the latest generation will be used + type: string + object: + description: Google Cloud Storage object containing + the source. This object must be a gzipped + archive file (.tar.gz) containing source to + build. + type: string + required: + - bucket + - object + type: object + type: array + type: object + type: array + step: + description: The operations to be performed on the workspace. + items: + properties: + args: + description: "A list of arguments that will be presented + to the step when it is started. \n If the image + used to run the step's container has an entrypoint, + the args are used as arguments to that entrypoint. + If the image does not define an entrypoint, the + first element in args is used as the entrypoint, + and the remainder will be used as arguments." + items: + type: string + type: array + dir: + description: "Working directory to use when running + this step's container. \n If this value is a relative + path, it is relative to the build's working directory. + If this value is absolute, it may be outside the + build's working directory, in which case the contents + of the path may not be persisted across build step + executions, unless a 'volume' for that path is specified. + \n If the build specifies a 'RepoSource' with 'dir' + and a step with a 'dir', which specifies an absolute + path, the 'RepoSource' 'dir' is ignored for the + step's execution." + type: string + entrypoint: + description: Entrypoint to be used instead of the + build step image's default entrypoint. If unset, + the image's default entrypoint is used + type: string + env: + description: "A list of environment variable definitions + to be used when running a step. \n The elements + are of the form \"KEY=VALUE\" for the environment + variable \"KEY\" being given the value \"VALUE\"." + items: + type: string + type: array + id: + description: Unique identifier for this build step, + used in 'wait_for' to reference this build step + as a dependency. + type: string + name: + description: "The name of the container image that + will run this particular build step. \n If the image + is available in the host's Docker daemon's cache, + it will be run directly. If not, the host will attempt + to pull the image first, using the builder service + account's credentials if necessary. \n The Docker + daemon's cache will already have the latest versions + of all of the officially supported build steps (see + https://github.com/GoogleCloudPlatform/cloud-builders + for images and examples). The Docker daemon will + also have cached many of the layers for some popular + images, like \"ubuntu\", \"debian\", but they will + be refreshed at the time you attempt to use them. + \n If you built an image in a previous build step, + it will be stored in the host's Docker daemon's + cache and is available to use as the name for a + later build step." + type: string + secretEnv: + description: A list of environment variables which + are encrypted using a Cloud Key Management Service + crypto key. These values must be specified in the + build's 'Secret'. + items: + type: string + type: array + timeout: + description: Time limit for executing this build step. + If not defined, the step has no time limit and will + be allowed to continue to run until either it completes + or the build itself times out. + type: string + timing: + description: Output only. Stores timing information + for executing this build step. + type: string + volumes: + description: "List of volumes to mount into the build + step. \n Each volume is created as an empty volume + prior to execution of the build step. Upon completion + of the build, volumes and their contents are discarded. + \n Using a named volume in only one step is not + valid as it is indicative of a build request with + an incorrect configuration." + items: + properties: + name: + description: "Name of the volume to mount. \n + Volume names must be unique per build step + and must be valid names for Docker volumes. + Each named volume must be used by at least + two build steps." + type: string + path: + description: "Path at which to mount the volume. + \n Paths must be absolute and cannot conflict + with other volume paths on the same build + step or with certain reserved volume paths." + type: string + required: + - name + - path + type: object + type: array + waitFor: + description: "The ID(s) of the step(s) that this build + step depends on. \n This build step will not start + until all the build steps in 'wait_for' have completed + successfully. If 'wait_for' is empty, this build + step will start when all previous build steps in + the 'Build.Steps' list have completed successfully." + items: + type: string + type: array + required: + - name + type: object + type: array + substitutions: + additionalProperties: + type: string + description: Substitutions data for Build resource. + type: object + tags: + description: Tags for annotation of a Build. These are not + docker tags. + items: + type: string + type: array + timeout: + description: Amount of time that this build should be allowed + to run, to second granularity. If this amount of time + elapses, work on the build will cease and the build status + will be TIMEOUT. This timeout must be equal to or greater + than the sum of the timeouts for build steps within the + build. The expected format is the number of seconds followed + by s. Default time is ten minutes (600s). + type: string + required: + - step + type: object + type: array + description: + description: Human-readable description of the trigger. + type: string + disabled: + description: Whether the trigger is disabled or not. If true, + the trigger will never result in a build. + type: boolean + filename: + description: Path, from the source root, to a file whose contents + is used for the template. Either a filename or build template + must be provided. + type: string + github: + description: "Describes the configuration of a trigger that creates + a build whenever a GitHub event is received. \n One of 'trigger_template', + 'github', 'pubsub_config' or 'webhook_config' must be provided." + items: + properties: + name: + description: 'Name of the repository. For example: The name + for https://github.com/googlecloudplatform/cloud-builders + is "cloud-builders".' + type: string + owner: + description: 'Owner of the repository. For example: The + owner for https://github.com/googlecloudplatform/cloud-builders + is "googlecloudplatform".' + type: string + pullRequest: + description: filter to match changes in pull requests. Specify + only one of pullRequest or push. + items: + properties: + branch: + description: Regex of branches to match. + type: string + commentControl: + description: 'Whether to block builds on a "/gcbrun" + comment from a repository owner or collaborator. + Possible values: ["COMMENTS_DISABLED", "COMMENTS_ENABLED", + "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"]' + type: string + invertRegex: + description: If true, branches that do NOT match the + git_ref will trigger a build. + type: boolean + required: + - branch + type: object + type: array + push: + description: filter to match changes in refs, like branches + or tags. Specify only one of pullRequest or push. + items: + properties: + branch: + description: Regex of branches to match. Specify + only one of branch or tag. + type: string + invertRegex: + description: When true, only trigger a build if the + revision regex does NOT match the git_ref regex. + type: boolean + tag: + description: Regex of tags to match. Specify only + one of branch or tag. + type: string + type: object + type: array + type: object + type: array + ignoredFiles: + description: "ignoredFiles and includedFiles are file glob matches + using https://golang.org/pkg/path/filepath/#Match extended with + support for '**'. \n If ignoredFiles and changed files are both + empty, then they are not used to determine whether or not to + trigger a build. \n If ignoredFiles is not empty, then we ignore + any files that match any of the ignored_file globs. If the change + has no files that are outside of the ignoredFiles globs, then + we do not trigger a build." + items: + type: string + type: array + includedFiles: + description: "ignoredFiles and includedFiles are file glob matches + using https://golang.org/pkg/path/filepath/#Match extended with + support for '**'. \n If any of the files altered in the commit + pass the ignoredFiles filter and includedFiles is empty, then + as far as this filter is concerned, we should trigger the build. + \n If any of the files altered in the commit pass the ignoredFiles + filter and includedFiles is not empty, then we make sure that + at least one of those files matches a includedFiles glob. If + not, then we do not trigger a build." + items: + type: string + type: array + name: + description: Name of the trigger. Must be unique within the project. + type: string + project: + type: string + pubsubConfig: + description: "PubsubConfig describes the configuration of a trigger + that creates a build whenever a Pub/Sub message is published. + \n One of 'trigger_template', 'github', 'pubsub_config' or 'webhook_config' + must be provided." + items: + properties: + serviceAccountEmail: + description: Service account that will make the push request. + type: string + topic: + description: The name of the topic from which this subscription + is receiving messages. + type: string + required: + - topic + type: object + type: array + serviceAccount: + description: "The service account used for all user-controlled + operations including triggers.patch, triggers.run, builds.create, + and builds.cancel. \n If no service account is set, then the + standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) + will be used instead. \n Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}" + type: string + substitutions: + additionalProperties: + type: string + description: Substitutions data for Build resource. + type: object + tags: + description: Tags for annotation of a BuildTrigger + items: + type: string + type: array + triggerTemplate: + description: "Template describing the types of source changes + to trigger a build. \n Branch and tag names in trigger templates + are interpreted as regular expressions. Any branch or tag change + that matches that regular expression will trigger a build. \n + One of 'trigger_template', 'github', 'pubsub_config' or 'webhook_config' + must be provided." + items: + properties: + branchName: + description: Name of the branch to build. Exactly one a + of branch name, tag, or commit SHA must be provided. This + field is a regular expression. + type: string + commitSha: + description: Explicit commit SHA to build. Exactly one of + a branch name, tag, or commit SHA must be provided. + type: string + dir: + description: "Directory, relative to the source root, in + which to run the build. \n This must be a relative path. + If a step's dir is specified and is an absolute path, + this value is ignored for that step's execution." + type: string + invertRegex: + description: Only trigger a build if the revision regex + does NOT match the revision regex. + type: boolean + projectId: + description: ID of the project that owns the Cloud Source + Repository. If omitted, the project ID requesting the + build is assumed. + type: string + repoName: + description: Name of the Cloud Source Repository. If omitted, + the name "default" is assumed. + type: string + tagName: + description: Name of the tag to build. Exactly one of a + branch name, tag, or commit SHA must be provided. This + field is a regular expression. + type: string + type: object + type: array + webhookConfig: + description: "WebhookConfig describes the configuration of a trigger + that creates a build whenever a webhook is sent to a trigger's + webhook URL. \n One of 'trigger_template', 'github', 'pubsub_config' + or 'webhook_config' must be provided." + items: + properties: + secret: + description: Resource name for the secret required as a + URL parameter. + type: string + required: + - secret + type: object + type: array + type: object + 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 + 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 + 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. + 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 + status: + description: TriggerStatus defines the observed state of Trigger. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + triggerId: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudfunctions.gcp.jet.crossplane.io_functioniambindings.yaml b/package/crds/cloudfunctions.gcp.jet.crossplane.io_functioniambindings.yaml new file mode 100644 index 00000000..ba6eaaf4 --- /dev/null +++ b/package/crds/cloudfunctions.gcp.jet.crossplane.io_functioniambindings.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: functioniambindings.cloudfunctions.gcp.jet.crossplane.io +spec: + group: cloudfunctions.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FunctionIAMBinding + listKind: FunctionIAMBindingList + plural: functioniambindings + singular: functioniambinding + 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: FunctionIAMBinding is the Schema for the FunctionIAMBindings + 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: FunctionIAMBindingSpec defines the desired state of FunctionIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + cloudFunction: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + region: + type: string + role: + type: string + required: + - cloudFunction + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: FunctionIAMBindingStatus defines the observed state of FunctionIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudfunctions.gcp.jet.crossplane.io_functioniammembers.yaml b/package/crds/cloudfunctions.gcp.jet.crossplane.io_functioniammembers.yaml new file mode 100644 index 00000000..6a7db80c --- /dev/null +++ b/package/crds/cloudfunctions.gcp.jet.crossplane.io_functioniammembers.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: functioniammembers.cloudfunctions.gcp.jet.crossplane.io +spec: + group: cloudfunctions.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FunctionIAMMember + listKind: FunctionIAMMemberList + plural: functioniammembers + singular: functioniammember + 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: FunctionIAMMember is the Schema for the FunctionIAMMembers 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: FunctionIAMMemberSpec defines the desired state of FunctionIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + cloudFunction: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + region: + type: string + role: + type: string + required: + - cloudFunction + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: FunctionIAMMemberStatus defines the observed state of FunctionIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudfunctions.gcp.jet.crossplane.io_functioniampolicies.yaml b/package/crds/cloudfunctions.gcp.jet.crossplane.io_functioniampolicies.yaml new file mode 100644 index 00000000..18ffb994 --- /dev/null +++ b/package/crds/cloudfunctions.gcp.jet.crossplane.io_functioniampolicies.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: functioniampolicies.cloudfunctions.gcp.jet.crossplane.io +spec: + group: cloudfunctions.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FunctionIAMPolicy + listKind: FunctionIAMPolicyList + plural: functioniampolicies + singular: functioniampolicy + 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: FunctionIAMPolicy is the Schema for the FunctionIAMPolicys 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: FunctionIAMPolicySpec defines the desired state of FunctionIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + cloudFunction: + type: string + policyData: + type: string + project: + type: string + region: + type: string + required: + - cloudFunction + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: FunctionIAMPolicyStatus defines the observed state of FunctionIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudfunctions.gcp.jet.crossplane.io_functions.yaml b/package/crds/cloudfunctions.gcp.jet.crossplane.io_functions.yaml new file mode 100644 index 00000000..1919ec04 --- /dev/null +++ b/package/crds/cloudfunctions.gcp.jet.crossplane.io_functions.yaml @@ -0,0 +1,308 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: functions.cloudfunctions.gcp.jet.crossplane.io +spec: + group: cloudfunctions.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Function + listKind: FunctionList + plural: functions + singular: function + 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: Function is the Schema for the Functions 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: FunctionSpec defines the desired state of Function + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + availableMemoryMb: + description: Memory (in MB), available to the function. Default + value is 256. Possible values include 128, 256, 512, 1024, etc. + format: int64 + type: integer + buildEnvironmentVariables: + additionalProperties: + type: string + description: A set of key/value environment variable pairs available + during build time. + type: object + description: + description: Description of the function. + type: string + entryPoint: + description: Name of the function that will be executed when the + Google Cloud Function is triggered. + type: string + environmentVariables: + additionalProperties: + type: string + description: A set of key/value environment variable pairs to + assign to the function. + type: object + eventTrigger: + description: A source that fires events in response to a condition + in another service. Cannot be used with trigger_http. + items: + properties: + eventType: + description: 'The type of event to observe. For example: + "google.storage.object.finalize". See the documentation + on calling Cloud Functions for a full reference of accepted + triggers.' + type: string + failurePolicy: + description: Specifies policy for failed executions + items: + properties: + retry: + description: Whether the function should be retried + on failure. Defaults to false. + type: boolean + required: + - retry + type: object + type: array + resource: + description: The name or partial URI of the resource from + which to observe events. For example, "myBucket" or "projects/my-project/topics/my-topic" + type: string + required: + - eventType + - resource + type: object + type: array + httpsTriggerUrl: + description: URL which triggers function execution. Returned only + if trigger_http is used. + type: string + ingressSettings: + description: String value that controls what traffic can reach + the function. Allowed values are ALLOW_ALL and ALLOW_INTERNAL_ONLY. + Changes to this field will recreate the cloud function. + type: string + labels: + additionalProperties: + type: string + description: A set of key/value label pairs to assign to the function. + Label keys must follow the requirements at https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements. + type: object + maxInstances: + description: The limit on the maximum number of function instances + that may coexist at a given time. + format: int64 + type: integer + name: + description: A user-defined name of the function. Function names + must be unique globally. + type: string + project: + description: Project of the function. If it is not provided, the + provider project is used. + type: string + region: + description: Region of function. If it is not provided, the provider + region is used. + type: string + runtime: + description: The runtime in which the function is going to run. + Eg. "nodejs8", "nodejs10", "python37", "go111". + type: string + serviceAccountEmail: + description: If provided, the self-provided service account to + run the function with. + type: string + sourceArchiveBucket: + description: The GCS bucket containing the zip archive which contains + the function. + type: string + sourceArchiveObject: + description: The source archive object (file) in archive bucket. + type: string + sourceRepository: + description: Represents parameters related to source repository + where a function is hosted. Cannot be set alongside source_archive_bucket + or source_archive_object. + items: + properties: + url: + description: The URL pointing to the hosted repository where + the function is defined. + type: string + required: + - url + type: object + type: array + timeout: + description: Timeout (in seconds) for the function. Default value + is 60 seconds. Cannot be more than 540 seconds. + format: int64 + type: integer + triggerHttp: + description: 'Boolean variable. Any HTTP request (of a supported + type) to the endpoint will trigger function execution. Supported + HTTP request types are: POST, PUT, GET, DELETE, and OPTIONS. + Endpoint is returned as https_trigger_url. Cannot be used with + trigger_bucket and trigger_topic.' + type: boolean + vpcConnector: + description: The VPC Network Connector that this cloud function + can connect to. It can be either the fully-qualified URI, or + the short name of the network connector resource. The format + of this field is projects/*/locations/*/connectors/*. + type: string + vpcConnectorEgressSettings: + description: The egress settings for the connector, controlling + what traffic is diverted through it. Allowed values are ALL_TRAFFIC + and PRIVATE_RANGES_ONLY. Defaults to PRIVATE_RANGES_ONLY. If + unset, this field preserves the previously set value. + type: string + required: + - name + - runtime + type: object + 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 + 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 + 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. + 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 + status: + description: FunctionStatus defines the observed state of Function. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudidentity.gcp.jet.crossplane.io_groupmemberships.yaml b/package/crds/cloudidentity.gcp.jet.crossplane.io_groupmemberships.yaml new file mode 100644 index 00000000..8a3f0a87 --- /dev/null +++ b/package/crds/cloudidentity.gcp.jet.crossplane.io_groupmemberships.yaml @@ -0,0 +1,215 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: groupmemberships.cloudidentity.gcp.jet.crossplane.io +spec: + group: cloudidentity.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: GroupMembership + listKind: GroupMembershipList + plural: groupmemberships + singular: groupmembership + 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: GroupMembership is the Schema for the GroupMemberships 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: GroupMembershipSpec defines the desired state of GroupMembership + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + group: + description: The name of the Group to create this membership in. + type: string + preferredMemberKey: + description: EntityKey of the member. + items: + properties: + id: + description: "The ID of the entity. \n For Google-managed + entities, the id must be the email address of an existing + group or user. \n For external-identity-mapped entities, + the id must be a string conforming to the Identity Source's + requirements. \n Must be unique within a namespace." + type: string + namespace: + description: "The namespace in which the entity exists. + \n If not specified, the EntityKey represents a Google-managed + entity such as a Google user or a Google Group. \n If + specified, the EntityKey represents an external-identity-mapped + group. The namespace must correspond to an identity source + created in Admin Console and must be in the form of 'identitysources/{identity_source_id}'." + type: string + required: + - id + type: object + type: array + roles: + description: The MembershipRoles that apply to the Membership. + Must not contain duplicate MembershipRoles with the same name. + items: + properties: + name: + description: 'The name of the MembershipRole. Must be one + of OWNER, MANAGER, MEMBER. Possible values: ["OWNER", + "MANAGER", "MEMBER"]' + type: string + required: + - name + type: object + type: array + required: + - group + - roles + type: object + 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 + 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 + 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. + 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 + status: + description: GroupMembershipStatus defines the observed state of GroupMembership. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + name: + type: string + type: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudidentity.gcp.jet.crossplane.io_groups.yaml b/package/crds/cloudidentity.gcp.jet.crossplane.io_groups.yaml new file mode 100644 index 00000000..771baa46 --- /dev/null +++ b/package/crds/cloudidentity.gcp.jet.crossplane.io_groups.yaml @@ -0,0 +1,225 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: groups.cloudidentity.gcp.jet.crossplane.io +spec: + group: cloudidentity.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Group + listKind: GroupList + plural: groups + singular: group + 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: Group is the Schema for the Groups 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: GroupSpec defines the desired state of Group + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An extended description to help users determine the + purpose of a Group. Must not be longer than 4,096 characters. + type: string + displayName: + description: The display name of the Group. + type: string + groupKey: + description: EntityKey of the Group. + items: + properties: + id: + description: "The ID of the entity. \n For Google-managed + entities, the id must be the email address of an existing + group or user. \n For external-identity-mapped entities, + the id must be a string conforming to the Identity Source's + requirements. \n Must be unique within a namespace." + type: string + namespace: + description: "The namespace in which the entity exists. + \n If not specified, the EntityKey represents a Google-managed + entity such as a Google user or a Google Group. \n If + specified, the EntityKey represents an external-identity-mapped + group. The namespace must correspond to an identity source + created in Admin Console and must be in the form of 'identitysources/{identity_source_id}'." + type: string + required: + - id + type: object + type: array + initialGroupConfig: + description: "The initial configuration options for creating a + Group. \n See the [API reference](https://cloud.google.com/identity/docs/reference/rest/v1beta1/groups/create#initialgroupconfig) + for possible values. Default value: \"EMPTY\" Possible values: + [\"INITIAL_GROUP_CONFIG_UNSPECIFIED\", \"WITH_INITIAL_OWNER\", + \"EMPTY\"]" + type: string + labels: + additionalProperties: + type: string + description: "The labels that apply to the Group. \n Must not + contain more than one entry. Must contain the entry 'cloudidentity.googleapis.com/groups.discussion_forum': + '' if the Group is a Google Group or 'system/groups/external': + '' if the Group is an external-identity-mapped group." + type: object + parent: + description: "The resource name of the entity under which this + Group resides in the Cloud Identity resource hierarchy. \n Must + be of the form identitysources/{identity_source_id} for external-identity-mapped + groups or customers/{customer_id} for Google Groups." + type: string + required: + - groupKey + - labels + - parent + type: object + 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 + 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 + 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. + 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 + status: + description: GroupStatus defines the observed state of Group. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + name: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudiot.gcp.jet.crossplane.io_devices.yaml b/package/crds/cloudiot.gcp.jet.crossplane.io_devices.yaml new file mode 100644 index 00000000..2bab688c --- /dev/null +++ b/package/crds/cloudiot.gcp.jet.crossplane.io_devices.yaml @@ -0,0 +1,264 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: devices.cloudiot.gcp.jet.crossplane.io +spec: + group: cloudiot.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Device + listKind: DeviceList + plural: devices + singular: device + 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: Device is the Schema for the Devices 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: DeviceSpec defines the desired state of Device + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + blocked: + description: If a device is blocked, connections or requests from + this device will fail. + type: boolean + credentials: + description: The credentials used to authenticate this device. + items: + properties: + expirationTime: + description: The time at which this credential becomes invalid. + type: string + publicKey: + description: A public key used to verify the signature of + JSON Web Tokens (JWTs). + items: + properties: + format: + description: 'The format of the key. Possible values: + ["RSA_PEM", "RSA_X509_PEM", "ES256_PEM", "ES256_X509_PEM"]' + type: string + key: + description: The key data. + type: string + required: + - format + - key + type: object + type: array + required: + - publicKey + type: object + type: array + gatewayConfig: + description: Gateway-related configuration and state. + items: + properties: + gatewayAuthMethod: + description: 'Indicates whether the device is a gateway. + Possible values: ["ASSOCIATION_ONLY", "DEVICE_AUTH_TOKEN_ONLY", + "ASSOCIATION_AND_DEVICE_AUTH_TOKEN"]' + type: string + gatewayType: + description: 'Indicates whether the device is a gateway. + Default value: "NON_GATEWAY" Possible values: ["GATEWAY", + "NON_GATEWAY"]' + type: string + type: object + type: array + logLevel: + description: 'The logging verbosity for device activity. Possible + values: ["NONE", "ERROR", "INFO", "DEBUG"]' + type: string + metadata: + additionalProperties: + type: string + description: The metadata key-value pairs assigned to the device. + type: object + name: + description: A unique name for the resource. + type: string + registry: + description: The name of the device registry where this device + should be created. + type: string + required: + - name + - registry + type: object + 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 + 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 + 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. + 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 + status: + description: DeviceStatus defines the observed state of Device. + properties: + atProvider: + properties: + config: + items: + properties: + cloudUpdateTime: + type: string + deviceAckTime: + type: string + version: + type: string + type: object + type: array + id: + type: string + lastConfigAckTime: + type: string + lastConfigSendTime: + type: string + lastErrorStatus: + items: + type: object + type: array + lastErrorTime: + type: string + lastEventTime: + type: string + lastHeartbeatTime: + type: string + lastStateTime: + type: string + numId: + type: string + state: + items: + type: object + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudiot.gcp.jet.crossplane.io_registries.yaml b/package/crds/cloudiot.gcp.jet.crossplane.io_registries.yaml new file mode 100644 index 00000000..6e746a4a --- /dev/null +++ b/package/crds/cloudiot.gcp.jet.crossplane.io_registries.yaml @@ -0,0 +1,231 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: registries.cloudiot.gcp.jet.crossplane.io +spec: + group: cloudiot.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Registry + listKind: RegistryList + plural: registries + singular: registry + 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: Registry is the Schema for the Registrys 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: RegistrySpec defines the desired state of Registry + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + credentials: + description: List of public key certificates to authenticate devices. + items: + properties: + publicKeyCertificate: + additionalProperties: + type: string + description: A public key certificate format and data. + type: object + required: + - publicKeyCertificate + type: object + type: array + eventNotificationConfigs: + description: List of configurations for event notifications, such + as PubSub topics to publish device events to. + items: + properties: + pubsubTopicName: + description: PubSub topic name to publish device events. + type: string + subfolderMatches: + description: If the subfolder name matches this string exactly, + this configuration will be used. The string must not include + the leading '/' character. If empty, all strings are matched. + Empty value can only be used for the last 'event_notification_configs' + item. + type: string + required: + - pubsubTopicName + type: object + type: array + httpConfig: + additionalProperties: + type: string + description: Activate or deactivate HTTP. + type: object + logLevel: + description: 'The default logging verbosity for activity from + devices in this registry. Specifies which events should be written + to logs. For example, if the LogLevel is ERROR, only events + that terminate in errors will be logged. LogLevel is inclusive; + enabling INFO logging will also enable ERROR logging. Default + value: "NONE" Possible values: ["NONE", "ERROR", "INFO", "DEBUG"]' + type: string + mqttConfig: + additionalProperties: + type: string + description: Activate or deactivate MQTT. + type: object + name: + description: A unique name for the resource, required by device + registry. + type: string + project: + type: string + region: + description: The region in which the created registry should reside. + If it is not provided, the provider region is used. + type: string + stateNotificationConfig: + additionalProperties: + type: string + description: A PubSub topic to publish device state updates. + type: object + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: RegistryStatus defines the observed state of Registry. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_billingsubaccounts.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_billingsubaccounts.yaml new file mode 100644 index 00000000..304a3a5f --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_billingsubaccounts.yaml @@ -0,0 +1,179 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: billingsubaccounts.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: BillingSubaccount + listKind: BillingSubaccountList + plural: billingsubaccounts + singular: billingsubaccount + 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: BillingSubaccount is the Schema for the BillingSubaccounts 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: BillingSubaccountSpec defines the desired state of BillingSubaccount + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + deletionPolicy: + type: string + displayName: + type: string + masterBillingAccount: + type: string + required: + - displayName + - masterBillingAccount + type: object + 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 + 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 + 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. + 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 + status: + description: BillingSubaccountStatus defines the observed state of BillingSubaccount. + properties: + atProvider: + properties: + billingAccountId: + type: string + id: + type: string + name: + type: string + open: + type: boolean + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_folderiamauditconfigs.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_folderiamauditconfigs.yaml new file mode 100644 index 00000000..8476fc61 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_folderiamauditconfigs.yaml @@ -0,0 +1,206 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: folderiamauditconfigs.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FolderIAMAuditConfig + listKind: FolderIAMAuditConfigList + plural: folderiamauditconfigs + singular: folderiamauditconfig + 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: FolderIAMAuditConfig is the Schema for the FolderIAMAuditConfigs + 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: FolderIAMAuditConfigSpec defines the desired state of FolderIAMAuditConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + auditLogConfig: + description: The configuration for logging of each type of permission. + This can be specified multiple times. + items: + properties: + exemptedMembers: + description: 'Identities that do not cause logging for this + type of permission. Each entry can have one of the following + values:user:{emailid}: An email address that represents + a specific Google account. For example, alice@gmail.com + or joe@example.com. serviceAccount:{emailid}: An email + address that represents a service account. For example, + my-other-app@appspot.gserviceaccount.com. group:{emailid}: + An email address that represents a Google group. For example, + admins@example.com. domain:{domain}: A G Suite domain + (primary, instead of alias) name that represents all the + users of that domain. For example, google.com or example.com.' + items: + type: string + type: array + logType: + description: Permission type for which logging is to be + configured. Must be one of DATA_READ, DATA_WRITE, or ADMIN_READ. + type: string + required: + - logType + type: object + type: array + folder: + type: string + service: + description: Service which will be enabled for audit logging. + The special value allServices covers all services. + type: string + required: + - auditLogConfig + - folder + - service + type: object + 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 + 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 + 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. + 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 + status: + description: FolderIAMAuditConfigStatus defines the observed state of + FolderIAMAuditConfig. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_folderiambindings.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_folderiambindings.yaml new file mode 100644 index 00000000..9b0fa68a --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_folderiambindings.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: folderiambindings.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FolderIAMBinding + listKind: FolderIAMBindingList + plural: folderiambindings + singular: folderiambinding + 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: FolderIAMBinding is the Schema for the FolderIAMBindings 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: FolderIAMBindingSpec defines the desired state of FolderIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + folder: + type: string + members: + items: + type: string + type: array + role: + type: string + required: + - folder + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: FolderIAMBindingStatus defines the observed state of FolderIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_folderiammembers.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_folderiammembers.yaml new file mode 100644 index 00000000..30d14cfc --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_folderiammembers.yaml @@ -0,0 +1,190 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: folderiammembers.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FolderIAMMember + listKind: FolderIAMMemberList + plural: folderiammembers + singular: folderiammember + 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: FolderIAMMember is the Schema for the FolderIAMMembers 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: FolderIAMMemberSpec defines the desired state of FolderIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + folder: + type: string + member: + type: string + role: + type: string + required: + - folder + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: FolderIAMMemberStatus defines the observed state of FolderIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_folderiampolicies.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_folderiampolicies.yaml new file mode 100644 index 00000000..280bf104 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_folderiampolicies.yaml @@ -0,0 +1,173 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: folderiampolicies.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FolderIAMPolicy + listKind: FolderIAMPolicyList + plural: folderiampolicies + singular: folderiampolicy + 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: FolderIAMPolicy is the Schema for the FolderIAMPolicys 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: FolderIAMPolicySpec defines the desired state of FolderIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + folder: + type: string + policyData: + type: string + required: + - folder + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: FolderIAMPolicyStatus defines the observed state of FolderIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_folderorganizationpolicies.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_folderorganizationpolicies.yaml new file mode 100644 index 00000000..6193b5af --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_folderorganizationpolicies.yaml @@ -0,0 +1,261 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: folderorganizationpolicies.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FolderOrganizationPolicy + listKind: FolderOrganizationPolicyList + plural: folderorganizationpolicies + singular: folderorganizationpolicy + 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: FolderOrganizationPolicy is the Schema for the FolderOrganizationPolicys + 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: FolderOrganizationPolicySpec defines the desired state of + FolderOrganizationPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + booleanPolicy: + description: A boolean policy is a constraint that is either enforced + or not. + items: + properties: + enforced: + description: If true, then the Policy is enforced. If false, + then any configuration is acceptable. + type: boolean + required: + - enforced + type: object + type: array + constraint: + description: The name of the Constraint the Policy is configuring, + for example, serviceuser.services. + type: string + folder: + description: The resource name of the folder to set the policy + for. Its format is folders/{folder_id}. + type: string + listPolicy: + description: A policy that can define specific values that are + allowed or denied for the given constraint. It can also be used + to allow or deny all values. + items: + properties: + allow: + description: One or the other must be set. + items: + properties: + all: + description: The policy allows or denies all values. + type: boolean + values: + description: The policy can define specific values + that are allowed or denied. + items: + type: string + type: array + type: object + type: array + deny: + description: One or the other must be set. + items: + properties: + all: + description: The policy allows or denies all values. + type: boolean + values: + description: The policy can define specific values + that are allowed or denied. + items: + type: string + type: array + type: object + type: array + inheritFromParent: + description: If set to true, the values from the effective + Policy of the parent resource are inherited, meaning the + values set in this Policy are added to the values inherited + up the hierarchy. + type: boolean + suggestedValue: + description: The Google Cloud Console will try to default + to a configuration that matches the value specified in + this field. + type: string + type: object + type: array + restorePolicy: + description: A restore policy is a constraint to restore the default + policy. + items: + properties: + default: + description: May only be set to true. If set, then the default + Policy is restored. + type: boolean + required: + - default + type: object + type: array + version: + description: Version of the Policy. Default version is 0. + format: int64 + type: integer + required: + - constraint + - folder + type: object + 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 + 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 + 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. + 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 + status: + description: FolderOrganizationPolicyStatus defines the observed state + of FolderOrganizationPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_folders.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_folders.yaml new file mode 100644 index 00000000..7ff0b614 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_folders.yaml @@ -0,0 +1,187 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: folders.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Folder + listKind: FolderList + plural: folders + singular: folder + 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: Folder is the Schema for the Folders 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: FolderSpec defines the desired state of Folder + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + displayName: + description: The folder's display name. A folder's display name + must be unique amongst its siblings, e.g. no two folders with + the same parent can share the same display name. The display + name must start and end with a letter or digit, may contain + letters, digits, spaces, hyphens and underscores and can be + no longer than 30 characters. + type: string + parent: + description: The resource name of the parent Folder or Organization. + Must be of the form folders/{folder_id} or organizations/{org_id}. + type: string + required: + - displayName + - parent + type: object + 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 + 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 + 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. + 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 + status: + description: FolderStatus defines the observed state of Folder. + properties: + atProvider: + properties: + createTime: + type: string + folderId: + type: string + id: + type: string + lifecycleState: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiamauditconfigs.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiamauditconfigs.yaml new file mode 100644 index 00000000..e7f38d8d --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiamauditconfigs.yaml @@ -0,0 +1,209 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: organizationiamauditconfigs.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: OrganizationIAMAuditConfig + listKind: OrganizationIAMAuditConfigList + plural: organizationiamauditconfigs + singular: organizationiamauditconfig + 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: OrganizationIAMAuditConfig is the Schema for the OrganizationIAMAuditConfigs + 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: OrganizationIAMAuditConfigSpec defines the desired state + of OrganizationIAMAuditConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + auditLogConfig: + description: The configuration for logging of each type of permission. + This can be specified multiple times. + items: + properties: + exemptedMembers: + description: 'Identities that do not cause logging for this + type of permission. Each entry can have one of the following + values:user:{emailid}: An email address that represents + a specific Google account. For example, alice@gmail.com + or joe@example.com. serviceAccount:{emailid}: An email + address that represents a service account. For example, + my-other-app@appspot.gserviceaccount.com. group:{emailid}: + An email address that represents a Google group. For example, + admins@example.com. domain:{domain}: A G Suite domain + (primary, instead of alias) name that represents all the + users of that domain. For example, google.com or example.com.' + items: + type: string + type: array + logType: + description: Permission type for which logging is to be + configured. Must be one of DATA_READ, DATA_WRITE, or ADMIN_READ. + type: string + required: + - logType + type: object + type: array + orgId: + description: The numeric ID of the organization in which you want + to manage the audit logging config. + type: string + service: + description: Service which will be enabled for audit logging. + The special value allServices covers all services. + type: string + required: + - auditLogConfig + - orgId + - service + type: object + 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 + 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 + 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. + 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 + status: + description: OrganizationIAMAuditConfigStatus defines the observed state + of OrganizationIAMAuditConfig. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiambindings.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiambindings.yaml new file mode 100644 index 00000000..64e5b417 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiambindings.yaml @@ -0,0 +1,196 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: organizationiambindings.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: OrganizationIAMBinding + listKind: OrganizationIAMBindingList + plural: organizationiambindings + singular: organizationiambinding + 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: OrganizationIAMBinding is the Schema for the OrganizationIAMBindings + 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: OrganizationIAMBindingSpec defines the desired state of OrganizationIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + orgId: + description: The numeric ID of the organization in which you want + to manage the audit logging config. + type: string + role: + type: string + required: + - members + - orgId + - role + type: object + 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 + 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 + 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. + 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 + status: + description: OrganizationIAMBindingStatus defines the observed state of + OrganizationIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiamcustomroles.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiamcustomroles.yaml new file mode 100644 index 00000000..16d6087b --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiamcustomroles.yaml @@ -0,0 +1,199 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: organizationiamcustomroles.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: OrganizationIAMCustomRole + listKind: OrganizationIAMCustomRoleList + plural: organizationiamcustomroles + singular: organizationiamcustomrole + 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: OrganizationIAMCustomRole is the Schema for the OrganizationIAMCustomRoles + 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: OrganizationIAMCustomRoleSpec defines the desired state of + OrganizationIAMCustomRole + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: A human-readable description for the role. + type: string + orgId: + description: The numeric ID of the organization in which you want + to create a custom role. + type: string + permissions: + description: The names of the permissions this role grants when + bound in an IAM policy. At least one permission must be specified. + items: + type: string + type: array + roleId: + description: The role id to use for this role. + type: string + stage: + description: The current launch stage of the role. Defaults to + GA. + type: string + title: + description: A human-readable title for the role. + type: string + required: + - orgId + - permissions + - roleId + - title + type: object + 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 + 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 + 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. + 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 + status: + description: OrganizationIAMCustomRoleStatus defines the observed state + of OrganizationIAMCustomRole. + properties: + atProvider: + properties: + deleted: + type: boolean + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiammembers.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiammembers.yaml new file mode 100644 index 00000000..3b39c110 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiammembers.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: organizationiammembers.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: OrganizationIAMMember + listKind: OrganizationIAMMemberList + plural: organizationiammembers + singular: organizationiammember + 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: OrganizationIAMMember is the Schema for the OrganizationIAMMembers + 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: OrganizationIAMMemberSpec defines the desired state of OrganizationIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + orgId: + description: The numeric ID of the organization in which you want + to manage the audit logging config. + type: string + role: + type: string + required: + - member + - orgId + - role + type: object + 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 + 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 + 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. + 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 + status: + description: OrganizationIAMMemberStatus defines the observed state of + OrganizationIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiampolicies.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiampolicies.yaml new file mode 100644 index 00000000..49ec665f --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationiampolicies.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: organizationiampolicies.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: OrganizationIAMPolicy + listKind: OrganizationIAMPolicyList + plural: organizationiampolicies + singular: organizationiampolicy + 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: OrganizationIAMPolicy is the Schema for the OrganizationIAMPolicys + 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: OrganizationIAMPolicySpec defines the desired state of OrganizationIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + orgId: + description: The numeric ID of the organization in which you want + to manage the audit logging config. + type: string + policyData: + type: string + required: + - orgId + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: OrganizationIAMPolicyStatus defines the observed state of + OrganizationIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationpolicies.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationpolicies.yaml new file mode 100644 index 00000000..64733cef --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_organizationpolicies.yaml @@ -0,0 +1,257 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: organizationpolicies.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: OrganizationPolicy + listKind: OrganizationPolicyList + plural: organizationpolicies + singular: organizationpolicy + 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: OrganizationPolicy is the Schema for the OrganizationPolicys + 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: OrganizationPolicySpec defines the desired state of OrganizationPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + booleanPolicy: + description: A boolean policy is a constraint that is either enforced + or not. + items: + properties: + enforced: + description: If true, then the Policy is enforced. If false, + then any configuration is acceptable. + type: boolean + required: + - enforced + type: object + type: array + constraint: + description: The name of the Constraint the Policy is configuring, + for example, serviceuser.services. + type: string + listPolicy: + description: A policy that can define specific values that are + allowed or denied for the given constraint. It can also be used + to allow or deny all values. + items: + properties: + allow: + description: One or the other must be set. + items: + properties: + all: + description: The policy allows or denies all values. + type: boolean + values: + description: The policy can define specific values + that are allowed or denied. + items: + type: string + type: array + type: object + type: array + deny: + description: One or the other must be set. + items: + properties: + all: + description: The policy allows or denies all values. + type: boolean + values: + description: The policy can define specific values + that are allowed or denied. + items: + type: string + type: array + type: object + type: array + inheritFromParent: + description: If set to true, the values from the effective + Policy of the parent resource are inherited, meaning the + values set in this Policy are added to the values inherited + up the hierarchy. + type: boolean + suggestedValue: + description: The Google Cloud Console will try to default + to a configuration that matches the value specified in + this field. + type: string + type: object + type: array + orgId: + type: string + restorePolicy: + description: A restore policy is a constraint to restore the default + policy. + items: + properties: + default: + description: May only be set to true. If set, then the default + Policy is restored. + type: boolean + required: + - default + type: object + type: array + version: + description: Version of the Policy. Default version is 0. + format: int64 + type: integer + required: + - constraint + - orgId + type: object + 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 + 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 + 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. + 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 + status: + description: OrganizationPolicyStatus defines the observed state of OrganizationPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_projectdefaultserviceaccounts.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectdefaultserviceaccounts.yaml new file mode 100644 index 00000000..1f25dce2 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectdefaultserviceaccounts.yaml @@ -0,0 +1,189 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectdefaultserviceaccounts.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectDefaultServiceAccounts + listKind: ProjectDefaultServiceAccountsList + plural: projectdefaultserviceaccounts + singular: projectdefaultserviceaccounts + 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: ProjectDefaultServiceAccounts is the Schema for the ProjectDefaultServiceAccountss + 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: ProjectDefaultServiceAccountsSpec defines the desired state + of ProjectDefaultServiceAccounts + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + action: + description: 'The action to be performed in the default service + accounts. Valid values are: DEPRIVILEGE, DELETE, DISABLE. Note + that DEPRIVILEGE action will ignore the REVERT configuration + in the restore_policy.' + type: string + project: + description: The project ID where service accounts are created. + type: string + restorePolicy: + description: The action to be performed in the default service + accounts on the resource destroy. Valid values are NONE, REVERT + and REVERT_AND_IGNORE_FAILURE. It is applied for any action + but in the DEPRIVILEGE. + type: string + required: + - action + - project + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectDefaultServiceAccountsStatus defines the observed + state of ProjectDefaultServiceAccounts. + properties: + atProvider: + properties: + id: + type: string + serviceAccounts: + additionalProperties: + type: string + type: object + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiamauditconfigs.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiamauditconfigs.yaml new file mode 100644 index 00000000..e9321943 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiamauditconfigs.yaml @@ -0,0 +1,206 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectiamauditconfigs.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectIAMAuditConfig + listKind: ProjectIAMAuditConfigList + plural: projectiamauditconfigs + singular: projectiamauditconfig + 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: ProjectIAMAuditConfig is the Schema for the ProjectIAMAuditConfigs + 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: ProjectIAMAuditConfigSpec defines the desired state of ProjectIAMAuditConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + auditLogConfig: + description: The configuration for logging of each type of permission. + This can be specified multiple times. + items: + properties: + exemptedMembers: + description: 'Identities that do not cause logging for this + type of permission. Each entry can have one of the following + values:user:{emailid}: An email address that represents + a specific Google account. For example, alice@gmail.com + or joe@example.com. serviceAccount:{emailid}: An email + address that represents a service account. For example, + my-other-app@appspot.gserviceaccount.com. group:{emailid}: + An email address that represents a Google group. For example, + admins@example.com. domain:{domain}: A G Suite domain + (primary, instead of alias) name that represents all the + users of that domain. For example, google.com or example.com.' + items: + type: string + type: array + logType: + description: Permission type for which logging is to be + configured. Must be one of DATA_READ, DATA_WRITE, or ADMIN_READ. + type: string + required: + - logType + type: object + type: array + project: + type: string + service: + description: Service which will be enabled for audit logging. + The special value allServices covers all services. + type: string + required: + - auditLogConfig + - project + - service + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectIAMAuditConfigStatus defines the observed state of + ProjectIAMAuditConfig. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiambindings.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiambindings.yaml new file mode 100644 index 00000000..7026826a --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiambindings.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectiambindings.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectIAMBinding + listKind: ProjectIAMBindingList + plural: projectiambindings + singular: projectiambinding + 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: ProjectIAMBinding is the Schema for the ProjectIAMBindings 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: ProjectIAMBindingSpec defines the desired state of ProjectIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + role: + type: string + required: + - members + - project + - role + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectIAMBindingStatus defines the observed state of ProjectIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiamcustomroles.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiamcustomroles.yaml new file mode 100644 index 00000000..ce328c18 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiamcustomroles.yaml @@ -0,0 +1,198 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectiamcustomroles.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectIAMCustomRole + listKind: ProjectIAMCustomRoleList + plural: projectiamcustomroles + singular: projectiamcustomrole + 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: ProjectIAMCustomRole is the Schema for the ProjectIAMCustomRoles + 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: ProjectIAMCustomRoleSpec defines the desired state of ProjectIAMCustomRole + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: A human-readable description for the role. + type: string + permissions: + description: The names of the permissions this role grants when + bound in an IAM policy. At least one permission must be specified. + items: + type: string + type: array + project: + description: The project that the service account will be created + in. Defaults to the provider project configuration. + type: string + roleId: + description: The camel case role id to use for this role. Cannot + contain - characters. + type: string + stage: + description: The current launch stage of the role. Defaults to + GA. + type: string + title: + description: A human-readable title for the role. + type: string + required: + - permissions + - roleId + - title + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectIAMCustomRoleStatus defines the observed state of + ProjectIAMCustomRole. + properties: + atProvider: + properties: + deleted: + type: boolean + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiammembers.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiammembers.yaml new file mode 100644 index 00000000..8d6f3c51 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiammembers.yaml @@ -0,0 +1,190 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectiammembers.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectIAMMember + listKind: ProjectIAMMemberList + plural: projectiammembers + singular: projectiammember + 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: ProjectIAMMember is the Schema for the ProjectIAMMembers 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: ProjectIAMMemberSpec defines the desired state of ProjectIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + role: + type: string + required: + - member + - project + - role + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectIAMMemberStatus defines the observed state of ProjectIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiampolicies.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiampolicies.yaml new file mode 100644 index 00000000..c568c8f6 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectiampolicies.yaml @@ -0,0 +1,173 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectiampolicies.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectIAMPolicy + listKind: ProjectIAMPolicyList + plural: projectiampolicies + singular: projectiampolicy + 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: ProjectIAMPolicy is the Schema for the ProjectIAMPolicys 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: ProjectIAMPolicySpec defines the desired state of ProjectIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + project: + type: string + required: + - policyData + - project + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectIAMPolicyStatus defines the observed state of ProjectIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_projectorganizationpolicies.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectorganizationpolicies.yaml new file mode 100644 index 00000000..90016656 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectorganizationpolicies.yaml @@ -0,0 +1,260 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectorganizationpolicies.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectOrganizationPolicy + listKind: ProjectOrganizationPolicyList + plural: projectorganizationpolicies + singular: projectorganizationpolicy + 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: ProjectOrganizationPolicy is the Schema for the ProjectOrganizationPolicys + 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: ProjectOrganizationPolicySpec defines the desired state of + ProjectOrganizationPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + booleanPolicy: + description: A boolean policy is a constraint that is either enforced + or not. + items: + properties: + enforced: + description: If true, then the Policy is enforced. If false, + then any configuration is acceptable. + type: boolean + required: + - enforced + type: object + type: array + constraint: + description: The name of the Constraint the Policy is configuring, + for example, serviceuser.services. + type: string + listPolicy: + description: A policy that can define specific values that are + allowed or denied for the given constraint. It can also be used + to allow or deny all values. + items: + properties: + allow: + description: One or the other must be set. + items: + properties: + all: + description: The policy allows or denies all values. + type: boolean + values: + description: The policy can define specific values + that are allowed or denied. + items: + type: string + type: array + type: object + type: array + deny: + description: One or the other must be set. + items: + properties: + all: + description: The policy allows or denies all values. + type: boolean + values: + description: The policy can define specific values + that are allowed or denied. + items: + type: string + type: array + type: object + type: array + inheritFromParent: + description: If set to true, the values from the effective + Policy of the parent resource are inherited, meaning the + values set in this Policy are added to the values inherited + up the hierarchy. + type: boolean + suggestedValue: + description: The Google Cloud Console will try to default + to a configuration that matches the value specified in + this field. + type: string + type: object + type: array + project: + description: The project ID. + type: string + restorePolicy: + description: A restore policy is a constraint to restore the default + policy. + items: + properties: + default: + description: May only be set to true. If set, then the default + Policy is restored. + type: boolean + required: + - default + type: object + type: array + version: + description: Version of the Policy. Default version is 0. + format: int64 + type: integer + required: + - constraint + - project + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectOrganizationPolicyStatus defines the observed state + of ProjectOrganizationPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_projects.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_projects.yaml new file mode 100644 index 00000000..0228130a --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_projects.yaml @@ -0,0 +1,211 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projects.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Project + listKind: ProjectList + plural: projects + singular: project + 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: v1alpha2 + schema: + openAPIV3Schema: + description: Project is the Schema for the Projects 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: ProjectSpec defines the desired state of Project + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + autoCreateNetwork: + description: Create the 'default' network automatically. Default + true. If set to false, the default network will be deleted. Note + that, for quota purposes, you will still need to have 1 network + slot available to create the project successfully, even if you + set auto_create_network to false, since the network will exist + momentarily. + type: boolean + billingAccount: + description: The alphanumeric ID of the billing account this project + belongs to. The user or service account performing this operation + with Terraform must have Billing Account Administrator privileges + (roles/billing.admin) in the organization. See Google Cloud + Billing API Access Control for more details. + type: string + folderId: + description: The numeric ID of the folder this project should + be created under. Only one of org_id or folder_id may be specified. + If the folder_id is specified, then the project is created under + the specified folder. Changing this forces the project to be + migrated to the newly specified folder. + type: string + labels: + additionalProperties: + type: string + description: A set of key/value label pairs to assign to the project. + type: object + name: + description: The display name of the project. + type: string + orgId: + description: The numeric ID of the organization this project belongs + to. + type: string + projectId: + description: The project ID. Changing this forces a new project + to be created. + type: string + skipDelete: + description: If true, the Terraform resource can be deleted without + deleting the Project via the Google API. + type: boolean + required: + - name + - projectId + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectStatus defines the observed state of Project. + properties: + atProvider: + properties: + id: + type: string + number: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_projectservices.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectservices.yaml new file mode 100644 index 00000000..3832f79d --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectservices.yaml @@ -0,0 +1,174 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectservices.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectService + listKind: ProjectServiceList + plural: projectservices + singular: projectservice + 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: ProjectService is the Schema for the ProjectServices 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: ProjectServiceSpec defines the desired state of ProjectService + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + disableDependentServices: + type: boolean + disableOnDestroy: + type: boolean + project: + type: string + service: + type: string + required: + - service + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectServiceStatus defines the observed state of ProjectService. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_projectusageexportbuckets.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectusageexportbuckets.yaml new file mode 100644 index 00000000..ca1f3a34 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_projectusageexportbuckets.yaml @@ -0,0 +1,180 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectusageexportbuckets.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectUsageExportBucket + listKind: ProjectUsageExportBucketList + plural: projectusageexportbuckets + singular: projectusageexportbucket + 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: ProjectUsageExportBucket is the Schema for the ProjectUsageExportBuckets + 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: ProjectUsageExportBucketSpec defines the desired state of + ProjectUsageExportBucket + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucketName: + description: The bucket to store reports in. + type: string + prefix: + description: A prefix for the reports, for instance, the project + name. + type: string + project: + description: The project to set the export bucket on. If it is + not provided, the provider project is used. + type: string + required: + - bucketName + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectUsageExportBucketStatus defines the observed state + of ProjectUsageExportBucket. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_serviceaccountiambindings.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_serviceaccountiambindings.yaml new file mode 100644 index 00000000..8d5047a6 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_serviceaccountiambindings.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: serviceaccountiambindings.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServiceAccountIAMBinding + listKind: ServiceAccountIAMBindingList + plural: serviceaccountiambindings + singular: serviceaccountiambinding + 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: ServiceAccountIAMBinding is the Schema for the ServiceAccountIAMBindings + 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: ServiceAccountIAMBindingSpec defines the desired state of + ServiceAccountIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + role: + type: string + serviceAccountId: + type: string + required: + - members + - role + - serviceAccountId + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceAccountIAMBindingStatus defines the observed state + of ServiceAccountIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_serviceaccountiammembers.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_serviceaccountiammembers.yaml new file mode 100644 index 00000000..24c9da30 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_serviceaccountiammembers.yaml @@ -0,0 +1,193 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: serviceaccountiammembers.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServiceAccountIAMMember + listKind: ServiceAccountIAMMemberList + plural: serviceaccountiammembers + singular: serviceaccountiammember + 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: ServiceAccountIAMMember is the Schema for the ServiceAccountIAMMembers + 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: ServiceAccountIAMMemberSpec defines the desired state of + ServiceAccountIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + role: + type: string + serviceAccountId: + type: string + required: + - member + - role + - serviceAccountId + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceAccountIAMMemberStatus defines the observed state + of ServiceAccountIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_serviceaccountiampolicies.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_serviceaccountiampolicies.yaml new file mode 100644 index 00000000..a7af8f28 --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_serviceaccountiampolicies.yaml @@ -0,0 +1,176 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: serviceaccountiampolicies.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServiceAccountIAMPolicy + listKind: ServiceAccountIAMPolicyList + plural: serviceaccountiampolicies + singular: serviceaccountiampolicy + 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: ServiceAccountIAMPolicy is the Schema for the ServiceAccountIAMPolicys + 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: ServiceAccountIAMPolicySpec defines the desired state of + ServiceAccountIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + serviceAccountId: + type: string + required: + - policyData + - serviceAccountId + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceAccountIAMPolicyStatus defines the observed state + of ServiceAccountIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudplatform.gcp.jet.crossplane.io_servicenetworkingpeereddnsdomains.yaml b/package/crds/cloudplatform.gcp.jet.crossplane.io_servicenetworkingpeereddnsdomains.yaml new file mode 100644 index 00000000..433e8a9c --- /dev/null +++ b/package/crds/cloudplatform.gcp.jet.crossplane.io_servicenetworkingpeereddnsdomains.yaml @@ -0,0 +1,190 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: servicenetworkingpeereddnsdomains.cloudplatform.gcp.jet.crossplane.io +spec: + group: cloudplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServiceNetworkingPeeredDNSDomain + listKind: ServiceNetworkingPeeredDNSDomainList + plural: servicenetworkingpeereddnsdomains + singular: servicenetworkingpeereddnsdomain + 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: ServiceNetworkingPeeredDNSDomain is the Schema for the ServiceNetworkingPeeredDNSDomains + 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: ServiceNetworkingPeeredDNSDomainSpec defines the desired + state of ServiceNetworkingPeeredDNSDomain + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dnsSuffix: + description: The DNS domain name suffix of the peered DNS domain. + type: string + name: + description: Name of the peered DNS domain. + type: string + network: + description: Network in the consumer project to peer with. + type: string + project: + description: The ID of the project that the service account will + be created in. Defaults to the provider project configuration. + type: string + service: + description: The name of the service to create a peered DNS domain + for, e.g. servicenetworking.googleapis.com + type: string + required: + - dnsSuffix + - name + - network + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceNetworkingPeeredDNSDomainStatus defines the observed + state of ServiceNetworkingPeeredDNSDomain. + properties: + atProvider: + properties: + id: + type: string + parent: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudrun.gcp.jet.crossplane.io_domainmappings.yaml b/package/crds/cloudrun.gcp.jet.crossplane.io_domainmappings.yaml new file mode 100644 index 00000000..90c5d86b --- /dev/null +++ b/package/crds/cloudrun.gcp.jet.crossplane.io_domainmappings.yaml @@ -0,0 +1,256 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: domainmappings.cloudrun.gcp.jet.crossplane.io +spec: + group: cloudrun.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DomainMapping + listKind: DomainMappingList + plural: domainmappings + singular: domainmapping + 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: DomainMapping is the Schema for the DomainMappings 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: DomainMappingSpec defines the desired state of DomainMapping + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + location: + description: The location of the cloud run instance. eg us-central1 + type: string + metadata: + description: Metadata associated with this DomainMapping. + items: + properties: + annotations: + additionalProperties: + type: string + description: "Annotations is a key value map stored with + a resource that may be set by external tools to store + and retrieve arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations + \n **Note**: The Cloud Run API may add additional annotations + that were not provided in your config. If terraform plan + shows a diff where a server-side annotation is added, + you can add it to your config or apply the lifecycle.ignore_changes + rule to the metadata.0.annotations field." + type: object + labels: + additionalProperties: + type: string + description: 'Map of string keys and values that can be + used to organize and categorize (scope and select) objects. + May match selectors of replication controllers and routes. + More info: http://kubernetes.io/docs/user-guide/labels' + type: object + namespace: + description: In Cloud Run the namespace must be equal to + either the project ID or project number. + type: string + required: + - namespace + type: object + type: array + name: + description: Name should be a [verified](https://support.google.com/webmasters/answer/9008080) + domain + type: string + project: + type: string + spec: + description: The spec for this DomainMapping. + items: + properties: + certificateMode: + description: 'The mode of the certificate. Default value: + "AUTOMATIC" Possible values: ["NONE", "AUTOMATIC"]' + type: string + forceOverride: + description: If set, the mapping will override any mapping + set before this spec was set. It is recommended that the + user leaves this empty to receive an error warning about + a potential conflict and only set it once the respective + UI has given such a warning. + type: boolean + routeName: + description: The name of the Cloud Run Service that this + DomainMapping applies to. The route must exist. + type: string + required: + - routeName + type: object + type: array + required: + - location + - metadata + - name + - spec + type: object + 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 + 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 + 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. + 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 + status: + description: DomainMappingStatus defines the observed state of DomainMapping. + properties: + atProvider: + properties: + id: + type: string + status: + items: + properties: + conditions: + items: + properties: + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + type: object + type: array + mappedRouteName: + type: string + observedGeneration: + format: int64 + type: integer + type: object + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudrun.gcp.jet.crossplane.io_serviceiambindings.yaml b/package/crds/cloudrun.gcp.jet.crossplane.io_serviceiambindings.yaml new file mode 100644 index 00000000..2934fb41 --- /dev/null +++ b/package/crds/cloudrun.gcp.jet.crossplane.io_serviceiambindings.yaml @@ -0,0 +1,196 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: serviceiambindings.cloudrun.gcp.jet.crossplane.io +spec: + group: cloudrun.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServiceIAMBinding + listKind: ServiceIAMBindingList + plural: serviceiambindings + singular: serviceiambinding + 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: ServiceIAMBinding is the Schema for the ServiceIAMBindings 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: ServiceIAMBindingSpec defines the desired state of ServiceIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + location: + type: string + members: + items: + type: string + type: array + project: + type: string + role: + type: string + service: + type: string + required: + - members + - role + - service + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceIAMBindingStatus defines the observed state of ServiceIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudrun.gcp.jet.crossplane.io_serviceiammembers.yaml b/package/crds/cloudrun.gcp.jet.crossplane.io_serviceiammembers.yaml new file mode 100644 index 00000000..ffd06dd6 --- /dev/null +++ b/package/crds/cloudrun.gcp.jet.crossplane.io_serviceiammembers.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: serviceiammembers.cloudrun.gcp.jet.crossplane.io +spec: + group: cloudrun.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServiceIAMMember + listKind: ServiceIAMMemberList + plural: serviceiammembers + singular: serviceiammember + 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: ServiceIAMMember is the Schema for the ServiceIAMMembers 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: ServiceIAMMemberSpec defines the desired state of ServiceIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + location: + type: string + member: + type: string + project: + type: string + role: + type: string + service: + type: string + required: + - member + - role + - service + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceIAMMemberStatus defines the observed state of ServiceIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudrun.gcp.jet.crossplane.io_serviceiampolicies.yaml b/package/crds/cloudrun.gcp.jet.crossplane.io_serviceiampolicies.yaml new file mode 100644 index 00000000..f281715d --- /dev/null +++ b/package/crds/cloudrun.gcp.jet.crossplane.io_serviceiampolicies.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: serviceiampolicies.cloudrun.gcp.jet.crossplane.io +spec: + group: cloudrun.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServiceIAMPolicy + listKind: ServiceIAMPolicyList + plural: serviceiampolicies + singular: serviceiampolicy + 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: ServiceIAMPolicy is the Schema for the ServiceIAMPolicys 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: ServiceIAMPolicySpec defines the desired state of ServiceIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + location: + type: string + policyData: + type: string + project: + type: string + service: + type: string + required: + - policyData + - service + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceIAMPolicyStatus defines the observed state of ServiceIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudrun.gcp.jet.crossplane.io_services.yaml b/package/crds/cloudrun.gcp.jet.crossplane.io_services.yaml new file mode 100644 index 00000000..ce77fc91 --- /dev/null +++ b/package/crds/cloudrun.gcp.jet.crossplane.io_services.yaml @@ -0,0 +1,545 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: services.cloudrun.gcp.jet.crossplane.io +spec: + group: cloudrun.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Service + listKind: ServiceList + plural: services + singular: service + 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: Service is the Schema for the Services 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: ServiceSpec defines the desired state of Service + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + autogenerateRevisionName: + type: boolean + location: + description: The location of the cloud run instance. eg us-central1 + type: string + metadata: + description: Metadata associated with this Service, including + name, namespace, labels, and annotations. + items: + properties: + annotations: + additionalProperties: + type: string + description: "Annotations is a key value map stored with + a resource that may be set by external tools to store + and retrieve arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations + \n **Note**: The Cloud Run API may add additional annotations + that were not provided in your config. If terraform plan + shows a diff where a server-side annotation is added, + you can add it to your config or apply the lifecycle.ignore_changes + rule to the metadata.0.annotations field. \n Cloud Run + (fully managed) uses the following annotation keys to + configure features on a Service: \n - 'run.googleapis.com/ingress' + sets the [ingress settings](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--ingress) + for the Service. For example, '\"run.googleapis.com/ingress\" + = \"all\"'." + type: object + labels: + additionalProperties: + type: string + description: 'Map of string keys and values that can be + used to organize and categorize (scope and select) objects. + May match selectors of replication controllers and routes. + More info: http://kubernetes.io/docs/user-guide/labels' + type: object + namespace: + description: In Cloud Run the namespace must be equal to + either the project ID or project number. + type: string + type: object + type: array + name: + description: 'Name must be unique within a namespace, within a + Cloud Run region. Is required when creating resources. Name + is primarily intended for creation idempotence and configuration + definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' + type: string + project: + type: string + template: + description: "template holds the latest specification for the + Revision to be stamped out. The template references the container + image, and may also include labels and annotations that should + be attached to the Revision. To correlate a Revision, and/or + to force a Revision to be created when the spec doesn't otherwise + change, a nonce label may be provided in the template metadata. + For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions + \n Cloud Run does not currently support referencing a build + that is responsible for materializing the container image from + source." + items: + properties: + metadata: + description: Optional metadata for this Revision, including + labels and annotations. Name will be generated by the + Configuration. To set minimum instances for this revision, + use the "autoscaling.knative.dev/minScale" annotation + key. To set maximum instances for this revision, use the + "autoscaling.knative.dev/maxScale" annotation key. To + set Cloud SQL connections for the revision, use the "run.googleapis.com/cloudsql-instances" + annotation key. + items: + properties: + annotations: + additionalProperties: + type: string + description: "Annotations is a key value map stored + with a resource that may be set by external tools + to store and retrieve arbitrary metadata. More info: + http://kubernetes.io/docs/user-guide/annotations + \n **Note**: The Cloud Run API may add additional + annotations that were not provided in your config. + If terraform plan shows a diff where a server-side + annotation is added, you can add it to your config + or apply the lifecycle.ignore_changes rule to the + metadata.0.annotations field." + type: object + labels: + additionalProperties: + type: string + description: 'Map of string keys and values that can + be used to organize and categorize (scope and select) + objects. May match selectors of replication controllers + and routes. More info: http://kubernetes.io/docs/user-guide/labels' + type: object + name: + description: 'Name must be unique within a namespace, + within a Cloud Run region. Is required when creating + resources. Name is primarily intended for creation + idempotence and configuration definition. Cannot + be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' + type: string + namespace: + description: In Cloud Run the namespace must be equal + to either the project ID or project number. It will + default to the resource's project. + type: string + type: object + type: array + spec: + description: RevisionSpec holds the desired state of the + Revision (from the client). + items: + properties: + containerConcurrency: + description: 'ContainerConcurrency specifies the maximum + allowed in-flight (concurrent) requests per container + of the Revision. Values are: - ''0'' thread-safe, + the system should manage the max concurrency. This + is the default value. - ''1'' not-thread-safe. Single + concurrency - ''2-N'' thread-safe, max concurrency + of N' + format: int64 + type: integer + containers: + description: 'Container defines the unit of execution + for this Revision. In the context of a Revision, + we disallow a number of the fields of this Container, + including: name, ports, and volumeMounts. The runtime + contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md' + items: + properties: + args: + description: 'Arguments to the entrypoint. The + docker image''s CMD is used if this is not + provided. Variable references $(VAR_NAME) + are expanded using the container''s environment. + If a variable cannot be resolved, the reference + in the input string will be unchanged. The + $(VAR_NAME) syntax can be escaped with a double + $$, ie: $$(VAR_NAME). Escaped references will + never be expanded, regardless of whether the + variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' + items: + type: string + type: array + command: + description: 'Entrypoint array. Not executed + within a shell. The docker image''s ENTRYPOINT + is used if this is not provided. Variable + references $(VAR_NAME) are expanded using + the container''s environment. If a variable + cannot be resolved, the reference in the input + string will be unchanged. The $(VAR_NAME) + syntax can be escaped with a double $$, ie: + $$(VAR_NAME). Escaped references will never + be expanded, regardless of whether the variable + exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' + items: + type: string + type: array + env: + description: List of environment variables to + set in the container. + items: + properties: + name: + description: Name of the environment variable. + type: string + value: + description: 'Variable references $(VAR_NAME) + are expanded using the previous defined + environment variables in the container + and any route environment variables. + If a variable cannot be resolved, the + reference in the input string will be + unchanged. The $(VAR_NAME) syntax can + be escaped with a double $$, ie: $$(VAR_NAME). + Escaped references will never be expanded, + regardless of whether the variable exists + or not. Defaults to "".' + type: string + type: object + type: array + envFrom: + description: List of sources to populate environment + variables in the container. All invalid keys + will be reported as an event when the container + is starting. When a key exists in multiple + sources, the value associated with the last + source will take precedence. Values defined + by an Env with a duplicate key will take precedence. + items: + properties: + configMapRef: + description: The ConfigMap to select from. + items: + properties: + localObjectReference: + description: The ConfigMap to select + from. + items: + properties: + name: + description: 'Name of the + referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + required: + - name + type: object + type: array + optional: + description: Specify whether the + ConfigMap must be defined + type: boolean + type: object + type: array + prefix: + description: An optional identifier to + prepend to each key in the ConfigMap. + type: string + secretRef: + description: The Secret to select from. + items: + properties: + localObjectReference: + description: The Secret to select + from. + items: + properties: + name: + description: 'Name of the + referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + required: + - name + type: object + type: array + optional: + description: Specify whether the + Secret must be defined + type: boolean + type: object + type: array + type: object + type: array + image: + description: 'Docker image name. This is most + often a reference to a container located in + the container registry, such as gcr.io/cloudrun/hello + More info: https://kubernetes.io/docs/concepts/containers/images' + type: string + ports: + description: 'List of open ports in the container. + More Info: https://cloud.google.com/run/docs/reference/rest/v1/RevisionSpec#ContainerPort' + items: + properties: + containerPort: + description: Port number. + format: int64 + type: integer + name: + description: Name of the port. + type: string + protocol: + description: Protocol used on port. Defaults + to TCP. + type: string + required: + - containerPort + type: object + type: array + resources: + description: 'Compute Resources required by + this container. Used to set values such as + max memory More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits' + items: + properties: + limits: + additionalProperties: + type: string + description: 'Limits describes the maximum + amount of compute resources allowed. + The values of the map is string form + of the ''quantity'' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go' + type: object + requests: + additionalProperties: + type: string + description: 'Requests describes the minimum + amount of compute resources required. + If Requests is omitted for a container, + it defaults to Limits if that is explicitly + specified, otherwise to an implementation-defined + value. The values of the map is string + form of the ''quantity'' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go' + type: object + type: object + type: array + workingDir: + description: Container's working directory. + If not specified, the container runtime's + default will be used, which might be configured + in the container image. + type: string + required: + - image + type: object + type: array + serviceAccountName: + description: Email address of the IAM service account + associated with the revision of the service. The + service account represents the identity of the running + revision, and determines what permissions the revision + has. If not provided, the revision will use the + project's default service account. + type: string + timeoutSeconds: + description: TimeoutSeconds holds the max duration + the instance is allowed for responding to a request. + format: int64 + type: integer + type: object + type: array + type: object + type: array + traffic: + description: Traffic specifies how to distribute traffic over + a collection of Knative Revisions and Configurations + items: + properties: + latestRevision: + description: LatestRevision may be optionally provided to + indicate that the latest ready Revision of the Configuration + should be used for this traffic target. When provided + LatestRevision must be true if RevisionName is empty; + it must be false when RevisionName is non-empty. + type: boolean + percent: + description: Percent specifies percent of the traffic to + this Revision or Configuration. + format: int64 + type: integer + revisionName: + description: RevisionName of a specific revision to which + to send this portion of traffic. + type: string + required: + - percent + type: object + type: array + required: + - location + - name + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceStatus defines the observed state of Service. + properties: + atProvider: + properties: + id: + type: string + status: + items: + properties: + conditions: + items: + properties: + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + type: object + type: array + latestCreatedRevisionName: + type: string + latestReadyRevisionName: + type: string + observedGeneration: + format: int64 + type: integer + url: + type: string + type: object + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudscheduler.gcp.jet.crossplane.io_jobs.yaml b/package/crds/cloudscheduler.gcp.jet.crossplane.io_jobs.yaml new file mode 100644 index 00000000..0f07d7f5 --- /dev/null +++ b/package/crds/cloudscheduler.gcp.jet.crossplane.io_jobs.yaml @@ -0,0 +1,393 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: jobs.cloudscheduler.gcp.jet.crossplane.io +spec: + group: cloudscheduler.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Job + listKind: JobList + plural: jobs + singular: job + 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: Job is the Schema for the Jobs 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: JobSpec defines the desired state of Job + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + appEngineHttpTarget: + description: App Engine HTTP target. If the job providers a App + Engine HTTP target the cron will send a request to the service + instance + items: + properties: + appEngineRouting: + description: App Engine Routing setting for the job. + items: + properties: + instance: + description: App instance. By default, the job is + sent to an instance which is available when the + job is attempted. + type: string + service: + description: App service. By default, the job is sent + to the service which is the default service when + the job is attempted. + type: string + version: + description: App version. By default, the job is sent + to the version which is the default version when + the job is attempted. + type: string + type: object + type: array + body: + description: "HTTP request body. A request body is allowed + only if the HTTP method is POST or PUT. It will result + in invalid argument error to set a body on a job with + an incompatible HttpMethod. \n A base64-encoded string." + type: string + headers: + additionalProperties: + type: string + description: HTTP request headers. This map contains the + header field names and values. Headers can be set when + the job is created. + type: object + httpMethod: + description: Which HTTP method to use for the request. + type: string + relativeUri: + description: The relative URI. The relative URL must begin + with "/" and must be a valid HTTP relative URL. It can + contain a path, query string arguments, and \# fragments. + If the relative URL is empty, then the root path "/" will + be used. No spaces are allowed, and the maximum length + allowed is 2083 characters + type: string + required: + - relativeUri + type: object + type: array + attemptDeadline: + description: 'The deadline for job attempts. If the request handler + does not respond by this deadline then the request is cancelled + and the attempt is marked as a DEADLINE_EXCEEDED failure. The + failed attempt can be viewed in execution logs. Cloud Scheduler + will retry the job according to the RetryConfig. The allowed + duration for this deadline is: * For HTTP targets, between 15 + seconds and 30 minutes. * For App Engine HTTP targets, between + 15 seconds and 24 hours. * **Note**: For PubSub targets, this + field is ignored - setting it will introduce an unresolvable + diff. A duration in seconds with up to nine fractional digits, + terminated by ''s''. Example: "3.5s"' + type: string + description: + description: A human-readable description for the job. This string + must not contain more than 500 characters. + type: string + httpTarget: + description: HTTP target. If the job providers a http_target the + cron will send a request to the targeted url + items: + properties: + body: + description: "HTTP request body. A request body is allowed + only if the HTTP method is POST, PUT, or PATCH. It is + an error to set body on a job with an incompatible HttpMethod. + \n A base64-encoded string." + type: string + headers: + additionalProperties: + type: string + description: This map contains the header field names and + values. Repeated headers are not supported, but a header + value can contain commas. + type: object + httpMethod: + description: Which HTTP method to use for the request. + type: string + oauthToken: + description: Contains information needed for generating + an OAuth token. This type of authorization should be used + when sending requests to a GCP endpoint. + items: + properties: + scope: + description: OAuth scope to be used for generating + OAuth access token. If not specified, "https://www.googleapis.com/auth/cloud-platform" + will be used. + type: string + serviceAccountEmail: + description: Service account email to be used for + generating OAuth token. The service account must + be within the same project as the job. + type: string + required: + - serviceAccountEmail + type: object + type: array + oidcToken: + description: Contains information needed for generating + an OpenID Connect token. This type of authorization should + be used when sending requests to third party endpoints + or Cloud Run. + items: + properties: + audience: + description: Audience to be used when generating OIDC + token. If not specified, the URI specified in target + will be used. + type: string + serviceAccountEmail: + description: Service account email to be used for + generating OAuth token. The service account must + be within the same project as the job. + type: string + required: + - serviceAccountEmail + type: object + type: array + uri: + description: The full URI path that the request will be + sent to. + type: string + required: + - uri + type: object + type: array + name: + description: The name of the job. + type: string + project: + type: string + pubsubTarget: + description: Pub/Sub target If the job providers a Pub/Sub target + the cron will publish a message to the provided topic + items: + properties: + attributes: + additionalProperties: + type: string + description: Attributes for PubsubMessage. Pubsub message + must contain either non-empty data, or at least one attribute. + type: object + data: + description: "The message payload for PubsubMessage. Pubsub + message must contain either non-empty data, or at least + one attribute. \n A base64-encoded string." + type: string + topicName: + description: The full resource name for the Cloud Pub/Sub + topic to which messages will be published when a job is + delivered. ~>**NOTE:** The topic name must be in the same + format as required by PubSub's PublishRequest.name, e.g. + 'projects/my-project/topics/my-topic'. + type: string + required: + - topicName + type: object + type: array + region: + description: Region where the scheduler job resides. If it is + not provided, Terraform will use the provider default. + type: string + retryConfig: + description: By default, if a job does not complete successfully, + meaning that an acknowledgement is not received from the handler, + then it will be retried with exponential backoff according to + the settings + items: + properties: + maxBackoffDuration: + description: The maximum amount of time to wait before retrying + a job after it fails. A duration in seconds with up to + nine fractional digits, terminated by 's'. + type: string + maxDoublings: + description: The time between retries will double maxDoublings + times. A job's retry interval starts at minBackoffDuration, + then doubles maxDoublings times, then increases linearly, + and finally retries retries at intervals of maxBackoffDuration + up to retryCount times. + format: int64 + type: integer + maxRetryDuration: + description: The time limit for retrying a failed job, measured + from time when an execution was first attempted. If specified + with retryCount, the job will be retried until both limits + are reached. A duration in seconds with up to nine fractional + digits, terminated by 's'. + type: string + minBackoffDuration: + description: The minimum amount of time to wait before retrying + a job after it fails. A duration in seconds with up to + nine fractional digits, terminated by 's'. + type: string + retryCount: + description: The number of attempts that the system will + make to run a job using the exponential backoff procedure + described by maxDoublings. Values greater than 5 and negative + values are not allowed. + format: int64 + type: integer + type: object + type: array + schedule: + description: Describes the schedule on which the job will be executed. + type: string + timeZone: + description: Specifies the time zone to be used in interpreting + schedule. The value of this field must be a time zone name from + the tz database. + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: JobStatus defines the observed state of Job. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/cloudtasks.gcp.jet.crossplane.io_queues.yaml b/package/crds/cloudtasks.gcp.jet.crossplane.io_queues.yaml new file mode 100644 index 00000000..d95885c8 --- /dev/null +++ b/package/crds/cloudtasks.gcp.jet.crossplane.io_queues.yaml @@ -0,0 +1,276 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: queues.cloudtasks.gcp.jet.crossplane.io +spec: + group: cloudtasks.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Queue + listKind: QueueList + plural: queues + singular: queue + 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: Queue is the Schema for the Queues 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: QueueSpec defines the desired state of Queue + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + appEngineRoutingOverride: + description: Overrides for task-level appEngineRouting. These + settings apply only to App Engine tasks in this queue + items: + properties: + instance: + description: "App instance. \n By default, the task is sent + to an instance which is available when the task is attempted." + type: string + service: + description: "App service. \n By default, the task is sent + to the service which is the default service when the task + is attempted." + type: string + version: + description: "App version. \n By default, the task is sent + to the version which is the default version when the task + is attempted." + type: string + type: object + type: array + location: + description: The location of the queue + type: string + name: + description: The queue name. + type: string + project: + type: string + rateLimits: + description: "Rate limits for task dispatches. \n The queue's + actual dispatch rate is the result of: \n * Number of tasks + in the queue * User-specified throttling: rateLimits, retryConfig, + and the queue's state. * System throttling due to 429 (Too Many + Requests) or 503 (Service Unavailable) responses from the worker, + high error rates, or to smooth sudden large traffic spikes." + items: + properties: + maxConcurrentDispatches: + description: The maximum number of concurrent tasks that + Cloud Tasks allows to be dispatched for this queue. After + this threshold has been reached, Cloud Tasks stops dispatching + tasks until the number of concurrent requests decreases. + format: int64 + type: integer + maxDispatchesPerSecond: + description: "The maximum rate at which tasks are dispatched + from this queue. \n If unspecified when the queue is created, + Cloud Tasks will pick the default." + type: number + type: object + type: array + retryConfig: + description: Settings that determine the retry behavior. + items: + properties: + maxAttempts: + description: "Number of attempts per task. \n Cloud Tasks + will attempt the task maxAttempts times (that is, if the + first attempt fails, then there will be maxAttempts - + 1 retries). Must be >= -1. \n If unspecified when the + queue is created, Cloud Tasks will pick the default. \n + -1 indicates unlimited attempts." + format: int64 + type: integer + maxBackoff: + description: A task will be scheduled for retry between + minBackoff and maxBackoff duration after it fails, if + the queue's RetryConfig specifies that the task should + be retried. + type: string + maxDoublings: + description: "The time between retries will double maxDoublings + times. \n A task's retry interval starts at minBackoff, + then doubles maxDoublings times, then increases linearly, + and finally retries retries at intervals of maxBackoff + up to maxAttempts times." + format: int64 + type: integer + maxRetryDuration: + description: "If positive, maxRetryDuration specifies the + time limit for retrying a failed task, measured from when + the task was first attempted. Once maxRetryDuration time + has passed and the task has been attempted maxAttempts + times, no further attempts will be made and the task will + be deleted. \n If zero, then the task age is unlimited." + type: string + minBackoff: + description: A task will be scheduled for retry between + minBackoff and maxBackoff duration after it fails, if + the queue's RetryConfig specifies that the task should + be retried. + type: string + type: object + type: array + stackdriverLoggingConfig: + description: Configuration options for writing logs to Stackdriver + Logging. + items: + properties: + samplingRatio: + description: Specifies the fraction of operations to write + to Stackdriver Logging. This field may contain any value + between 0.0 and 1.0, inclusive. 0.0 is the default and + means that no operations are logged. + type: number + required: + - samplingRatio + type: object + type: array + required: + - location + type: object + 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 + 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 + 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. + 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 + status: + description: QueueStatus defines the observed state of Queue. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/composer.gcp.jet.crossplane.io_environments.yaml b/package/crds/composer.gcp.jet.crossplane.io_environments.yaml new file mode 100644 index 00000000..0093374d --- /dev/null +++ b/package/crds/composer.gcp.jet.crossplane.io_environments.yaml @@ -0,0 +1,461 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: environments.composer.gcp.jet.crossplane.io +spec: + group: composer.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Environment + listKind: EnvironmentList + plural: environments + singular: environment + 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: Environment is the Schema for the Environments 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: EnvironmentSpec defines the desired state of Environment + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + config: + description: Configuration parameters for this environment. + items: + properties: + nodeConfig: + description: The configuration used for the Kubernetes Engine + cluster. + items: + properties: + diskSizeGb: + description: The disk size in GB used for node VMs. + Minimum size is 20GB. If unspecified, defaults to + 100GB. Cannot be updated. This field is supported + for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. + format: int64 + type: integer + ipAllocationPolicy: + description: Configuration for controlling how IPs + are allocated in the GKE cluster. Cannot be updated. + items: + properties: + clusterIpv4CidrBlock: + description: The IP address range used to allocate + IP addresses to pods in the cluster. For Cloud + Composer environments in versions composer-1.*.*-airflow-*.*.*, + this field is applicable only when use_ip_aliases + is true. Set to blank to have GKE choose a + range with the default size. Set to /netmask + (e.g. /14) to have GKE choose a range with + a specific netmask. Set to a CIDR notation + (e.g. 10.96.0.0/14) from the RFC-1918 private + networks (e.g. 10.0.0.0/8, 172.16.0.0/12, + 192.168.0.0/16) to pick a specific range to + use. Specify either cluster_secondary_range_name + or cluster_ipv4_cidr_block but not both. + type: string + clusterSecondaryRangeName: + description: The name of the cluster's secondary + range used to allocate IP addresses to pods. + Specify either cluster_secondary_range_name + or cluster_ipv4_cidr_block but not both. For + Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, + this field is applicable only when use_ip_aliases + is true. + type: string + servicesIpv4CidrBlock: + description: The IP address range used to allocate + IP addresses in this cluster. For Cloud Composer + environments in versions composer-1.*.*-airflow-*.*.*, + this field is applicable only when use_ip_aliases + is true. Set to blank to have GKE choose a + range with the default size. Set to /netmask + (e.g. /14) to have GKE choose a range with + a specific netmask. Set to a CIDR notation + (e.g. 10.96.0.0/14) from the RFC-1918 private + networks (e.g. 10.0.0.0/8, 172.16.0.0/12, + 192.168.0.0/16) to pick a specific range to + use. Specify either services_secondary_range_name + or services_ipv4_cidr_block but not both. + type: string + servicesSecondaryRangeName: + description: The name of the services' secondary + range used to allocate IP addresses to the + cluster. Specify either services_secondary_range_name + or services_ipv4_cidr_block but not both. + For Cloud Composer environments in versions + composer-1.*.*-airflow-*.*.*, this field is + applicable only when use_ip_aliases is true. + type: string + useIpAliases: + description: Whether or not to enable Alias + IPs in the GKE cluster. If true, a VPC-native + cluster is created. Defaults to true if the + ip_allocation_policy block is present in config. + This field is only supported for Cloud Composer + environments in versions composer-1.*.*-airflow-*.*.*. + Environments in newer versions always use + VPC-native GKE clusters. + type: boolean + type: object + type: array + machineType: + description: 'The Compute Engine machine type used + for cluster instances, specified as a name or relative + resource name. For example: "projects/{project}/zones/{zone}/machineTypes/{machineType}". + Must belong to the enclosing environment''s project + and region/zone. This field is supported for Cloud + Composer environments in versions composer-1.*.*-airflow-*.*.*.' + type: string + network: + description: 'The Compute Engine machine type used + for cluster instances, specified as a name or relative + resource name. For example: "projects/{project}/zones/{zone}/machineTypes/{machineType}". + Must belong to the enclosing environment''s project + and region/zone. The network must belong to the + environment''s project. If unspecified, the "default" + network ID in the environment''s project is used. + If a Custom Subnet Network is provided, subnetwork + must also be provided.' + type: string + oauthScopes: + description: The set of Google API scopes to be made + available on all node VMs. Cannot be updated. If + empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"]. + This field is supported for Cloud Composer environments + in versions composer-1.*.*-airflow-*.*.*. + items: + type: string + type: array + serviceAccount: + description: The Google Cloud Platform Service Account + to be used by the node VMs. If a service account + is not specified, the "default" Compute Engine service + account is used. Cannot be updated. If given, note + that the service account must have roles/composer.worker + for any GCP resources created under the Cloud Composer + Environment. + type: string + subnetwork: + description: The Compute Engine subnetwork to be used + for machine communications, , specified as a self-link, + relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), + or by name. If subnetwork is provided, network must + also be provided and the subnetwork must belong + to the enclosing environment's project and region. + type: string + tags: + description: The list of instance tags applied to + all node VMs. Tags are used to identify valid sources + or targets for network firewalls. Each tag within + the list must comply with RFC1035. Cannot be updated. + This field is supported for Cloud Composer environments + in versions composer-1.*.*-airflow-*.*.*. + items: + type: string + type: array + zone: + description: The Compute Engine zone in which to deploy + the VMs running the Apache Airflow software, specified + as the zone name or relative resource name (e.g. + "projects/{project}/zones/{zone}"). Must belong + to the enclosing environment's project and region. + This field is supported for Cloud Composer environments + in versions composer-1.*.*-airflow-*.*.*. + type: string + type: object + type: array + nodeCount: + description: The number of nodes in the Kubernetes Engine + cluster that will be used to run this environment. This + field is supported for Cloud Composer environments in + versions composer-1.*.*-airflow-*.*.*. + format: int64 + type: integer + privateEnvironmentConfig: + description: The configuration used for the Private IP Cloud + Composer environment. + items: + properties: + cloudSqlIpv4CidrBlock: + description: The CIDR block from which IP range in + tenant project will be reserved for Cloud SQL. Needs + to be disjoint from web_server_ipv4_cidr_block. + type: string + enablePrivateEndpoint: + description: If true, access to the public endpoint + of the GKE cluster is denied. If this field is set + to true, ip_allocation_policy.use_ip_aliases must + be set to true for Cloud Composer environments in + versions composer-1.*.*-airflow-*.*.*. + type: boolean + masterIpv4CidrBlock: + description: The IP range in CIDR notation to use + for the hosted master network. This range is used + for assigning internal IP addresses to the cluster + master or set of masters and to the internal load + balancer virtual IP. This range must not overlap + with any other ranges in use within the cluster's + network. If left blank, the default value of '172.16.0.0/28' + is used. + type: string + webServerIpv4CidrBlock: + description: The CIDR block from which IP range for + web server will be reserved. Needs to be disjoint + from master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block. + This field is supported for Cloud Composer environments + in versions composer-1.*.*-airflow-*.*.*. + type: string + type: object + type: array + softwareConfig: + description: The configuration settings for software inside + the environment. + items: + properties: + airflowConfigOverrides: + additionalProperties: + type: string + description: 'Apache Airflow configuration properties + to override. Property keys contain the section and + property names, separated by a hyphen, for example + "core-dags_are_paused_at_creation". Section names + must not contain hyphens ("-"), opening square brackets + ("["), or closing square brackets ("]"). The property + name must not be empty and cannot contain "=" or + ";". Section and property names cannot contain characters: + "." Apache Airflow configuration property names + must be written in snake_case. Property values can + contain any character, and can be written in any + lower/upper case format. Certain Apache Airflow + configuration property values are blacklisted, and + cannot be overridden.' + type: object + envVariables: + additionalProperties: + type: string + description: 'Additional environment variables to + provide to the Apache Airflow schedulerf, worker, + and webserver processes. Environment variable names + must match the regular expression [a-zA-Z_][a-zA-Z0-9_]*. + They cannot specify Apache Airflow software configuration + overrides (they cannot match the regular expression + AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+), and they cannot + match any of the following reserved names: AIRFLOW_HOME + C_FORCE_ROOT CONTAINER_NAME DAGS_FOLDER GCP_PROJECT + GCS_BUCKET GKE_CLUSTER_NAME SQL_DATABASE SQL_INSTANCE + SQL_PASSWORD SQL_PROJECT SQL_REGION SQL_USER.' + type: object + imageVersion: + description: The version of the software running in + the environment. This encapsulates both the version + of Cloud Composer functionality and the version + of Apache Airflow. It must match the regular expression + composer-[0-9]+\.[0-9]+(\.[0-9]+)?-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?. + The Cloud Composer portion of the version is a semantic + version. The portion of the image version following + 'airflow-' is an official Apache Airflow repository + release name. See documentation for allowed release + names. + type: string + pypiPackages: + additionalProperties: + type: string + description: Custom Python Package Index (PyPI) packages + to be installed in the environment. Keys refer to + the lowercase package name (e.g. "numpy"). Values + are the lowercase extras and version specifier (e.g. + "==1.12.0", "[devel,gcp_api]", "[devel]>=1.8.2, + <1.9.2"). To specify a package without pinning it + to a version specifier, use the empty string as + the value. + type: object + pythonVersion: + description: The major version of Python used to run + the Apache Airflow scheduler, worker, and webserver + processes. Can be set to '2' or '3'. If not specified, + the default is '2'. Cannot be updated. This field + is supported for Cloud Composer environments in + versions composer-1.*.*-airflow-*.*.*. Environments + in newer versions always use Python major version + 3. + type: string + schedulerCount: + description: The number of schedulers for Airflow. + This field is supported for Cloud Composer environments + in versions composer-1.*.*-airflow-2.*.*. + format: int64 + type: integer + type: object + type: array + type: object + type: array + labels: + additionalProperties: + type: string + description: 'User-defined labels for this environment. The labels + map can contain no more than 64 entries. Entries of the labels + map are UTF8 strings that comply with the following restrictions: + Label keys must be between 1 and 63 characters long and must + conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])?. + Label values must be between 0 and 63 characters long and must + conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?. + No more than 64 labels can be associated with a given environment. + Both keys and values must be <= 128 bytes in size.' + type: object + name: + description: Name of the environment. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + region: + description: The location or Compute Engine region for the environment. + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: EnvironmentStatus defines the observed state of Environment. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_attacheddisks.yaml b/package/crds/compute.gcp.jet.crossplane.io_attacheddisks.yaml new file mode 100644 index 00000000..7af5ae38 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_attacheddisks.yaml @@ -0,0 +1,202 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: attacheddisks.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AttachedDisk + listKind: AttachedDiskList + plural: attacheddisks + singular: attacheddisk + 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: AttachedDisk is the Schema for the AttachedDisks 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: AttachedDiskSpec defines the desired state of AttachedDisk + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + deviceName: + description: Specifies a unique device name of your choice that + is reflected into the /dev/disk/by-id/google-* tree of a Linux + operating system running within the instance. This name can + be used to reference the device for mounting, resizing, and + so on, from within the instance. If not specified, the server + chooses a default device name to apply to this disk, in the + form persistent-disks-x, where x is a number assigned by Google + Compute Engine. + type: string + disk: + description: name or self_link of the disk that will be attached. + type: string + instance: + description: name or self_link of the compute instance that the + disk will be attached to. If the self_link is provided then + zone and project are extracted from the self link. If only the + name is used then zone and project must be defined as properties + on the resource or provider. + type: string + mode: + description: The mode in which to attach this disk, either READ_WRITE + or READ_ONLY. If not specified, the default is to attach the + disk in READ_WRITE mode. + type: string + project: + description: The project that the referenced compute instance + is a part of. If instance is referenced by its self_link the + project defined in the link will take precedence. + type: string + zone: + description: The zone that the referenced compute instance is + located within. If instance is referenced by its self_link the + zone defined in the link will take precedence. + type: string + required: + - disk + - instance + type: object + 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 + 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 + 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. + 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 + status: + description: AttachedDiskStatus defines the observed state of AttachedDisk. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_autoscalers.yaml b/package/crds/compute.gcp.jet.crossplane.io_autoscalers.yaml new file mode 100644 index 00000000..2693279f --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_autoscalers.yaml @@ -0,0 +1,391 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: autoscalers.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Autoscaler + listKind: AutoscalerList + plural: autoscalers + singular: autoscaler + 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: Autoscaler is the Schema for the Autoscalers 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: AutoscalerSpec defines the desired state of Autoscaler + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + autoscalingPolicy: + description: "The configuration parameters for the autoscaling + algorithm. You can define one or more of the policies for an + autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. + \n If none of these are specified, the default will be to autoscale + based on cpuUtilization to 0.6 or 60%." + items: + properties: + cooldownPeriod: + description: "The number of seconds that the autoscaler + should wait before it starts collecting information from + a new instance. This prevents the autoscaler from collecting + information when the instance is initializing, during + which the collected usage would not be reliable. The default + time autoscaler waits is 60 seconds. \n Virtual machine + initialization times might vary because of numerous factors. + We recommend that you test how long an instance may take + to initialize. To do this, create an instance and time + the startup process." + format: int64 + type: integer + cpuUtilization: + description: Defines the CPU utilization policy that allows + the autoscaler to scale based on the average CPU utilization + of a managed instance group. + items: + properties: + predictiveMethod: + description: "Indicates whether predictive autoscaling + based on CPU metric is enabled. Valid values are: + \n - NONE (default). No predictive method is used. + The autoscaler scales the group to meet current + demand based on real-time metrics. \n - OPTIMIZE_AVAILABILITY. + Predictive autoscaling improves availability by + monitoring daily and weekly load patterns and scaling + out ahead of anticipated demand." + type: string + target: + description: "The target CPU utilization that the + autoscaler should maintain. Must be a float value + in the range (0, 1]. If not specified, the default + is 0.6. \n If the CPU level is below the target + utilization, the autoscaler scales down the number + of instances until it reaches the minimum number + of instances you specified or until the average + CPU of your instances reaches the target utilization. + \n If the average CPU is above the target utilization, + the autoscaler scales up until it reaches the maximum + number of instances you specified or until the average + utilization reaches the target utilization." + type: number + required: + - target + type: object + type: array + loadBalancingUtilization: + description: Configuration parameters of autoscaling based + on a load balancer. + items: + properties: + target: + description: Fraction of backend capacity utilization + (set in HTTP(s) load balancing configuration) that + autoscaler should maintain. Must be a positive float + value. If not defined, the default is 0.8. + type: number + required: + - target + type: object + type: array + maxReplicas: + description: The maximum number of instances that the autoscaler + can scale up to. This is required when creating or updating + an autoscaler. The maximum number of replicas should not + be lower than minimal number of replicas. + format: int64 + type: integer + metric: + description: Configuration parameters of autoscaling based + on a custom metric. + items: + properties: + name: + description: "The identifier (type) of the Stackdriver + Monitoring metric. The metric cannot have negative + values. \n The metric must have a value type of + INT64 or DOUBLE." + type: string + target: + description: "The target value of the metric that + autoscaler should maintain. This must be a positive + value. A utilization metric scales number of virtual + machines handling requests to increase or decrease + proportionally to the metric. \n For example, a + good metric to use as a utilizationTarget is www.googleapis.com/compute/instance/network/received_bytes_count. + The autoscaler will work to keep this value constant + for each of the instances." + type: number + type: + description: 'Defines how target utilization value + is expressed for a Stackdriver Monitoring metric. + Possible values: ["GAUGE", "DELTA_PER_SECOND", "DELTA_PER_MINUTE"]' + type: string + required: + - name + type: object + type: array + minReplicas: + description: The minimum number of replicas that the autoscaler + can scale down to. This cannot be less than 0. If not + provided, autoscaler will choose a default value depending + on maximum number of instances allowed. + format: int64 + type: integer + mode: + description: 'Defines operating mode for this policy. Default + value: "ON" Possible values: ["OFF", "ONLY_UP", "ON"]' + type: string + scaleInControl: + description: Defines scale in controls to reduce the risk + of response latency and outages due to abrupt scale-in + events + items: + properties: + maxScaledInReplicas: + description: A nested object resource + items: + properties: + fixed: + description: Specifies a fixed number of VM + instances. This must be a positive integer. + format: int64 + type: integer + percent: + description: Specifies a percentage of instances + between 0 to 100%, inclusive. For example, + specify 80 for 80%. + format: int64 + type: integer + type: object + type: array + timeWindowSec: + description: How long back autoscaling should look + when computing recommendations to include directives + regarding slower scale down, as described above. + format: int64 + type: integer + type: object + type: array + scalingSchedules: + description: Scaling schedules defined for an autoscaler. + Multiple schedules can be set on an autoscaler and they + can overlap. + items: + properties: + description: + description: A description of a scaling schedule. + type: string + disabled: + description: A boolean value that specifies if a scaling + schedule can influence autoscaler recommendations. + If set to true, then a scaling schedule has no effect. + type: boolean + durationSec: + description: The duration of time intervals (in seconds) + for which this scaling schedule will be running. + The minimum allowed value is 300. + format: int64 + type: integer + minRequiredReplicas: + description: Minimum number of VM instances that autoscaler + will recommend in time intervals starting according + to schedule. + format: int64 + type: integer + name: + type: string + schedule: + description: The start timestamps of time intervals + when this scaling schedule should provide a scaling + signal. This field uses the extended cron format + (with an optional year field). + type: string + timeZone: + description: 'The time zone to be used when interpreting + the schedule. The value of this field must be a + time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.' + type: string + required: + - durationSec + - minRequiredReplicas + - name + - schedule + type: object + type: array + required: + - maxReplicas + - minReplicas + type: object + type: array + description: + description: An optional description of this resource. + type: string + name: + description: Name of the resource. The name must be 1-63 characters + long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + target: + description: URL of the managed instance group that this autoscaler + will scale. + type: string + zone: + description: URL of the zone where the instance group resides. + type: string + required: + - autoscalingPolicy + - name + - target + type: object + 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 + 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 + 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. + 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 + status: + description: AutoscalerStatus defines the observed state of Autoscaler. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_backendbuckets.yaml b/package/crds/compute.gcp.jet.crossplane.io_backendbuckets.yaml new file mode 100644 index 00000000..2bc36ad0 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_backendbuckets.yaml @@ -0,0 +1,272 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: backendbuckets.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: BackendBucket + listKind: BackendBucketList + plural: backendbuckets + singular: backendbucket + 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: BackendBucket is the Schema for the BackendBuckets 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: BackendBucketSpec defines the desired state of BackendBucket + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucketName: + description: Cloud Storage bucket name. + type: string + cdnPolicy: + description: Cloud CDN configuration for this Backend Bucket. + items: + properties: + cacheMode: + description: 'Specifies the cache setting for all responses + from this backend. The possible values are: USE_ORIGIN_HEADERS, + FORCE_CACHE_ALL and CACHE_ALL_STATIC Possible values: + ["USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", "CACHE_ALL_STATIC"]' + type: string + clientTtl: + description: Specifies the maximum allowed TTL for cached + content served by this origin. + format: int64 + type: integer + defaultTtl: + description: Specifies the default TTL for cached content + served by this origin for responses that do not have an + existing valid TTL (max-age or s-max-age). + format: int64 + type: integer + maxTtl: + description: Specifies the maximum allowed TTL for cached + content served by this origin. + format: int64 + type: integer + negativeCaching: + description: Negative caching allows per-status code TTLs + to be set, in order to apply fine-grained caching for + common errors or redirects. + type: boolean + negativeCachingPolicy: + description: Sets a cache TTL for the specified HTTP status + code. negativeCaching must be enabled to configure negativeCachingPolicy. + Omitting the policy and leaving negativeCaching enabled + will use Cloud CDN's default cache TTLs. + items: + properties: + code: + description: The HTTP status code to define a TTL + against. Only HTTP status codes 300, 301, 308, 404, + 405, 410, 421, 451 and 501 can be specified as values, + and you cannot specify a status code more than once. + format: int64 + type: integer + ttl: + description: The TTL (in seconds) for which to cache + responses with the corresponding status code. The + maximum allowed value is 1800s (30 minutes), noting + that infrequently accessed objects may be evicted + from the cache before the defined TTL. + format: int64 + type: integer + type: object + type: array + serveWhileStale: + description: Serve existing content from the cache (if available) + when revalidating content with the origin, or when an + error is encountered when refreshing the cache. + format: int64 + type: integer + signedUrlCacheMaxAgeSec: + description: 'Maximum number of seconds the response to + a signed URL request will be considered fresh. After this + time period, the response will be revalidated before being + served. When serving responses to signed URL requests, + Cloud CDN will internally behave as though all responses + from this backend had a "Cache-Control: public, max-age=[TTL]" + header, regardless of any existing Cache-Control header. + The actual headers served in responses will not be altered.' + format: int64 + type: integer + type: object + type: array + customResponseHeaders: + description: Headers that the HTTP/S load balancer should add + to proxied responses. + items: + type: string + type: array + description: + description: An optional textual description of the resource; + provided by the client when the resource is created. + type: string + enableCdn: + description: If true, enable Cloud CDN for this BackendBucket. + type: boolean + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + required: + - bucketName + - name + type: object + 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 + 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 + 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. + 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 + status: + description: BackendBucketStatus defines the observed state of BackendBucket. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_backendbucketsignedurlkeys.yaml b/package/crds/compute.gcp.jet.crossplane.io_backendbucketsignedurlkeys.yaml new file mode 100644 index 00000000..ff405151 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_backendbucketsignedurlkeys.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: backendbucketsignedurlkeys.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: BackendBucketSignedURLKey + listKind: BackendBucketSignedURLKeyList + plural: backendbucketsignedurlkeys + singular: backendbucketsignedurlkey + 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: BackendBucketSignedURLKey is the Schema for the BackendBucketSignedURLKeys + 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: BackendBucketSignedURLKeySpec defines the desired state of + BackendBucketSignedURLKey + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + backendBucket: + description: The backend bucket this signed URL key belongs. + type: string + keyValueSecretRef: + description: 128-bit key value used for signing the URL. The key + value must be a valid RFC 4648 Section 5 base64url encoded string. + 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 + name: + description: Name of the signed URL key. + type: string + project: + type: string + required: + - backendBucket + - keyValueSecretRef + - name + type: object + 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 + 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 + 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. + 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 + status: + description: BackendBucketSignedURLKeyStatus defines the observed state + of BackendBucketSignedURLKey. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_backendservices.yaml b/package/crds/compute.gcp.jet.crossplane.io_backendservices.yaml new file mode 100644 index 00000000..108bf708 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_backendservices.yaml @@ -0,0 +1,770 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: backendservices.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: BackendService + listKind: BackendServiceList + plural: backendservices + singular: backendservice + 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: BackendService is the Schema for the BackendServices 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: BackendServiceSpec defines the desired state of BackendService + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + affinityCookieTtlSec: + description: "Lifetime of cookies in seconds if session_affinity + is GENERATED_COOKIE. If set to 0, the cookie is non-persistent + and lasts only until the end of the browser session (or equivalent). + The maximum allowed value for TTL is one day. \n When the load + balancing scheme is INTERNAL, this field is not used." + format: int64 + type: integer + backend: + description: The set of backends that serve this BackendService. + items: + properties: + balancingMode: + description: "Specifies the balancing mode for this backend. + \n For global HTTP(S) or TCP/SSL load balancing, the default + is UTILIZATION. Valid values are UTILIZATION, RATE (for + HTTP(S)) and CONNECTION (for TCP/SSL). Default value: + \"UTILIZATION\" Possible values: [\"UTILIZATION\", \"RATE\", + \"CONNECTION\"]" + type: string + capacityScaler: + description: "A multiplier applied to the group's maximum + servicing capacity (based on UTILIZATION, RATE or CONNECTION). + \n Default value is 1, which means the group will serve + up to 100% of its configured capacity (depending on balancingMode). + A setting of 0 means the group is completely drained, + offering 0% of its available Capacity. Valid range is + [0.0,1.0]." + type: number + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + group: + description: "The fully-qualified URL of an Instance Group + or Network Endpoint Group resource. In case of instance + group this defines the list of instances that serve traffic. + Member virtual machine instances from each instance group + must live in the same zone as the instance group itself. + No two backends in a backend service are allowed to use + same Instance Group resource. \n For Network Endpoint + Groups this defines list of endpoints. All endpoints of + Network Endpoint Group must be hosted on instances located + in the same zone as the Network Endpoint Group. \n Backend + services cannot mix Instance Group and Network Endpoint + Group backends. \n Note that you must specify an Instance + Group or Network Endpoint Group resource using the fully-qualified + URL, rather than a partial URL." + type: string + maxConnections: + description: "The max number of simultaneous connections + for the group. Can be used with either CONNECTION or UTILIZATION + balancing modes. \n For CONNECTION mode, either maxConnections + or one of maxConnectionsPerInstance or maxConnectionsPerEndpoint, + as appropriate for group type, must be set." + format: int64 + type: integer + maxConnectionsPerEndpoint: + description: "The max number of simultaneous connections + that a single backend network endpoint can handle. This + is used to calculate the capacity of the group. Can be + used in either CONNECTION or UTILIZATION balancing modes. + \n For CONNECTION mode, either maxConnections or maxConnectionsPerEndpoint + must be set." + format: int64 + type: integer + maxConnectionsPerInstance: + description: "The max number of simultaneous connections + that a single backend instance can handle. This is used + to calculate the capacity of the group. Can be used in + either CONNECTION or UTILIZATION balancing modes. \n For + CONNECTION mode, either maxConnections or maxConnectionsPerInstance + must be set." + format: int64 + type: integer + maxRate: + description: "The max requests per second (RPS) of the group. + \n Can be used with either RATE or UTILIZATION balancing + modes, but required if RATE mode. For RATE mode, either + maxRate or one of maxRatePerInstance or maxRatePerEndpoint, + as appropriate for group type, must be set." + format: int64 + type: integer + maxRatePerEndpoint: + description: The max requests per second (RPS) that a single + backend network endpoint can handle. This is used to calculate + the capacity of the group. Can be used in either balancing + mode. For RATE mode, either maxRate or maxRatePerEndpoint + must be set. + type: number + maxRatePerInstance: + description: The max requests per second (RPS) that a single + backend instance can handle. This is used to calculate + the capacity of the group. Can be used in either balancing + mode. For RATE mode, either maxRate or maxRatePerInstance + must be set. + type: number + maxUtilization: + description: Used when balancingMode is UTILIZATION. This + ratio defines the CPU utilization target for the group. + Valid range is [0.0, 1.0]. + type: number + required: + - group + type: object + type: array + cdnPolicy: + description: Cloud CDN configuration for this BackendService. + items: + properties: + cacheKeyPolicy: + description: The CacheKeyPolicy for this CdnPolicy. + items: + properties: + includeHost: + description: If true requests to different hosts will + be cached separately. + type: boolean + includeProtocol: + description: If true, http and https requests will + be cached separately. + type: boolean + includeQueryString: + description: "If true, include query string parameters + in the cache key according to query_string_whitelist + and query_string_blacklist. If neither is set, the + entire query string will be included. \n If false, + the query string will be excluded from the cache + key entirely." + type: boolean + queryStringBlacklist: + description: "Names of query string parameters to + exclude in cache keys. \n All other parameters will + be included. Either specify query_string_whitelist + or query_string_blacklist, not both. '&' and '=' + will be percent encoded and not treated as delimiters." + items: + type: string + type: array + queryStringWhitelist: + description: "Names of query string parameters to + include in cache keys. \n All other parameters will + be excluded. Either specify query_string_whitelist + or query_string_blacklist, not both. '&' and '=' + will be percent encoded and not treated as delimiters." + items: + type: string + type: array + type: object + type: array + cacheMode: + description: 'Specifies the cache setting for all responses + from this backend. The possible values are: USE_ORIGIN_HEADERS, + FORCE_CACHE_ALL and CACHE_ALL_STATIC Possible values: + ["USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", "CACHE_ALL_STATIC"]' + type: string + clientTtl: + description: Specifies the maximum allowed TTL for cached + content served by this origin. + format: int64 + type: integer + defaultTtl: + description: Specifies the default TTL for cached content + served by this origin for responses that do not have an + existing valid TTL (max-age or s-max-age). + format: int64 + type: integer + maxTtl: + description: Specifies the maximum allowed TTL for cached + content served by this origin. + format: int64 + type: integer + negativeCaching: + description: Negative caching allows per-status code TTLs + to be set, in order to apply fine-grained caching for + common errors or redirects. + type: boolean + negativeCachingPolicy: + description: Sets a cache TTL for the specified HTTP status + code. negativeCaching must be enabled to configure negativeCachingPolicy. + Omitting the policy and leaving negativeCaching enabled + will use Cloud CDN's default cache TTLs. + items: + properties: + code: + description: The HTTP status code to define a TTL + against. Only HTTP status codes 300, 301, 308, 404, + 405, 410, 421, 451 and 501 can be specified as values, + and you cannot specify a status code more than once. + format: int64 + type: integer + ttl: + description: The TTL (in seconds) for which to cache + responses with the corresponding status code. The + maximum allowed value is 1800s (30 minutes), noting + that infrequently accessed objects may be evicted + from the cache before the defined TTL. + format: int64 + type: integer + type: object + type: array + serveWhileStale: + description: Serve existing content from the cache (if available) + when revalidating content with the origin, or when an + error is encountered when refreshing the cache. + format: int64 + type: integer + signedUrlCacheMaxAgeSec: + description: "Maximum number of seconds the response to + a signed URL request will be considered fresh, defaults + to 1hr (3600s). After this time period, the response will + be revalidated before being served. \n When serving responses + to signed URL requests, Cloud CDN will internally behave + as though all responses from this backend had a \"Cache-Control: + public, max-age=[TTL]\" header, regardless of any existing + Cache-Control header. The actual headers served in responses + will not be altered." + format: int64 + type: integer + type: object + type: array + circuitBreakers: + description: Settings controlling the volume of connections to + a backend service. This field is applicable only when the load_balancing_scheme + is set to INTERNAL_SELF_MANAGED. + items: + properties: + maxConnections: + description: The maximum number of connections to the backend + cluster. Defaults to 1024. + format: int64 + type: integer + maxPendingRequests: + description: The maximum number of pending requests to the + backend cluster. Defaults to 1024. + format: int64 + type: integer + maxRequests: + description: The maximum number of parallel requests to + the backend cluster. Defaults to 1024. + format: int64 + type: integer + maxRequestsPerConnection: + description: Maximum requests for a single backend connection. + This parameter is respected by both the HTTP/1.1 and HTTP/2 + implementations. If not specified, there is no limit. + Setting this parameter to 1 will effectively disable keep + alive. + format: int64 + type: integer + maxRetries: + description: The maximum number of parallel retries to the + backend cluster. Defaults to 3. + format: int64 + type: integer + type: object + type: array + connectionDrainingTimeoutSec: + description: Time for which instance will be drained (not accept + new connections, but still work to finish started). + format: int64 + type: integer + consistentHash: + description: Consistent Hash-based load balancing can be used + to provide soft session affinity based on HTTP headers, cookies + or other properties. This load balancing policy is applicable + only for HTTP connections. The affinity to a particular destination + host will be lost when one or more hosts are added/removed from + the destination service. This field specifies parameters that + control consistent hashing. This field only applies if the load_balancing_scheme + is set to INTERNAL_SELF_MANAGED. This field is only applicable + when locality_lb_policy is set to MAGLEV or RING_HASH. + items: + properties: + httpCookie: + description: Hash is based on HTTP Cookie. This field describes + a HTTP cookie that will be used as the hash key for the + consistent hash load balancer. If the cookie is not present, + it will be generated. This field is applicable if the + sessionAffinity is set to HTTP_COOKIE. + items: + properties: + name: + description: Name of the cookie. + type: string + path: + description: Path to set for the cookie. + type: string + ttl: + description: Lifetime of the cookie. + items: + properties: + nanos: + description: Span of time that's a fraction + of a second at nanosecond resolution. Durations + less than one second are represented with + a 0 seconds field and a positive nanos field. + Must be from 0 to 999,999,999 inclusive. + format: int64 + type: integer + seconds: + description: Span of time at a resolution of + a second. Must be from 0 to 315,576,000,000 + inclusive. + format: int64 + type: integer + required: + - seconds + type: object + type: array + type: object + type: array + httpHeaderName: + description: The hash based on the value of the specified + header field. This field is applicable if the sessionAffinity + is set to HEADER_FIELD. + type: string + minimumRingSize: + description: The minimum number of virtual nodes to use + for the hash ring. Larger ring sizes result in more granular + load distributions. If the number of hosts in the load + balancing pool is larger than the ring size, each host + will be assigned a single virtual node. Defaults to 1024. + format: int64 + type: integer + type: object + type: array + customRequestHeaders: + description: Headers that the HTTP/S load balancer should add + to proxied requests. + items: + type: string + type: array + customResponseHeaders: + description: Headers that the HTTP/S load balancer should add + to proxied responses. + items: + type: string + type: array + description: + description: An optional description of this resource. + type: string + enableCdn: + description: If true, enable Cloud CDN for this BackendService. + type: boolean + healthChecks: + description: "The set of URLs to the HttpHealthCheck or HttpsHealthCheck + resource for health checking this BackendService. Currently + at most one health check can be specified. \n A health check + must be specified unless the backend service uses an internet + or serverless NEG as a backend. \n For internal load balancing, + a URL to a HealthCheck resource must be specified instead." + items: + type: string + type: array + iap: + description: Settings for enabling Cloud Identity Aware Proxy + items: + properties: + oauth2ClientId: + description: OAuth2 Client ID for IAP + type: string + oauth2ClientSecretSecretRef: + description: OAuth2 Client Secret for IAP + 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 + required: + - oauth2ClientId + - oauth2ClientSecretSecretRef + type: object + type: array + loadBalancingScheme: + description: 'Indicates whether the backend service will be used + with internal or external load balancing. A backend service + created for one type of load balancing cannot be used with the + other. Default value: "EXTERNAL" Possible values: ["EXTERNAL", + "INTERNAL_SELF_MANAGED"]' + type: string + localityLbPolicy: + description: "The load balancing algorithm used within the scope + of the locality. The possible values are - \n * ROUND_ROBIN + - This is a simple policy in which each healthy backend is selected + in round robin order. \n * LEAST_REQUEST - An O(1) algorithm + which selects two random healthy hosts and picks the host which + has fewer active requests. \n * RING_HASH - The ring/modulo + hash load balancer implements consistent hashing to backends. + The algorithm has the property that the addition/removal of + a host from a set of N hosts only affects 1/N of the requests. + \n * RANDOM - The load balancer selects a random healthy host. + \n * ORIGINAL_DESTINATION - Backend host is selected based on + the client connection metadata, i.e., connections are opened + to the same address as the destination address of the incoming + connection before the connection was redirected to the load + balancer. \n * MAGLEV - used as a drop in replacement for the + ring hash load balancer. Maglev is not as stable as ring hash + but has faster table lookup build times and host selection times. + For more information about Maglev, refer to https://ai.google/research/pubs/pub44824 + \n This field is applicable only when the load_balancing_scheme + is set to INTERNAL_SELF_MANAGED. Possible values: [\"ROUND_ROBIN\", + \"LEAST_REQUEST\", \"RING_HASH\", \"RANDOM\", \"ORIGINAL_DESTINATION\", + \"MAGLEV\"]" + type: string + logConfig: + description: This field denotes the logging options for the load + balancer traffic served by this backend service. If logging + is enabled, logs will be exported to Stackdriver. + items: + properties: + enable: + description: Whether to enable logging for the load balancer + traffic served by this backend service. + type: boolean + sampleRate: + description: This field can only be specified if logging + is enabled for this backend service. The value of the + field must be in [0, 1]. This configures the sampling + rate of requests to the load balancer where 1.0 means + all logged requests are reported and 0.0 means no logged + requests are reported. The default value is 1.0. + type: number + type: object + type: array + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + outlierDetection: + description: Settings controlling eviction of unhealthy hosts + from the load balancing pool. This field is applicable only + when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. + items: + properties: + baseEjectionTime: + description: The base time that a host is ejected for. The + real time is equal to the base time multiplied by the + number of times the host has been ejected. Defaults to + 30000ms or 30s. + items: + properties: + nanos: + description: Span of time that's a fraction of a second + at nanosecond resolution. Durations less than one + second are represented with a 0 'seconds' field + and a positive 'nanos' field. Must be from 0 to + 999,999,999 inclusive. + format: int64 + type: integer + seconds: + description: Span of time at a resolution of a second. + Must be from 0 to 315,576,000,000 inclusive. + format: int64 + type: integer + required: + - seconds + type: object + type: array + consecutiveErrors: + description: Number of errors before a host is ejected from + the connection pool. When the backend host is accessed + over HTTP, a 5xx return code qualifies as an error. Defaults + to 5. + format: int64 + type: integer + consecutiveGatewayFailure: + description: The number of consecutive gateway failures + (502, 503, 504 status or connection errors that are mapped + to one of those status codes) before a consecutive gateway + failure ejection occurs. Defaults to 5. + format: int64 + type: integer + enforcingConsecutiveErrors: + description: The percentage chance that a host will be actually + ejected when an outlier status is detected through consecutive + 5xx. This setting can be used to disable ejection or to + ramp it up slowly. Defaults to 100. + format: int64 + type: integer + enforcingConsecutiveGatewayFailure: + description: The percentage chance that a host will be actually + ejected when an outlier status is detected through consecutive + gateway failures. This setting can be used to disable + ejection or to ramp it up slowly. Defaults to 0. + format: int64 + type: integer + enforcingSuccessRate: + description: The percentage chance that a host will be actually + ejected when an outlier status is detected through success + rate statistics. This setting can be used to disable ejection + or to ramp it up slowly. Defaults to 100. + format: int64 + type: integer + interval: + description: Time interval between ejection sweep analysis. + This can result in both new ejections as well as hosts + being returned to service. Defaults to 10 seconds. + items: + properties: + nanos: + description: Span of time that's a fraction of a second + at nanosecond resolution. Durations less than one + second are represented with a 0 'seconds' field + and a positive 'nanos' field. Must be from 0 to + 999,999,999 inclusive. + format: int64 + type: integer + seconds: + description: Span of time at a resolution of a second. + Must be from 0 to 315,576,000,000 inclusive. + format: int64 + type: integer + required: + - seconds + type: object + type: array + maxEjectionPercent: + description: Maximum percentage of hosts in the load balancing + pool for the backend service that can be ejected. Defaults + to 10%. + format: int64 + type: integer + successRateMinimumHosts: + description: The number of hosts in a cluster that must + have enough request volume to detect success rate outliers. + If the number of hosts is less than this setting, outlier + detection via success rate statistics is not performed + for any host in the cluster. Defaults to 5. + format: int64 + type: integer + successRateRequestVolume: + description: The minimum number of total requests that must + be collected in one interval (as defined by the interval + duration above) to include this host in success rate based + outlier detection. If the volume is lower than this setting, + outlier detection via success rate statistics is not performed + for that host. Defaults to 100. + format: int64 + type: integer + successRateStdevFactor: + description: 'This factor is used to determine the ejection + threshold for success rate outlier ejection. The ejection + threshold is the difference between the mean success rate, + and the product of this factor and the standard deviation + of the mean success rate: mean - (stdev * success_rate_stdev_factor). + This factor is divided by a thousand to get a double. + That is, if the desired factor is 1.9, the runtime value + should be 1900. Defaults to 1900.' + format: int64 + type: integer + type: object + type: array + portName: + description: Name of backend port. The same name should appear + in the instance groups referenced by this service. Required + when the load balancing scheme is EXTERNAL. + type: string + project: + type: string + protocol: + description: 'The protocol this BackendService uses to communicate + with backends. The default is HTTP. **NOTE**: HTTP2 is only + valid for beta HTTP/2 load balancer types and may result in + errors if used with the GA API. Possible values: ["HTTP", "HTTPS", + "HTTP2", "TCP", "SSL", "GRPC"]' + type: string + securityPolicy: + description: The security policy associated with this backend + service. + type: string + sessionAffinity: + description: 'Type of session affinity to use. The default is + NONE. Session affinity is not applicable if the protocol is + UDP. Possible values: ["NONE", "CLIENT_IP", "CLIENT_IP_PORT_PROTO", + "CLIENT_IP_PROTO", "GENERATED_COOKIE", "HEADER_FIELD", "HTTP_COOKIE"]' + type: string + timeoutSec: + description: How many seconds to wait for the backend before considering + it a failed request. Default is 30 seconds. Valid range is [1, + 86400]. + format: int64 + type: integer + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: BackendServiceStatus defines the observed state of BackendService. + properties: + atProvider: + properties: + creationTimestamp: + type: string + fingerprint: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_backendservicesignedurlkeys.yaml b/package/crds/compute.gcp.jet.crossplane.io_backendservicesignedurlkeys.yaml new file mode 100644 index 00000000..dc5c7a9b --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_backendservicesignedurlkeys.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: backendservicesignedurlkeys.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: BackendServiceSignedURLKey + listKind: BackendServiceSignedURLKeyList + plural: backendservicesignedurlkeys + singular: backendservicesignedurlkey + 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: BackendServiceSignedURLKey is the Schema for the BackendServiceSignedURLKeys + 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: BackendServiceSignedURLKeySpec defines the desired state + of BackendServiceSignedURLKey + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + backendService: + description: The backend service this signed URL key belongs. + type: string + keyValueSecretRef: + description: 128-bit key value used for signing the URL. The key + value must be a valid RFC 4648 Section 5 base64url encoded string. + 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 + name: + description: Name of the signed URL key. + type: string + project: + type: string + required: + - backendService + - keyValueSecretRef + - name + type: object + 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 + 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 + 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. + 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 + status: + description: BackendServiceSignedURLKeyStatus defines the observed state + of BackendServiceSignedURLKey. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_diskiambindings.yaml b/package/crds/compute.gcp.jet.crossplane.io_diskiambindings.yaml new file mode 100644 index 00000000..3551c983 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_diskiambindings.yaml @@ -0,0 +1,196 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: diskiambindings.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DiskIAMBinding + listKind: DiskIAMBindingList + plural: diskiambindings + singular: diskiambinding + 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: DiskIAMBinding is the Schema for the DiskIAMBindings 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: DiskIAMBindingSpec defines the desired state of DiskIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + name: + type: string + project: + type: string + role: + type: string + zone: + type: string + required: + - members + - name + - role + type: object + 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 + 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 + 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. + 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 + status: + description: DiskIAMBindingStatus defines the observed state of DiskIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_diskiammembers.yaml b/package/crds/compute.gcp.jet.crossplane.io_diskiammembers.yaml new file mode 100644 index 00000000..bb0e7240 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_diskiammembers.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: diskiammembers.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DiskIAMMember + listKind: DiskIAMMemberList + plural: diskiammembers + singular: diskiammember + 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: DiskIAMMember is the Schema for the DiskIAMMembers 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: DiskIAMMemberSpec defines the desired state of DiskIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + name: + type: string + project: + type: string + role: + type: string + zone: + type: string + required: + - member + - name + - role + type: object + 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 + 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 + 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. + 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 + status: + description: DiskIAMMemberStatus defines the observed state of DiskIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_diskiampolicies.yaml b/package/crds/compute.gcp.jet.crossplane.io_diskiampolicies.yaml new file mode 100644 index 00000000..8f9746a1 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_diskiampolicies.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: diskiampolicies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DiskIAMPolicy + listKind: DiskIAMPolicyList + plural: diskiampolicies + singular: diskiampolicy + 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: DiskIAMPolicy is the Schema for the DiskIAMPolicys 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: DiskIAMPolicySpec defines the desired state of DiskIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + name: + type: string + policyData: + type: string + project: + type: string + zone: + type: string + required: + - name + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: DiskIAMPolicyStatus defines the observed state of DiskIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_diskresourcepolicyattachments.yaml b/package/crds/compute.gcp.jet.crossplane.io_diskresourcepolicyattachments.yaml new file mode 100644 index 00000000..d4dcb3e4 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_diskresourcepolicyattachments.yaml @@ -0,0 +1,183 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: diskresourcepolicyattachments.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DiskResourcePolicyAttachment + listKind: DiskResourcePolicyAttachmentList + plural: diskresourcepolicyattachments + singular: diskresourcepolicyattachment + 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: DiskResourcePolicyAttachment is the Schema for the DiskResourcePolicyAttachments + 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: DiskResourcePolicyAttachmentSpec defines the desired state + of DiskResourcePolicyAttachment + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + disk: + description: The name of the disk in which the resource policies + are attached to. + type: string + name: + description: The resource policy to be attached to the disk for + scheduling snapshot creation. Do not specify the self link. + type: string + project: + type: string + zone: + description: A reference to the zone where the disk resides. + type: string + required: + - disk + - name + type: object + 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 + 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 + 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. + 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 + status: + description: DiskResourcePolicyAttachmentStatus defines the observed state + of DiskResourcePolicyAttachment. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_disks.yaml b/package/crds/compute.gcp.jet.crossplane.io_disks.yaml new file mode 100644 index 00000000..f23ab950 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_disks.yaml @@ -0,0 +1,358 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: disks.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Disk + listKind: DiskList + plural: disks + singular: disk + 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: Disk is the Schema for the Disks 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: DiskSpec defines the desired state of Disk + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + diskEncryptionKey: + description: "Encrypts the disk using a customer-supplied encryption + key. \n After you encrypt a disk with a customer-supplied key, + you must provide the same key if you use the disk later (e.g. + to create a disk snapshot or an image, or to attach the disk + to a virtual machine). \n Customer-supplied encryption keys + do not protect access to metadata of the disk. \n If you do + not provide an encryption key when creating the disk, then the + disk will be encrypted using an automatically generated key + and you do not need to provide a key to use the disk later." + items: + properties: + kmsKeySelfLink: + description: The self link of the encryption key used to + encrypt the disk. Also called KmsKeyName in the cloud + console. Your project's Compute Engine System service + account ('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') + must have 'roles/cloudkms.cryptoKeyEncrypterDecrypter' + to use this feature. See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys + type: string + kmsKeyServiceAccount: + description: The service account used for the encryption + request for the given KMS key. If absent, the Compute + Engine Service Agent service account is used. + type: string + rawKeySecretRef: + description: Specifies a 256-bit customer-supplied encryption + key, encoded in RFC 4648 base64 to either encrypt or decrypt + this resource. + 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 + type: object + type: array + image: + description: 'The image from which to initialize this disk. This + can be one of: the image''s ''self_link'', ''projects/{project}/global/images/{image}'', + ''projects/{project}/global/images/family/{family}'', ''global/images/{image}'', + ''global/images/family/{family}'', ''family/{family}'', ''{project}/{family}'', + ''{project}/{image}'', ''{family}'', or ''{image}''. If referred + by family, the images names must include the family name. If + they don''t, use the [google_compute_image data source](/docs/providers/google/d/compute_image.html). + For instance, the image ''centos-6-v20180104'' includes its + family name ''centos-6''. These images can be referred by family + name here.' + type: string + labels: + additionalProperties: + type: string + description: Labels to apply to this disk. A list of key->value + pairs. + type: object + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + physicalBlockSizeBytes: + description: Physical block size of the persistent disk, in bytes. + If not present in a request, a default value is used. Currently + supported sizes are 4096 and 16384, other sizes may be added + in the future. If an unsupported value is requested, the error + message will list the supported values for the caller's project. + format: int64 + type: integer + project: + type: string + provisionedIops: + description: Indicates how many IOPS must be provisioned for the + disk. + format: int64 + type: integer + size: + description: "Size of the persistent disk, specified in GB. You + can specify this field when creating a persistent disk using + the 'image' or 'snapshot' parameter, or specify it alone to + create an empty persistent disk. \n If you specify this field + along with 'image' or 'snapshot', the value must not be less + than the size of the image or the size of the snapshot. \n ~>**NOTE** + If you change the size, Terraform updates the disk size if upsizing + is detected but recreates the disk if downsizing is requested. + You can add 'lifecycle.prevent_destroy' in the config to prevent + destroying and recreating." + format: int64 + type: integer + snapshot: + description: "The source snapshot used to create this disk. You + can provide this as a partial or full URL to the resource. If + the snapshot is in another project than this disk, you must + supply a full URL. For example, the following are valid values: + \n * 'https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot' + * 'projects/project/global/snapshots/snapshot' * 'global/snapshots/snapshot' + * 'snapshot'" + type: string + sourceImageEncryptionKey: + description: The customer-supplied encryption key of the source + image. Required if the source image is protected by a customer-supplied + encryption key. + items: + properties: + kmsKeySelfLink: + description: The self link of the encryption key used to + encrypt the disk. Also called KmsKeyName in the cloud + console. Your project's Compute Engine System service + account ('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') + must have 'roles/cloudkms.cryptoKeyEncrypterDecrypter' + to use this feature. See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys + type: string + kmsKeyServiceAccount: + description: The service account used for the encryption + request for the given KMS key. If absent, the Compute + Engine Service Agent service account is used. + type: string + rawKey: + description: Specifies a 256-bit customer-supplied encryption + key, encoded in RFC 4648 base64 to either encrypt or decrypt + this resource. + type: string + type: object + type: array + sourceSnapshotEncryptionKey: + description: The customer-supplied encryption key of the source + snapshot. Required if the source snapshot is protected by a + customer-supplied encryption key. + items: + properties: + kmsKeySelfLink: + description: The self link of the encryption key used to + encrypt the disk. Also called KmsKeyName in the cloud + console. Your project's Compute Engine System service + account ('service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com') + must have 'roles/cloudkms.cryptoKeyEncrypterDecrypter' + to use this feature. See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys + type: string + kmsKeyServiceAccount: + description: The service account used for the encryption + request for the given KMS key. If absent, the Compute + Engine Service Agent service account is used. + type: string + rawKey: + description: Specifies a 256-bit customer-supplied encryption + key, encoded in RFC 4648 base64 to either encrypt or decrypt + this resource. + type: string + type: object + type: array + type: + description: URL of the disk type resource describing which disk + type to use to create the disk. Provide this when creating the + disk. + type: string + zone: + description: A reference to the zone where the disk resides. + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: DiskStatus defines the observed state of Disk. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + labelFingerprint: + type: string + lastAttachTimestamp: + type: string + lastDetachTimestamp: + type: string + selfLink: + type: string + sourceImageId: + type: string + sourceSnapshotId: + type: string + users: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_externalvpngateways.yaml b/package/crds/compute.gcp.jet.crossplane.io_externalvpngateways.yaml new file mode 100644 index 00000000..3d384255 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_externalvpngateways.yaml @@ -0,0 +1,208 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: externalvpngateways.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ExternalVPNGateway + listKind: ExternalVPNGatewayList + plural: externalvpngateways + singular: externalvpngateway + 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: ExternalVPNGateway is the Schema for the ExternalVPNGateways + 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: ExternalVPNGatewaySpec defines the desired state of ExternalVPNGateway + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. + type: string + interface: + description: A list of interfaces on this external VPN gateway. + items: + properties: + id: + description: The numeric ID for this interface. Allowed + values are based on the redundancy type of this external + VPN gateway * '0 - SINGLE_IP_INTERNALLY_REDUNDANT' * '0, + 1 - TWO_IPS_REDUNDANCY' * '0, 1, 2, 3 - FOUR_IPS_REDUNDANCY' + format: int64 + type: integer + ipAddress: + description: IP address of the interface in the external + VPN gateway. Only IPv4 is supported. This IP address can + be either from your on-premise gateway or another Cloud + provider's VPN gateway, it cannot be an IP address from + Google Compute Engine. + type: string + type: object + type: array + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + redundancyType: + description: 'Indicates the redundancy type of this external VPN + gateway Possible values: ["FOUR_IPS_REDUNDANCY", "SINGLE_IP_INTERNALLY_REDUNDANT", + "TWO_IPS_REDUNDANCY"]' + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: ExternalVPNGatewayStatus defines the observed state of ExternalVPNGateway. + properties: + atProvider: + properties: + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_firewallpolicies.yaml b/package/crds/compute.gcp.jet.crossplane.io_firewallpolicies.yaml new file mode 100644 index 00000000..90477b19 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_firewallpolicies.yaml @@ -0,0 +1,199 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: firewallpolicies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FirewallPolicy + listKind: FirewallPolicyList + plural: firewallpolicies + singular: firewallpolicy + 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: FirewallPolicy is the Schema for the FirewallPolicys 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: FirewallPolicySpec defines the desired state of FirewallPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + parent: + description: The parent of the firewall policy. + type: string + shortName: + description: User-provided name of the Organization firewall policy. + The name should be unique in the organization in which the firewall + policy is created. The name must be 1-63 characters long, and + comply with RFC1035. Specifically, the name must be 1-63 characters + long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + required: + - parent + - shortName + type: object + 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 + 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 + 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. + 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 + status: + description: FirewallPolicyStatus defines the observed state of FirewallPolicy. + properties: + atProvider: + properties: + creationTimestamp: + type: string + fingerprint: + type: string + firewallPolicyId: + type: string + id: + type: string + name: + type: string + ruleTupleCount: + format: int64 + type: integer + selfLink: + type: string + selfLinkWithId: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_firewallpolicyassociations.yaml b/package/crds/compute.gcp.jet.crossplane.io_firewallpolicyassociations.yaml new file mode 100644 index 00000000..bd3f762b --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_firewallpolicyassociations.yaml @@ -0,0 +1,182 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: firewallpolicyassociations.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FirewallPolicyAssociation + listKind: FirewallPolicyAssociationList + plural: firewallpolicyassociations + singular: firewallpolicyassociation + 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: FirewallPolicyAssociation is the Schema for the FirewallPolicyAssociations + 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: FirewallPolicyAssociationSpec defines the desired state of + FirewallPolicyAssociation + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + attachmentTarget: + description: The target that the firewall policy is attached to. + type: string + firewallPolicy: + description: The firewall policy ID of the association. + type: string + name: + description: The name for an association. + type: string + required: + - attachmentTarget + - firewallPolicy + - name + type: object + 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 + 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 + 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. + 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 + status: + description: FirewallPolicyAssociationStatus defines the observed state + of FirewallPolicyAssociation. + properties: + atProvider: + properties: + id: + type: string + shortName: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_firewallpolicyrules.yaml b/package/crds/compute.gcp.jet.crossplane.io_firewallpolicyrules.yaml new file mode 100644 index 00000000..8f4535b6 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_firewallpolicyrules.yaml @@ -0,0 +1,273 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: firewallpolicyrules.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FirewallPolicyRule + listKind: FirewallPolicyRuleList + plural: firewallpolicyrules + singular: firewallpolicyrule + 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: FirewallPolicyRule is the Schema for the FirewallPolicyRules + 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: FirewallPolicyRuleSpec defines the desired state of FirewallPolicyRule + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + action: + description: The Action to perform when the client connection + triggers the rule. Can currently be either "allow" or "deny()" + where valid values for status are 403, 404, and 502. + type: string + description: + description: An optional description for this resource. + type: string + direction: + description: 'The direction in which this rule applies. Possible + values: INGRESS, EGRESS' + type: string + disabled: + description: Denotes whether the firewall policy rule is disabled. + When set to true, the firewall policy rule is not enforced and + traffic behaves as if it did not exist. If this is unspecified, + the firewall policy rule will be enabled. + type: boolean + enableLogging: + description: 'Denotes whether to enable logging for a particular + rule. If logging is enabled, logs will be exported to the configured + export destination in Stackdriver. Logs may be exported to BigQuery + or Pub/Sub. Note: you cannot enable logging on "goto_next" rules.' + type: boolean + firewallPolicy: + description: The firewall policy of the resource. + type: string + match: + description: A match condition that incoming traffic is evaluated + against. If it evaluates to true, the corresponding 'action' + is enforced. + items: + properties: + destIpRanges: + description: CIDR IP address range. Maximum number of destination + CIDR IP ranges allowed is 256. + items: + type: string + type: array + layer4Configs: + description: Pairs of IP protocols and ports that the rule + should match. + items: + properties: + ipProtocol: + description: The IP protocol to which this rule applies. + The protocol type is required when creating a firewall + rule. This value can either be one of the following + well known protocol strings (`tcp`, `udp`, `icmp`, + `esp`, `ah`, `ipip`, `sctp`), or the IP protocol + number. + type: string + ports: + description: 'An optional list of ports to which this + rule applies. This field is only applicable for + UDP or TCP protocol. Each entry must be either an + integer or a range. If not specified, this rule + applies to connections through any port. Example + inputs include: ``.' + items: + type: string + type: array + required: + - ipProtocol + type: object + type: array + srcIpRanges: + description: CIDR IP address range. Maximum number of source + CIDR IP ranges allowed is 256. + items: + type: string + type: array + required: + - layer4Configs + type: object + type: array + priority: + description: An integer indicating the priority of a rule in the + list. The priority must be a positive value between 0 and 2147483647. + Rules are evaluated from highest to lowest priority where 0 + is the highest priority and 2147483647 is the lowest prority. + format: int64 + type: integer + targetResources: + description: A list of network resource URLs to which this rule + applies. This field allows you to control which network's VMs + get this rule. If this field is left blank, all VMs within the + organization will receive the rule. + items: + type: string + type: array + targetServiceAccounts: + description: A list of service accounts indicating the sets of + instances that are applied with this rule. + items: + type: string + type: array + required: + - action + - direction + - firewallPolicy + - match + - priority + type: object + 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 + 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 + 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. + 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 + status: + description: FirewallPolicyRuleStatus defines the observed state of FirewallPolicyRule. + properties: + atProvider: + properties: + id: + type: string + kind: + type: string + ruleTupleCount: + format: int64 + type: integer + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_forwardingrules.yaml b/package/crds/compute.gcp.jet.crossplane.io_forwardingrules.yaml new file mode 100644 index 00000000..7ac80dfb --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_forwardingrules.yaml @@ -0,0 +1,347 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: forwardingrules.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ForwardingRule + listKind: ForwardingRuleList + plural: forwardingrules + singular: forwardingrule + 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: ForwardingRule is the Schema for the ForwardingRules 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: ForwardingRuleSpec defines the desired state of ForwardingRule + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + allPorts: + description: This field is used along with the `backend_service` + field for internal load balancing or with the `target` field + for internal TargetInstance. This field cannot be used with + `port` or `portRange` fields. When the load balancing scheme + is `INTERNAL` and protocol is TCP/UDP, specify this field to + allow packets addressed to any ports will be forwarded to the + backends configured with this forwarding rule. + type: boolean + allowGlobalAccess: + description: This field is used along with the `backend_service` + field for internal load balancing or with the `target` field + for internal TargetInstance. If the field is set to `TRUE`, + clients can access ILB from all regions. Otherwise only allows + access from clients in the same region as the internal load + balancer. + type: boolean + backendService: + description: This field is only used for `INTERNAL` load balancing. + For internal load balancing, this field identifies the BackendService + resource to receive the matched traffic. + type: string + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + ipAddress: + description: 'IP address that this forwarding rule serves. When + a client sends traffic to this IP address, the forwarding rule + directs the traffic to the target that you specify in the forwarding + rule. If you don''t specify a reserved IP address, an ephemeral + IP address is assigned. Methods for specifying an IP address: + * IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in `https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name` + * Partial URL or by name, as in: * `projects/project_id/regions/region/addresses/address-name` + * `regions/region/addresses/address-name` * `global/addresses/address-name` + * `address-name` The loadBalancingScheme and the forwarding + rule''s target determine the type of IP address that you can + use. For detailed information, refer to [IP address specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).' + type: string + ipProtocol: + description: The IP protocol to which this rule applies. For protocol + forwarding, valid options are `TCP`, `UDP`, `ESP`, `AH`, `SCTP` + or `ICMP`. For Internal TCP/UDP Load Balancing, the load balancing + scheme is `INTERNAL`, and one of `TCP` or `UDP` are valid. For + Traffic Director, the load balancing scheme is `INTERNAL_SELF_MANAGED`, + and only `TCP`is valid. For Internal HTTP(S) Load Balancing, + the load balancing scheme is `INTERNAL_MANAGED`, and only `TCP` + is valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, + the load balancing scheme is `EXTERNAL` and only `TCP` is valid. + For Network TCP/UDP Load Balancing, the load balancing scheme + is `EXTERNAL`, and one of `TCP` or `UDP` is valid. + type: string + isMirroringCollector: + description: Indicates whether or not this load balancer can be + used as a collector for packet mirroring. To prevent mirroring + loops, instances behind this load balancer will not have their + traffic mirrored even if a `PacketMirroring` rule applies to + them. This can only be set to true for load balancers that have + their `loadBalancingScheme` set to `INTERNAL`. + type: boolean + labels: + additionalProperties: + type: string + description: Labels to apply to this rule. + type: object + loadBalancingScheme: + description: "Specifies the forwarding rule type. \n * `EXTERNAL` + is used for: * Classic Cloud VPN gateways * Protocol forwarding + to VMs from an external IP address * The following load balancers: + HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP * `INTERNAL` + is used for: * Protocol forwarding to VMs from an internal + IP address * Internal TCP/UDP load balancers * `INTERNAL_MANAGED` + is used for: * Internal HTTP(S) load balancers * `INTERNAL_SELF_MANAGED` + is used for: * Traffic Director \n For more information about + forwarding rules, refer to [Forwarding rule concepts](/load-balancing/docs/forwarding-rule-concepts). + Possible values: INVALID, INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED, + EXTERNAL" + type: string + name: + description: Name of the resource; provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + Specifically, the name must be 1-63 characters long and match + the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means + the first character must be a lowercase letter, and all following + characters must be a dash, lowercase letter, or digit, except + the last character, which cannot be a dash. + type: string + network: + description: This field is not used for external load balancing. + For `INTERNAL` and `INTERNAL_SELF_MANAGED` load balancing, this + field identifies the network that the load balanced IP should + belong to for this Forwarding Rule. If this field is not specified, + the default network will be used. + type: string + networkTier: + description: 'This signifies the networking tier used for configuring + this load balancer and can only take the following values: `PREMIUM`, + `STANDARD`. For regional ForwardingRule, the valid values are + `PREMIUM` and `STANDARD`. For GlobalForwardingRule, the valid + value is `PREMIUM`. If this field is not specified, it is assumed + to be `PREMIUM`. If `IPAddress` is specified, this value must + be equal to the networkTier of the Address.' + type: string + portRange: + description: "When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` + and `INTERNAL_MANAGED`, you can specify a `port_range`. Use + with a forwarding rule that points to a target proxy or a target + pool. Do not use with a forwarding rule that points to a backend + service. This field is used along with the `target` field for + TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, + TargetVpnGateway, TargetPool, TargetInstance. Applicable only + when `IPProtocol` is `TCP`, `UDP`, or `SCTP`, only packets addressed + to ports in the specified range will be forwarded to `target`. + Forwarding rules with the same `[IPAddress, IPProtocol]` pair + must have disjoint port ranges. Some types of forwarding target + have constraints on the acceptable ports: \n * TargetHttpProxy: + 80, 8080 * TargetHttpsProxy: 443 * TargetTcpProxy: 25, 43, + 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, + 993, 995, 1688, 1883, 5222 * TargetVpnGateway: 500, 4500 \n + @pattern: d+(?:-d+)?" + type: string + ports: + description: 'This field is used along with the `backend_service` + field for internal load balancing. When the load balancing scheme + is `INTERNAL`, a list of ports can be configured, for example, + [''80''], [''8000'',''9000'']. Only packets addressed to these + ports are forwarded to the backends configured with the forwarding + rule. If the forwarding rule''s loadBalancingScheme is INTERNAL, + you can specify ports in one of the following ways: * A list + of up to five ports, which can be non-contiguous * Keyword `ALL`, + which causes the forwarding rule to forward traffic on any port + of the forwarding rule''s protocol. @pattern: d+(?:-d+)? For + more information, refer to [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).' + items: + type: string + type: array + project: + description: The project this resource belongs in. + type: string + region: + description: The location of this resource. + type: string + serviceLabel: + description: An optional prefix to the service name for this Forwarding + Rule. If specified, the prefix is the first label of the fully + qualified service name. The label must be 1-63 characters long, + and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + Specifically, the label must be 1-63 characters long and match + the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means + the first character must be a lowercase letter, and all following + characters must be a dash, lowercase letter, or digit, except + the last character, which cannot be a dash. This field is only + used for internal load balancing. + type: string + subnetwork: + description: This field is only used for `INTERNAL` load balancing. + For internal load balancing, this field identifies the subnetwork + that the load balanced IP should belong to for this Forwarding + Rule. If the network specified is in auto subnet mode, this + field is optional. However, if the network is in custom subnet + mode, a subnetwork must be specified. + type: string + target: + description: The URL of the target resource to receive the matched + traffic. For regional forwarding rules, this target must live + in the same region as the forwarding rule. For global forwarding + rules, this target must be a global load balancing resource. + The forwarded traffic must be of a type appropriate to the target + object. For `INTERNAL_SELF_MANAGED` load balancing, only `targetHttpProxy` + is valid, not `targetHttpsProxy`. + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: ForwardingRuleStatus defines the observed state of ForwardingRule. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + labelFingerprint: + type: string + selfLink: + type: string + serviceName: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_globaladdresses.yaml b/package/crds/compute.gcp.jet.crossplane.io_globaladdresses.yaml new file mode 100644 index 00000000..307e03b9 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_globaladdresses.yaml @@ -0,0 +1,219 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: globaladdresses.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: GlobalAddress + listKind: GlobalAddressList + plural: globaladdresses + singular: globaladdress + 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: GlobalAddress is the Schema for the GlobalAddresss 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: GlobalAddressSpec defines the desired state of GlobalAddress + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + address: + description: The IP address or beginning of the address range + represented by this resource. This can be supplied as an input + to reserve a specific address or omitted to allow GCP to choose + a valid one for you. + type: string + addressType: + description: "The type of the address to reserve. \n * EXTERNAL + indicates public/external single IP address. * INTERNAL indicates + internal IP ranges belonging to some network. Default value: + \"EXTERNAL\" Possible values: [\"EXTERNAL\", \"INTERNAL\"]" + type: string + description: + description: An optional description of this resource. + type: string + ipVersion: + description: 'The IP Version that will be used by this address. + The default value is ''IPV4''. Possible values: ["IPV4", "IPV6"]' + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + network: + description: "The URL of the network in which to reserve the IP + range. The IP range must be in RFC1918 space. The network cannot + be deleted if there are any reserved IP ranges referring to + it. \n This should only be set when using an Internal address." + type: string + prefixLength: + description: "The prefix length of the IP range. If not present, + it means the address field is a single IP address. \n This field + is not applicable to addresses with addressType=EXTERNAL, or + addressType=INTERNAL when purpose=PRIVATE_SERVICE_CONNECT" + format: int64 + type: integer + project: + type: string + purpose: + description: "The purpose of the resource. Possible values include: + \n * VPC_PEERING - for peer networks \n * PRIVATE_SERVICE_CONNECT + - for ([Beta](https://terraform.io/docs/providers/google/guides/provider_versions.html) + only) Private Service Connect networks" + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: GlobalAddressStatus defines the observed state of GlobalAddress. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_globalforwardingrules.yaml b/package/crds/compute.gcp.jet.crossplane.io_globalforwardingrules.yaml new file mode 100644 index 00000000..a2b177b7 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_globalforwardingrules.yaml @@ -0,0 +1,331 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: globalforwardingrules.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: GlobalForwardingRule + listKind: GlobalForwardingRuleList + plural: globalforwardingrules + singular: globalforwardingrule + 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: GlobalForwardingRule is the Schema for the GlobalForwardingRules + 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: GlobalForwardingRuleSpec defines the desired state of GlobalForwardingRule + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + ipAddress: + description: 'IP address that this forwarding rule serves. When + a client sends traffic to this IP address, the forwarding rule + directs the traffic to the target that you specify in the forwarding + rule. If you don''t specify a reserved IP address, an ephemeral + IP address is assigned. Methods for specifying an IP address: + * IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in `https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name` + * Partial URL or by name, as in: * `projects/project_id/regions/region/addresses/address-name` + * `regions/region/addresses/address-name` * `global/addresses/address-name` + * `address-name` The loadBalancingScheme and the forwarding + rule''s target determine the type of IP address that you can + use. For detailed information, refer to [IP address specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).' + type: string + ipProtocol: + description: The IP protocol to which this rule applies. For protocol + forwarding, valid options are `TCP`, `UDP`, `ESP`, `AH`, `SCTP` + or `ICMP`. For Internal TCP/UDP Load Balancing, the load balancing + scheme is `INTERNAL`, and one of `TCP` or `UDP` are valid. For + Traffic Director, the load balancing scheme is `INTERNAL_SELF_MANAGED`, + and only `TCP`is valid. For Internal HTTP(S) Load Balancing, + the load balancing scheme is `INTERNAL_MANAGED`, and only `TCP` + is valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, + the load balancing scheme is `EXTERNAL` and only `TCP` is valid. + For Network TCP/UDP Load Balancing, the load balancing scheme + is `EXTERNAL`, and one of `TCP` or `UDP` is valid. + type: string + ipVersion: + description: 'The IP Version that will be used by this forwarding + rule. Valid options are `IPV4` or `IPV6`. This can only be specified + for an external global forwarding rule. Possible values: UNSPECIFIED_VERSION, + IPV4, IPV6' + type: string + labels: + additionalProperties: + type: string + description: Labels to apply to this rule. + type: object + loadBalancingScheme: + description: "Specifies the forwarding rule type. \n * `EXTERNAL` + is used for: * Classic Cloud VPN gateways * Protocol forwarding + to VMs from an external IP address * The following load balancers: + HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP * `INTERNAL` + is used for: * Protocol forwarding to VMs from an internal + IP address * Internal TCP/UDP load balancers * `INTERNAL_MANAGED` + is used for: * Internal HTTP(S) load balancers * `INTERNAL_SELF_MANAGED` + is used for: * Traffic Director \n For more information about + forwarding rules, refer to [Forwarding rule concepts](/load-balancing/docs/forwarding-rule-concepts). + Possible values: INVALID, INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED, + EXTERNAL" + type: string + metadataFilters: + description: "Opaque filter criteria used by Loadbalancer to restrict + routing configuration to a limited set of [xDS](https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md) + compliant clients. In their xDS requests to Loadbalancer, xDS + clients present [node metadata](https://github.com/envoyproxy/data-plane-api/search?q=%22message+Node%22+in%3A%2Fenvoy%2Fapi%2Fv2%2Fcore%2Fbase.proto&). + If a match takes place, the relevant configuration is made available + to those proxies. Otherwise, all the resources (e.g. `TargetHttpProxy`, + `UrlMap`) referenced by the `ForwardingRule` will not be visible + to those proxies. \n For each `metadataFilter` in this list, + if its `filterMatchCriteria` is set to MATCH_ANY, at least one + of the `filterLabel`s must match the corresponding label provided + in the metadata. If its `filterMatchCriteria` is set to MATCH_ALL, + then all of its `filterLabel`s must match with corresponding + labels provided in the metadata. \n `metadataFilters` specified + here will be applifed before those specified in the `UrlMap` + that this `ForwardingRule` references. \n `metadataFilters` + only applies to Loadbalancers that have their loadBalancingScheme + set to `INTERNAL_SELF_MANAGED`." + items: + properties: + filterLabels: + description: "The list of label value pairs that must match + labels in the provided metadata based on `filterMatchCriteria` + \n This list must not be empty and can have at the most + 64 entries." + items: + properties: + name: + description: "Name of metadata label. \n The name + can have a maximum length of 1024 characters and + must be at least 1 character long." + type: string + value: + description: "The value of the label must match the + specified value. \n value can have a maximum length + of 1024 characters." + type: string + required: + - name + - value + type: object + type: array + filterMatchCriteria: + description: "Specifies how individual `filterLabel` matches + within the list of `filterLabel`s contribute towards the + overall `metadataFilter` match. \n Supported values are: + \n * MATCH_ANY: At least one of the `filterLabels` must + have a matching label in the provided metadata. * MATCH_ALL: + All `filterLabels` must have matching labels in the provided + metadata. Possible values: NOT_SET, MATCH_ALL, MATCH_ANY" + type: string + required: + - filterLabels + - filterMatchCriteria + type: object + type: array + name: + description: Name of the resource; provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + Specifically, the name must be 1-63 characters long and match + the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means + the first character must be a lowercase letter, and all following + characters must be a dash, lowercase letter, or digit, except + the last character, which cannot be a dash. + type: string + network: + description: This field is not used for external load balancing. + For `INTERNAL` and `INTERNAL_SELF_MANAGED` load balancing, this + field identifies the network that the load balanced IP should + belong to for this Forwarding Rule. If this field is not specified, + the default network will be used. + type: string + portRange: + description: "When the load balancing scheme is `EXTERNAL`, `INTERNAL_SELF_MANAGED` + and `INTERNAL_MANAGED`, you can specify a `port_range`. Use + with a forwarding rule that points to a target proxy or a target + pool. Do not use with a forwarding rule that points to a backend + service. This field is used along with the `target` field for + TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, + TargetVpnGateway, TargetPool, TargetInstance. Applicable only + when `IPProtocol` is `TCP`, `UDP`, or `SCTP`, only packets addressed + to ports in the specified range will be forwarded to `target`. + Forwarding rules with the same `[IPAddress, IPProtocol]` pair + must have disjoint port ranges. Some types of forwarding target + have constraints on the acceptable ports: \n * TargetHttpProxy: + 80, 8080 * TargetHttpsProxy: 443 * TargetTcpProxy: 25, 43, + 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 + * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, + 993, 995, 1688, 1883, 5222 * TargetVpnGateway: 500, 4500 \n + @pattern: d+(?:-d+)?" + type: string + project: + description: The project this resource belongs in. + type: string + target: + description: The URL of the target resource to receive the matched + traffic. For regional forwarding rules, this target must live + in the same region as the forwarding rule. For global forwarding + rules, this target must be a global load balancing resource. + The forwarded traffic must be of a type appropriate to the target + object. For `INTERNAL_SELF_MANAGED` load balancing, only `targetHttpProxy` + is valid, not `targetHttpsProxy`. + type: string + required: + - name + - target + type: object + 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 + 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 + 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. + 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 + status: + description: GlobalForwardingRuleStatus defines the observed state of + GlobalForwardingRule. + properties: + atProvider: + properties: + id: + type: string + labelFingerprint: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_globalnetworkendpointgroups.yaml b/package/crds/compute.gcp.jet.crossplane.io_globalnetworkendpointgroups.yaml new file mode 100644 index 00000000..c46c03d0 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_globalnetworkendpointgroups.yaml @@ -0,0 +1,196 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: globalnetworkendpointgroups.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: GlobalNetworkEndpointGroup + listKind: GlobalNetworkEndpointGroupList + plural: globalnetworkendpointgroups + singular: globalnetworkendpointgroup + 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: GlobalNetworkEndpointGroup is the Schema for the GlobalNetworkEndpointGroups + 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: GlobalNetworkEndpointGroupSpec defines the desired state + of GlobalNetworkEndpointGroup + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + defaultPort: + description: The default port used if the port number is not specified + in the network endpoint. + format: int64 + type: integer + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + name: + description: Name of the resource; provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + networkEndpointType: + description: 'Type of network endpoints in this network endpoint + group. Possible values: ["INTERNET_IP_PORT", "INTERNET_FQDN_PORT"]' + type: string + project: + type: string + required: + - name + - networkEndpointType + type: object + 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 + 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 + 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. + 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 + status: + description: GlobalNetworkEndpointGroupStatus defines the observed state + of GlobalNetworkEndpointGroup. + properties: + atProvider: + properties: + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_globalnetworkendpoints.yaml b/package/crds/compute.gcp.jet.crossplane.io_globalnetworkendpoints.yaml new file mode 100644 index 00000000..882e346d --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_globalnetworkendpoints.yaml @@ -0,0 +1,187 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: globalnetworkendpoints.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: GlobalNetworkEndpoint + listKind: GlobalNetworkEndpointList + plural: globalnetworkendpoints + singular: globalnetworkendpoint + 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: GlobalNetworkEndpoint is the Schema for the GlobalNetworkEndpoints + 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: GlobalNetworkEndpointSpec defines the desired state of GlobalNetworkEndpoint + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + fqdn: + description: Fully qualified domain name of network endpoint. + This can only be specified when network_endpoint_type of the + NEG is INTERNET_FQDN_PORT. + type: string + globalNetworkEndpointGroup: + description: The global network endpoint group this endpoint is + part of. + type: string + ipAddress: + description: IPv4 address external endpoint. + type: string + port: + description: Port number of the external endpoint. + format: int64 + type: integer + project: + type: string + required: + - globalNetworkEndpointGroup + - port + type: object + 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 + 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 + 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. + 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 + status: + description: GlobalNetworkEndpointStatus defines the observed state of + GlobalNetworkEndpoint. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_havpngateways.yaml b/package/crds/compute.gcp.jet.crossplane.io_havpngateways.yaml new file mode 100644 index 00000000..9451f6d6 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_havpngateways.yaml @@ -0,0 +1,208 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: havpngateways.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: HaVPNGateway + listKind: HaVPNGatewayList + plural: havpngateways + singular: havpngateway + 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: HaVPNGateway is the Schema for the HaVPNGateways 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: HaVPNGatewaySpec defines the desired state of HaVPNGateway + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + network: + description: The network this VPN gateway is accepting traffic + for. + type: string + project: + type: string + region: + description: The region this gateway should sit in. + type: string + vpnInterfaces: + description: A list of interfaces on this VPN gateway. + items: + properties: + id: + description: The numeric ID of this VPN gateway interface. + format: int64 + type: integer + interconnectAttachment: + description: "URL of the interconnect attachment resource. + When the value of this field is present, the VPN Gateway + will be used for IPsec-encrypted Cloud Interconnect; all + Egress or Ingress traffic for this VPN Gateway interface + will go through the specified interconnect attachment + resource. \n Not currently available publicly." + type: string + type: object + type: array + required: + - name + - network + type: object + 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 + 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 + 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. + 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 + status: + description: HaVPNGatewayStatus defines the observed state of HaVPNGateway. + properties: + atProvider: + properties: + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_healthchecks.yaml b/package/crds/compute.gcp.jet.crossplane.io_healthchecks.yaml new file mode 100644 index 00000000..64d5e799 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_healthchecks.yaml @@ -0,0 +1,498 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: healthchecks.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: HealthCheck + listKind: HealthCheckList + plural: healthchecks + singular: healthcheck + 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: HealthCheck is the Schema for the HealthChecks 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: HealthCheckSpec defines the desired state of HealthCheck + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + checkIntervalSec: + description: How often (in seconds) to send a health check. The + default value is 5 seconds. + format: int64 + type: integer + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + grpcHealthCheck: + description: A nested object resource + items: + properties: + grpcServiceName: + description: 'The gRPC service name for the health check. + The value of grpcServiceName has the following meanings + by convention: - Empty serviceName means the overall status + of all services at the backend. - Non-empty serviceName + means the health of that gRPC service, as defined by the + owner of the service. The grpcServiceName can only be + ASCII.' + type: string + port: + description: The port number for the health check request. + Must be specified if portName and portSpecification are + not set or if port_specification is USE_FIXED_PORT. Valid + values are 1 through 65535. + format: int64 + type: integer + portName: + description: Port name as defined in InstanceGroup#NamedPort#name. + If both port and port_name are defined, port takes precedence. + type: string + portSpecification: + description: "Specifies how port is selected for health + checking, can be one of the following values: \n * 'USE_FIXED_PORT': + The port number in 'port' is used for health checking. + \n * 'USE_NAMED_PORT': The 'portName' is used for health + checking. \n * 'USE_SERVING_PORT': For NetworkEndpointGroup, + the port specified for each network endpoint is used for + health checking. For other backends, the port or named + port specified in the Backend Service is used for health + checking. \n If not specified, gRPC health check follows + behavior specified in 'port' and 'portName' fields. Possible + values: [\"USE_FIXED_PORT\", \"USE_NAMED_PORT\", \"USE_SERVING_PORT\"]" + type: string + type: object + type: array + healthyThreshold: + description: A so-far unhealthy instance will be marked healthy + after this many consecutive successes. The default value is + 2. + format: int64 + type: integer + http2HealthCheck: + description: A nested object resource + items: + properties: + host: + description: The value of the host header in the HTTP2 health + check request. If left empty (default value), the public + IP on behalf of which this health check is performed will + be used. + type: string + port: + description: The TCP port number for the HTTP2 health check + request. The default value is 443. + format: int64 + type: integer + portName: + description: Port name as defined in InstanceGroup#NamedPort#name. + If both port and port_name are defined, port takes precedence. + type: string + portSpecification: + description: "Specifies how port is selected for health + checking, can be one of the following values: \n * 'USE_FIXED_PORT': + The port number in 'port' is used for health checking. + \n * 'USE_NAMED_PORT': The 'portName' is used for health + checking. \n * 'USE_SERVING_PORT': For NetworkEndpointGroup, + the port specified for each network endpoint is used for + health checking. For other backends, the port or named + port specified in the Backend Service is used for health + checking. \n If not specified, HTTP2 health check follows + behavior specified in 'port' and 'portName' fields. Possible + values: [\"USE_FIXED_PORT\", \"USE_NAMED_PORT\", \"USE_SERVING_PORT\"]" + type: string + proxyHeader: + description: 'Specifies the type of proxy header to append + before sending data to the backend. Default value: "NONE" + Possible values: ["NONE", "PROXY_V1"]' + type: string + requestPath: + description: The request path of the HTTP2 health check + request. The default value is /. + type: string + response: + description: The bytes to match against the beginning of + the response data. If left empty (the default value), + any response will indicate health. The response data can + only be ASCII. + type: string + type: object + type: array + httpHealthCheck: + description: A nested object resource + items: + properties: + host: + description: The value of the host header in the HTTP health + check request. If left empty (default value), the public + IP on behalf of which this health check is performed will + be used. + type: string + port: + description: The TCP port number for the HTTP health check + request. The default value is 80. + format: int64 + type: integer + portName: + description: Port name as defined in InstanceGroup#NamedPort#name. + If both port and port_name are defined, port takes precedence. + type: string + portSpecification: + description: "Specifies how port is selected for health + checking, can be one of the following values: \n * 'USE_FIXED_PORT': + The port number in 'port' is used for health checking. + \n * 'USE_NAMED_PORT': The 'portName' is used for health + checking. \n * 'USE_SERVING_PORT': For NetworkEndpointGroup, + the port specified for each network endpoint is used for + health checking. For other backends, the port or named + port specified in the Backend Service is used for health + checking. \n If not specified, HTTP health check follows + behavior specified in 'port' and 'portName' fields. Possible + values: [\"USE_FIXED_PORT\", \"USE_NAMED_PORT\", \"USE_SERVING_PORT\"]" + type: string + proxyHeader: + description: 'Specifies the type of proxy header to append + before sending data to the backend. Default value: "NONE" + Possible values: ["NONE", "PROXY_V1"]' + type: string + requestPath: + description: The request path of the HTTP health check request. + The default value is /. + type: string + response: + description: The bytes to match against the beginning of + the response data. If left empty (the default value), + any response will indicate health. The response data can + only be ASCII. + type: string + type: object + type: array + httpsHealthCheck: + description: A nested object resource + items: + properties: + host: + description: The value of the host header in the HTTPS health + check request. If left empty (default value), the public + IP on behalf of which this health check is performed will + be used. + type: string + port: + description: The TCP port number for the HTTPS health check + request. The default value is 443. + format: int64 + type: integer + portName: + description: Port name as defined in InstanceGroup#NamedPort#name. + If both port and port_name are defined, port takes precedence. + type: string + portSpecification: + description: "Specifies how port is selected for health + checking, can be one of the following values: \n * 'USE_FIXED_PORT': + The port number in 'port' is used for health checking. + \n * 'USE_NAMED_PORT': The 'portName' is used for health + checking. \n * 'USE_SERVING_PORT': For NetworkEndpointGroup, + the port specified for each network endpoint is used for + health checking. For other backends, the port or named + port specified in the Backend Service is used for health + checking. \n If not specified, HTTPS health check follows + behavior specified in 'port' and 'portName' fields. Possible + values: [\"USE_FIXED_PORT\", \"USE_NAMED_PORT\", \"USE_SERVING_PORT\"]" + type: string + proxyHeader: + description: 'Specifies the type of proxy header to append + before sending data to the backend. Default value: "NONE" + Possible values: ["NONE", "PROXY_V1"]' + type: string + requestPath: + description: The request path of the HTTPS health check + request. The default value is /. + type: string + response: + description: The bytes to match against the beginning of + the response data. If left empty (the default value), + any response will indicate health. The response data can + only be ASCII. + type: string + type: object + type: array + logConfig: + description: Configure logging on this health check. + items: + properties: + enable: + description: Indicates whether or not to export logs. This + is false by default, which means no health check logging + will be done. + type: boolean + type: object + type: array + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + sslHealthCheck: + description: A nested object resource + items: + properties: + port: + description: The TCP port number for the SSL health check + request. The default value is 443. + format: int64 + type: integer + portName: + description: Port name as defined in InstanceGroup#NamedPort#name. + If both port and port_name are defined, port takes precedence. + type: string + portSpecification: + description: "Specifies how port is selected for health + checking, can be one of the following values: \n * 'USE_FIXED_PORT': + The port number in 'port' is used for health checking. + \n * 'USE_NAMED_PORT': The 'portName' is used for health + checking. \n * 'USE_SERVING_PORT': For NetworkEndpointGroup, + the port specified for each network endpoint is used for + health checking. For other backends, the port or named + port specified in the Backend Service is used for health + checking. \n If not specified, SSL health check follows + behavior specified in 'port' and 'portName' fields. Possible + values: [\"USE_FIXED_PORT\", \"USE_NAMED_PORT\", \"USE_SERVING_PORT\"]" + type: string + proxyHeader: + description: 'Specifies the type of proxy header to append + before sending data to the backend. Default value: "NONE" + Possible values: ["NONE", "PROXY_V1"]' + type: string + request: + description: The application data to send once the SSL connection + has been established (default value is empty). If both + request and response are empty, the connection establishment + alone will indicate health. The request data can only + be ASCII. + type: string + response: + description: The bytes to match against the beginning of + the response data. If left empty (the default value), + any response will indicate health. The response data can + only be ASCII. + type: string + type: object + type: array + tcpHealthCheck: + description: A nested object resource + items: + properties: + port: + description: The TCP port number for the TCP health check + request. The default value is 443. + format: int64 + type: integer + portName: + description: Port name as defined in InstanceGroup#NamedPort#name. + If both port and port_name are defined, port takes precedence. + type: string + portSpecification: + description: "Specifies how port is selected for health + checking, can be one of the following values: \n * 'USE_FIXED_PORT': + The port number in 'port' is used for health checking. + \n * 'USE_NAMED_PORT': The 'portName' is used for health + checking. \n * 'USE_SERVING_PORT': For NetworkEndpointGroup, + the port specified for each network endpoint is used for + health checking. For other backends, the port or named + port specified in the Backend Service is used for health + checking. \n If not specified, TCP health check follows + behavior specified in 'port' and 'portName' fields. Possible + values: [\"USE_FIXED_PORT\", \"USE_NAMED_PORT\", \"USE_SERVING_PORT\"]" + type: string + proxyHeader: + description: 'Specifies the type of proxy header to append + before sending data to the backend. Default value: "NONE" + Possible values: ["NONE", "PROXY_V1"]' + type: string + request: + description: The application data to send once the TCP connection + has been established (default value is empty). If both + request and response are empty, the connection establishment + alone will indicate health. The request data can only + be ASCII. + type: string + response: + description: The bytes to match against the beginning of + the response data. If left empty (the default value), + any response will indicate health. The response data can + only be ASCII. + type: string + type: object + type: array + timeoutSec: + description: How long (in seconds) to wait before claiming failure. + The default value is 5 seconds. It is invalid for timeoutSec + to have greater value than checkIntervalSec. + format: int64 + type: integer + unhealthyThreshold: + description: A so-far healthy instance will be marked unhealthy + after this many consecutive failures. The default value is 2. + format: int64 + type: integer + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: HealthCheckStatus defines the observed state of HealthCheck. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + selfLink: + type: string + type: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_httphealthchecks.yaml b/package/crds/compute.gcp.jet.crossplane.io_httphealthchecks.yaml new file mode 100644 index 00000000..e8696a59 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_httphealthchecks.yaml @@ -0,0 +1,221 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: httphealthchecks.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: HTTPHealthCheck + listKind: HTTPHealthCheckList + plural: httphealthchecks + singular: httphealthcheck + 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: HTTPHealthCheck is the Schema for the HTTPHealthChecks 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: HTTPHealthCheckSpec defines the desired state of HTTPHealthCheck + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + checkIntervalSec: + description: How often (in seconds) to send a health check. The + default value is 5 seconds. + format: int64 + type: integer + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + healthyThreshold: + description: A so-far unhealthy instance will be marked healthy + after this many consecutive successes. The default value is + 2. + format: int64 + type: integer + host: + description: The value of the host header in the HTTP health check + request. If left empty (default value), the public IP on behalf + of which this health check is performed will be used. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + port: + description: The TCP port number for the HTTP health check request. + The default value is 80. + format: int64 + type: integer + project: + type: string + requestPath: + description: The request path of the HTTP health check request. + The default value is /. + type: string + timeoutSec: + description: How long (in seconds) to wait before claiming failure. + The default value is 5 seconds. It is invalid for timeoutSec + to have greater value than checkIntervalSec. + format: int64 + type: integer + unhealthyThreshold: + description: A so-far healthy instance will be marked unhealthy + after this many consecutive failures. The default value is 2. + format: int64 + type: integer + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: HTTPHealthCheckStatus defines the observed state of HTTPHealthCheck. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_httpshealthchecks.yaml b/package/crds/compute.gcp.jet.crossplane.io_httpshealthchecks.yaml new file mode 100644 index 00000000..11a71505 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_httpshealthchecks.yaml @@ -0,0 +1,221 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: httpshealthchecks.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: HTTPSHealthCheck + listKind: HTTPSHealthCheckList + plural: httpshealthchecks + singular: httpshealthcheck + 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: HTTPSHealthCheck is the Schema for the HTTPSHealthChecks 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: HTTPSHealthCheckSpec defines the desired state of HTTPSHealthCheck + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + checkIntervalSec: + description: How often (in seconds) to send a health check. The + default value is 5 seconds. + format: int64 + type: integer + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + healthyThreshold: + description: A so-far unhealthy instance will be marked healthy + after this many consecutive successes. The default value is + 2. + format: int64 + type: integer + host: + description: The value of the host header in the HTTPS health + check request. If left empty (default value), the public IP + on behalf of which this health check is performed will be used. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + port: + description: The TCP port number for the HTTPS health check request. + The default value is 443. + format: int64 + type: integer + project: + type: string + requestPath: + description: The request path of the HTTPS health check request. + The default value is /. + type: string + timeoutSec: + description: How long (in seconds) to wait before claiming failure. + The default value is 5 seconds. It is invalid for timeoutSec + to have greater value than checkIntervalSec. + format: int64 + type: integer + unhealthyThreshold: + description: A so-far healthy instance will be marked unhealthy + after this many consecutive failures. The default value is 2. + format: int64 + type: integer + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: HTTPSHealthCheckStatus defines the observed state of HTTPSHealthCheck. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_imageiambindings.yaml b/package/crds/compute.gcp.jet.crossplane.io_imageiambindings.yaml new file mode 100644 index 00000000..1a4805c2 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_imageiambindings.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: imageiambindings.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ImageIAMBinding + listKind: ImageIAMBindingList + plural: imageiambindings + singular: imageiambinding + 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: ImageIAMBinding is the Schema for the ImageIAMBindings 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: ImageIAMBindingSpec defines the desired state of ImageIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + image: + type: string + members: + items: + type: string + type: array + project: + type: string + role: + type: string + required: + - image + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: ImageIAMBindingStatus defines the observed state of ImageIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_imageiammembers.yaml b/package/crds/compute.gcp.jet.crossplane.io_imageiammembers.yaml new file mode 100644 index 00000000..ab56993e --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_imageiammembers.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: imageiammembers.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ImageIAMMember + listKind: ImageIAMMemberList + plural: imageiammembers + singular: imageiammember + 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: ImageIAMMember is the Schema for the ImageIAMMembers 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: ImageIAMMemberSpec defines the desired state of ImageIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + image: + type: string + member: + type: string + project: + type: string + role: + type: string + required: + - image + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: ImageIAMMemberStatus defines the observed state of ImageIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_imageiampolicies.yaml b/package/crds/compute.gcp.jet.crossplane.io_imageiampolicies.yaml new file mode 100644 index 00000000..ef9e5cd1 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_imageiampolicies.yaml @@ -0,0 +1,175 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: imageiampolicies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ImageIAMPolicy + listKind: ImageIAMPolicyList + plural: imageiampolicies + singular: imageiampolicy + 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: ImageIAMPolicy is the Schema for the ImageIAMPolicys 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: ImageIAMPolicySpec defines the desired state of ImageIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + image: + type: string + policyData: + type: string + project: + type: string + required: + - image + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: ImageIAMPolicyStatus defines the observed state of ImageIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_images.yaml b/package/crds/compute.gcp.jet.crossplane.io_images.yaml new file mode 100644 index 00000000..39893dcb --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_images.yaml @@ -0,0 +1,271 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: images.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Image + listKind: ImageList + plural: images + singular: image + 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: Image is the Schema for the Images 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: ImageSpec defines the desired state of Image + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + diskSizeGb: + description: Size of the image when restored onto a persistent + disk (in GB). + format: int64 + type: integer + family: + description: The name of the image family to which this image + belongs. You can create disks by specifying an image family + instead of a specific image name. The image family always returns + its latest image that is not deprecated. The name of the image + family must comply with RFC1035. + type: string + guestOsFeatures: + description: A list of features to enable on the guest operating + system. Applicable only for bootable images. + items: + properties: + type: + description: 'The type of supported feature. Read [Enabling + guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) + to see a list of available options. Possible values: ["MULTI_IP_SUBNET", + "SECURE_BOOT", "SEV_CAPABLE", "UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", + "WINDOWS", "GVNIC"]' + type: string + required: + - type + type: object + type: array + labels: + additionalProperties: + type: string + description: Labels to apply to this Image. + type: object + licenses: + description: Any applicable license URI. + items: + type: string + type: array + name: + description: Name of the resource; provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + rawDisk: + description: The parameters of the raw disk image. + items: + properties: + containerType: + description: 'The format used to encode and transmit the + block device, which should be TAR. This is just a container + and transmission format and not a runtime format. Provided + by the client when the disk image is created. Default + value: "TAR" Possible values: ["TAR"]' + type: string + sha1: + description: An optional SHA1 checksum of the disk image + before unpackaging. This is provided by the client when + the disk image is created. + type: string + source: + description: The full Google Cloud Storage URL where disk + storage is stored You must provide either this property + or the sourceDisk property but not both. + type: string + required: + - source + type: object + type: array + sourceDisk: + description: The source disk to create this image based on. You + must provide either this property or the rawDisk.source property + but not both to create an image. + type: string + sourceImage: + description: "URL of the source image used to create this image. + In order to create an image, you must provide the full or partial + URL of one of the following: \n * The selfLink URL * This property + * The rawDisk.source URL * The sourceDisk URL" + type: string + sourceSnapshot: + description: "URL of the source snapshot used to create this image. + \n In order to create an image, you must provide the full or + partial URL of one of the following: \n * The selfLink URL * + This property * The sourceImage URL * The rawDisk.source URL + * The sourceDisk URL" + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: ImageStatus defines the observed state of Image. + properties: + atProvider: + properties: + archiveSizeBytes: + format: int64 + type: integer + creationTimestamp: + type: string + id: + type: string + labelFingerprint: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_instancefromtemplates.yaml b/package/crds/compute.gcp.jet.crossplane.io_instancefromtemplates.yaml new file mode 100644 index 00000000..56285b00 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_instancefromtemplates.yaml @@ -0,0 +1,683 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instancefromtemplates.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceFromTemplate + listKind: InstanceFromTemplateList + plural: instancefromtemplates + singular: instancefromtemplate + 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: v1alpha2 + schema: + openAPIV3Schema: + description: InstanceFromTemplate is the Schema for the InstanceFromTemplates + 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: InstanceFromTemplateSpec defines the desired state of InstanceFromTemplate + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + advancedMachineFeatures: + description: Controls for advanced machine-related behavior features. + items: + properties: + enableNestedVirtualization: + description: Whether to enable nested virtualization or + not. + type: boolean + threadsPerCore: + description: The number of threads per physical core. To + disable simultaneous multithreading (SMT) set this to + 1. If unset, the maximum number of threads supported per + core by the underlying processor is assumed. + format: int64 + type: integer + type: object + type: array + allowStoppingForUpdate: + description: If true, allows Terraform to stop the instance to + update its properties. If you try to update a property that + requires stopping the instance without setting this field, the + update will fail. + type: boolean + attachedDisk: + description: List of disks attached to the instance + items: + properties: + deviceName: + description: Name with which the attached disk is accessible + under /dev/disk/by-id/ + type: string + diskEncryptionKeyRawSecretRef: + description: A 256-bit customer-supplied encryption key, + encoded in RFC 4648 base64 to encrypt this disk. Only + one of kms_key_self_link and disk_encryption_key_raw may + be set. + 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 + kmsKeySelfLink: + description: The self_link of the encryption key that is + stored in Google Cloud KMS to encrypt this disk. Only + one of kms_key_self_link and disk_encryption_key_raw may + be set. + type: string + mode: + description: Read/write mode for the disk. One of "READ_ONLY" + or "READ_WRITE". + type: string + source: + description: The name or self_link of the disk attached + to this instance. + type: string + required: + - source + type: object + type: array + bootDisk: + description: The boot disk for the instance. + items: + properties: + autoDelete: + description: Whether the disk will be auto-deleted when + the instance is deleted. + type: boolean + deviceName: + description: Name with which attached disk will be accessible + under /dev/disk/by-id/ + type: string + diskEncryptionKeyRawSecretRef: + description: A 256-bit customer-supplied encryption key, + encoded in RFC 4648 base64 to encrypt this disk. Only + one of kms_key_self_link and disk_encryption_key_raw may + be set. + 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 + initializeParams: + description: Parameters with which a disk was created alongside + the instance. + items: + properties: + image: + description: The image from which this disk was initialised. + type: string + labels: + additionalProperties: + type: string + description: A set of key/value label pairs assigned + to the disk. + type: object + size: + description: The size of the image in gigabytes. + format: int64 + type: integer + type: + description: The Google Compute Engine disk type. + One of pd-standard, pd-ssd or pd-balanced. + type: string + type: object + type: array + kmsKeySelfLink: + description: The self_link of the encryption key that is + stored in Google Cloud KMS to encrypt this disk. Only + one of kms_key_self_link and disk_encryption_key_raw may + be set. + type: string + mode: + description: Read/write mode for the disk. One of "READ_ONLY" + or "READ_WRITE". + type: string + source: + description: The name or self_link of the disk attached + to this instance. + type: string + type: object + type: array + canIpForward: + description: Whether sending and receiving of packets with non-matching + source or destination IPs is allowed. + type: boolean + confidentialInstanceConfig: + description: The Confidential VM config being used by the instance. on_host_maintenance + has to be set to TERMINATE or this will fail to create. + items: + properties: + enableConfidentialCompute: + description: Defines whether the instance should have confidential + compute enabled. + type: boolean + required: + - enableConfidentialCompute + type: object + type: array + deletionProtection: + description: Whether deletion protection is enabled on this instance. + type: boolean + description: + description: A brief description of the resource. + type: string + desiredStatus: + description: Desired status of the instance. Either "RUNNING" + or "TERMINATED". + type: string + enableDisplay: + description: Whether the instance has virtual displays enabled. + type: boolean + guestAccelerator: + description: List of the type and count of accelerator cards attached + to the instance. + items: + properties: + count: + description: The number of the guest accelerator cards exposed + to this instance. + format: int64 + type: integer + type: + description: The accelerator type resource exposed to this + instance. E.g. nvidia-tesla-k80. + type: string + required: + - count + - type + type: object + type: array + hostname: + description: A custom hostname for the instance. Must be a fully + qualified DNS name and RFC-1035-valid. Valid format is a series + of labels 1-63 characters long matching the regular expression + [a-z]([-a-z0-9]*[a-z0-9]), concatenated with periods. The entire + hostname must not exceed 253 characters. Changing this forces + a new resource to be created. + type: string + labels: + additionalProperties: + type: string + description: A set of key/value label pairs assigned to the instance. + type: object + machineType: + description: The machine type to create. + type: string + metadata: + additionalProperties: + type: string + description: Metadata key/value pairs made available within the + instance. + type: object + metadataStartupScript: + description: Metadata startup scripts made available within the + instance. + type: string + minCpuPlatform: + description: The minimum CPU platform specified for the VM instance. + type: string + networkInterface: + description: The networks attached to the instance. + items: + properties: + accessConfig: + description: Access configurations, i.e. IPs via which this + instance can be accessed via the Internet. + items: + properties: + natIp: + description: The IP address that is be 1:1 mapped + to the instance's network ip. + type: string + networkTier: + description: The networking tier used for configuring + this instance. One of PREMIUM or STANDARD. + type: string + publicPtrDomainName: + description: The DNS domain name for the public PTR + record. + type: string + type: object + type: array + aliasIpRange: + description: An array of alias IP ranges for this network + interface. + items: + properties: + ipCidrRange: + description: The IP CIDR range represented by this + alias IP range. + type: string + subnetworkRangeName: + description: The subnetwork secondary range name specifying + the secondary range from which to allocate the IP + CIDR range for this alias IP range. + type: string + required: + - ipCidrRange + type: object + type: array + ipv6AccessConfig: + description: An array of IPv6 access configurations for + this interface. Currently, only one IPv6 access config, + DIRECT_IPV6, is supported. If there is no ipv6AccessConfig + specified, then this instance will have no external IPv6 + Internet access. + items: + properties: + networkTier: + description: The service-level to be provided for + IPv6 traffic when the subnet has an external subnet. + Only PREMIUM tier is valid for IPv6 + type: string + publicPtrDomainName: + description: The domain name to be used when creating + DNSv6 records for the external IPv6 ranges. + type: string + required: + - networkTier + type: object + type: array + network: + description: The name or self_link of the network attached + to this interface. + type: string + networkIp: + description: The private IP address assigned to the instance. + type: string + networkRef: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + networkSelector: + description: A Selector selects an object. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + type: object + nicType: + description: The type of vNIC to be used on this interface. + Possible values:GVNIC, VIRTIO_NET + type: string + stackType: + description: The stack type for this network interface to + identify whether the IPv6 feature is enabled or not. If + not specified, IPV4_ONLY will be used. + type: string + subnetwork: + description: The name or self_link of the subnetwork attached + to this interface. + type: string + subnetworkProject: + description: The project in which the subnetwork belongs. + type: string + subnetworkRef: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + required: + - name + type: object + subnetworkSelector: + description: A Selector selects an object. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + type: object + type: object + type: array + project: + description: The ID of the project in which the resource belongs. + If self_link is provided, this value is ignored. If neither + self_link nor project are provided, the provider project is + used. + type: string + reservationAffinity: + description: Specifies the reservations that this instance can + consume from. + items: + properties: + specificReservation: + description: Specifies the label selector for the reservation + to use. + items: + properties: + key: + description: Corresponds to the label key of a reservation + resource. To target a SPECIFIC_RESERVATION by name, + specify compute.googleapis.com/reservation-name + as the key and specify the name of your reservation + as the only value. + type: string + values: + description: Corresponds to the label values of a + reservation resource. + items: + type: string + type: array + required: + - key + - values + type: object + type: array + type: + description: The type of reservation from which this instance + can consume resources. + type: string + required: + - type + type: object + type: array + resourcePolicies: + description: A list of short names or self_links of resource policies + to attach to the instance. Currently a max of 1 resource policy + is supported. + items: + type: string + type: array + scheduling: + description: The scheduling strategy being used by the instance. + items: + properties: + automaticRestart: + description: Specifies if the instance should be restarted + if it was terminated by Compute Engine (not a user). + type: boolean + minNodeCpus: + format: int64 + type: integer + nodeAffinities: + description: Specifies node affinities or anti-affinities + to determine which sole-tenant nodes your instances and + managed instance groups will use as host systems. + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + - values + type: object + type: array + onHostMaintenance: + description: Describes maintenance behavior for the instance. + One of MIGRATE or TERMINATE, + type: string + preemptible: + description: Whether the instance is preemptible. + type: boolean + type: object + type: array + scratchDisk: + description: The scratch disks attached to the instance. + items: + properties: + interface: + description: The disk interface used for attaching this + disk. One of SCSI or NVME. + type: string + required: + - interface + type: object + type: array + serviceAccount: + description: The service account to attach to the instance. + items: + properties: + email: + description: The service account e-mail address. + type: string + scopes: + description: A list of service scopes. + items: + type: string + type: array + required: + - scopes + type: object + type: array + shieldedInstanceConfig: + description: The shielded vm config being used by the instance. + items: + properties: + enableIntegrityMonitoring: + description: Whether integrity monitoring is enabled for + the instance. + type: boolean + enableSecureBoot: + description: Whether secure boot is enabled for the instance. + type: boolean + enableVtpm: + description: Whether the instance uses vTPM. + type: boolean + type: object + type: array + sourceInstanceTemplate: + description: Name or self link of an instance template to create + the instance based on. + type: string + tags: + description: The list of tags attached to the instance. + items: + type: string + type: array + zone: + description: The zone of the instance. If self_link is provided, + this value is ignored. If neither self_link nor zone are provided, + the provider zone is used. + type: string + required: + - sourceInstanceTemplate + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceFromTemplateStatus defines the observed state of + InstanceFromTemplate. + properties: + atProvider: + properties: + cpuPlatform: + type: string + currentStatus: + type: string + id: + type: string + instanceId: + type: string + labelFingerprint: + type: string + metadataFingerprint: + type: string + selfLink: + type: string + tagsFingerprint: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_instancegroupmanagers.yaml b/package/crds/compute.gcp.jet.crossplane.io_instancegroupmanagers.yaml new file mode 100644 index 00000000..7d992629 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_instancegroupmanagers.yaml @@ -0,0 +1,417 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instancegroupmanagers.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceGroupManager + listKind: InstanceGroupManagerList + plural: instancegroupmanagers + singular: instancegroupmanager + 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: InstanceGroupManager is the Schema for the InstanceGroupManagers + 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: InstanceGroupManagerSpec defines the desired state of InstanceGroupManager + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + autoHealingPolicies: + description: The autohealing policies for this managed instance + group. You can specify only one value. + items: + properties: + healthCheck: + description: The health check resource that signals autohealing. + type: string + initialDelaySec: + description: The number of seconds that the managed instance + group waits before it applies autohealing policies to + new instances or recently recreated instances. Between + 0 and 3600. + format: int64 + type: integer + required: + - healthCheck + - initialDelaySec + type: object + type: array + baseInstanceName: + description: The base instance name to use for instances in this + group. The value must be a valid RFC1035 name. Supported characters + are lowercase letters, numbers, and hyphens (-). Instances are + named by appending a hyphen and a random four-character string + to the base instance name. + type: string + description: + description: An optional textual description of the instance group + manager. + type: string + name: + description: The name of the instance group manager. Must be 1-63 + characters long and comply with RFC1035. Supported characters + include lowercase letters, numbers, and hyphens. + type: string + namedPort: + description: The named port configuration. + items: + properties: + name: + description: The name of the port. + type: string + port: + description: The port number. + format: int64 + type: integer + required: + - name + - port + type: object + type: array + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + statefulDisk: + description: Disks created on the instances that will be preserved + on instance delete, update, etc. + items: + properties: + deleteRule: + description: A value that prescribes what should happen + to the stateful disk when the VM instance is deleted. + The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. + NEVER - detach the disk when the VM is deleted, but do + not delete the disk. ON_PERMANENT_INSTANCE_DELETION will + delete the stateful disk when the VM is permanently deleted + from the instance group. The default is NEVER. + type: string + deviceName: + description: The device name of the disk to be attached. + type: string + required: + - deviceName + type: object + type: array + targetPools: + description: The full URL of all target pools to which new instances + in the group are added. Updating the target pools attribute + does not affect existing instances. + items: + type: string + type: array + targetSize: + description: The target number of running instances for this managed + instance group. This value should always be explicitly set unless + this resource is attached to an autoscaler, in which case it + should never be set. Defaults to 0. + format: int64 + type: integer + updatePolicy: + description: The update policy for this managed instance group. + items: + properties: + maxSurgeFixed: + description: The maximum number of instances that can be + created above the specified targetSize during the update + process. Conflicts with max_surge_percent. If neither + is set, defaults to 1 + format: int64 + type: integer + maxSurgePercent: + description: The maximum number of instances(calculated + as percentage) that can be created above the specified + targetSize during the update process. Conflicts with max_surge_fixed. + format: int64 + type: integer + maxUnavailableFixed: + description: The maximum number of instances that can be + unavailable during the update process. Conflicts with + max_unavailable_percent. If neither is set, defaults to + 1. + format: int64 + type: integer + maxUnavailablePercent: + description: The maximum number of instances(calculated + as percentage) that can be unavailable during the update + process. Conflicts with max_unavailable_fixed. + format: int64 + type: integer + minimalAction: + description: Minimal action to be taken on an instance. + You can specify either RESTART to restart existing instances + or REPLACE to delete and create new instances from the + target template. If you specify a RESTART, the Updater + will attempt to perform that action only. However, if + the Updater determines that the minimal action you specify + is not enough to perform the update, it might perform + a more disruptive action. + type: string + replacementMethod: + description: 'The instance replacement method for managed + instance groups. Valid values are: "RECREATE", "SUBSTITUTE". + If SUBSTITUTE (default), the group replaces VM instances + with new instances that have randomly generated names. + If RECREATE, instance names are preserved. You must also + set max_unavailable_fixed or max_unavailable_percent to + be greater than 0.' + type: string + type: + description: The type of update process. You can specify + either PROACTIVE so that the instance group manager proactively + executes actions in order to bring instances to their + target versions or OPPORTUNISTIC so that no action is + proactively executed but the update will be performed + as part of other actions (for example, resizes or recreateInstances + calls). + type: string + required: + - minimalAction + - type + type: object + type: array + version: + description: Application versions managed by this instance group. + Each version deals with a specific instance template, allowing + canary release scenarios. + items: + properties: + instanceTemplate: + description: The full URL to an instance template from which + all new instances of this version will be created. + type: string + name: + description: Version name. + type: string + targetSize: + description: The number of instances calculated as a fixed + number or a percentage depending on the settings. + items: + properties: + fixed: + description: The number of instances which are managed + for this version. Conflicts with percent. + format: int64 + type: integer + percent: + description: The number of instances (calculated as + percentage) which are managed for this version. + Conflicts with fixed. Note that when using percent, + rounding will be in favor of explicitly set target_size + values; a managed instance group with 2 instances + and 2 versions, one of which has a target_size.percent + of 60 will create 2 instances of that version. + format: int64 + type: integer + type: object + type: array + required: + - instanceTemplate + type: object + type: array + waitForInstances: + description: Whether to wait for all instances to be created/updated + before returning. Note that if this is set to true and the operation + does not succeed, Terraform will continue trying until it times + out. + type: boolean + waitForInstancesStatus: + description: When used with wait_for_instances specifies the status + to wait for. When STABLE is specified this resource will wait + until the instances are stable before returning. When UPDATED + is set, it will wait for the version target to be reached and + any per instance configs to be effective as well as all instances + to be stable before returning. + type: string + zone: + description: The zone that instances in this group should be created + in. + type: string + required: + - baseInstanceName + - name + - version + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceGroupManagerStatus defines the observed state of + InstanceGroupManager. + properties: + atProvider: + properties: + fingerprint: + type: string + id: + type: string + instanceGroup: + type: string + operation: + type: string + selfLink: + type: string + status: + items: + properties: + isStable: + type: boolean + stateful: + items: + properties: + hasStatefulConfig: + type: boolean + perInstanceConfigs: + items: + properties: + allEffective: + type: boolean + type: object + type: array + type: object + type: array + versionTarget: + items: + properties: + isReached: + type: boolean + type: object + type: array + type: object + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_instancegroupnamedports.yaml b/package/crds/compute.gcp.jet.crossplane.io_instancegroupnamedports.yaml new file mode 100644 index 00000000..ae8d79f0 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_instancegroupnamedports.yaml @@ -0,0 +1,187 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instancegroupnamedports.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceGroupNamedPort + listKind: InstanceGroupNamedPortList + plural: instancegroupnamedports + singular: instancegroupnamedport + 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: InstanceGroupNamedPort is the Schema for the InstanceGroupNamedPorts + 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: InstanceGroupNamedPortSpec defines the desired state of InstanceGroupNamedPort + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + group: + description: The name of the instance group. + type: string + name: + description: The name for this named port. The name must be 1-63 + characters long, and comply with RFC1035. + type: string + port: + description: The port number, which can be a value between 1 and + 65535. + format: int64 + type: integer + project: + type: string + zone: + description: The zone of the instance group. + type: string + required: + - group + - name + - port + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceGroupNamedPortStatus defines the observed state of + InstanceGroupNamedPort. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_instancegroups.yaml b/package/crds/compute.gcp.jet.crossplane.io_instancegroups.yaml new file mode 100644 index 00000000..22380412 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_instancegroups.yaml @@ -0,0 +1,217 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instancegroups.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceGroup + listKind: InstanceGroupList + plural: instancegroups + singular: instancegroup + 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: InstanceGroup is the Schema for the InstanceGroups 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: InstanceGroupSpec defines the desired state of InstanceGroup + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional textual description of the instance group. + type: string + instances: + description: List of instances in the group. They should be given + as self_link URLs. When adding instances they must all be in + the same network and zone as the instance group. + items: + type: string + type: array + name: + description: The name of the instance group. Must be 1-63 characters + long and comply with RFC1035. Supported characters include lowercase + letters, numbers, and hyphens. + type: string + namedPort: + description: The named port configuration. + items: + properties: + name: + description: The name which the port will be mapped to. + type: string + port: + description: The port number to map the name to. + format: int64 + type: integer + required: + - name + - port + type: object + type: array + network: + description: The URL of the network the instance group is in. + If this is different from the network where the instances are + in, the creation fails. Defaults to the network where the instances + are in (if neither network nor instances is specified, this + field will be blank). + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + zone: + description: The zone that this instance group should be created + in. + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceGroupStatus defines the observed state of InstanceGroup. + properties: + atProvider: + properties: + id: + type: string + selfLink: + type: string + size: + format: int64 + type: integer + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_instanceiambindings.yaml b/package/crds/compute.gcp.jet.crossplane.io_instanceiambindings.yaml new file mode 100644 index 00000000..612fdd96 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_instanceiambindings.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instanceiambindings.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceIAMBinding + listKind: InstanceIAMBindingList + plural: instanceiambindings + singular: instanceiambinding + 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: InstanceIAMBinding is the Schema for the InstanceIAMBindings + 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: InstanceIAMBindingSpec defines the desired state of InstanceIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + instanceName: + type: string + members: + items: + type: string + type: array + project: + type: string + role: + type: string + zone: + type: string + required: + - instanceName + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceIAMBindingStatus defines the observed state of InstanceIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_instanceiammembers.yaml b/package/crds/compute.gcp.jet.crossplane.io_instanceiammembers.yaml new file mode 100644 index 00000000..d9b4694b --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_instanceiammembers.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instanceiammembers.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceIAMMember + listKind: InstanceIAMMemberList + plural: instanceiammembers + singular: instanceiammember + 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: InstanceIAMMember is the Schema for the InstanceIAMMembers 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: InstanceIAMMemberSpec defines the desired state of InstanceIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + instanceName: + type: string + member: + type: string + project: + type: string + role: + type: string + zone: + type: string + required: + - instanceName + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceIAMMemberStatus defines the observed state of InstanceIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_instanceiampolicies.yaml b/package/crds/compute.gcp.jet.crossplane.io_instanceiampolicies.yaml new file mode 100644 index 00000000..646033e3 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_instanceiampolicies.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instanceiampolicies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceIAMPolicy + listKind: InstanceIAMPolicyList + plural: instanceiampolicies + singular: instanceiampolicy + 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: InstanceIAMPolicy is the Schema for the InstanceIAMPolicys 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: InstanceIAMPolicySpec defines the desired state of InstanceIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + instanceName: + type: string + policyData: + type: string + project: + type: string + zone: + type: string + required: + - instanceName + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceIAMPolicyStatus defines the observed state of InstanceIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_instancetemplates.yaml b/package/crds/compute.gcp.jet.crossplane.io_instancetemplates.yaml new file mode 100644 index 00000000..e870bf96 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_instancetemplates.yaml @@ -0,0 +1,596 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instancetemplates.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceTemplate + listKind: InstanceTemplateList + plural: instancetemplates + singular: instancetemplate + 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: v1alpha2 + schema: + openAPIV3Schema: + description: InstanceTemplate is the Schema for the InstanceTemplates 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: InstanceTemplateSpec defines the desired state of InstanceTemplate + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + advancedMachineFeatures: + description: Controls for advanced machine-related behavior features. + items: + properties: + enableNestedVirtualization: + description: Whether to enable nested virtualization or + not. + type: boolean + threadsPerCore: + description: The number of threads per physical core. To + disable simultaneous multithreading (SMT) set this to + 1. If unset, the maximum number of threads supported per + core by the underlying processor is assumed. + format: int64 + type: integer + type: object + type: array + canIpForward: + description: Whether to allow sending and receiving of packets + with non-matching source or destination IPs. This defaults to + false. + type: boolean + confidentialInstanceConfig: + description: The Confidential VM config being used by the instance. + on_host_maintenance has to be set to TERMINATE or this will + fail to create. + items: + properties: + enableConfidentialCompute: + description: Defines whether the instance should have confidential + compute enabled. + type: boolean + required: + - enableConfidentialCompute + type: object + type: array + description: + description: A brief description of this resource. + type: string + disk: + description: Disks to attach to instances created from this template. + This can be specified multiple times for multiple disks. + items: + properties: + autoDelete: + description: Whether or not the disk should be auto-deleted. + This defaults to true. + type: boolean + boot: + description: Indicates that this is a boot disk. + type: boolean + deviceName: + description: A unique device name that is reflected into + the /dev/ tree of a Linux operating system running within + the instance. If not specified, the server chooses a default + device name to apply to this disk. + type: string + diskEncryptionKey: + description: Encrypts or decrypts a disk using a customer-supplied + encryption key. + items: + properties: + kmsKeySelfLink: + description: The self link of the encryption key that + is stored in Google Cloud KMS. + type: string + required: + - kmsKeySelfLink + type: object + type: array + diskName: + description: Name of the disk. When not provided, this defaults + to the name of the instance. + type: string + diskSizeGb: + description: The size of the image in gigabytes. If not + specified, it will inherit the size of its base image. + For SCRATCH disks, the size must be exactly 375GB. + format: int64 + type: integer + diskType: + description: The Google Compute Engine disk type. Can be + either "pd-ssd", "local-ssd", "pd-balanced" or "pd-standard". + type: string + interface: + description: Specifies the disk interface to use for attaching + this disk. + type: string + labels: + additionalProperties: + type: string + description: A set of key/value label pairs to assign to + disks, + type: object + mode: + description: The mode in which to attach this disk, either + READ_WRITE or READ_ONLY. If you are attaching or creating + a boot disk, this must read-write mode. + type: string + resourcePolicies: + description: A list (short name or id) of resource policies + to attach to this disk. Currently a max of 1 resource + policy is supported. + items: + type: string + type: array + source: + description: 'The name (not self_link) of the disk (such + as those managed by google_compute_disk) to attach. ~> + Note: Either source or source_image is required when creating + a new instance except for when creating a local SSD.' + type: string + sourceImage: + description: 'The image from which to initialize this disk. + This can be one of: the image''s self_link, projects/{project}/global/images/{image}, + projects/{project}/global/images/family/{family}, global/images/{image}, + global/images/family/{family}, family/{family}, {project}/{family}, + {project}/{image}, {family}, or {image}. ~> Note: Either + source or source_image is required when creating a new + instance except for when creating a local SSD.' + type: string + type: + description: The type of Google Compute Engine disk, can + be either "SCRATCH" or "PERSISTENT". + type: string + type: object + type: array + guestAccelerator: + description: List of the type and count of accelerator cards attached + to the instance. + items: + properties: + count: + description: The number of the guest accelerator cards exposed + to this instance. + format: int64 + type: integer + type: + description: The accelerator type resource to expose to + this instance. E.g. nvidia-tesla-k80. + type: string + required: + - count + - type + type: object + type: array + instanceDescription: + description: A description of the instance. + type: string + labels: + additionalProperties: + type: string + description: A set of key/value label pairs to assign to instances + created from this template, + type: object + machineType: + description: The machine type to create. To create a machine with + a custom type (such as extended memory), format the value like + custom-VCPUS-MEM_IN_MB like custom-6-20480 for 6 vCPU and 20GB + of RAM. + type: string + metadata: + additionalProperties: + type: string + description: Metadata key/value pairs to make available from within + instances created from this template. + type: object + metadataStartupScript: + description: An alternative to using the startup-script metadata + key, mostly to match the compute_instance resource. This replaces + the startup-script metadata key on the created instance and + thus the two mechanisms are not allowed to be used simultaneously. + type: string + minCpuPlatform: + description: Specifies a minimum CPU platform. Applicable values + are the friendly names of CPU platforms, such as Intel Haswell + or Intel Skylake. + type: string + networkInterface: + description: Networks to attach to instances created from this + template. This can be specified multiple times for multiple + networks. + items: + properties: + accessConfig: + description: Access configurations, i.e. IPs via which this + instance can be accessed via the Internet. Omit to ensure + that the instance is not accessible from the Internet + (this means that ssh provisioners will not work unless + you are running Terraform can send traffic to the instance's + network (e.g. via tunnel or because it is running on another + cloud instance on that network). This block can be repeated + multiple times. + items: + properties: + natIp: + description: The IP address that will be 1:1 mapped + to the instance's network ip. If not given, one + will be generated. + type: string + networkTier: + description: 'The networking tier used for configuring + this instance template. This field can take the + following values: PREMIUM or STANDARD. If this field + is not specified, it is assumed to be PREMIUM.' + type: string + type: object + type: array + aliasIpRange: + description: An array of alias IP ranges for this network + interface. Can only be specified for network interfaces + on subnet-mode networks. + items: + properties: + ipCidrRange: + description: The IP CIDR range represented by this + alias IP range. This IP CIDR range must belong to + the specified subnetwork and cannot contain IP addresses + reserved by system or used by other network interfaces. + At the time of writing only a netmask (e.g. /24) + may be supplied, with a CIDR format resulting in + an API error. + type: string + subnetworkRangeName: + description: The subnetwork secondary range name specifying + the secondary range from which to allocate the IP + CIDR range for this alias IP range. If left unspecified, + the primary range of the subnetwork will be used. + type: string + required: + - ipCidrRange + type: object + type: array + ipv6AccessConfig: + description: An array of IPv6 access configurations for + this interface. Currently, only one IPv6 access config, + DIRECT_IPV6, is supported. If there is no ipv6AccessConfig + specified, then this instance will have no external IPv6 + Internet access. + items: + properties: + networkTier: + description: The service-level to be provided for + IPv6 traffic when the subnet has an external subnet. + Only PREMIUM tier is valid for IPv6 + type: string + required: + - networkTier + type: object + type: array + network: + description: The name or self_link of the network to attach + this interface to. Use network attribute for Legacy or + Auto subnetted networks and subnetwork for custom subnetted + networks. + type: string + networkIp: + description: The private IP address to assign to the instance. + If empty, the address will be automatically assigned. + type: string + nicType: + description: The type of vNIC to be used on this interface. + Possible values:GVNIC, VIRTIO_NET + type: string + stackType: + description: The stack type for this network interface to + identify whether the IPv6 feature is enabled or not. If + not specified, IPV4_ONLY will be used. + type: string + subnetwork: + description: The name of the subnetwork to attach this interface + to. The subnetwork must exist in the same region this + instance will be created in. Either network or subnetwork + must be provided. + type: string + subnetworkProject: + description: The ID of the project in which the subnetwork + belongs. If it is not provided, the provider project is + used. + type: string + type: object + type: array + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + region: + description: An instance template is a global resource that is + not bound to a zone or a region. However, you can still specify + some regional resources in an instance template, which restricts + the template to the region where that resource resides. For + example, a custom subnetwork resource is tied to a specific + region. Defaults to the region of the Provider if no value is + given. + type: string + reservationAffinity: + description: Specifies the reservations that this instance can + consume from. + items: + properties: + specificReservation: + description: Specifies the label selector for the reservation + to use. + items: + properties: + key: + description: Corresponds to the label key of a reservation + resource. To target a SPECIFIC_RESERVATION by name, + specify compute.googleapis.com/reservation-name + as the key and specify the name of your reservation + as the only value. + type: string + values: + description: Corresponds to the label values of a + reservation resource. + items: + type: string + type: array + required: + - key + - values + type: object + type: array + type: + description: The type of reservation from which this instance + can consume resources. + type: string + required: + - type + type: object + type: array + scheduling: + description: The scheduling strategy to use. + items: + properties: + automaticRestart: + description: Specifies whether the instance should be automatically + restarted if it is terminated by Compute Engine (not terminated + by a user). This defaults to true. + type: boolean + minNodeCpus: + description: Minimum number of cpus for the instance. + format: int64 + type: integer + nodeAffinities: + description: Specifies node affinities or anti-affinities + to determine which sole-tenant nodes your instances and + managed instance groups will use as host systems. + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + - values + type: object + type: array + onHostMaintenance: + description: Defines the maintenance behavior for this instance. + type: string + preemptible: + description: Allows instance to be preempted. This defaults + to false. + type: boolean + type: object + type: array + serviceAccount: + description: Service account to attach to the instance. + items: + properties: + email: + description: The service account e-mail address. If not + given, the default Google Compute Engine service account + is used. + type: string + scopes: + description: A list of service scopes. Both OAuth2 URLs + and gcloud short names are supported. To allow full access + to all Cloud APIs, use the cloud-platform scope. + items: + type: string + type: array + required: + - scopes + type: object + type: array + shieldedInstanceConfig: + description: 'Enable Shielded VM on this instance. Shielded VM + provides verifiable integrity to prevent against malware and + rootkits. Defaults to disabled. Note: shielded_instance_config + can only be used with boot images with shielded vm support.' + items: + properties: + enableIntegrityMonitoring: + description: Compare the most recent boot measurements to + the integrity policy baseline and return a pair of pass/fail + results depending on whether they match or not. Defaults + to true. + type: boolean + enableSecureBoot: + description: Verify the digital signature of all boot components, + and halt the boot process if signature verification fails. + Defaults to false. + type: boolean + enableVtpm: + description: Use a virtualized trusted platform module, + which is a specialized computer chip you can use to encrypt + objects like keys and certificates. Defaults to true. + type: boolean + type: object + type: array + tags: + description: Tags to attach to the instance. + items: + type: string + type: array + required: + - disk + - machineType + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceTemplateStatus defines the observed state of InstanceTemplate. + properties: + atProvider: + properties: + id: + type: string + metadataFingerprint: + type: string + selfLink: + type: string + tagsFingerprint: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_interconnectattachments.yaml b/package/crds/compute.gcp.jet.crossplane.io_interconnectattachments.yaml new file mode 100644 index 00000000..a853d1e3 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_interconnectattachments.yaml @@ -0,0 +1,307 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: interconnectattachments.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InterconnectAttachment + listKind: InterconnectAttachmentList + plural: interconnectattachments + singular: interconnectattachment + 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: InterconnectAttachment is the Schema for the InterconnectAttachments + 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: InterconnectAttachmentSpec defines the desired state of InterconnectAttachment + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + adminEnabled: + description: Whether the VLAN attachment is enabled or disabled. When + using PARTNER type this will Pre-Activate the interconnect attachment + type: boolean + bandwidth: + description: 'Provisioned bandwidth capacity for the interconnect + attachment. For attachments of type DEDICATED, the user can + set the bandwidth. For attachments of type PARTNER, the Google + Partner that is operating the interconnect must set the bandwidth. + Output only for PARTNER type, mutable for PARTNER_PROVIDER and + DEDICATED, Defaults to BPS_10G Possible values: ["BPS_50M", + "BPS_100M", "BPS_200M", "BPS_300M", "BPS_400M", "BPS_500M", + "BPS_1G", "BPS_2G", "BPS_5G", "BPS_10G", "BPS_20G", "BPS_50G"]' + type: string + candidateSubnets: + description: Up to 16 candidate prefixes that can be used to restrict + the allocation of cloudRouterIpAddress and customerRouterIpAddress + for this attachment. All prefixes must be within link-local + address space (169.254.0.0/16) and must be /29 or shorter (/28, + /27, etc). Google will attempt to select an unused /29 from + the supplied candidate prefix(es). The request will fail if + all possible /29s are in use on Google's edge. If not supplied, + Google will randomly select an unused /29 from all of link-local + space. + items: + type: string + type: array + description: + description: An optional description of this resource. + type: string + edgeAvailabilityDomain: + description: Desired availability domain for the attachment. Only + available for type PARTNER, at creation time. For improved reliability, + customers should configure a pair of attachments with one per + availability domain. The selected availability domain will be + provided to the Partner via the pairing key so that the provisioned + circuit will lie in the specified domain. If not specified, + the value will default to AVAILABILITY_DOMAIN_ANY. + type: string + encryption: + description: "Indicates the user-supplied encryption option of + this interconnect attachment: \n NONE is the default value, + which means that the attachment carries unencrypted traffic. + VMs can send traffic to, or receive traffic from, this type + of attachment. \n IPSEC indicates that the attachment carries + only traffic encrypted by an IPsec device such as an HA VPN + gateway. VMs cannot directly send traffic to, or receive traffic + from, such an attachment. To use IPsec-encrypted Cloud Interconnect + create the attachment using this option. \n Not currently available + publicly. Default value: \"NONE\" Possible values: [\"NONE\", + \"IPSEC\"]" + type: string + interconnect: + description: URL of the underlying Interconnect object that this + attachment's traffic will traverse through. Required if type + is DEDICATED, must not be set if type is PARTNER. + type: string + ipsecInternalAddresses: + description: "URL of addresses that have been reserved for the + interconnect attachment, Used only for interconnect attachment + that has the encryption option as IPSEC. \n The addresses must + be RFC 1918 IP address ranges. When creating HA VPN gateway + over the interconnect attachment, if the attachment is configured + to use an RFC 1918 IP address, then the VPN gateway's IP address + will be allocated from the IP address range specified here. + \n For example, if the HA VPN gateway's interface 0 is paired + to this interconnect attachment, then an RFC 1918 IP address + for the VPN gateway interface 0 will be allocated from the IP + address specified for this interconnect attachment. \n If this + field is not specified for interconnect attachment that has + encryption option as IPSEC, later on when creating HA VPN gateway + on this interconnect attachment, the HA VPN gateway's IP address + will be allocated from regional external IP address pool." + items: + type: string + type: array + mtu: + description: Maximum Transmission Unit (MTU), in bytes, of packets + passing through this interconnect attachment. Currently, only + 1440 and 1500 are allowed. If not specified, the value will + default to 1440. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + region: + description: Region where the regional interconnect attachment + resides. + type: string + router: + description: URL of the cloud router to be used for dynamic routing. + This router must be in the same region as this InterconnectAttachment. + The InterconnectAttachment will automatically connect the Interconnect + to the network & region within which the Cloud Router is configured. + type: string + type: + description: 'The type of InterconnectAttachment you wish to create. + Defaults to DEDICATED. Possible values: ["DEDICATED", "PARTNER", + "PARTNER_PROVIDER"]' + type: string + vlanTag8021Q: + description: The IEEE 802.1Q VLAN tag for this attachment, in + the range 2-4094. When using PARTNER type this will be managed + upstream. + format: int64 + type: integer + required: + - name + - router + type: object + 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 + 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 + 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. + 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 + status: + description: InterconnectAttachmentStatus defines the observed state of + InterconnectAttachment. + properties: + atProvider: + properties: + cloudRouterIpAddress: + type: string + creationTimestamp: + type: string + customerRouterIpAddress: + type: string + googleReferenceId: + type: string + id: + type: string + pairingKey: + type: string + partnerAsn: + type: string + privateInterconnectInfo: + items: + properties: + tag8021q: + format: int64 + type: integer + type: object + type: array + selfLink: + type: string + state: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_networkendpointgroups.yaml b/package/crds/compute.gcp.jet.crossplane.io_networkendpointgroups.yaml new file mode 100644 index 00000000..754b25ac --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_networkendpointgroups.yaml @@ -0,0 +1,209 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: networkendpointgroups.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: NetworkEndpointGroup + listKind: NetworkEndpointGroupList + plural: networkendpointgroups + singular: networkendpointgroup + 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: NetworkEndpointGroup is the Schema for the NetworkEndpointGroups + 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: NetworkEndpointGroupSpec defines the desired state of NetworkEndpointGroup + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + defaultPort: + description: The default port used if the port number is not specified + in the network endpoint. + format: int64 + type: integer + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + name: + description: Name of the resource; provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + network: + description: The network to which all network endpoints in the + NEG belong. Uses "default" project network if unspecified. + type: string + networkEndpointType: + description: 'Type of network endpoints in this network endpoint + group. Default value: "GCE_VM_IP_PORT" Possible values: ["GCE_VM_IP_PORT"]' + type: string + project: + type: string + subnetwork: + description: Optional subnetwork to which all network endpoints + in the NEG belong. + type: string + zone: + description: Zone where the network endpoint group is located. + type: string + required: + - name + - network + type: object + 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 + 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 + 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. + 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 + status: + description: NetworkEndpointGroupStatus defines the observed state of + NetworkEndpointGroup. + properties: + atProvider: + properties: + id: + type: string + selfLink: + type: string + size: + format: int64 + type: integer + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_networkendpoints.yaml b/package/crds/compute.gcp.jet.crossplane.io_networkendpoints.yaml new file mode 100644 index 00000000..af6d0126 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_networkendpoints.yaml @@ -0,0 +1,193 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: networkendpoints.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: NetworkEndpoint + listKind: NetworkEndpointList + plural: networkendpoints + singular: networkendpoint + 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: NetworkEndpoint is the Schema for the NetworkEndpoints 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: NetworkEndpointSpec defines the desired state of NetworkEndpoint + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + instance: + description: The name for a specific VM instance that the IP address + belongs to. This is required for network endpoints of type GCE_VM_IP_PORT. + The instance must be in the same zone of network endpoint group. + type: string + ipAddress: + description: IPv4 address of network endpoint. The IP address + must belong to a VM in GCE (either the primary IP or as part + of an aliased IP range). + type: string + networkEndpointGroup: + description: The network endpoint group this endpoint is part + of. + type: string + port: + description: Port number of network endpoint. + format: int64 + type: integer + project: + type: string + zone: + description: Zone where the containing network endpoint group + is located. + type: string + required: + - instance + - ipAddress + - networkEndpointGroup + - port + type: object + 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 + 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 + 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. + 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 + status: + description: NetworkEndpointStatus defines the observed state of NetworkEndpoint. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_networkpeeringroutesconfigs.yaml b/package/crds/compute.gcp.jet.crossplane.io_networkpeeringroutesconfigs.yaml new file mode 100644 index 00000000..e8620aac --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_networkpeeringroutesconfigs.yaml @@ -0,0 +1,186 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: networkpeeringroutesconfigs.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: NetworkPeeringRoutesConfig + listKind: NetworkPeeringRoutesConfigList + plural: networkpeeringroutesconfigs + singular: networkpeeringroutesconfig + 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: NetworkPeeringRoutesConfig is the Schema for the NetworkPeeringRoutesConfigs + 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: NetworkPeeringRoutesConfigSpec defines the desired state + of NetworkPeeringRoutesConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + exportCustomRoutes: + description: Whether to export the custom routes to the peer network. + type: boolean + importCustomRoutes: + description: Whether to import the custom routes to the peer network. + type: boolean + network: + description: The name of the primary network for the peering. + type: string + peering: + description: Name of the peering. + type: string + project: + type: string + required: + - exportCustomRoutes + - importCustomRoutes + - network + - peering + type: object + 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 + 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 + 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. + 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 + status: + description: NetworkPeeringRoutesConfigStatus defines the observed state + of NetworkPeeringRoutesConfig. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_networkpeerings.yaml b/package/crds/compute.gcp.jet.crossplane.io_networkpeerings.yaml new file mode 100644 index 00000000..062deae0 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_networkpeerings.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: networkpeerings.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: NetworkPeering + listKind: NetworkPeeringList + plural: networkpeerings + singular: networkpeering + 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: NetworkPeering is the Schema for the NetworkPeerings 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: NetworkPeeringSpec defines the desired state of NetworkPeering + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + exportCustomRoutes: + description: Whether to export the custom routes to the peer network. + Defaults to false. + type: boolean + exportSubnetRoutesWithPublicIp: + type: boolean + importCustomRoutes: + description: Whether to export the custom routes from the peer + network. Defaults to false. + type: boolean + importSubnetRoutesWithPublicIp: + type: boolean + name: + description: Name of the peering. + type: string + network: + description: The primary network of the peering. + type: string + peerNetwork: + description: The peer network in the peering. The peer network + may belong to a different project. + type: string + required: + - name + - network + - peerNetwork + type: object + 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 + 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 + 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. + 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 + status: + description: NetworkPeeringStatus defines the observed state of NetworkPeering. + properties: + atProvider: + properties: + id: + type: string + state: + type: string + stateDetails: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_nodegroups.yaml b/package/crds/compute.gcp.jet.crossplane.io_nodegroups.yaml new file mode 100644 index 00000000..77baee64 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_nodegroups.yaml @@ -0,0 +1,241 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: nodegroups.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: NodeGroup + listKind: NodeGroupList + plural: nodegroups + singular: nodegroup + 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: NodeGroup is the Schema for the NodeGroups 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: NodeGroupSpec defines the desired state of NodeGroup + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + autoscalingPolicy: + description: If you use sole-tenant nodes for your workloads, + you can use the node group autoscaler to automatically manage + the sizes of your node groups. + items: + properties: + maxNodes: + description: Maximum size of the node group. Set to a value + less than or equal to 100 and greater than or equal to + min-nodes. + format: int64 + type: integer + minNodes: + description: Minimum size of the node group. Must be less + than or equal to max-nodes. The default value is 0. + format: int64 + type: integer + mode: + description: 'The autoscaling mode. Set to one of the following: + - OFF: Disables the autoscaler. - ON: Enables scaling + in and scaling out. - ONLY_SCALE_OUT: Enables only scaling + out. You must use this mode if your node groups are configured + to restart their hosted VMs on minimal servers. Possible + values: ["OFF", "ON", "ONLY_SCALE_OUT"]' + type: string + type: object + type: array + description: + description: An optional textual description of the resource. + type: string + initialSize: + description: The initial number of nodes in the node group. One + of 'initial_size' or 'size' must be specified. + format: int64 + type: integer + maintenancePolicy: + description: 'Specifies how to handle instances when a node in + the group undergoes maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, + or MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT.' + type: string + maintenanceWindow: + description: contains properties for the timeframe of maintenance + items: + properties: + startTime: + description: instances.start time of the window. This must + be in UTC format that resolves to one of 00:00, 04:00, + 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 + and 08:00 are valid. + type: string + required: + - startTime + type: object + type: array + name: + description: Name of the resource. + type: string + nodeTemplate: + description: The URL of the node template to which this node group + belongs. + type: string + project: + type: string + size: + description: The total number of nodes in the node group. One + of 'initial_size' or 'size' must be specified. + format: int64 + type: integer + zone: + description: Zone where this node group is located + type: string + required: + - nodeTemplate + type: object + 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 + 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 + 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. + 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 + status: + description: NodeGroupStatus defines the observed state of NodeGroup. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_nodetemplates.yaml b/package/crds/compute.gcp.jet.crossplane.io_nodetemplates.yaml new file mode 100644 index 00000000..a063dfe7 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_nodetemplates.yaml @@ -0,0 +1,235 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: nodetemplates.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: NodeTemplate + listKind: NodeTemplateList + plural: nodetemplates + singular: nodetemplate + 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: NodeTemplate is the Schema for the NodeTemplates 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: NodeTemplateSpec defines the desired state of NodeTemplate + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + cpuOvercommitType: + description: 'CPU overcommit. Default value: "NONE" Possible values: + ["ENABLED", "NONE"]' + type: string + description: + description: An optional textual description of the resource. + type: string + name: + description: Name of the resource. + type: string + nodeAffinityLabels: + additionalProperties: + type: string + description: Labels to use for node affinity, which will be used + in instance scheduling. + type: object + nodeType: + description: Node type to use for nodes group that are created + from this template. Only one of nodeTypeFlexibility and nodeType + can be specified. + type: string + nodeTypeFlexibility: + description: Flexible properties for the desired node type. Node + groups that use this node template will create nodes of a type + that matches these properties. Only one of nodeTypeFlexibility + and nodeType can be specified. + items: + properties: + cpus: + description: Number of virtual CPUs to use. + type: string + memory: + description: Physical memory available to the node, defined + in MB. + type: string + type: object + type: array + project: + type: string + region: + description: Region where nodes using the node template will be + created. If it is not provided, the provider region is used. + type: string + serverBinding: + description: The server binding policy for nodes using this template. + Determines where the nodes should restart following a maintenance + event. + items: + properties: + type: + description: "Type of server binding policy. If 'RESTART_NODE_ON_ANY_SERVER', + nodes using this template will restart on any physical + server following a maintenance event. \n If 'RESTART_NODE_ON_MINIMAL_SERVER', + nodes using this template will restart on the same physical + server following a maintenance event, instead of being + live migrated to or restarted on a new physical server. + This option may be useful if you are using software licenses + tied to the underlying server characteristics such as + physical sockets or cores, to avoid the need for additional + licenses when maintenance occurs. However, VMs on such + nodes will experience outages while maintenance is applied. + Possible values: [\"RESTART_NODE_ON_ANY_SERVER\", \"RESTART_NODE_ON_MINIMAL_SERVERS\"]" + type: string + required: + - type + type: object + type: array + type: object + 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 + 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 + 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. + 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 + status: + description: NodeTemplateStatus defines the observed state of NodeTemplate. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_packetmirrorings.yaml b/package/crds/compute.gcp.jet.crossplane.io_packetmirrorings.yaml new file mode 100644 index 00000000..06078b0c --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_packetmirrorings.yaml @@ -0,0 +1,276 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: packetmirrorings.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: PacketMirroring + listKind: PacketMirroringList + plural: packetmirrorings + singular: packetmirroring + 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: PacketMirroring is the Schema for the PacketMirrorings 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: PacketMirroringSpec defines the desired state of PacketMirroring + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + collectorIlb: + description: The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL) + that will be used as collector for mirrored traffic. The specified + forwarding rule must have is_mirroring_collector set to true. + items: + properties: + url: + description: The URL of the forwarding rule. + type: string + required: + - url + type: object + type: array + description: + description: A human-readable description of the rule. + type: string + filter: + description: A filter for mirrored traffic. If unset, all traffic + is mirrored. + items: + properties: + cidrRanges: + description: IP CIDR ranges that apply as a filter on the + source (ingress) or destination (egress) IP in the IP + header. Only IPv4 is supported. + items: + type: string + type: array + direction: + description: 'Direction of traffic to mirror. Default value: + "BOTH" Possible values: ["INGRESS", "EGRESS", "BOTH"]' + type: string + ipProtocols: + description: 'Protocols that apply as a filter on mirrored + traffic. Possible values: ["tcp", "udp", "icmp"]' + items: + type: string + type: array + type: object + type: array + mirroredResources: + description: A means of specifying which resources to mirror. + items: + properties: + instances: + description: All the listed instances will be mirrored. Specify + at most 50. + items: + properties: + url: + description: The URL of the instances where this rule + should be active. + type: string + required: + - url + type: object + type: array + subnetworks: + description: All instances in one of these subnetworks will + be mirrored. + items: + properties: + url: + description: The URL of the subnetwork where this + rule should be active. + type: string + required: + - url + type: object + type: array + tags: + description: All instances with these tags will be mirrored. + items: + type: string + type: array + type: object + type: array + name: + description: The name of the packet mirroring rule + type: string + network: + description: Specifies the mirrored VPC network. Only packets + in this network will be mirrored. All mirrored VMs should have + a NIC in the given network. All mirrored subnetworks should + belong to the given network. + items: + properties: + url: + description: The full self_link URL of the network where + this rule is active. + type: string + required: + - url + type: object + type: array + priority: + description: Since only one rule can be active at a time, priority + is used to break ties in the case of two rules that apply to + the same instances. + format: int64 + type: integer + project: + type: string + region: + description: The Region in which the created address should reside. + If it is not provided, the provider region is used. + type: string + required: + - collectorIlb + - mirroredResources + - name + - network + type: object + 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 + 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 + 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. + 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 + status: + description: PacketMirroringStatus defines the observed state of PacketMirroring. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_perinstanceconfigs.yaml b/package/crds/compute.gcp.jet.crossplane.io_perinstanceconfigs.yaml new file mode 100644 index 00000000..7c8df9b5 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_perinstanceconfigs.yaml @@ -0,0 +1,233 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: perinstanceconfigs.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: PerInstanceConfig + listKind: PerInstanceConfigList + plural: perinstanceconfigs + singular: perinstanceconfig + 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: PerInstanceConfig is the Schema for the PerInstanceConfigs 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: PerInstanceConfigSpec defines the desired state of PerInstanceConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + instanceGroupManager: + description: The instance group manager this instance config is + part of. + type: string + minimalAction: + type: string + mostDisruptiveAllowedAction: + type: string + name: + description: The name for this per-instance config and its corresponding + instance. + type: string + preservedState: + description: The preserved state for this instance. + items: + properties: + disk: + description: Stateful disks for the instance. + items: + properties: + deleteRule: + description: 'A value that prescribes what should + happen to the stateful disk when the VM instance + is deleted. The available options are ''NEVER'' + and ''ON_PERMANENT_INSTANCE_DELETION''. ''NEVER'' + - detach the disk when the VM is deleted, but do + not delete the disk. ''ON_PERMANENT_INSTANCE_DELETION'' + will delete the stateful disk when the VM is permanently + deleted from the instance group. Default value: + "NEVER" Possible values: ["NEVER", "ON_PERMANENT_INSTANCE_DELETION"]' + type: string + deviceName: + description: A unique device name that is reflected + into the /dev/ tree of a Linux operating system + running within the instance. + type: string + mode: + description: 'The mode of the disk. Default value: + "READ_WRITE" Possible values: ["READ_ONLY", "READ_WRITE"]' + type: string + source: + description: The URI of an existing persistent disk + to attach under the specified device-name in the + format 'projects/project-id/zones/zone/disks/disk-name'. + type: string + required: + - deviceName + - source + type: object + type: array + metadata: + additionalProperties: + type: string + description: Preserved metadata defined for this instance. + This is a list of key->value pairs. + type: object + type: object + type: array + project: + type: string + removeInstanceStateOnDestroy: + type: boolean + zone: + description: Zone where the containing instance group manager + is located + type: string + required: + - instanceGroupManager + - name + type: object + 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 + 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 + 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. + 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 + status: + description: PerInstanceConfigStatus defines the observed state of PerInstanceConfig. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_projectdefaultnetworktiers.yaml b/package/crds/compute.gcp.jet.crossplane.io_projectdefaultnetworktiers.yaml new file mode 100644 index 00000000..23c683b7 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_projectdefaultnetworktiers.yaml @@ -0,0 +1,178 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectdefaultnetworktiers.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectDefaultNetworkTier + listKind: ProjectDefaultNetworkTierList + plural: projectdefaultnetworktiers + singular: projectdefaultnetworktier + 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: ProjectDefaultNetworkTier is the Schema for the ProjectDefaultNetworkTiers + 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: ProjectDefaultNetworkTierSpec defines the desired state of + ProjectDefaultNetworkTier + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + networkTier: + description: 'The default network tier to be configured for the + project. This field can take the following values: PREMIUM or + STANDARD.' + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + required: + - networkTier + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectDefaultNetworkTierStatus defines the observed state + of ProjectDefaultNetworkTier. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_projectmetadata.yaml b/package/crds/compute.gcp.jet.crossplane.io_projectmetadata.yaml new file mode 100644 index 00000000..3ded753c --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_projectmetadata.yaml @@ -0,0 +1,175 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectmetadata.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectMetadata + listKind: ProjectMetadataList + plural: projectmetadata + singular: projectmetadata + 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: ProjectMetadata is the Schema for the ProjectMetadatas 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: ProjectMetadataSpec defines the desired state of ProjectMetadata + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + metadata: + additionalProperties: + type: string + description: A series of key value pairs. + type: object + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + required: + - metadata + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectMetadataStatus defines the observed state of ProjectMetadata. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_projectmetadataitems.yaml b/package/crds/compute.gcp.jet.crossplane.io_projectmetadataitems.yaml new file mode 100644 index 00000000..2e3d6e85 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_projectmetadataitems.yaml @@ -0,0 +1,178 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectmetadataitems.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectMetadataItem + listKind: ProjectMetadataItemList + plural: projectmetadataitems + singular: projectmetadataitem + 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: ProjectMetadataItem is the Schema for the ProjectMetadataItems + 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: ProjectMetadataItemSpec defines the desired state of ProjectMetadataItem + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + key: + description: The metadata key to set. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + value: + description: The value to set for the given metadata key. + type: string + required: + - key + - value + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectMetadataItemStatus defines the observed state of ProjectMetadataItem. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regionautoscalers.yaml b/package/crds/compute.gcp.jet.crossplane.io_regionautoscalers.yaml new file mode 100644 index 00000000..644da328 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regionautoscalers.yaml @@ -0,0 +1,391 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regionautoscalers.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionAutoscaler + listKind: RegionAutoscalerList + plural: regionautoscalers + singular: regionautoscaler + 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: RegionAutoscaler is the Schema for the RegionAutoscalers 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: RegionAutoscalerSpec defines the desired state of RegionAutoscaler + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + autoscalingPolicy: + description: "The configuration parameters for the autoscaling + algorithm. You can define one or more of the policies for an + autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. + \n If none of these are specified, the default will be to autoscale + based on cpuUtilization to 0.6 or 60%." + items: + properties: + cooldownPeriod: + description: "The number of seconds that the autoscaler + should wait before it starts collecting information from + a new instance. This prevents the autoscaler from collecting + information when the instance is initializing, during + which the collected usage would not be reliable. The default + time autoscaler waits is 60 seconds. \n Virtual machine + initialization times might vary because of numerous factors. + We recommend that you test how long an instance may take + to initialize. To do this, create an instance and time + the startup process." + format: int64 + type: integer + cpuUtilization: + description: Defines the CPU utilization policy that allows + the autoscaler to scale based on the average CPU utilization + of a managed instance group. + items: + properties: + predictiveMethod: + description: "Indicates whether predictive autoscaling + based on CPU metric is enabled. Valid values are: + \n - NONE (default). No predictive method is used. + The autoscaler scales the group to meet current + demand based on real-time metrics. \n - OPTIMIZE_AVAILABILITY. + Predictive autoscaling improves availability by + monitoring daily and weekly load patterns and scaling + out ahead of anticipated demand." + type: string + target: + description: "The target CPU utilization that the + autoscaler should maintain. Must be a float value + in the range (0, 1]. If not specified, the default + is 0.6. \n If the CPU level is below the target + utilization, the autoscaler scales down the number + of instances until it reaches the minimum number + of instances you specified or until the average + CPU of your instances reaches the target utilization. + \n If the average CPU is above the target utilization, + the autoscaler scales up until it reaches the maximum + number of instances you specified or until the average + utilization reaches the target utilization." + type: number + required: + - target + type: object + type: array + loadBalancingUtilization: + description: Configuration parameters of autoscaling based + on a load balancer. + items: + properties: + target: + description: Fraction of backend capacity utilization + (set in HTTP(s) load balancing configuration) that + autoscaler should maintain. Must be a positive float + value. If not defined, the default is 0.8. + type: number + required: + - target + type: object + type: array + maxReplicas: + description: The maximum number of instances that the autoscaler + can scale up to. This is required when creating or updating + an autoscaler. The maximum number of replicas should not + be lower than minimal number of replicas. + format: int64 + type: integer + metric: + description: Configuration parameters of autoscaling based + on a custom metric. + items: + properties: + name: + description: "The identifier (type) of the Stackdriver + Monitoring metric. The metric cannot have negative + values. \n The metric must have a value type of + INT64 or DOUBLE." + type: string + target: + description: "The target value of the metric that + autoscaler should maintain. This must be a positive + value. A utilization metric scales number of virtual + machines handling requests to increase or decrease + proportionally to the metric. \n For example, a + good metric to use as a utilizationTarget is www.googleapis.com/compute/instance/network/received_bytes_count. + The autoscaler will work to keep this value constant + for each of the instances." + type: number + type: + description: 'Defines how target utilization value + is expressed for a Stackdriver Monitoring metric. + Possible values: ["GAUGE", "DELTA_PER_SECOND", "DELTA_PER_MINUTE"]' + type: string + required: + - name + type: object + type: array + minReplicas: + description: The minimum number of replicas that the autoscaler + can scale down to. This cannot be less than 0. If not + provided, autoscaler will choose a default value depending + on maximum number of instances allowed. + format: int64 + type: integer + mode: + description: 'Defines operating mode for this policy. Default + value: "ON" Possible values: ["OFF", "ONLY_UP", "ON"]' + type: string + scaleInControl: + description: Defines scale in controls to reduce the risk + of response latency and outages due to abrupt scale-in + events + items: + properties: + maxScaledInReplicas: + description: A nested object resource + items: + properties: + fixed: + description: Specifies a fixed number of VM + instances. This must be a positive integer. + format: int64 + type: integer + percent: + description: Specifies a percentage of instances + between 0 to 100%, inclusive. For example, + specify 80 for 80%. + format: int64 + type: integer + type: object + type: array + timeWindowSec: + description: How long back autoscaling should look + when computing recommendations to include directives + regarding slower scale down, as described above. + format: int64 + type: integer + type: object + type: array + scalingSchedules: + description: Scaling schedules defined for an autoscaler. + Multiple schedules can be set on an autoscaler and they + can overlap. + items: + properties: + description: + description: A description of a scaling schedule. + type: string + disabled: + description: A boolean value that specifies if a scaling + schedule can influence autoscaler recommendations. + If set to true, then a scaling schedule has no effect. + type: boolean + durationSec: + description: The duration of time intervals (in seconds) + for which this scaling schedule will be running. + The minimum allowed value is 300. + format: int64 + type: integer + minRequiredReplicas: + description: Minimum number of VM instances that autoscaler + will recommend in time intervals starting according + to schedule. + format: int64 + type: integer + name: + type: string + schedule: + description: The start timestamps of time intervals + when this scaling schedule should provide a scaling + signal. This field uses the extended cron format + (with an optional year field). + type: string + timeZone: + description: 'The time zone to be used when interpreting + the schedule. The value of this field must be a + time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.' + type: string + required: + - durationSec + - minRequiredReplicas + - name + - schedule + type: object + type: array + required: + - maxReplicas + - minReplicas + type: object + type: array + description: + description: An optional description of this resource. + type: string + name: + description: Name of the resource. The name must be 1-63 characters + long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + region: + description: URL of the region where the instance group resides. + type: string + target: + description: URL of the managed instance group that this autoscaler + will scale. + type: string + required: + - autoscalingPolicy + - name + - target + type: object + 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 + 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 + 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. + 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 + status: + description: RegionAutoscalerStatus defines the observed state of RegionAutoscaler. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regionbackendservices.yaml b/package/crds/compute.gcp.jet.crossplane.io_regionbackendservices.yaml new file mode 100644 index 00000000..e9987da7 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regionbackendservices.yaml @@ -0,0 +1,809 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regionbackendservices.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionBackendService + listKind: RegionBackendServiceList + plural: regionbackendservices + singular: regionbackendservice + 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: RegionBackendService is the Schema for the RegionBackendServices + 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: RegionBackendServiceSpec defines the desired state of RegionBackendService + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + affinityCookieTtlSec: + description: "Lifetime of cookies in seconds if session_affinity + is GENERATED_COOKIE. If set to 0, the cookie is non-persistent + and lasts only until the end of the browser session (or equivalent). + The maximum allowed value for TTL is one day. \n When the load + balancing scheme is INTERNAL, this field is not used." + format: int64 + type: integer + backend: + description: The set of backends that serve this RegionBackendService. + items: + properties: + balancingMode: + description: 'Specifies the balancing mode for this backend. + Default value: "CONNECTION" Possible values: ["UTILIZATION", + "RATE", "CONNECTION"]' + type: string + capacityScaler: + description: "A multiplier applied to the group's maximum + servicing capacity (based on UTILIZATION, RATE or CONNECTION). + \n ~>**NOTE**: This field cannot be set for INTERNAL region + backend services (default loadBalancingScheme), but is + required for non-INTERNAL backend service. The total capacity_scaler + for all backends must be non-zero. \n A setting of 0 means + the group is completely drained, offering 0% of its available + Capacity. Valid range is [0.0,1.0]." + type: number + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + failover: + description: This field designates whether this is a failover + backend. More than one failover backend can be configured + for a given RegionBackendService. + type: boolean + group: + description: "The fully-qualified URL of an Instance Group + or Network Endpoint Group resource. In case of instance + group this defines the list of instances that serve traffic. + Member virtual machine instances from each instance group + must live in the same zone as the instance group itself. + No two backends in a backend service are allowed to use + same Instance Group resource. \n For Network Endpoint + Groups this defines list of endpoints. All endpoints of + Network Endpoint Group must be hosted on instances located + in the same zone as the Network Endpoint Group. \n Backend + services cannot mix Instance Group and Network Endpoint + Group backends. \n When the 'load_balancing_scheme' is + INTERNAL, only instance groups are supported. \n Note + that you must specify an Instance Group or Network Endpoint + Group resource using the fully-qualified URL, rather than + a partial URL." + type: string + maxConnections: + description: "The max number of simultaneous connections + for the group. Can be used with either CONNECTION or UTILIZATION + balancing modes. Cannot be set for INTERNAL backend services. + \n For CONNECTION mode, either maxConnections or one of + maxConnectionsPerInstance or maxConnectionsPerEndpoint, + as appropriate for group type, must be set." + format: int64 + type: integer + maxConnectionsPerEndpoint: + description: "The max number of simultaneous connections + that a single backend network endpoint can handle. Cannot + be set for INTERNAL backend services. \n This is used + to calculate the capacity of the group. Can be used in + either CONNECTION or UTILIZATION balancing modes. For + CONNECTION mode, either maxConnections or maxConnectionsPerEndpoint + must be set." + format: int64 + type: integer + maxConnectionsPerInstance: + description: "The max number of simultaneous connections + that a single backend instance can handle. Cannot be set + for INTERNAL backend services. \n This is used to calculate + the capacity of the group. Can be used in either CONNECTION + or UTILIZATION balancing modes. For CONNECTION mode, either + maxConnections or maxConnectionsPerInstance must be set." + format: int64 + type: integer + maxRate: + description: "The max requests per second (RPS) of the group. + Cannot be set for INTERNAL backend services. \n Can be + used with either RATE or UTILIZATION balancing modes, + but required if RATE mode. Either maxRate or one of maxRatePerInstance + or maxRatePerEndpoint, as appropriate for group type, + must be set." + format: int64 + type: integer + maxRatePerEndpoint: + description: The max requests per second (RPS) that a single + backend network endpoint can handle. This is used to calculate + the capacity of the group. Can be used in either balancing + mode. For RATE mode, either maxRate or maxRatePerEndpoint + must be set. Cannot be set for INTERNAL backend services. + type: number + maxRatePerInstance: + description: The max requests per second (RPS) that a single + backend instance can handle. This is used to calculate + the capacity of the group. Can be used in either balancing + mode. For RATE mode, either maxRate or maxRatePerInstance + must be set. Cannot be set for INTERNAL backend services. + type: number + maxUtilization: + description: Used when balancingMode is UTILIZATION. This + ratio defines the CPU utilization target for the group. + Valid range is [0.0, 1.0]. Cannot be set for INTERNAL + backend services. + type: number + required: + - group + type: object + type: array + cdnPolicy: + description: Cloud CDN configuration for this BackendService. + items: + properties: + cacheKeyPolicy: + description: The CacheKeyPolicy for this CdnPolicy. + items: + properties: + includeHost: + description: If true requests to different hosts will + be cached separately. + type: boolean + includeProtocol: + description: If true, http and https requests will + be cached separately. + type: boolean + includeQueryString: + description: "If true, include query string parameters + in the cache key according to query_string_whitelist + and query_string_blacklist. If neither is set, the + entire query string will be included. \n If false, + the query string will be excluded from the cache + key entirely." + type: boolean + queryStringBlacklist: + description: "Names of query string parameters to + exclude in cache keys. \n All other parameters will + be included. Either specify query_string_whitelist + or query_string_blacklist, not both. '&' and '=' + will be percent encoded and not treated as delimiters." + items: + type: string + type: array + queryStringWhitelist: + description: "Names of query string parameters to + include in cache keys. \n All other parameters will + be excluded. Either specify query_string_whitelist + or query_string_blacklist, not both. '&' and '=' + will be percent encoded and not treated as delimiters." + items: + type: string + type: array + type: object + type: array + cacheMode: + description: 'Specifies the cache setting for all responses + from this backend. The possible values are: USE_ORIGIN_HEADERS, + FORCE_CACHE_ALL and CACHE_ALL_STATIC Possible values: + ["USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", "CACHE_ALL_STATIC"]' + type: string + clientTtl: + description: Specifies the maximum allowed TTL for cached + content served by this origin. + format: int64 + type: integer + defaultTtl: + description: Specifies the default TTL for cached content + served by this origin for responses that do not have an + existing valid TTL (max-age or s-max-age). + format: int64 + type: integer + maxTtl: + description: Specifies the maximum allowed TTL for cached + content served by this origin. + format: int64 + type: integer + negativeCaching: + description: Negative caching allows per-status code TTLs + to be set, in order to apply fine-grained caching for + common errors or redirects. + type: boolean + negativeCachingPolicy: + description: Sets a cache TTL for the specified HTTP status + code. negativeCaching must be enabled to configure negativeCachingPolicy. + Omitting the policy and leaving negativeCaching enabled + will use Cloud CDN's default cache TTLs. + items: + properties: + code: + description: The HTTP status code to define a TTL + against. Only HTTP status codes 300, 301, 308, 404, + 405, 410, 421, 451 and 501 can be specified as values, + and you cannot specify a status code more than once. + format: int64 + type: integer + type: object + type: array + serveWhileStale: + description: Serve existing content from the cache (if available) + when revalidating content with the origin, or when an + error is encountered when refreshing the cache. + format: int64 + type: integer + signedUrlCacheMaxAgeSec: + description: "Maximum number of seconds the response to + a signed URL request will be considered fresh, defaults + to 1hr (3600s). After this time period, the response will + be revalidated before being served. \n When serving responses + to signed URL requests, Cloud CDN will internally behave + as though all responses from this backend had a \"Cache-Control: + public, max-age=[TTL]\" header, regardless of any existing + Cache-Control header. The actual headers served in responses + will not be altered." + format: int64 + type: integer + type: object + type: array + circuitBreakers: + description: Settings controlling the volume of connections to + a backend service. This field is applicable only when the 'load_balancing_scheme' + is set to INTERNAL_MANAGED and the 'protocol' is set to HTTP, + HTTPS, or HTTP2. + items: + properties: + maxConnections: + description: The maximum number of connections to the backend + cluster. Defaults to 1024. + format: int64 + type: integer + maxPendingRequests: + description: The maximum number of pending requests to the + backend cluster. Defaults to 1024. + format: int64 + type: integer + maxRequests: + description: The maximum number of parallel requests to + the backend cluster. Defaults to 1024. + format: int64 + type: integer + maxRequestsPerConnection: + description: Maximum requests for a single backend connection. + This parameter is respected by both the HTTP/1.1 and HTTP/2 + implementations. If not specified, there is no limit. + Setting this parameter to 1 will effectively disable keep + alive. + format: int64 + type: integer + maxRetries: + description: The maximum number of parallel retries to the + backend cluster. Defaults to 3. + format: int64 + type: integer + type: object + type: array + connectionDrainingTimeoutSec: + description: Time for which instance will be drained (not accept + new connections, but still work to finish started). + format: int64 + type: integer + consistentHash: + description: Consistent Hash-based load balancing can be used + to provide soft session affinity based on HTTP headers, cookies + or other properties. This load balancing policy is applicable + only for HTTP connections. The affinity to a particular destination + host will be lost when one or more hosts are added/removed from + the destination service. This field specifies parameters that + control consistent hashing. This field only applies when all + of the following are true - * 'load_balancing_scheme' is set + to INTERNAL_MANAGED * 'protocol' is set to HTTP, HTTPS, or HTTP2 + * 'locality_lb_policy' is set to MAGLEV or RING_HASH + items: + properties: + httpCookie: + description: Hash is based on HTTP Cookie. This field describes + a HTTP cookie that will be used as the hash key for the + consistent hash load balancer. If the cookie is not present, + it will be generated. This field is applicable if the + sessionAffinity is set to HTTP_COOKIE. + items: + properties: + name: + description: Name of the cookie. + type: string + path: + description: Path to set for the cookie. + type: string + ttl: + description: Lifetime of the cookie. + items: + properties: + nanos: + description: Span of time that's a fraction + of a second at nanosecond resolution. Durations + less than one second are represented with + a 0 seconds field and a positive nanos field. + Must be from 0 to 999,999,999 inclusive. + format: int64 + type: integer + seconds: + description: Span of time at a resolution of + a second. Must be from 0 to 315,576,000,000 + inclusive. + format: int64 + type: integer + required: + - seconds + type: object + type: array + type: object + type: array + httpHeaderName: + description: The hash based on the value of the specified + header field. This field is applicable if the sessionAffinity + is set to HEADER_FIELD. + type: string + minimumRingSize: + description: The minimum number of virtual nodes to use + for the hash ring. Larger ring sizes result in more granular + load distributions. If the number of hosts in the load + balancing pool is larger than the ring size, each host + will be assigned a single virtual node. Defaults to 1024. + format: int64 + type: integer + type: object + type: array + description: + description: An optional description of this resource. + type: string + enableCdn: + description: If true, enable Cloud CDN for this RegionBackendService. + type: boolean + failoverPolicy: + description: Policy for failovers. + items: + properties: + disableConnectionDrainOnFailover: + description: 'On failover or failback, this field indicates + whether connection drain will be honored. Setting this + to true has the following effect: connections to the old + active pool are not drained. Connections to the new active + pool use the timeout of 10 min (currently fixed). Setting + to false has the following effect: both old and new connections + will have a drain timeout of 10 min. This can be set to + true only if the protocol is TCP. The default is false.' + type: boolean + dropTrafficIfUnhealthy: + description: This option is used only when no healthy VMs + are detected in the primary and backup instance groups. + When set to true, traffic is dropped. When set to false, + new connections are sent across all VMs in the primary + group. The default is false. + type: boolean + failoverRatio: + description: The value of the field must be in [0, 1]. If + the ratio of the healthy VMs in the primary backend is + at or below this number, traffic arriving at the load-balanced + IP will be directed to the failover backend. In case where + 'failoverRatio' is not set or all the VMs in the backup + backend are unhealthy, the traffic will be directed back + to the primary backend in the "force" mode, where traffic + will be spread to the healthy VMs with the best effort, + or to all VMs when no VM is healthy. This field is only + used with l4 load balancing. + type: number + type: object + type: array + healthChecks: + description: "The set of URLs to HealthCheck resources for health + checking this RegionBackendService. Currently at most one health + check can be specified. \n A health check must be specified + unless the backend service uses an internet or serverless NEG + as a backend." + items: + type: string + type: array + iap: + description: Settings for enabling Cloud Identity Aware Proxy + items: + properties: + oauth2ClientId: + description: OAuth2 Client ID for IAP + type: string + oauth2ClientSecretSecretRef: + description: OAuth2 Client Secret for IAP + 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 + required: + - oauth2ClientId + - oauth2ClientSecretSecretRef + type: object + type: array + loadBalancingScheme: + description: 'Indicates what kind of load balancing this regional + backend service will be used for. A backend service created + for one type of load balancing cannot be used with the other(s). + Default value: "INTERNAL" Possible values: ["EXTERNAL", "INTERNAL", + "INTERNAL_MANAGED"]' + type: string + localityLbPolicy: + description: "The load balancing algorithm used within the scope + of the locality. The possible values are - \n * ROUND_ROBIN + - This is a simple policy in which each healthy backend is selected + in round robin order. \n * LEAST_REQUEST - An O(1) algorithm + which selects two random healthy hosts and picks the host which + has fewer active requests. \n * RING_HASH - The ring/modulo + hash load balancer implements consistent hashing to backends. + The algorithm has the property that the addition/removal of + a host from a set of N hosts only affects 1/N of the requests. + \n * RANDOM - The load balancer selects a random healthy host. + \n * ORIGINAL_DESTINATION - Backend host is selected based on + the client connection metadata, i.e., connections are opened + to the same address as the destination address of the incoming + connection before the connection was redirected to the load + balancer. \n * MAGLEV - used as a drop in replacement for the + ring hash load balancer. Maglev is not as stable as ring hash + but has faster table lookup build times and host selection times. + For more information about Maglev, refer to https://ai.google/research/pubs/pub44824 + \n This field is applicable only when the 'load_balancing_scheme' + is set to INTERNAL_MANAGED and the 'protocol' is set to HTTP, + HTTPS, or HTTP2. Possible values: [\"ROUND_ROBIN\", \"LEAST_REQUEST\", + \"RING_HASH\", \"RANDOM\", \"ORIGINAL_DESTINATION\", \"MAGLEV\"]" + type: string + logConfig: + description: This field denotes the logging options for the load + balancer traffic served by this backend service. If logging + is enabled, logs will be exported to Stackdriver. + items: + properties: + enable: + description: Whether to enable logging for the load balancer + traffic served by this backend service. + type: boolean + sampleRate: + description: This field can only be specified if logging + is enabled for this backend service. The value of the + field must be in [0, 1]. This configures the sampling + rate of requests to the load balancer where 1.0 means + all logged requests are reported and 0.0 means no logged + requests are reported. The default value is 1.0. + type: number + type: object + type: array + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + network: + description: The URL of the network to which this backend service + belongs. This field can only be specified when the load balancing + scheme is set to INTERNAL. + type: string + outlierDetection: + description: Settings controlling eviction of unhealthy hosts + from the load balancing pool. This field is applicable only + when the 'load_balancing_scheme' is set to INTERNAL_MANAGED + and the 'protocol' is set to HTTP, HTTPS, or HTTP2. + items: + properties: + baseEjectionTime: + description: The base time that a host is ejected for. The + real time is equal to the base time multiplied by the + number of times the host has been ejected. Defaults to + 30000ms or 30s. + items: + properties: + nanos: + description: Span of time that's a fraction of a second + at nanosecond resolution. Durations less than one + second are represented with a 0 'seconds' field + and a positive 'nanos' field. Must be from 0 to + 999,999,999 inclusive. + format: int64 + type: integer + seconds: + description: Span of time at a resolution of a second. + Must be from 0 to 315,576,000,000 inclusive. + format: int64 + type: integer + required: + - seconds + type: object + type: array + consecutiveErrors: + description: Number of errors before a host is ejected from + the connection pool. When the backend host is accessed + over HTTP, a 5xx return code qualifies as an error. Defaults + to 5. + format: int64 + type: integer + consecutiveGatewayFailure: + description: The number of consecutive gateway failures + (502, 503, 504 status or connection errors that are mapped + to one of those status codes) before a consecutive gateway + failure ejection occurs. Defaults to 5. + format: int64 + type: integer + enforcingConsecutiveErrors: + description: The percentage chance that a host will be actually + ejected when an outlier status is detected through consecutive + 5xx. This setting can be used to disable ejection or to + ramp it up slowly. Defaults to 100. + format: int64 + type: integer + enforcingConsecutiveGatewayFailure: + description: The percentage chance that a host will be actually + ejected when an outlier status is detected through consecutive + gateway failures. This setting can be used to disable + ejection or to ramp it up slowly. Defaults to 0. + format: int64 + type: integer + enforcingSuccessRate: + description: The percentage chance that a host will be actually + ejected when an outlier status is detected through success + rate statistics. This setting can be used to disable ejection + or to ramp it up slowly. Defaults to 100. + format: int64 + type: integer + interval: + description: Time interval between ejection sweep analysis. + This can result in both new ejections as well as hosts + being returned to service. Defaults to 10 seconds. + items: + properties: + nanos: + description: Span of time that's a fraction of a second + at nanosecond resolution. Durations less than one + second are represented with a 0 'seconds' field + and a positive 'nanos' field. Must be from 0 to + 999,999,999 inclusive. + format: int64 + type: integer + seconds: + description: Span of time at a resolution of a second. + Must be from 0 to 315,576,000,000 inclusive. + format: int64 + type: integer + required: + - seconds + type: object + type: array + maxEjectionPercent: + description: Maximum percentage of hosts in the load balancing + pool for the backend service that can be ejected. Defaults + to 10%. + format: int64 + type: integer + successRateMinimumHosts: + description: The number of hosts in a cluster that must + have enough request volume to detect success rate outliers. + If the number of hosts is less than this setting, outlier + detection via success rate statistics is not performed + for any host in the cluster. Defaults to 5. + format: int64 + type: integer + successRateRequestVolume: + description: The minimum number of total requests that must + be collected in one interval (as defined by the interval + duration above) to include this host in success rate based + outlier detection. If the volume is lower than this setting, + outlier detection via success rate statistics is not performed + for that host. Defaults to 100. + format: int64 + type: integer + successRateStdevFactor: + description: 'This factor is used to determine the ejection + threshold for success rate outlier ejection. The ejection + threshold is the difference between the mean success rate, + and the product of this factor and the standard deviation + of the mean success rate: mean - (stdev * success_rate_stdev_factor). + This factor is divided by a thousand to get a double. + That is, if the desired factor is 1.9, the runtime value + should be 1900. Defaults to 1900.' + format: int64 + type: integer + type: object + type: array + portName: + description: A named port on a backend instance group representing + the port for communication to the backend VMs in that group. + Required when the loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, + or INTERNAL_SELF_MANAGED and the backends are instance groups. + The named port must be defined on each backend instance group. + This parameter has no meaning if the backends are NEGs. API + sets a default of "http" if not given. Must be omitted when + the loadBalancingScheme is INTERNAL (Internal TCP/UDP Load Balancing). + type: string + project: + type: string + protocol: + description: 'The protocol this RegionBackendService uses to communicate + with backends. The default is HTTP. **NOTE**: HTTP2 is only + valid for beta HTTP/2 load balancer types and may result in + errors if used with the GA API. Possible values: ["HTTP", "HTTPS", + "HTTP2", "SSL", "TCP", "UDP", "GRPC", "UNSPECIFIED"]' + type: string + region: + description: The Region in which the created backend service should + reside. If it is not provided, the provider region is used. + type: string + sessionAffinity: + description: 'Type of session affinity to use. The default is + NONE. Session affinity is not applicable if the protocol is + UDP. Possible values: ["NONE", "CLIENT_IP", "CLIENT_IP_PORT_PROTO", + "CLIENT_IP_PROTO", "GENERATED_COOKIE", "HEADER_FIELD", "HTTP_COOKIE", + "CLIENT_IP_NO_DESTINATION"]' + type: string + timeoutSec: + description: How many seconds to wait for the backend before considering + it a failed request. Default is 30 seconds. Valid range is [1, + 86400]. + format: int64 + type: integer + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: RegionBackendServiceStatus defines the observed state of + RegionBackendService. + properties: + atProvider: + properties: + creationTimestamp: + type: string + fingerprint: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regiondiskiambindings.yaml b/package/crds/compute.gcp.jet.crossplane.io_regiondiskiambindings.yaml new file mode 100644 index 00000000..90e9e403 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regiondiskiambindings.yaml @@ -0,0 +1,198 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regiondiskiambindings.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionDiskIAMBinding + listKind: RegionDiskIAMBindingList + plural: regiondiskiambindings + singular: regiondiskiambinding + 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: RegionDiskIAMBinding is the Schema for the RegionDiskIAMBindings + 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: RegionDiskIAMBindingSpec defines the desired state of RegionDiskIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + name: + type: string + project: + type: string + region: + type: string + role: + type: string + required: + - members + - name + - role + type: object + 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 + 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 + 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. + 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 + status: + description: RegionDiskIAMBindingStatus defines the observed state of + RegionDiskIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regiondiskiammembers.yaml b/package/crds/compute.gcp.jet.crossplane.io_regiondiskiammembers.yaml new file mode 100644 index 00000000..b63e0d94 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regiondiskiammembers.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regiondiskiammembers.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionDiskIAMMember + listKind: RegionDiskIAMMemberList + plural: regiondiskiammembers + singular: regiondiskiammember + 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: RegionDiskIAMMember is the Schema for the RegionDiskIAMMembers + 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: RegionDiskIAMMemberSpec defines the desired state of RegionDiskIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + name: + type: string + project: + type: string + region: + type: string + role: + type: string + required: + - member + - name + - role + type: object + 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 + 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 + 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. + 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 + status: + description: RegionDiskIAMMemberStatus defines the observed state of RegionDiskIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regiondiskiampolicies.yaml b/package/crds/compute.gcp.jet.crossplane.io_regiondiskiampolicies.yaml new file mode 100644 index 00000000..c08c8103 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regiondiskiampolicies.yaml @@ -0,0 +1,178 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regiondiskiampolicies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionDiskIAMPolicy + listKind: RegionDiskIAMPolicyList + plural: regiondiskiampolicies + singular: regiondiskiampolicy + 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: RegionDiskIAMPolicy is the Schema for the RegionDiskIAMPolicys + 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: RegionDiskIAMPolicySpec defines the desired state of RegionDiskIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + name: + type: string + policyData: + type: string + project: + type: string + region: + type: string + required: + - name + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: RegionDiskIAMPolicyStatus defines the observed state of RegionDiskIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regiondiskresourcepolicyattachments.yaml b/package/crds/compute.gcp.jet.crossplane.io_regiondiskresourcepolicyattachments.yaml new file mode 100644 index 00000000..ce37423d --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regiondiskresourcepolicyattachments.yaml @@ -0,0 +1,183 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regiondiskresourcepolicyattachments.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionDiskResourcePolicyAttachment + listKind: RegionDiskResourcePolicyAttachmentList + plural: regiondiskresourcepolicyattachments + singular: regiondiskresourcepolicyattachment + 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: RegionDiskResourcePolicyAttachment is the Schema for the RegionDiskResourcePolicyAttachments + 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: RegionDiskResourcePolicyAttachmentSpec defines the desired + state of RegionDiskResourcePolicyAttachment + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + disk: + description: The name of the regional disk in which the resource + policies are attached to. + type: string + name: + description: The resource policy to be attached to the disk for + scheduling snapshot creation. Do not specify the self link. + type: string + project: + type: string + region: + description: A reference to the region where the disk resides. + type: string + required: + - disk + - name + type: object + 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 + 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 + 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. + 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 + status: + description: RegionDiskResourcePolicyAttachmentStatus defines the observed + state of RegionDiskResourcePolicyAttachment. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regiondisks.yaml b/package/crds/compute.gcp.jet.crossplane.io_regiondisks.yaml new file mode 100644 index 00000000..ef384177 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regiondisks.yaml @@ -0,0 +1,289 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regiondisks.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionDisk + listKind: RegionDiskList + plural: regiondisks + singular: regiondisk + 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: RegionDisk is the Schema for the RegionDisks 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: RegionDiskSpec defines the desired state of RegionDisk + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + diskEncryptionKey: + description: "Encrypts the disk using a customer-supplied encryption + key. \n After you encrypt a disk with a customer-supplied key, + you must provide the same key if you use the disk later (e.g. + to create a disk snapshot or an image, or to attach the disk + to a virtual machine). \n Customer-supplied encryption keys + do not protect access to metadata of the disk. \n If you do + not provide an encryption key when creating the disk, then the + disk will be encrypted using an automatically generated key + and you do not need to provide a key to use the disk later." + items: + properties: + rawKeySecretRef: + description: Specifies a 256-bit customer-supplied encryption + key, encoded in RFC 4648 base64 to either encrypt or decrypt + this resource. + 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 + type: object + type: array + labels: + additionalProperties: + type: string + description: Labels to apply to this disk. A list of key->value + pairs. + type: object + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + physicalBlockSizeBytes: + description: Physical block size of the persistent disk, in bytes. + If not present in a request, a default value is used. Currently + supported sizes are 4096 and 16384, other sizes may be added + in the future. If an unsupported value is requested, the error + message will list the supported values for the caller's project. + format: int64 + type: integer + project: + type: string + region: + description: A reference to the region where the disk resides. + type: string + replicaZones: + description: URLs of the zones where the disk should be replicated + to. + items: + type: string + type: array + size: + description: "Size of the persistent disk, specified in GB. You + can specify this field when creating a persistent disk using + the sourceImage or sourceSnapshot parameter, or specify it alone + to create an empty persistent disk. \n If you specify this field + along with sourceImage or sourceSnapshot, the value of sizeGb + must not be less than the size of the sourceImage or the size + of the snapshot." + format: int64 + type: integer + snapshot: + description: "The source snapshot used to create this disk. You + can provide this as a partial or full URL to the resource. For + example, the following are valid values: \n * 'https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot' + * 'projects/project/global/snapshots/snapshot' * 'global/snapshots/snapshot' + * 'snapshot'" + type: string + sourceSnapshotEncryptionKey: + description: The customer-supplied encryption key of the source + snapshot. Required if the source snapshot is protected by a + customer-supplied encryption key. + items: + properties: + rawKey: + description: Specifies a 256-bit customer-supplied encryption + key, encoded in RFC 4648 base64 to either encrypt or decrypt + this resource. + type: string + type: object + type: array + type: + description: URL of the disk type resource describing which disk + type to use to create the disk. Provide this when creating the + disk. + type: string + required: + - name + - replicaZones + type: object + 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 + 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 + 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. + 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 + status: + description: RegionDiskStatus defines the observed state of RegionDisk. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + labelFingerprint: + type: string + lastAttachTimestamp: + type: string + lastDetachTimestamp: + type: string + selfLink: + type: string + sourceSnapshotId: + type: string + users: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regionhealthchecks.yaml b/package/crds/compute.gcp.jet.crossplane.io_regionhealthchecks.yaml new file mode 100644 index 00000000..8776e587 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regionhealthchecks.yaml @@ -0,0 +1,502 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regionhealthchecks.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionHealthCheck + listKind: RegionHealthCheckList + plural: regionhealthchecks + singular: regionhealthcheck + 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: RegionHealthCheck is the Schema for the RegionHealthChecks 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: RegionHealthCheckSpec defines the desired state of RegionHealthCheck + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + checkIntervalSec: + description: How often (in seconds) to send a health check. The + default value is 5 seconds. + format: int64 + type: integer + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + grpcHealthCheck: + description: A nested object resource + items: + properties: + grpcServiceName: + description: "The gRPC service name for the health check. + The value of grpcServiceName has the following meanings + by convention: \n * Empty serviceName means the overall + status of all services at the backend. * Non-empty serviceName + means the health of that gRPC service, as defined by the + owner of the service. \n The grpcServiceName can only + be ASCII." + type: string + port: + description: The port number for the health check request. + Must be specified if portName and portSpecification are + not set or if port_specification is USE_FIXED_PORT. Valid + values are 1 through 65535. + format: int64 + type: integer + portName: + description: Port name as defined in InstanceGroup#NamedPort#name. + If both port and port_name are defined, port takes precedence. + type: string + portSpecification: + description: "Specifies how port is selected for health + checking, can be one of the following values: \n * 'USE_FIXED_PORT': + The port number in 'port' is used for health checking. + \n * 'USE_NAMED_PORT': The 'portName' is used for health + checking. \n * 'USE_SERVING_PORT': For NetworkEndpointGroup, + the port specified for each network endpoint is used for + health checking. For other backends, the port or named + port specified in the Backend Service is used for health + checking. \n If not specified, gRPC health check follows + behavior specified in 'port' and 'portName' fields. Possible + values: [\"USE_FIXED_PORT\", \"USE_NAMED_PORT\", \"USE_SERVING_PORT\"]" + type: string + type: object + type: array + healthyThreshold: + description: A so-far unhealthy instance will be marked healthy + after this many consecutive successes. The default value is + 2. + format: int64 + type: integer + http2HealthCheck: + description: A nested object resource + items: + properties: + host: + description: The value of the host header in the HTTP2 health + check request. If left empty (default value), the public + IP on behalf of which this health check is performed will + be used. + type: string + port: + description: The TCP port number for the HTTP2 health check + request. The default value is 443. + format: int64 + type: integer + portName: + description: Port name as defined in InstanceGroup#NamedPort#name. + If both port and port_name are defined, port takes precedence. + type: string + portSpecification: + description: "Specifies how port is selected for health + checking, can be one of the following values: \n * 'USE_FIXED_PORT': + The port number in 'port' is used for health checking. + \n * 'USE_NAMED_PORT': The 'portName' is used for health + checking. \n * 'USE_SERVING_PORT': For NetworkEndpointGroup, + the port specified for each network endpoint is used for + health checking. For other backends, the port or named + port specified in the Backend Service is used for health + checking. \n If not specified, HTTP2 health check follows + behavior specified in 'port' and 'portName' fields. Possible + values: [\"USE_FIXED_PORT\", \"USE_NAMED_PORT\", \"USE_SERVING_PORT\"]" + type: string + proxyHeader: + description: 'Specifies the type of proxy header to append + before sending data to the backend. Default value: "NONE" + Possible values: ["NONE", "PROXY_V1"]' + type: string + requestPath: + description: The request path of the HTTP2 health check + request. The default value is /. + type: string + response: + description: The bytes to match against the beginning of + the response data. If left empty (the default value), + any response will indicate health. The response data can + only be ASCII. + type: string + type: object + type: array + httpHealthCheck: + description: A nested object resource + items: + properties: + host: + description: The value of the host header in the HTTP health + check request. If left empty (default value), the public + IP on behalf of which this health check is performed will + be used. + type: string + port: + description: The TCP port number for the HTTP health check + request. The default value is 80. + format: int64 + type: integer + portName: + description: Port name as defined in InstanceGroup#NamedPort#name. + If both port and port_name are defined, port takes precedence. + type: string + portSpecification: + description: "Specifies how port is selected for health + checking, can be one of the following values: \n * 'USE_FIXED_PORT': + The port number in 'port' is used for health checking. + \n * 'USE_NAMED_PORT': The 'portName' is used for health + checking. \n * 'USE_SERVING_PORT': For NetworkEndpointGroup, + the port specified for each network endpoint is used for + health checking. For other backends, the port or named + port specified in the Backend Service is used for health + checking. \n If not specified, HTTP health check follows + behavior specified in 'port' and 'portName' fields. Possible + values: [\"USE_FIXED_PORT\", \"USE_NAMED_PORT\", \"USE_SERVING_PORT\"]" + type: string + proxyHeader: + description: 'Specifies the type of proxy header to append + before sending data to the backend. Default value: "NONE" + Possible values: ["NONE", "PROXY_V1"]' + type: string + requestPath: + description: The request path of the HTTP health check request. + The default value is /. + type: string + response: + description: The bytes to match against the beginning of + the response data. If left empty (the default value), + any response will indicate health. The response data can + only be ASCII. + type: string + type: object + type: array + httpsHealthCheck: + description: A nested object resource + items: + properties: + host: + description: The value of the host header in the HTTPS health + check request. If left empty (default value), the public + IP on behalf of which this health check is performed will + be used. + type: string + port: + description: The TCP port number for the HTTPS health check + request. The default value is 443. + format: int64 + type: integer + portName: + description: Port name as defined in InstanceGroup#NamedPort#name. + If both port and port_name are defined, port takes precedence. + type: string + portSpecification: + description: "Specifies how port is selected for health + checking, can be one of the following values: \n * 'USE_FIXED_PORT': + The port number in 'port' is used for health checking. + \n * 'USE_NAMED_PORT': The 'portName' is used for health + checking. \n * 'USE_SERVING_PORT': For NetworkEndpointGroup, + the port specified for each network endpoint is used for + health checking. For other backends, the port or named + port specified in the Backend Service is used for health + checking. \n If not specified, HTTPS health check follows + behavior specified in 'port' and 'portName' fields. Possible + values: [\"USE_FIXED_PORT\", \"USE_NAMED_PORT\", \"USE_SERVING_PORT\"]" + type: string + proxyHeader: + description: 'Specifies the type of proxy header to append + before sending data to the backend. Default value: "NONE" + Possible values: ["NONE", "PROXY_V1"]' + type: string + requestPath: + description: The request path of the HTTPS health check + request. The default value is /. + type: string + response: + description: The bytes to match against the beginning of + the response data. If left empty (the default value), + any response will indicate health. The response data can + only be ASCII. + type: string + type: object + type: array + logConfig: + description: Configure logging on this health check. + items: + properties: + enable: + description: Indicates whether or not to export logs. This + is false by default, which means no health check logging + will be done. + type: boolean + type: object + type: array + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + region: + description: The Region in which the created health check should + reside. If it is not provided, the provider region is used. + type: string + sslHealthCheck: + description: A nested object resource + items: + properties: + port: + description: The TCP port number for the SSL health check + request. The default value is 443. + format: int64 + type: integer + portName: + description: Port name as defined in InstanceGroup#NamedPort#name. + If both port and port_name are defined, port takes precedence. + type: string + portSpecification: + description: "Specifies how port is selected for health + checking, can be one of the following values: \n * 'USE_FIXED_PORT': + The port number in 'port' is used for health checking. + \n * 'USE_NAMED_PORT': The 'portName' is used for health + checking. \n * 'USE_SERVING_PORT': For NetworkEndpointGroup, + the port specified for each network endpoint is used for + health checking. For other backends, the port or named + port specified in the Backend Service is used for health + checking. \n If not specified, SSL health check follows + behavior specified in 'port' and 'portName' fields. Possible + values: [\"USE_FIXED_PORT\", \"USE_NAMED_PORT\", \"USE_SERVING_PORT\"]" + type: string + proxyHeader: + description: 'Specifies the type of proxy header to append + before sending data to the backend. Default value: "NONE" + Possible values: ["NONE", "PROXY_V1"]' + type: string + request: + description: The application data to send once the SSL connection + has been established (default value is empty). If both + request and response are empty, the connection establishment + alone will indicate health. The request data can only + be ASCII. + type: string + response: + description: The bytes to match against the beginning of + the response data. If left empty (the default value), + any response will indicate health. The response data can + only be ASCII. + type: string + type: object + type: array + tcpHealthCheck: + description: A nested object resource + items: + properties: + port: + description: The TCP port number for the TCP health check + request. The default value is 80. + format: int64 + type: integer + portName: + description: Port name as defined in InstanceGroup#NamedPort#name. + If both port and port_name are defined, port takes precedence. + type: string + portSpecification: + description: "Specifies how port is selected for health + checking, can be one of the following values: \n * 'USE_FIXED_PORT': + The port number in 'port' is used for health checking. + \n * 'USE_NAMED_PORT': The 'portName' is used for health + checking. \n * 'USE_SERVING_PORT': For NetworkEndpointGroup, + the port specified for each network endpoint is used for + health checking. For other backends, the port or named + port specified in the Backend Service is used for health + checking. \n If not specified, TCP health check follows + behavior specified in 'port' and 'portName' fields. Possible + values: [\"USE_FIXED_PORT\", \"USE_NAMED_PORT\", \"USE_SERVING_PORT\"]" + type: string + proxyHeader: + description: 'Specifies the type of proxy header to append + before sending data to the backend. Default value: "NONE" + Possible values: ["NONE", "PROXY_V1"]' + type: string + request: + description: The application data to send once the TCP connection + has been established (default value is empty). If both + request and response are empty, the connection establishment + alone will indicate health. The request data can only + be ASCII. + type: string + response: + description: The bytes to match against the beginning of + the response data. If left empty (the default value), + any response will indicate health. The response data can + only be ASCII. + type: string + type: object + type: array + timeoutSec: + description: How long (in seconds) to wait before claiming failure. + The default value is 5 seconds. It is invalid for timeoutSec + to have greater value than checkIntervalSec. + format: int64 + type: integer + unhealthyThreshold: + description: A so-far healthy instance will be marked unhealthy + after this many consecutive failures. The default value is 2. + format: int64 + type: integer + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: RegionHealthCheckStatus defines the observed state of RegionHealthCheck. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + selfLink: + type: string + type: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regioninstancegroupmanagers.yaml b/package/crds/compute.gcp.jet.crossplane.io_regioninstancegroupmanagers.yaml new file mode 100644 index 00000000..4bef6ab3 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regioninstancegroupmanagers.yaml @@ -0,0 +1,444 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regioninstancegroupmanagers.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionInstanceGroupManager + listKind: RegionInstanceGroupManagerList + plural: regioninstancegroupmanagers + singular: regioninstancegroupmanager + 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: RegionInstanceGroupManager is the Schema for the RegionInstanceGroupManagers + 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: RegionInstanceGroupManagerSpec defines the desired state + of RegionInstanceGroupManager + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + autoHealingPolicies: + description: The autohealing policies for this managed instance + group. You can specify only one value. + items: + properties: + healthCheck: + description: The health check resource that signals autohealing. + type: string + initialDelaySec: + description: The number of seconds that the managed instance + group waits before it applies autohealing policies to + new instances or recently recreated instances. Between + 0 and 3600. + format: int64 + type: integer + required: + - healthCheck + - initialDelaySec + type: object + type: array + baseInstanceName: + description: The base instance name to use for instances in this + group. The value must be a valid RFC1035 name. Supported characters + are lowercase letters, numbers, and hyphens (-). Instances are + named by appending a hyphen and a random four-character string + to the base instance name. + type: string + description: + description: An optional textual description of the instance group + manager. + type: string + distributionPolicyTargetShape: + description: The shape to which the group converges either proactively + or on resize events (depending on the value set in updatePolicy.instanceRedistributionType). + type: string + distributionPolicyZones: + description: The distribution policy for this managed instance + group. You can specify one or more values. + items: + type: string + type: array + name: + description: The name of the instance group manager. Must be 1-63 + characters long and comply with RFC1035. Supported characters + include lowercase letters, numbers, and hyphens. + type: string + namedPort: + description: The named port configuration. + items: + properties: + name: + description: The name of the port. + type: string + port: + description: The port number. + format: int64 + type: integer + required: + - name + - port + type: object + type: array + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + region: + description: The region where the managed instance group resides. + type: string + statefulDisk: + description: Disks created on the instances that will be preserved + on instance delete, update, etc. Structure is documented below. + For more information see the official documentation. Proactive + cross zone instance redistribution must be disabled before you + can update stateful disks on existing instance group managers. + This can be controlled via the update_policy. + items: + properties: + deleteRule: + description: A value that prescribes what should happen + to the stateful disk when the VM instance is deleted. + The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. + NEVER - detach the disk when the VM is deleted, but do + not delete the disk. ON_PERMANENT_INSTANCE_DELETION will + delete the stateful disk when the VM is permanently deleted + from the instance group. The default is NEVER. + type: string + deviceName: + description: The device name of the disk to be attached. + type: string + required: + - deviceName + type: object + type: array + targetPools: + description: The full URL of all target pools to which new instances + in the group are added. Updating the target pools attribute + does not affect existing instances. + items: + type: string + type: array + targetSize: + description: The target number of running instances for this managed + instance group. This value should always be explicitly set unless + this resource is attached to an autoscaler, in which case it + should never be set. Defaults to 0. + format: int64 + type: integer + updatePolicy: + description: The update policy for this managed instance group. + items: + properties: + instanceRedistributionType: + description: 'The instance redistribution policy for regional + managed instance groups. Valid values are: "PROACTIVE", + "NONE". If PROACTIVE (default), the group attempts to + maintain an even distribution of VM instances across zones + in the region. If NONE, proactive redistribution is disabled.' + type: string + maxSurgeFixed: + description: The maximum number of instances that can be + created above the specified targetSize during the update + process. Conflicts with max_surge_percent. It has to be + either 0 or at least equal to the number of zones. If + fixed values are used, at least one of max_unavailable_fixed + or max_surge_fixed must be greater than 0. + format: int64 + type: integer + maxSurgePercent: + description: The maximum number of instances(calculated + as percentage) that can be created above the specified + targetSize during the update process. Conflicts with max_surge_fixed. + Percent value is only allowed for regional managed instance + groups with size at least 10. + format: int64 + type: integer + maxUnavailableFixed: + description: The maximum number of instances that can be + unavailable during the update process. Conflicts with + max_unavailable_percent. It has to be either 0 or at least + equal to the number of zones. If fixed values are used, + at least one of max_unavailable_fixed or max_surge_fixed + must be greater than 0. + format: int64 + type: integer + maxUnavailablePercent: + description: The maximum number of instances(calculated + as percentage) that can be unavailable during the update + process. Conflicts with max_unavailable_fixed. Percent + value is only allowed for regional managed instance groups + with size at least 10. + format: int64 + type: integer + minimalAction: + description: Minimal action to be taken on an instance. + You can specify either RESTART to restart existing instances + or REPLACE to delete and create new instances from the + target template. If you specify a RESTART, the Updater + will attempt to perform that action only. However, if + the Updater determines that the minimal action you specify + is not enough to perform the update, it might perform + a more disruptive action. + type: string + replacementMethod: + description: 'The instance replacement method for regional + managed instance groups. Valid values are: "RECREATE", + "SUBSTITUTE". If SUBSTITUTE (default), the group replaces + VM instances with new instances that have randomly generated + names. If RECREATE, instance names are preserved. You + must also set max_unavailable_fixed or max_unavailable_percent + to be greater than 0.' + type: string + type: + description: The type of update process. You can specify + either PROACTIVE so that the instance group manager proactively + executes actions in order to bring instances to their + target versions or OPPORTUNISTIC so that no action is + proactively executed but the update will be performed + as part of other actions (for example, resizes or recreateInstances + calls). + type: string + required: + - minimalAction + - type + type: object + type: array + version: + description: Application versions managed by this instance group. + Each version deals with a specific instance template, allowing + canary release scenarios. + items: + properties: + instanceTemplate: + description: The full URL to an instance template from which + all new instances of this version will be created. + type: string + name: + description: Version name. + type: string + targetSize: + description: The number of instances calculated as a fixed + number or a percentage depending on the settings. + items: + properties: + fixed: + description: The number of instances which are managed + for this version. Conflicts with percent. + format: int64 + type: integer + percent: + description: The number of instances (calculated as + percentage) which are managed for this version. + Conflicts with fixed. Note that when using percent, + rounding will be in favor of explicitly set target_size + values; a managed instance group with 2 instances + and 2 versions, one of which has a target_size.percent + of 60 will create 2 instances of that version. + format: int64 + type: integer + type: object + type: array + required: + - instanceTemplate + type: object + type: array + waitForInstances: + description: Whether to wait for all instances to be created/updated + before returning. Note that if this is set to true and the operation + does not succeed, Terraform will continue trying until it times + out. + type: boolean + waitForInstancesStatus: + description: When used with wait_for_instances specifies the status + to wait for. When STABLE is specified this resource will wait + until the instances are stable before returning. When UPDATED + is set, it will wait for the version target to be reached and + any per instance configs to be effective as well as all instances + to be stable before returning. + type: string + required: + - baseInstanceName + - name + - version + type: object + 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 + 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 + 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. + 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 + status: + description: RegionInstanceGroupManagerStatus defines the observed state + of RegionInstanceGroupManager. + properties: + atProvider: + properties: + fingerprint: + type: string + id: + type: string + instanceGroup: + type: string + selfLink: + type: string + status: + items: + properties: + isStable: + type: boolean + stateful: + items: + properties: + hasStatefulConfig: + type: boolean + perInstanceConfigs: + items: + properties: + allEffective: + type: boolean + type: object + type: array + type: object + type: array + versionTarget: + items: + properties: + isReached: + type: boolean + type: object + type: array + type: object + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regionnetworkendpointgroups.yaml b/package/crds/compute.gcp.jet.crossplane.io_regionnetworkendpointgroups.yaml new file mode 100644 index 00000000..23dcfcd9 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regionnetworkendpointgroups.yaml @@ -0,0 +1,276 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regionnetworkendpointgroups.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionNetworkEndpointGroup + listKind: RegionNetworkEndpointGroupList + plural: regionnetworkendpointgroups + singular: regionnetworkendpointgroup + 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: RegionNetworkEndpointGroup is the Schema for the RegionNetworkEndpointGroups + 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: RegionNetworkEndpointGroupSpec defines the desired state + of RegionNetworkEndpointGroup + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + appEngine: + description: Only valid when networkEndpointType is "SERVERLESS". + Only one of cloud_run, app_engine or cloud_function may be set. + items: + properties: + service: + description: 'Optional serving service. The service name + must be 1-63 characters long, and comply with RFC1035. + Example value: "default", "my-service".' + type: string + urlMask: + description: "A template to parse service and version fields + from a request URL. URL mask allows for routing to multiple + App Engine services without having to create multiple + Network Endpoint Groups and backend services. \n For example, + the request URLs \"foo1-dot-appname.appspot.com/v1\" and + \"foo1-dot-appname.appspot.com/v2\" can be backed by the + same Serverless NEG with URL mask \"-dot-appname.appspot.com/\". + The URL mask will parse them to { service = \"foo1\", + version = \"v1\" } and { service = \"foo1\", version = + \"v2\" } respectively." + type: string + version: + description: 'Optional serving version. The version must + be 1-63 characters long, and comply with RFC1035. Example + value: "v1", "v2".' + type: string + type: object + type: array + cloudFunction: + description: Only valid when networkEndpointType is "SERVERLESS". + Only one of cloud_run, app_engine or cloud_function may be set. + items: + properties: + function: + description: 'A user-defined name of the Cloud Function. + The function name is case-sensitive and must be 1-63 characters + long. Example value: "func1".' + type: string + urlMask: + description: "A template to parse function field from a + request URL. URL mask allows for routing to multiple Cloud + Functions without having to create multiple Network Endpoint + Groups and backend services. \n For example, request URLs + \"mydomain.com/function1\" and \"mydomain.com/function2\" + can be backed by the same Serverless NEG with URL mask + \"/\". The URL mask will parse them to { function = \"function1\" + } and { function = \"function2\" } respectively." + type: string + type: object + type: array + cloudRun: + description: Only valid when networkEndpointType is "SERVERLESS". + Only one of cloud_run, app_engine or cloud_function may be set. + items: + properties: + service: + description: 'Cloud Run service is the main resource of + Cloud Run. The service must be 1-63 characters long, and + comply with RFC1035. Example value: "run-service".' + type: string + tag: + description: 'Cloud Run tag represents the "named-revision" + to provide additional fine-grained traffic routing information. + The tag must be 1-63 characters long, and comply with + RFC1035. Example value: "revision-0010".' + type: string + urlMask: + description: "A template to parse service and tag fields + from a request URL. URL mask allows for routing to multiple + Run services without having to create multiple network + endpoint groups and backend services. \n For example, + request URLs \"foo1.domain.com/bar1\" and \"foo1.domain.com/bar2\" + an be backed by the same Serverless Network Endpoint Group + (NEG) with URL mask \".domain.com/\". The URL mask will + parse them to { service=\"bar1\", tag=\"foo1\" } and { + service=\"bar2\", tag=\"foo2\" } respectively." + type: string + type: object + type: array + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + name: + description: Name of the resource; provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + networkEndpointType: + description: 'Type of network endpoints in this network endpoint + group. Defaults to SERVERLESS Default value: "SERVERLESS" Possible + values: ["SERVERLESS"]' + type: string + project: + type: string + region: + description: A reference to the region where the Serverless NEGs + Reside. + type: string + required: + - name + - region + type: object + 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 + 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 + 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. + 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 + status: + description: RegionNetworkEndpointGroupStatus defines the observed state + of RegionNetworkEndpointGroup. + properties: + atProvider: + properties: + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regionperinstanceconfigs.yaml b/package/crds/compute.gcp.jet.crossplane.io_regionperinstanceconfigs.yaml new file mode 100644 index 00000000..57bfe76b --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regionperinstanceconfigs.yaml @@ -0,0 +1,236 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regionperinstanceconfigs.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionPerInstanceConfig + listKind: RegionPerInstanceConfigList + plural: regionperinstanceconfigs + singular: regionperinstanceconfig + 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: RegionPerInstanceConfig is the Schema for the RegionPerInstanceConfigs + 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: RegionPerInstanceConfigSpec defines the desired state of + RegionPerInstanceConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + minimalAction: + type: string + mostDisruptiveAllowedAction: + type: string + name: + description: The name for this per-instance config and its corresponding + instance. + type: string + preservedState: + description: The preserved state for this instance. + items: + properties: + disk: + description: Stateful disks for the instance. + items: + properties: + deleteRule: + description: 'A value that prescribes what should + happen to the stateful disk when the VM instance + is deleted. The available options are ''NEVER'' + and ''ON_PERMANENT_INSTANCE_DELETION''. ''NEVER'' + - detach the disk when the VM is deleted, but do + not delete the disk. ''ON_PERMANENT_INSTANCE_DELETION'' + will delete the stateful disk when the VM is permanently + deleted from the instance group. Default value: + "NEVER" Possible values: ["NEVER", "ON_PERMANENT_INSTANCE_DELETION"]' + type: string + deviceName: + description: A unique device name that is reflected + into the /dev/ tree of a Linux operating system + running within the instance. + type: string + mode: + description: 'The mode of the disk. Default value: + "READ_WRITE" Possible values: ["READ_ONLY", "READ_WRITE"]' + type: string + source: + description: The URI of an existing persistent disk + to attach under the specified device-name in the + format 'projects/project-id/zones/zone/disks/disk-name'. + type: string + required: + - deviceName + - source + type: object + type: array + metadata: + additionalProperties: + type: string + description: Preserved metadata defined for this instance. + This is a list of key->value pairs. + type: object + type: object + type: array + project: + type: string + region: + description: Region where the containing instance group manager + is located + type: string + regionInstanceGroupManager: + description: The region instance group manager this instance config + is part of. + type: string + removeInstanceStateOnDestroy: + type: boolean + required: + - name + - regionInstanceGroupManager + type: object + 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 + 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 + 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. + 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 + status: + description: RegionPerInstanceConfigStatus defines the observed state + of RegionPerInstanceConfig. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regionsslcertificates.yaml b/package/crds/compute.gcp.jet.crossplane.io_regionsslcertificates.yaml new file mode 100644 index 00000000..2f1b6790 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regionsslcertificates.yaml @@ -0,0 +1,236 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regionsslcertificates.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionSSLCertificate + listKind: RegionSSLCertificateList + plural: regionsslcertificates + singular: regionsslcertificate + 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: RegionSSLCertificate is the Schema for the RegionSSLCertificates + 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: RegionSSLCertificateSpec defines the desired state of RegionSSLCertificate + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + certificateSecretRef: + description: The certificate in PEM format. The certificate chain + must be no greater than 5 certs long. The chain must include + at least one intermediate cert. + 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 + description: + description: An optional description of this resource. + type: string + name: + description: "Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + \n These are in the same namespace as the managed SSL certificates." + type: string + namePrefix: + description: Creates a unique name beginning with the specified + prefix. Conflicts with name. + type: string + privateKeySecretRef: + description: The write-only private key in PEM format. + 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 + project: + type: string + region: + description: The Region in which the created regional ssl certificate + should reside. If it is not provided, the provider region is + used. + type: string + required: + - certificateSecretRef + - privateKeySecretRef + type: object + 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 + 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 + 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. + 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 + status: + description: RegionSSLCertificateStatus defines the observed state of + RegionSSLCertificate. + properties: + atProvider: + properties: + certificateId: + format: int64 + type: integer + creationTimestamp: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regiontargethttpproxies.yaml b/package/crds/compute.gcp.jet.crossplane.io_regiontargethttpproxies.yaml new file mode 100644 index 00000000..93290c7e --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regiontargethttpproxies.yaml @@ -0,0 +1,199 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regiontargethttpproxies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionTargetHTTPProxy + listKind: RegionTargetHTTPProxyList + plural: regiontargethttpproxies + singular: regiontargethttpproxy + 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: RegionTargetHTTPProxy is the Schema for the RegionTargetHTTPProxys + 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: RegionTargetHTTPProxySpec defines the desired state of RegionTargetHTTPProxy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + region: + description: The Region in which the created target https proxy + should reside. If it is not provided, the provider region is + used. + type: string + urlMap: + description: A reference to the RegionUrlMap resource that defines + the mapping from URL to the BackendService. + type: string + required: + - name + - urlMap + type: object + 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 + 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 + 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. + 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 + status: + description: RegionTargetHTTPProxyStatus defines the observed state of + RegionTargetHTTPProxy. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + proxyId: + format: int64 + type: integer + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regiontargethttpsproxies.yaml b/package/crds/compute.gcp.jet.crossplane.io_regiontargethttpsproxies.yaml new file mode 100644 index 00000000..ae881f71 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regiontargethttpsproxies.yaml @@ -0,0 +1,207 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regiontargethttpsproxies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionTargetHTTPSProxy + listKind: RegionTargetHTTPSProxyList + plural: regiontargethttpsproxies + singular: regiontargethttpsproxy + 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: RegionTargetHTTPSProxy is the Schema for the RegionTargetHTTPSProxys + 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: RegionTargetHTTPSProxySpec defines the desired state of RegionTargetHTTPSProxy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + region: + description: The Region in which the created target https proxy + should reside. If it is not provided, the provider region is + used. + type: string + sslCertificates: + description: A list of RegionSslCertificate resources that are + used to authenticate connections between users and the load + balancer. Currently, exactly one SSL certificate must be specified. + items: + type: string + type: array + urlMap: + description: A reference to the RegionUrlMap resource that defines + the mapping from URL to the RegionBackendService. + type: string + required: + - name + - sslCertificates + - urlMap + type: object + 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 + 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 + 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. + 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 + status: + description: RegionTargetHTTPSProxyStatus defines the observed state of + RegionTargetHTTPSProxy. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + proxyId: + format: int64 + type: integer + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_regionurlmaps.yaml b/package/crds/compute.gcp.jet.crossplane.io_regionurlmaps.yaml new file mode 100644 index 00000000..5b0cc41d --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_regionurlmaps.yaml @@ -0,0 +1,1811 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: regionurlmaps.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RegionURLMap + listKind: RegionURLMapList + plural: regionurlmaps + singular: regionurlmap + 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: RegionURLMap is the Schema for the RegionURLMaps 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: RegionURLMapSpec defines the desired state of RegionURLMap + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + defaultService: + description: The full or partial URL of the defaultService resource + to which traffic is directed if none of the hostRules match. + If defaultRouteAction is additionally specified, advanced routing + actions like URL Rewrites, etc. take effect prior to sending + the request to the backend. However, if defaultService is specified, + defaultRouteAction cannot contain any weightedBackendServices. + Conversely, if routeAction specifies any weightedBackendServices, + service must not be specified. Only one of defaultService, + defaultUrlRedirect or defaultRouteAction.weightedBackendService + must be set. + type: string + defaultUrlRedirect: + description: When none of the specified hostRules match, the request + is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect + is specified, defaultService or defaultRouteAction must not + be set. + items: + properties: + hostRedirect: + description: The host that will be used in the redirect + response instead of the one that was supplied in the request. + The value must be between 1 and 255 characters. + type: string + httpsRedirect: + description: If set to true, the URL scheme in the redirected + request is set to https. If set to false, the URL scheme + of the redirected request will remain the same as that + of the request. This must only be set for UrlMaps used + in TargetHttpProxys. Setting this true for TargetHttpsProxy + is not permitted. The default is set to false. + type: boolean + pathRedirect: + description: The path that will be used in the redirect + response instead of the one that was supplied in the request. + pathRedirect cannot be supplied together with prefixRedirect. + Supply one alone or neither. If neither is supplied, the + path of the original request will be used for the redirect. + The value must be between 1 and 1024 characters. + type: string + prefixRedirect: + description: The prefix that replaces the prefixMatch specified + in the HttpRouteRuleMatch, retaining the remaining portion + of the URL before redirecting the request. prefixRedirect + cannot be supplied together with pathRedirect. Supply + one alone or neither. If neither is supplied, the path + of the original request will be used for the redirect. + The value must be between 1 and 1024 characters. + type: string + redirectResponseCode: + description: "The HTTP Status code to use for this RedirectAction. + Supported values are: \n * MOVED_PERMANENTLY_DEFAULT, + which is the default value and corresponds to 301. \n + * FOUND, which corresponds to 302. \n * SEE_OTHER which + corresponds to 303. \n * TEMPORARY_REDIRECT, which corresponds + to 307. In this case, the request method will be retained. + \n * PERMANENT_REDIRECT, which corresponds to 308. In + this case, the request method will be retained. Possible + values: [\"FOUND\", \"MOVED_PERMANENTLY_DEFAULT\", \"PERMANENT_REDIRECT\", + \"SEE_OTHER\", \"TEMPORARY_REDIRECT\"]" + type: string + stripQuery: + description: If set to true, any accompanying query portion + of the original URL is removed prior to redirecting the + request. If set to false, the query portion of the original + URL is retained. This field is required to ensure an empty + block is not set. The normal default value is false. + type: boolean + required: + - stripQuery + type: object + type: array + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + hostRule: + description: The list of HostRules to use against the URL. + items: + properties: + description: + description: An optional description of this HostRule. Provide + this property when you create the resource. + type: string + hosts: + description: The list of host patterns to match. They must + be valid hostnames, except * will match any string of + ([a-z0-9-.]*). In that case, * must be the first character + and must be followed in the pattern by either - or .. + items: + type: string + type: array + pathMatcher: + description: The name of the PathMatcher to use to match + the path portion of the URL if the hostRule matches the + URL's host portion. + type: string + required: + - hosts + - pathMatcher + type: object + type: array + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + pathMatcher: + description: The list of named PathMatchers to use against the + URL. + items: + properties: + defaultService: + description: A reference to a RegionBackendService resource. + This will be used if none of the pathRules defined by + this PathMatcher is matched by the URL's path portion. + type: string + defaultUrlRedirect: + description: When none of the specified hostRules match, + the request is redirected to a URL specified by defaultUrlRedirect. + If defaultUrlRedirect is specified, defaultService or + defaultRouteAction must not be set. + items: + properties: + hostRedirect: + description: The host that will be used in the redirect + response instead of the one that was supplied in + the request. The value must be between 1 and 255 + characters. + type: string + httpsRedirect: + description: If set to true, the URL scheme in the + redirected request is set to https. If set to false, + the URL scheme of the redirected request will remain + the same as that of the request. This must only + be set for UrlMaps used in TargetHttpProxys. Setting + this true for TargetHttpsProxy is not permitted. + The default is set to false. + type: boolean + pathRedirect: + description: The path that will be used in the redirect + response instead of the one that was supplied in + the request. pathRedirect cannot be supplied together + with prefixRedirect. Supply one alone or neither. + If neither is supplied, the path of the original + request will be used for the redirect. The value + must be between 1 and 1024 characters. + type: string + prefixRedirect: + description: The prefix that replaces the prefixMatch + specified in the HttpRouteRuleMatch, retaining the + remaining portion of the URL before redirecting + the request. prefixRedirect cannot be supplied together + with pathRedirect. Supply one alone or neither. + If neither is supplied, the path of the original + request will be used for the redirect. The value + must be between 1 and 1024 characters. + type: string + redirectResponseCode: + description: "The HTTP Status code to use for this + RedirectAction. Supported values are: \n * MOVED_PERMANENTLY_DEFAULT, + which is the default value and corresponds to 301. + \n * FOUND, which corresponds to 302. \n * SEE_OTHER + which corresponds to 303. \n * TEMPORARY_REDIRECT, + which corresponds to 307. In this case, the request + method will be retained. \n * PERMANENT_REDIRECT, + which corresponds to 308. In this case, the request + method will be retained. Possible values: [\"FOUND\", + \"MOVED_PERMANENTLY_DEFAULT\", \"PERMANENT_REDIRECT\", + \"SEE_OTHER\", \"TEMPORARY_REDIRECT\"]" + type: string + stripQuery: + description: If set to true, any accompanying query + portion of the original URL is removed prior to + redirecting the request. If set to false, the query + portion of the original URL is retained. This field + is required to ensure an empty block is not set. + The normal default value is false. + type: boolean + required: + - stripQuery + type: object + type: array + description: + description: An optional description of this resource. + type: string + name: + description: The name to which this PathMatcher is referred + by the HostRule. + type: string + pathRule: + description: 'The list of path rules. Use this list instead + of routeRules when routing based on simple path matching + is all that''s required. The order by which path rules + are specified does not matter. Matches are always done + on the longest-path-first basis. For example: a pathRule + with a path /a/b/c/* will match before /a/b/* irrespective + of the order in which those paths appear in this list. + Within a given pathMatcher, only one of pathRules or routeRules + must be set.' + items: + properties: + paths: + description: 'The list of path patterns to match. + Each must start with / and the only place a \* is + allowed is at the end following a /. The string + fed to the path matcher does not include any text + after the first ? or #, and those chars are not + allowed here.' + items: + type: string + type: array + routeAction: + description: In response to a matching path, the load + balancer performs advanced routing actions like + URL rewrites, header transformations, etc. prior + to forwarding the request to the selected backend. + If routeAction specifies any weightedBackendServices, + service must not be set. Conversely if service is + set, routeAction cannot contain any weightedBackendServices. + Only one of routeAction or urlRedirect must be set. + items: + properties: + corsPolicy: + description: The specification for allowing + client side cross-origin requests. Please + see W3C Recommendation for Cross Origin Resource + Sharing + items: + properties: + allowCredentials: + description: In response to a preflight + request, setting this to true indicates + that the actual request can include + user credentials. This translates to + the Access- Control-Allow-Credentials + header. Defaults to false. + type: boolean + allowHeaders: + description: Specifies the content for + the Access-Control-Allow-Headers header. + items: + type: string + type: array + allowMethods: + description: Specifies the content for + the Access-Control-Allow-Methods header. + items: + type: string + type: array + allowOriginRegexes: + description: Specifies the regular expression + patterns that match allowed origins. + For regular expression grammar please + see en.cppreference.com/w/cpp/regex/ecmascript + An origin is allowed if it matches either + allow_origins or allow_origin_regex. + items: + type: string + type: array + allowOrigins: + description: Specifies the list of origins + that will be allowed to do CORS requests. + An origin is allowed if it matches either + allow_origins or allow_origin_regex. + items: + type: string + type: array + disabled: + description: If true, specifies the CORS + policy is disabled. + type: boolean + exposeHeaders: + description: Specifies the content for + the Access-Control-Expose-Headers header. + items: + type: string + type: array + maxAge: + description: Specifies how long the results + of a preflight request can be cached. + This translates to the content for the + Access-Control-Max-Age header. + format: int64 + type: integer + required: + - disabled + type: object + type: array + faultInjectionPolicy: + description: The specification for fault injection + introduced into traffic to test the resiliency + of clients to backend service failure. As + part of fault injection, when clients send + requests to a backend service, delays can + be introduced by Loadbalancer on a percentage + of requests before sending those request to + the backend service. Similarly requests from + clients can be aborted by the Loadbalancer + for a percentage of requests. timeout and + retry_policy will be ignored by clients that + are configured with a fault_injection_policy. + items: + properties: + abort: + description: The specification for how + client requests are aborted as part + of fault injection. + items: + properties: + httpStatus: + description: The HTTP status code + used to abort the request. The + value must be between 200 and + 599 inclusive. + format: int64 + type: integer + percentage: + description: The percentage of traffic + (connections/operations/requests) + which will be aborted as part + of fault injection. The value + must be between 0.0 and 100.0 + inclusive. + type: number + required: + - httpStatus + - percentage + type: object + type: array + delay: + description: The specification for how + client requests are delayed as part + of fault injection, before being sent + to a backend service. + items: + properties: + fixedDelay: + description: Specifies the value + of the fixed delay interval. + items: + properties: + nanos: + description: Span of time + that's a fraction of a second + at nanosecond resolution. + Durations less than one + second are represented with + a 0 'seconds' field and + a positive 'nanos' field. + Must be from 0 to 999,999,999 + inclusive. + format: int64 + type: integer + seconds: + description: Span of time + at a resolution of a second. + Must be from 0 to 315,576,000,000 + inclusive. + type: string + required: + - seconds + type: object + type: array + percentage: + description: The percentage of traffic + (connections/operations/requests) + on which delay will be introduced + as part of fault injection. The + value must be between 0.0 and + 100.0 inclusive. + type: number + required: + - fixedDelay + - percentage + type: object + type: array + type: object + type: array + requestMirrorPolicy: + description: Specifies the policy on how requests + intended for the route's backends are shadowed + to a separate mirrored backend service. Loadbalancer + does not wait for responses from the shadow + service. Prior to sending traffic to the shadow + service, the host / authority header is suffixed + with -shadow. + items: + properties: + backendService: + description: The RegionBackendService + resource being mirrored to. + type: string + required: + - backendService + type: object + type: array + retryPolicy: + description: Specifies the retry policy associated + with this route. + items: + properties: + numRetries: + description: Specifies the allowed number + retries. This number must be > 0. + format: int64 + type: integer + perTryTimeout: + description: Specifies a non-zero timeout + per retry attempt. + items: + properties: + nanos: + description: Span of time that's + a fraction of a second at nanosecond + resolution. Durations less than + one second are represented with + a 0 'seconds' field and a positive + 'nanos' field. Must be from 0 + to 999,999,999 inclusive. + format: int64 + type: integer + seconds: + description: Span of time at a resolution + of a second. Must be from 0 to + 315,576,000,000 inclusive. + type: string + required: + - seconds + type: object + type: array + retryConditions: + description: "Specifies one or more conditions + when this retry rule applies. Valid + values are: \n - 5xx: Loadbalancer will + attempt a retry if the backend service + responds with any 5xx response code, + or if the backend service does not respond + at all, example: disconnects, reset, + read timeout, connection failure, and + refused streams. - gateway-error: Similar + to 5xx, but only applies to response + codes 502, 503 or 504. - connect-failure: + Loadbalancer will retry on failures + connecting to backend services, for + example due to connection timeouts. + - retriable-4xx: Loadbalancer will retry + for retriable 4xx response codes. Currently + the only retriable error supported is + 409. - refused-stream: Loadbalancer + will retry if the backend service resets + the stream with a REFUSED_STREAM error + code. This reset type indicates that + it is safe to retry. - cancelled: Loadbalancer + will retry if the gRPC status code in + the response header is set to cancelled + - deadline-exceeded: Loadbalancer will + retry if the gRPC status code in the + response header is set to deadline-exceeded + - resource-exhausted: Loadbalancer will + retry if the gRPC status code in the + response header is set to resource-exhausted + - unavailable: Loadbalancer will retry + if the gRPC status code in the response + header is set to unavailable" + items: + type: string + type: array + type: object + type: array + timeout: + description: Specifies the timeout for the selected + route. Timeout is computed from the time the + request is has been fully processed (i.e. + end-of-stream) up until the response has been + completely processed. Timeout includes all + retries. If not specified, the default value + is 15 seconds. + items: + properties: + nanos: + description: Span of time that's a fraction + of a second at nanosecond resolution. + Durations less than one second are represented + with a 0 'seconds' field and a positive + 'nanos' field. Must be from 0 to 999,999,999 + inclusive. + format: int64 + type: integer + seconds: + description: Span of time at a resolution + of a second. Must be from 0 to 315,576,000,000 + inclusive. + type: string + required: + - seconds + type: object + type: array + urlRewrite: + description: The spec to modify the URL of the + request, prior to forwarding the request to + the matched service + items: + properties: + hostRewrite: + description: Prior to forwarding the request + to the selected service, the request's + host header is replaced with contents + of hostRewrite. The value must be between + 1 and 255 characters. + type: string + pathPrefixRewrite: + description: Prior to forwarding the request + to the selected backend service, the + matching portion of the request's path + is replaced by pathPrefixRewrite. The + value must be between 1 and 1024 characters. + type: string + type: object + type: array + weightedBackendServices: + description: A list of weighted backend services + to send traffic to when a route match occurs. + The weights determine the fraction of traffic + that flows to their corresponding backend + service. If all traffic needs to go to a single + backend service, there must be one weightedBackendService + with weight set to a non 0 number. Once a + backendService is identified and before forwarding + the request to the backend service, advanced + routing actions like Url rewrites and header + transformations are applied depending on additional + settings specified in this HttpRouteAction. + items: + properties: + backendService: + description: The default RegionBackendService + resource. Before forwarding the request + to backendService, the loadbalancer + applies any relevant headerActions specified + as part of this backendServiceWeight. + type: string + headerAction: + description: Specifies changes to request + and response headers that need to take + effect for the selected backendService. + headerAction specified here take effect + before headerAction in the enclosing + HttpRouteRule, PathMatcher and UrlMap. + items: + properties: + requestHeadersToAdd: + description: Headers to add to a + matching request prior to forwarding + the request to the backendService. + items: + properties: + headerName: + description: The name of the + header. + type: string + headerValue: + description: The value of + the header to add. + type: string + replace: + description: If false, headerValue + is appended to any values + that already exist for the + header. If true, headerValue + is set for the header, discarding + any values that were set + for that header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + requestHeadersToRemove: + description: A list of header names + for headers that need to be removed + from the request prior to forwarding + the request to the backendService. + items: + type: string + type: array + responseHeadersToAdd: + description: Headers to add the + response prior to sending the + response back to the client. + items: + properties: + headerName: + description: The name of the + header. + type: string + headerValue: + description: The value of + the header to add. + type: string + replace: + description: If false, headerValue + is appended to any values + that already exist for the + header. If true, headerValue + is set for the header, discarding + any values that were set + for that header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + responseHeadersToRemove: + description: A list of header names + for headers that need to be removed + from the response prior to sending + the response back to the client. + items: + type: string + type: array + type: object + type: array + weight: + description: Specifies the fraction of + traffic sent to backendService, computed + as weight / (sum of all weightedBackendService + weights in routeAction) . The selection + of a backend service is determined only + for new traffic. Once a user's request + has been directed to a backendService, + subsequent requests will be sent to + the same backendService as determined + by the BackendService's session affinity + policy. The value must be between 0 + and 1000 + format: int64 + type: integer + required: + - backendService + - weight + type: object + type: array + type: object + type: array + service: + description: The region backend service resource to + which traffic is directed if this rule is matched. + If routeAction is additionally specified, advanced + routing actions like URL Rewrites, etc. take effect + prior to sending the request to the backend. However, + if service is specified, routeAction cannot contain + any weightedBackendService s. Conversely, if routeAction + specifies any weightedBackendServices, service must + not be specified. Only one of urlRedirect, service + or routeAction.weightedBackendService must be set. + type: string + urlRedirect: + description: When a path pattern is matched, the request + is redirected to a URL specified by urlRedirect. + If urlRedirect is specified, service or routeAction + must not be set. + items: + properties: + hostRedirect: + description: The host that will be used in the + redirect response instead of the one that + was supplied in the request. The value must + be between 1 and 255 characters. + type: string + httpsRedirect: + description: If set to true, the URL scheme + in the redirected request is set to https. + If set to false, the URL scheme of the redirected + request will remain the same as that of the + request. This must only be set for UrlMaps + used in TargetHttpProxys. Setting this true + for TargetHttpsProxy is not permitted. The + default is set to false. + type: boolean + pathRedirect: + description: The path that will be used in the + redirect response instead of the one that + was supplied in the request. pathRedirect + cannot be supplied together with prefixRedirect. + Supply one alone or neither. If neither is + supplied, the path of the original request + will be used for the redirect. The value must + be between 1 and 1024 characters. + type: string + prefixRedirect: + description: The prefix that replaces the prefixMatch + specified in the HttpRouteRuleMatch, retaining + the remaining portion of the URL before redirecting + the request. prefixRedirect cannot be supplied + together with pathRedirect. Supply one alone + or neither. If neither is supplied, the path + of the original request will be used for the + redirect. The value must be between 1 and + 1024 characters. + type: string + redirectResponseCode: + description: "The HTTP Status code to use for + this RedirectAction. Supported values are: + \n * MOVED_PERMANENTLY_DEFAULT, which is the + default value and corresponds to 301. \n * + FOUND, which corresponds to 302. \n * SEE_OTHER + which corresponds to 303. \n * TEMPORARY_REDIRECT, + which corresponds to 307. In this case, the + request method will be retained. \n * PERMANENT_REDIRECT, + which corresponds to 308. In this case, the + request method will be retained. Possible + values: [\"FOUND\", \"MOVED_PERMANENTLY_DEFAULT\", + \"PERMANENT_REDIRECT\", \"SEE_OTHER\", \"TEMPORARY_REDIRECT\"]" + type: string + stripQuery: + description: If set to true, any accompanying + query portion of the original URL is removed + prior to redirecting the request. If set to + false, the query portion of the original URL + is retained. This field is required to ensure + an empty block is not set. The normal default + value is false. + type: boolean + required: + - stripQuery + type: object + type: array + required: + - paths + type: object + type: array + routeRules: + description: 'The list of ordered HTTP route rules. Use + this list instead of pathRules when advanced route matching + and routing actions are desired. The order of specifying + routeRules matters: the first rule that matches will cause + its specified routing action to take effect. Within a + given pathMatcher, only one of pathRules or routeRules + must be set. routeRules are not supported in UrlMaps intended + for External load balancers.' + items: + properties: + headerAction: + description: Specifies changes to request and response + headers that need to take effect for the selected + backendService. The headerAction specified here + are applied before the matching pathMatchers[].headerAction + and after pathMatchers[].routeRules[].r outeAction.weightedBackendService.backendServiceWeightAction[].headerAction + items: + properties: + requestHeadersToAdd: + description: Headers to add to a matching request + prior to forwarding the request to the backendService. + items: + properties: + headerName: + description: The name of the header. + type: string + headerValue: + description: The value of the header to + add. + type: string + replace: + description: If false, headerValue is + appended to any values that already + exist for the header. If true, headerValue + is set for the header, discarding any + values that were set for that header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + requestHeadersToRemove: + description: A list of header names for headers + that need to be removed from the request prior + to forwarding the request to the backendService. + items: + type: string + type: array + responseHeadersToAdd: + description: Headers to add the response prior + to sending the response back to the client. + items: + properties: + headerName: + description: The name of the header. + type: string + headerValue: + description: The value of the header to + add. + type: string + replace: + description: If false, headerValue is + appended to any values that already + exist for the header. If true, headerValue + is set for the header, discarding any + values that were set for that header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + responseHeadersToRemove: + description: A list of header names for headers + that need to be removed from the response + prior to sending the response back to the + client. + items: + type: string + type: array + type: object + type: array + matchRules: + description: The rules for determining a match. + items: + properties: + fullPathMatch: + description: For satisfying the matchRule condition, + the path of the request must exactly match + the value specified in fullPathMatch after + removing any query parameters and anchor that + may be part of the original URL. FullPathMatch + must be between 1 and 1024 characters. Only + one of prefixMatch, fullPathMatch or regexMatch + must be specified. + type: string + headerMatches: + description: Specifies a list of header match + criteria, all of which must match corresponding + headers in the request. + items: + properties: + exactMatch: + description: The value should exactly + match contents of exactMatch. Only one + of exactMatch, prefixMatch, suffixMatch, + regexMatch, presentMatch or rangeMatch + must be set. + type: string + headerName: + description: The name of the HTTP header + to match. For matching against the HTTP + request's authority, use a headerMatch + with the header name ":authority". For + matching a request's method, use the + headerName ":method". + type: string + invertMatch: + description: If set to false, the headerMatch + is considered a match if the match criteria + above are met. If set to true, the headerMatch + is considered a match if the match criteria + above are NOT met. Defaults to false. + type: boolean + prefixMatch: + description: The value of the header must + start with the contents of prefixMatch. + Only one of exactMatch, prefixMatch, + suffixMatch, regexMatch, presentMatch + or rangeMatch must be set. + type: string + presentMatch: + description: A header with the contents + of headerName must exist. The match + takes place whether or not the request's + header has a value or not. Only one + of exactMatch, prefixMatch, suffixMatch, + regexMatch, presentMatch or rangeMatch + must be set. + type: boolean + rangeMatch: + description: "The header value must be + an integer and its value must be in + the range specified in rangeMatch. If + the header does not contain an integer, + number or is empty, the match fails. + For example for a range [-5, 0] \n * + -3 will match * 0 will not match * 0.25 + will not match * -3someString will not + match. \n Only one of exactMatch, prefixMatch, + suffixMatch, regexMatch, presentMatch + or rangeMatch must be set." + items: + properties: + rangeEnd: + description: The end of the range + (exclusive). + format: int64 + type: integer + rangeStart: + description: The start of the range + (inclusive). + format: int64 + type: integer + required: + - rangeEnd + - rangeStart + type: object + type: array + regexMatch: + description: 'The value of the header + must match the regular expression specified + in regexMatch. For regular expression + grammar, please see: en.cppreference.com/w/cpp/regex/ecmascript For + matching against a port specified in + the HTTP request, use a headerMatch + with headerName set to PORT and a regular + expression that satisfies the RFC2616 + Host header''s port specifier. Only + one of exactMatch, prefixMatch, suffixMatch, + regexMatch, presentMatch or rangeMatch + must be set.' + type: string + suffixMatch: + description: The value of the header must + end with the contents of suffixMatch. + Only one of exactMatch, prefixMatch, + suffixMatch, regexMatch, presentMatch + or rangeMatch must be set. + type: string + required: + - headerName + type: object + type: array + ignoreCase: + description: Specifies that prefixMatch and + fullPathMatch matches are case sensitive. + Defaults to false. + type: boolean + metadataFilters: + description: Opaque filter criteria used by + Loadbalancer to restrict routing configuration + to a limited set xDS compliant clients. In + their xDS requests to Loadbalancer, xDS clients + present node metadata. If a match takes place, + the relevant routing configuration is made + available to those proxies. For each metadataFilter + in this list, if its filterMatchCriteria is + set to MATCH_ANY, at least one of the filterLabels + must match the corresponding label provided + in the metadata. If its filterMatchCriteria + is set to MATCH_ALL, then all of its filterLabels + must match with corresponding labels in the + provided metadata. metadataFilters specified + here can be overrides those specified in ForwardingRule + that refers to this UrlMap. metadataFilters + only applies to Loadbalancers that have their + loadBalancingScheme set to INTERNAL_SELF_MANAGED. + items: + properties: + filterLabels: + description: The list of label value pairs + that must match labels in the provided + metadata based on filterMatchCriteria This + list must not be empty and can have + at the most 64 entries. + items: + properties: + name: + description: Name of metadata label. + The name can have a maximum length + of 1024 characters and must be + at least 1 character long. + type: string + value: + description: The value of the label + must match the specified value. + value can have a maximum length + of 1024 characters. + type: string + required: + - name + - value + type: object + type: array + filterMatchCriteria: + description: "Specifies how individual + filterLabel matches within the list + of filterLabels contribute towards the + overall metadataFilter match. Supported + values are: \n * MATCH_ANY: At least + one of the filterLabels must have a + matching label in the provided metadata. + * MATCH_ALL: All filterLabels must have + matching labels in the provided metadata. + Possible values: [\"MATCH_ALL\", \"MATCH_ANY\"]" + type: string + required: + - filterLabels + - filterMatchCriteria + type: object + type: array + prefixMatch: + description: For satisfying the matchRule condition, + the request's path must begin with the specified + prefixMatch. prefixMatch must begin with a + /. The value must be between 1 and 1024 characters. + Only one of prefixMatch, fullPathMatch or + regexMatch must be specified. + type: string + queryParameterMatches: + description: Specifies a list of query parameter + match criteria, all of which must match corresponding + query parameters in the request. + items: + properties: + exactMatch: + description: The queryParameterMatch matches + if the value of the parameter exactly + matches the contents of exactMatch. + Only one of presentMatch, exactMatch + and regexMatch must be set. + type: string + name: + description: The name of the query parameter + to match. The query parameter must exist + in the request, in the absence of which + the request match fails. + type: string + presentMatch: + description: Specifies that the queryParameterMatch + matches if the request contains the + query parameter, irrespective of whether + the parameter has a value or not. Only + one of presentMatch, exactMatch and + regexMatch must be set. + type: boolean + regexMatch: + description: The queryParameterMatch matches + if the value of the parameter matches + the regular expression specified by + regexMatch. For the regular expression + grammar, please see en.cppreference.com/w/cpp/regex/ecmascript Only + one of presentMatch, exactMatch and + regexMatch must be set. + type: string + required: + - name + type: object + type: array + regexMatch: + description: For satisfying the matchRule condition, + the path of the request must satisfy the regular + expression specified in regexMatch after removing + any query parameters and anchor supplied with + the original URL. For regular expression grammar + please see en.cppreference.com/w/cpp/regex/ecmascript Only + one of prefixMatch, fullPathMatch or regexMatch + must be specified. + type: string + type: object + type: array + priority: + description: "For routeRules within a given pathMatcher, + priority determines the order in which load balancer + will interpret routeRules. RouteRules are evaluated + in order of priority, from the lowest to highest + number. The priority of a rule decreases as its + number increases (1, 2, 3, N+1). The first rule + that matches the request is applied. \n You cannot + configure two or more routeRules with the same priority. + Priority for each rule must be set to a number between + 0 and 2147483647 inclusive. \n Priority numbers + can have gaps, which enable you to add or remove + rules in the future without affecting the rest of + the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 + is a valid series of priority numbers to which you + could add rules numbered from 6 to 8, 10 to 11, + and 13 to 15 in the future without any impact on + existing rules." + format: int64 + type: integer + routeAction: + description: In response to a matching matchRule, + the load balancer performs advanced routing actions + like URL rewrites, header transformations, etc. + prior to forwarding the request to the selected + backend. If routeAction specifies any weightedBackendServices, + service must not be set. Conversely if service is + set, routeAction cannot contain any weightedBackendServices. + Only one of routeAction or urlRedirect must be set. + items: + properties: + corsPolicy: + description: The specification for allowing + client side cross-origin requests. Please + see W3C Recommendation for Cross Origin Resource + Sharing + items: + properties: + allowCredentials: + description: In response to a preflight + request, setting this to true indicates + that the actual request can include + user credentials. This translates to + the Access- Control-Allow-Credentials + header. Defaults to false. + type: boolean + allowHeaders: + description: Specifies the content for + the Access-Control-Allow-Headers header. + items: + type: string + type: array + allowMethods: + description: Specifies the content for + the Access-Control-Allow-Methods header. + items: + type: string + type: array + allowOriginRegexes: + description: Specifies the regular expression + patterns that match allowed origins. + For regular expression grammar please + see en.cppreference.com/w/cpp/regex/ecmascript + An origin is allowed if it matches either + allow_origins or allow_origin_regex. + items: + type: string + type: array + allowOrigins: + description: Specifies the list of origins + that will be allowed to do CORS requests. + An origin is allowed if it matches either + allow_origins or allow_origin_regex. + items: + type: string + type: array + disabled: + description: If true, specifies the CORS + policy is disabled. which indicates + that the CORS policy is in effect. Defaults + to false. + type: boolean + exposeHeaders: + description: Specifies the content for + the Access-Control-Expose-Headers header. + items: + type: string + type: array + maxAge: + description: Specifies how long the results + of a preflight request can be cached. + This translates to the content for the + Access-Control-Max-Age header. + format: int64 + type: integer + type: object + type: array + faultInjectionPolicy: + description: The specification for fault injection + introduced into traffic to test the resiliency + of clients to backend service failure. As + part of fault injection, when clients send + requests to a backend service, delays can + be introduced by Loadbalancer on a percentage + of requests before sending those request to + the backend service. Similarly requests from + clients can be aborted by the Loadbalancer + for a percentage of requests. timeout and + retry_policy will be ignored by clients that + are configured with a fault_injection_policy. + items: + properties: + abort: + description: The specification for how + client requests are aborted as part + of fault injection. + items: + properties: + httpStatus: + description: The HTTP status code + used to abort the request. The + value must be between 200 and + 599 inclusive. + format: int64 + type: integer + percentage: + description: The percentage of traffic + (connections/operations/requests) + which will be aborted as part + of fault injection. The value + must be between 0.0 and 100.0 + inclusive. + type: number + type: object + type: array + delay: + description: The specification for how + client requests are delayed as part + of fault injection, before being sent + to a backend service. + items: + properties: + fixedDelay: + description: Specifies the value + of the fixed delay interval. + items: + properties: + nanos: + description: Span of time + that's a fraction of a second + at nanosecond resolution. + Durations less than one + second are represented with + a 0 'seconds' field and + a positive 'nanos' field. + Must be from 0 to 999,999,999 + inclusive. + format: int64 + type: integer + seconds: + description: Span of time + at a resolution of a second. + Must be from 0 to 315,576,000,000 + inclusive. + type: string + required: + - seconds + type: object + type: array + percentage: + description: The percentage of traffic + (connections/operations/requests) + on which delay will be introduced + as part of fault injection. The + value must be between 0.0 and + 100.0 inclusive. + type: number + type: object + type: array + type: object + type: array + requestMirrorPolicy: + description: Specifies the policy on how requests + intended for the route's backends are shadowed + to a separate mirrored backend service. Loadbalancer + does not wait for responses from the shadow + service. Prior to sending traffic to the shadow + service, the host / authority header is suffixed + with -shadow. + items: + properties: + backendService: + description: The RegionBackendService + resource being mirrored to. + type: string + required: + - backendService + type: object + type: array + retryPolicy: + description: Specifies the retry policy associated + with this route. + items: + properties: + numRetries: + description: Specifies the allowed number + retries. This number must be > 0. + format: int64 + type: integer + perTryTimeout: + description: Specifies a non-zero timeout + per retry attempt. + items: + properties: + nanos: + description: Span of time that's + a fraction of a second at nanosecond + resolution. Durations less than + one second are represented with + a 0 'seconds' field and a positive + 'nanos' field. Must be from 0 + to 999,999,999 inclusive. + format: int64 + type: integer + seconds: + description: Span of time at a resolution + of a second. Must be from 0 to + 315,576,000,000 inclusive. + type: string + required: + - seconds + type: object + type: array + retryConditions: + description: "Specifies one or more conditions + when this retry rule applies. Valid + values are: \n * 5xx: Loadbalancer will + attempt a retry if the backend service + responds with any 5xx response code, + or if the backend service does not respond + at all, example: disconnects, reset, + read timeout, connection failure, and + refused streams. * gateway-error: Similar + to 5xx, but only applies to response + codes 502, 503 or 504. * connect-failure: + Loadbalancer will retry on failures + connecting to backend services, for + example due to connection timeouts. + * retriable-4xx: Loadbalancer will retry + for retriable 4xx response codes. Currently + the only retriable error supported is + 409. * refused-stream: Loadbalancer + will retry if the backend service resets + the stream with a REFUSED_STREAM error + code. This reset type indicates that + it is safe to retry. * cancelled: Loadbalancer + will retry if the gRPC status code in + the response header is set to cancelled + * deadline-exceeded: Loadbalancer will + retry if the gRPC status code in the + response header is set to deadline-exceeded + * resource-exhausted: Loadbalancer will + retry if the gRPC status code in the + response header is set to resource-exhausted + * unavailable: Loadbalancer will retry + if the gRPC status code in the response + header is set to unavailable" + items: + type: string + type: array + required: + - numRetries + type: object + type: array + timeout: + description: Specifies the timeout for the selected + route. Timeout is computed from the time the + request is has been fully processed (i.e. + end-of-stream) up until the response has been + completely processed. Timeout includes all + retries. If not specified, the default value + is 15 seconds. + items: + properties: + nanos: + description: Span of time that's a fraction + of a second at nanosecond resolution. + Durations less than one second are represented + with a 0 'seconds' field and a positive + 'nanos' field. Must be from 0 to 999,999,999 + inclusive. + format: int64 + type: integer + seconds: + description: Span of time at a resolution + of a second. Must be from 0 to 315,576,000,000 + inclusive. + type: string + required: + - seconds + type: object + type: array + urlRewrite: + description: The spec to modify the URL of the + request, prior to forwarding the request to + the matched service + items: + properties: + hostRewrite: + description: Prior to forwarding the request + to the selected service, the request's + host header is replaced with contents + of hostRewrite. The value must be between + 1 and 255 characters. + type: string + pathPrefixRewrite: + description: Prior to forwarding the request + to the selected backend service, the + matching portion of the request's path + is replaced by pathPrefixRewrite. The + value must be between 1 and 1024 characters. + type: string + type: object + type: array + weightedBackendServices: + description: A list of weighted backend services + to send traffic to when a route match occurs. + The weights determine the fraction of traffic + that flows to their corresponding backend + service. If all traffic needs to go to a single + backend service, there must be one weightedBackendService + with weight set to a non 0 number. Once a + backendService is identified and before forwarding + the request to the backend service, advanced + routing actions like Url rewrites and header + transformations are applied depending on additional + settings specified in this HttpRouteAction. + items: + properties: + backendService: + description: The default RegionBackendService + resource. Before forwarding the request + to backendService, the loadbalancer + applies any relevant headerActions specified + as part of this backendServiceWeight. + type: string + headerAction: + description: Specifies changes to request + and response headers that need to take + effect for the selected backendService. + headerAction specified here take effect + before headerAction in the enclosing + HttpRouteRule, PathMatcher and UrlMap. + items: + properties: + requestHeadersToAdd: + description: Headers to add to a + matching request prior to forwarding + the request to the backendService. + items: + properties: + headerName: + description: The name of the + header. + type: string + headerValue: + description: The value of + the header to add. + type: string + replace: + description: If false, headerValue + is appended to any values + that already exist for the + header. If true, headerValue + is set for the header, discarding + any values that were set + for that header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + requestHeadersToRemove: + description: A list of header names + for headers that need to be removed + from the request prior to forwarding + the request to the backendService. + items: + type: string + type: array + responseHeadersToAdd: + description: Headers to add the + response prior to sending the + response back to the client. + items: + properties: + headerName: + description: The name of the + header. + type: string + headerValue: + description: The value of + the header to add. + type: string + replace: + description: If false, headerValue + is appended to any values + that already exist for the + header. If true, headerValue + is set for the header, discarding + any values that were set + for that header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + responseHeadersToRemove: + description: A list of header names + for headers that need to be removed + from the response prior to sending + the response back to the client. + items: + type: string + type: array + type: object + type: array + weight: + description: Specifies the fraction of + traffic sent to backendService, computed + as weight / (sum of all weightedBackendService + weights in routeAction) . The selection + of a backend service is determined only + for new traffic. Once a user's request + has been directed to a backendService, + subsequent requests will be sent to + the same backendService as determined + by the BackendService's session affinity + policy. The value must be between 0 + and 1000 + format: int64 + type: integer + required: + - backendService + - weight + type: object + type: array + type: object + type: array + service: + description: The region backend service resource to + which traffic is directed if this rule is matched. + If routeAction is additionally specified, advanced + routing actions like URL Rewrites, etc. take effect + prior to sending the request to the backend. However, + if service is specified, routeAction cannot contain + any weightedBackendService s. Conversely, if routeAction + specifies any weightedBackendServices, service must + not be specified. Only one of urlRedirect, service + or routeAction.weightedBackendService must be set. + type: string + urlRedirect: + description: When this rule is matched, the request + is redirected to a URL specified by urlRedirect. + If urlRedirect is specified, service or routeAction + must not be set. + items: + properties: + hostRedirect: + description: The host that will be used in the + redirect response instead of the one that + was supplied in the request. The value must + be between 1 and 255 characters. + type: string + httpsRedirect: + description: If set to true, the URL scheme + in the redirected request is set to https. + If set to false, the URL scheme of the redirected + request will remain the same as that of the + request. This must only be set for UrlMaps + used in TargetHttpProxys. Setting this true + for TargetHttpsProxy is not permitted. The + default is set to false. + type: boolean + pathRedirect: + description: The path that will be used in the + redirect response instead of the one that + was supplied in the request. pathRedirect + cannot be supplied together with prefixRedirect. + Supply one alone or neither. If neither is + supplied, the path of the original request + will be used for the redirect. The value must + be between 1 and 1024 characters. + type: string + prefixRedirect: + description: The prefix that replaces the prefixMatch + specified in the HttpRouteRuleMatch, retaining + the remaining portion of the URL before redirecting + the request. prefixRedirect cannot be supplied + together with pathRedirect. Supply one alone + or neither. If neither is supplied, the path + of the original request will be used for the + redirect. The value must be between 1 and + 1024 characters. + type: string + redirectResponseCode: + description: "The HTTP Status code to use for + this RedirectAction. Supported values are: + \n * MOVED_PERMANENTLY_DEFAULT, which is the + default value and corresponds to 301. \n * + FOUND, which corresponds to 302. \n * SEE_OTHER + which corresponds to 303. \n * TEMPORARY_REDIRECT, + which corresponds to 307. In this case, the + request method will be retained. \n * PERMANENT_REDIRECT, + which corresponds to 308. In this case, the + request method will be retained. Possible + values: [\"FOUND\", \"MOVED_PERMANENTLY_DEFAULT\", + \"PERMANENT_REDIRECT\", \"SEE_OTHER\", \"TEMPORARY_REDIRECT\"]" + type: string + stripQuery: + description: If set to true, any accompanying + query portion of the original URL is removed + prior to redirecting the request. If set to + false, the query portion of the original URL + is retained. The default value is false. + type: boolean + type: object + type: array + required: + - priority + type: object + type: array + required: + - name + type: object + type: array + project: + type: string + region: + description: The Region in which the url map should reside. If + it is not provided, the provider region is used. + type: string + test: + description: The list of expected URL mappings. Requests to update + this UrlMap will succeed only if all of the test cases pass. + items: + properties: + description: + description: Description of this test case. + type: string + host: + description: Host portion of the URL. + type: string + path: + description: Path portion of the URL. + type: string + service: + description: A reference to expected RegionBackendService + resource the given URL should be mapped to. + type: string + required: + - host + - path + - service + type: object + type: array + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: RegionURLMapStatus defines the observed state of RegionURLMap. + properties: + atProvider: + properties: + creationTimestamp: + type: string + fingerprint: + type: string + id: + type: string + mapId: + format: int64 + type: integer + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_reservations.yaml b/package/crds/compute.gcp.jet.crossplane.io_reservations.yaml new file mode 100644 index 00000000..f1864239 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_reservations.yaml @@ -0,0 +1,268 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: reservations.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Reservation + listKind: ReservationList + plural: reservations + singular: reservation + 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: Reservation is the Schema for the Reservations 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: ReservationSpec defines the desired state of Reservation + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + specificReservation: + description: Reservation for instances with specific machine shapes. + items: + properties: + count: + description: The number of resources that are allocated. + format: int64 + type: integer + instanceProperties: + description: The instance properties for the reservation. + items: + properties: + guestAccelerators: + description: Guest accelerator type and count. + items: + properties: + acceleratorCount: + description: The number of the guest accelerator + cards exposed to this instance. + format: int64 + type: integer + acceleratorType: + description: "The full or partial URL of the + accelerator type to attach to this instance. + For example: 'projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100' + \n If you are creating an instance template, + specify only the accelerator name." + type: string + required: + - acceleratorCount + - acceleratorType + type: object + type: array + localSsds: + description: The amount of local ssd to reserve with + each instance. This reserves disks of type 'local-ssd'. + items: + properties: + diskSizeGb: + description: The size of the disk in base-2 + GB. + format: int64 + type: integer + interface: + description: 'The disk interface to use for + attaching this disk. Default value: "SCSI" + Possible values: ["SCSI", "NVME"]' + type: string + required: + - diskSizeGb + type: object + type: array + machineType: + description: The name of the machine type to reserve. + type: string + minCpuPlatform: + description: The minimum CPU platform for the reservation. + For example, '"Intel Skylake"'. See the CPU platform + availability reference](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones) + for information on available CPU platforms. + type: string + required: + - machineType + type: object + type: array + required: + - count + - instanceProperties + type: object + type: array + specificReservationRequired: + description: When set to true, only VMs that target this reservation + by name can consume this reservation. Otherwise, it can be consumed + by VMs with affinity for any reservation. Defaults to false. + type: boolean + zone: + description: The zone where the reservation is made. + type: string + required: + - name + - specificReservation + - zone + type: object + 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 + 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 + 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. + 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 + status: + description: ReservationStatus defines the observed state of Reservation. + properties: + atProvider: + properties: + commitment: + type: string + creationTimestamp: + type: string + id: + type: string + selfLink: + type: string + status: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_resourcepolicies.yaml b/package/crds/compute.gcp.jet.crossplane.io_resourcepolicies.yaml new file mode 100644 index 00000000..5cdfffb1 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_resourcepolicies.yaml @@ -0,0 +1,386 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: resourcepolicies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ResourcePolicy + listKind: ResourcePolicyList + plural: resourcepolicies + singular: resourcepolicy + 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: ResourcePolicy is the Schema for the ResourcePolicys 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: ResourcePolicySpec defines the desired state of ResourcePolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + groupPlacementPolicy: + description: Resource policy for instances used for placement + configuration. + items: + properties: + availabilityDomainCount: + description: The number of availability domains instances + will be spread across. If two instances are in different + availability domain, they will not be put in the same + low latency network + format: int64 + type: integer + collocation: + description: 'Collocation specifies whether to place VMs + inside the same availability domain on the same low-latency + network. Specify ''COLLOCATED'' to enable collocation. + Can only be specified with ''vm_count''. If compute instances + are created with a COLLOCATED policy, then exactly ''vm_count'' + instances must be created at the same time with the resource + policy attached. Possible values: ["COLLOCATED"]' + type: string + vmCount: + description: Number of vms in this placement group. + format: int64 + type: integer + type: object + type: array + instanceSchedulePolicy: + description: Resource policy for scheduling instance operations. + items: + properties: + expirationTime: + description: The expiration time of the schedule. The timestamp + is an RFC3339 string. + type: string + startTime: + description: The start time of the schedule. The timestamp + is an RFC3339 string. + type: string + timeZone: + description: 'Specifies the time zone to be used in interpreting + the schedule. The value of this field must be a time zone + name from the tz database: http://en.wikipedia.org/wiki/Tz_database.' + type: string + vmStartSchedule: + description: Specifies the schedule for starting instances. + items: + properties: + schedule: + description: Specifies the frequency for the operation, + using the unix-cron format. + type: string + required: + - schedule + type: object + type: array + vmStopSchedule: + description: Specifies the schedule for stopping instances. + items: + properties: + schedule: + description: Specifies the frequency for the operation, + using the unix-cron format. + type: string + required: + - schedule + type: object + type: array + required: + - timeZone + type: object + type: array + name: + description: The name of the resource, provided by the client + when initially creating the resource. The resource name must + be 1-63 characters long, and comply with RFC1035. Specifically, + the name must be 1-63 characters long and match the regular + expression '[a-z]([-a-z0-9]*[a-z0-9])'? which means the first + character must be a lowercase letter, and all following characters + must be a dash, lowercase letter, or digit, except the last + character, which cannot be a dash. + type: string + project: + type: string + region: + description: Region where resource policy resides. + type: string + snapshotSchedulePolicy: + description: Policy for creating snapshots of persistent disks. + items: + properties: + retentionPolicy: + description: Retention policy applied to snapshots created + by this resource policy. + items: + properties: + maxRetentionDays: + description: Maximum age of the snapshot that is allowed + to be kept. + format: int64 + type: integer + onSourceDiskDelete: + description: 'Specifies the behavior to apply to scheduled + snapshots when the source disk is deleted. Default + value: "KEEP_AUTO_SNAPSHOTS" Possible values: ["KEEP_AUTO_SNAPSHOTS", + "APPLY_RETENTION_POLICY"]' + type: string + required: + - maxRetentionDays + type: object + type: array + schedule: + description: Contains one of an 'hourlySchedule', 'dailySchedule', + or 'weeklySchedule'. + items: + properties: + dailySchedule: + description: The policy will execute every nth day + at the specified time. + items: + properties: + daysInCycle: + description: The number of days between snapshots. + format: int64 + type: integer + startTime: + description: This must be in UTC format that + resolves to one of 00:00, 04:00, 08:00, 12:00, + 16:00, or 20:00. For example, both 13:00-5 + and 08:00 are valid. + type: string + required: + - daysInCycle + - startTime + type: object + type: array + hourlySchedule: + description: The policy will execute every nth hour + starting at the specified time. + items: + properties: + hoursInCycle: + description: The number of hours between snapshots. + format: int64 + type: integer + startTime: + description: 'Time within the window to start + the operations. It must be in an hourly format + "HH:MM", where HH : [00-23] and MM : [00] + GMT. eg: 21:00' + type: string + required: + - hoursInCycle + - startTime + type: object + type: array + weeklySchedule: + description: Allows specifying a snapshot time for + each day of the week. + items: + properties: + dayOfWeeks: + description: May contain up to seven (one for + each day of the week) snapshot times. + items: + properties: + day: + description: 'The day of the week to create + the snapshot. e.g. MONDAY Possible values: + ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", + "FRIDAY", "SATURDAY", "SUNDAY"]' + type: string + startTime: + description: 'Time within the window to + start the operations. It must be in + format "HH:MM", where HH : [00-23] and + MM : [00-00] GMT.' + type: string + required: + - day + - startTime + type: object + type: array + required: + - dayOfWeeks + type: object + type: array + type: object + type: array + snapshotProperties: + description: Properties with which the snapshots are created, + such as labels. + items: + properties: + guestFlush: + description: Whether to perform a 'guest aware' snapshot. + type: boolean + labels: + additionalProperties: + type: string + description: A set of key-value pairs. + type: object + storageLocations: + description: Cloud Storage bucket location to store + the auto snapshot (regional or multi-regional) + items: + type: string + type: array + type: object + type: array + required: + - schedule + type: object + type: array + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: ResourcePolicyStatus defines the observed state of ResourcePolicy. + properties: + atProvider: + properties: + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_routerinterfaces.yaml b/package/crds/compute.gcp.jet.crossplane.io_routerinterfaces.yaml new file mode 100644 index 00000000..79a6be05 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_routerinterfaces.yaml @@ -0,0 +1,202 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: routerinterfaces.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RouterInterface + listKind: RouterInterfaceList + plural: routerinterfaces + singular: routerinterface + 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: RouterInterface is the Schema for the RouterInterfaces 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: RouterInterfaceSpec defines the desired state of RouterInterface + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + interconnectAttachment: + description: The name or resource link to the VLAN interconnect + for this interface. Changing this forces a new interface to + be created. Only one of vpn_tunnel and interconnect_attachment + can be specified. + type: string + ipRange: + description: IP address and range of the interface. The IP range + must be in the RFC3927 link-local IP space. Changing this forces + a new interface to be created. + type: string + name: + description: A unique name for the interface, required by GCE. + Changing this forces a new interface to be created. + type: string + project: + description: The ID of the project in which this interface's router + belongs. If it is not provided, the provider project is used. + Changing this forces a new interface to be created. + type: string + region: + description: The region this interface's router sits in. If not + specified, the project region will be used. Changing this forces + a new interface to be created. + type: string + router: + description: The name of the router this interface will be attached + to. Changing this forces a new interface to be created. + type: string + vpnTunnel: + description: The name or resource link to the VPN tunnel this + interface will be linked to. Changing this forces a new interface + to be created. Only one of vpn_tunnel and interconnect_attachment + can be specified. + type: string + required: + - name + - router + type: object + 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 + 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 + 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. + 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 + status: + description: RouterInterfaceStatus defines the observed state of RouterInterface. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_routerpeers.yaml b/package/crds/compute.gcp.jet.crossplane.io_routerpeers.yaml new file mode 100644 index 00000000..379aa470 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_routerpeers.yaml @@ -0,0 +1,259 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: routerpeers.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RouterPeer + listKind: RouterPeerList + plural: routerpeers + singular: routerpeer + 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: RouterPeer is the Schema for the RouterPeers 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: RouterPeerSpec defines the desired state of RouterPeer + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + advertiseMode: + description: 'User-specified flag to indicate which mode to use + for advertisement. Valid values of this enum field are: ''DEFAULT'', + ''CUSTOM'' Default value: "DEFAULT" Possible values: ["DEFAULT", + "CUSTOM"]' + type: string + advertisedGroups: + description: "User-specified list of prefix groups to advertise + in custom mode, which can take one of the following options: + \n * 'ALL_SUBNETS': Advertises all available subnets, including + peer VPC subnets. * 'ALL_VPC_SUBNETS': Advertises the router's + own VPC subnets. * 'ALL_PEER_VPC_SUBNETS': Advertises peer subnets + of the router's VPC network. \n Note that this field can only + be populated if advertiseMode is 'CUSTOM' and overrides the + list defined for the router (in the \"bgp\" message). These + groups are advertised in addition to any specified prefixes. + Leave this field blank to advertise no custom groups." + items: + type: string + type: array + advertisedIpRanges: + description: User-specified list of individual IP ranges to advertise + in custom mode. This field can only be populated if advertiseMode + is 'CUSTOM' and is advertised to all peers of the router. These + IP ranges will be advertised in addition to any specified groups. + Leave this field blank to advertise no custom IP ranges. + items: + properties: + description: + description: User-specified description for the IP range. + type: string + range: + description: The IP range to advertise. The value must be + a CIDR-formatted string. + type: string + required: + - range + type: object + type: array + advertisedRoutePriority: + description: The priority of routes advertised to this BGP peer. + Where there is more than one matching route of maximum length, + the routes with the lowest priority value win. + format: int64 + type: integer + enable: + description: The status of the BGP peer connection. If set to + false, any active session with the peer is terminated and all + associated routing information is removed. If set to true, the + peer connection can be established with routing information. + The default is true. + type: boolean + interface: + description: Name of the interface the BGP peer is associated + with. + type: string + ipAddress: + description: IP address of the interface inside Google Cloud Platform. + Only IPv4 is supported. + type: string + name: + description: Name of this BGP peer. The name must be 1-63 characters + long, and comply with RFC1035. Specifically, the name must be + 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + peerAsn: + description: Peer BGP Autonomous System Number (ASN). Each BGP + interface may use a different value. + format: int64 + type: integer + peerIpAddress: + description: IP address of the BGP interface outside Google Cloud + Platform. Only IPv4 is supported. + type: string + project: + type: string + region: + description: Region where the router and BgpPeer reside. If it + is not provided, the provider region is used. + type: string + router: + description: The name of the Cloud Router in which this BgpPeer + will be configured. + type: string + required: + - interface + - name + - peerAsn + - peerIpAddress + - router + type: object + 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 + 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 + 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. + 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 + status: + description: RouterPeerStatus defines the observed state of RouterPeer. + properties: + atProvider: + properties: + id: + type: string + managementType: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_routes.yaml b/package/crds/compute.gcp.jet.crossplane.io_routes.yaml new file mode 100644 index 00000000..e211db41 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_routes.yaml @@ -0,0 +1,245 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: routes.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Route + listKind: RouteList + plural: routes + singular: route + 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: Route is the Schema for the Routes 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: RouteSpec defines the desired state of Route + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + destRange: + description: The destination range of outgoing packets that this + route applies to. Only IPv4 is supported. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + network: + description: The network that this route applies to. + type: string + nextHopGateway: + description: 'URL to a gateway that should handle matching packets. + Currently, you can only specify the internet gateway, using + a full or partial valid URL: * ''https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway'' + * ''projects/project/global/gateways/default-internet-gateway'' + * ''global/gateways/default-internet-gateway'' * The string + ''default-internet-gateway''.' + type: string + nextHopIlb: + description: "The IP address or URL to a forwarding rule of type + loadBalancingScheme=INTERNAL that should handle matching packets. + \n With the GA provider you can only specify the forwarding + rule as a partial or full URL. For example, the following are + all valid values: * 10.128.0.56 * https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule + * regions/region/forwardingRules/forwardingRule \n When the + beta provider, you can also specify the IP address of a forwarding + rule from the same VPC or any peered VPC. \n Note that this + can only be used when the destinationRange is a public (non-RFC + 1918) IP CIDR range." + type: string + nextHopInstance: + description: 'URL to an instance that should handle matching packets. + You can specify this as a full or partial URL. For example: + * ''https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance'' + * ''projects/project/zones/zone/instances/instance'' * ''zones/zone/instances/instance'' + * Just the instance name, with the zone in ''next_hop_instance_zone''.' + type: string + nextHopInstanceZone: + description: The zone of the instance specified in next_hop_instance. + Omit if next_hop_instance is specified as a URL. + type: string + nextHopIp: + description: Network IP address of an instance that should handle + matching packets. + type: string + nextHopVpnTunnel: + description: URL to a VpnTunnel that should handle matching packets. + type: string + priority: + description: "The priority of this route. Priority is used to + break ties in cases where there is more than one matching route + of equal prefix length. \n In the case of two routes with equal + prefix length, the one with the lowest-numbered priority value + wins. \n Default value is 1000. Valid range is 0 through 65535." + format: int64 + type: integer + project: + type: string + tags: + description: A list of instance tags to which this route applies. + items: + type: string + type: array + required: + - destRange + - name + - network + type: object + 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 + 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 + 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. + 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 + status: + description: RouteStatus defines the observed state of Route. + properties: + atProvider: + properties: + id: + type: string + nextHopNetwork: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_securitypolicies.yaml b/package/crds/compute.gcp.jet.crossplane.io_securitypolicies.yaml new file mode 100644 index 00000000..31a9a2f1 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_securitypolicies.yaml @@ -0,0 +1,268 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: securitypolicies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SecurityPolicy + listKind: SecurityPolicyList + plural: securitypolicies + singular: securitypolicy + 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: SecurityPolicy is the Schema for the SecurityPolicys 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: SecurityPolicySpec defines the desired state of SecurityPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this security policy. + Max size is 2048. + type: string + name: + description: The name of the security policy. + type: string + project: + description: The project in which the resource belongs. If it + is not provided, the provider project is used. + type: string + rule: + description: The set of rules that belong to this policy. There + must always be a default rule (rule with priority 2147483647 + and match "*"). If no rules are provided when creating a security + policy, a default rule with action "allow" will be added. + items: + properties: + action: + description: 'Action to take when match matches the request. + Valid values: "allow" : allow access to target, "deny(status)" + : deny access to target, returns the HTTP response code + specified (valid values are 403, 404 and 502)' + type: string + description: + description: An optional description of this rule. Max size + is 64. + type: string + match: + description: A match condition that incoming traffic is + evaluated against. If it evaluates to true, the corresponding + action is enforced. + items: + properties: + config: + description: The configuration options available when + specifying versioned_expr. This field must be specified + if versioned_expr is specified and cannot be specified + if versioned_expr is not specified. + items: + properties: + srcIpRanges: + description: Set of IP addresses or ranges (IPV4 + or IPV6) in CIDR notation to match against + inbound traffic. There is a limit of 10 IP + ranges per rule. A value of '*' matches all + IPs (can be used to override the default behavior). + items: + type: string + type: array + required: + - srcIpRanges + type: object + type: array + expr: + description: User defined CEVAL expression. A CEVAL + expression is used to specify match criteria such + as origin.ip, source.region_code and contents in + the request header. + items: + properties: + expression: + description: Textual representation of an expression + in Common Expression Language syntax. The + application context of the containing message + determines which well-known feature set of + CEL is supported. + type: string + required: + - expression + type: object + type: array + versionedExpr: + description: 'Predefined rule expression. If this + field is specified, config must also be specified. + Available options: SRC_IPS_V1: Must specify the + corresponding src_ip_ranges field in config.' + type: string + type: object + type: array + preview: + description: When set to true, the action specified above + is not enforced. Stackdriver logs for requests that trigger + a preview action are annotated as such. + type: boolean + priority: + description: An unique positive integer indicating the priority + of evaluation for a rule. Rules are evaluated from highest + priority (lowest numerically) to lowest priority (highest + numerically) in order. + format: int64 + type: integer + required: + - action + - match + - priority + type: object + type: array + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: SecurityPolicyStatus defines the observed state of SecurityPolicy. + properties: + atProvider: + properties: + fingerprint: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_serviceattachments.yaml b/package/crds/compute.gcp.jet.crossplane.io_serviceattachments.yaml new file mode 100644 index 00000000..68af5289 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_serviceattachments.yaml @@ -0,0 +1,243 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: serviceattachments.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServiceAttachment + listKind: ServiceAttachmentList + plural: serviceattachments + singular: serviceattachment + 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: ServiceAttachment is the Schema for the ServiceAttachments 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: ServiceAttachmentSpec defines the desired state of ServiceAttachment + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + connectionPreference: + description: The connection preference to use for this service + attachment. Valid values include "ACCEPT_AUTOMATIC", "ACCEPT_MANUAL". + type: string + consumerAcceptLists: + description: An array of projects that are allowed to connect + to this service attachment. + items: + properties: + connectionLimit: + description: The number of consumer forwarding rules the + consumer project can create. + format: int64 + type: integer + projectIdOrNum: + description: A project that is allowed to connect to this + service attachment. + type: string + required: + - connectionLimit + - projectIdOrNum + type: object + type: array + consumerRejectLists: + description: An array of projects that are not allowed to connect + to this service attachment. + items: + type: string + type: array + description: + description: An optional description of this resource. + type: string + enableProxyProtocol: + description: If true, enable the proxy protocol which is for supplying + client TCP/IP address data in TCP connections that traverse + proxies on their way to destination servers. + type: boolean + name: + description: Name of the resource. The name must be 1-63 characters + long, and comply with RFC1035. Specifically, the name must be + 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + natSubnets: + description: An array of subnets that is provided for NAT in this + service attachment. + items: + type: string + type: array + project: + type: string + region: + description: URL of the region where the resource resides. + type: string + targetService: + description: The URL of a forwarding rule that represents the + service identified by this service attachment. + type: string + required: + - connectionPreference + - enableProxyProtocol + - name + - natSubnets + - targetService + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceAttachmentStatus defines the observed state of ServiceAttachment. + properties: + atProvider: + properties: + connectedEndpoints: + items: + properties: + endpoint: + type: string + status: + type: string + type: object + type: array + fingerprint: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_sharedvpchostprojects.yaml b/package/crds/compute.gcp.jet.crossplane.io_sharedvpchostprojects.yaml new file mode 100644 index 00000000..3ec1ee8d --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_sharedvpchostprojects.yaml @@ -0,0 +1,172 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: sharedvpchostprojects.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SharedVPCHostProject + listKind: SharedVPCHostProjectList + plural: sharedvpchostprojects + singular: sharedvpchostproject + 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: SharedVPCHostProject is the Schema for the SharedVPCHostProjects + 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: SharedVPCHostProjectSpec defines the desired state of SharedVPCHostProject + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + project: + description: The ID of the project that will serve as a Shared + VPC host project + type: string + required: + - project + type: object + 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 + 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 + 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. + 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 + status: + description: SharedVPCHostProjectStatus defines the observed state of + SharedVPCHostProject. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_sharedvpcserviceprojects.yaml b/package/crds/compute.gcp.jet.crossplane.io_sharedvpcserviceprojects.yaml new file mode 100644 index 00000000..77b57152 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_sharedvpcserviceprojects.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: sharedvpcserviceprojects.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SharedVPCServiceProject + listKind: SharedVPCServiceProjectList + plural: sharedvpcserviceprojects + singular: sharedvpcserviceproject + 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: SharedVPCServiceProject is the Schema for the SharedVPCServiceProjects + 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: SharedVPCServiceProjectSpec defines the desired state of + SharedVPCServiceProject + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + hostProject: + description: The ID of a host project to associate. + type: string + serviceProject: + description: The ID of the project that will serve as a Shared + VPC service project. + type: string + required: + - hostProject + - serviceProject + type: object + 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 + 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 + 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. + 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 + status: + description: SharedVPCServiceProjectStatus defines the observed state + of SharedVPCServiceProject. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_snapshots.yaml b/package/crds/compute.gcp.jet.crossplane.io_snapshots.yaml new file mode 100644 index 00000000..fe66c6b4 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_snapshots.yaml @@ -0,0 +1,285 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: snapshots.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Snapshot + listKind: SnapshotList + plural: snapshots + singular: snapshot + 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: Snapshot is the Schema for the Snapshots 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: SnapshotSpec defines the desired state of Snapshot + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. + type: string + labels: + additionalProperties: + type: string + description: Labels to apply to this Snapshot. + type: object + name: + description: Name of the resource; provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + snapshotEncryptionKey: + description: The customer-supplied encryption key of the snapshot. + Required if the source snapshot is protected by a customer-supplied + encryption key. + items: + properties: + kmsKeySelfLink: + description: The name of the encryption key that is stored + in Google Cloud KMS. + type: string + kmsKeyServiceAccount: + description: The service account used for the encryption + request for the given KMS key. If absent, the Compute + Engine Service Agent service account is used. + type: string + rawKeySecretRef: + description: Specifies a 256-bit customer-supplied encryption + key, encoded in RFC 4648 base64 to either encrypt or decrypt + this resource. + 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 + type: object + type: array + sourceDisk: + description: A reference to the disk used to create this snapshot. + type: string + sourceDiskEncryptionKey: + description: The customer-supplied encryption key of the source + snapshot. Required if the source snapshot is protected by a + customer-supplied encryption key. + items: + properties: + kmsKeyServiceAccount: + description: The service account used for the encryption + request for the given KMS key. If absent, the Compute + Engine Service Agent service account is used. + type: string + rawKeySecretRef: + description: Specifies a 256-bit customer-supplied encryption + key, encoded in RFC 4648 base64 to either encrypt or decrypt + this resource. + 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 + type: object + type: array + storageLocations: + description: Cloud Storage bucket storage location of the snapshot + (regional or multi-regional). + items: + type: string + type: array + zone: + description: A reference to the zone where the disk is hosted. + type: string + required: + - name + - sourceDisk + type: object + 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 + 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 + 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. + 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 + status: + description: SnapshotStatus defines the observed state of Snapshot. + properties: + atProvider: + properties: + creationTimestamp: + type: string + diskSizeGb: + format: int64 + type: integer + id: + type: string + labelFingerprint: + type: string + licenses: + items: + type: string + type: array + selfLink: + type: string + snapshotId: + format: int64 + type: integer + storageBytes: + format: int64 + type: integer + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_sslcertificates.yaml b/package/crds/compute.gcp.jet.crossplane.io_sslcertificates.yaml new file mode 100644 index 00000000..13761137 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_sslcertificates.yaml @@ -0,0 +1,229 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: sslcertificates.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SSLCertificate + listKind: SSLCertificateList + plural: sslcertificates + singular: sslcertificate + 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: SSLCertificate is the Schema for the SSLCertificates 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: SSLCertificateSpec defines the desired state of SSLCertificate + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + certificateSecretRef: + description: The certificate in PEM format. The certificate chain + must be no greater than 5 certs long. The chain must include + at least one intermediate cert. + 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 + description: + description: An optional description of this resource. + type: string + name: + description: "Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + \n These are in the same namespace as the managed SSL certificates." + type: string + namePrefix: + description: Creates a unique name beginning with the specified + prefix. Conflicts with name. + type: string + privateKeySecretRef: + description: The write-only private key in PEM format. + 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 + project: + type: string + required: + - certificateSecretRef + - privateKeySecretRef + type: object + 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 + 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 + 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. + 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 + status: + description: SSLCertificateStatus defines the observed state of SSLCertificate. + properties: + atProvider: + properties: + certificateId: + format: int64 + type: integer + creationTimestamp: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_sslpolicies.yaml b/package/crds/compute.gcp.jet.crossplane.io_sslpolicies.yaml new file mode 100644 index 00000000..be00b441 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_sslpolicies.yaml @@ -0,0 +1,220 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: sslpolicies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SSLPolicy + listKind: SSLPolicyList + plural: sslpolicies + singular: sslpolicy + 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: SSLPolicy is the Schema for the SSLPolicys 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: SSLPolicySpec defines the desired state of SSLPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + customFeatures: + description: "Profile specifies the set of SSL features that can + be used by the load balancer when negotiating SSL with clients. + This can be one of 'COMPATIBLE', 'MODERN', 'RESTRICTED', or + 'CUSTOM'. If using 'CUSTOM', the set of SSL features to enable + must be specified in the 'customFeatures' field. \n See the + [official documentation](https://cloud.google.com/compute/docs/load-balancing/ssl-policies#profilefeaturesupport) + for which ciphers are available to use. **Note**: this argument + *must* be present when using the 'CUSTOM' profile. This argument + *must not* be present when using any other profile." + items: + type: string + type: array + description: + description: An optional description of this resource. + type: string + minTlsVersion: + description: 'The minimum version of SSL protocol that can be + used by the clients to establish a connection with the load + balancer. Default value: "TLS_1_0" Possible values: ["TLS_1_0", + "TLS_1_1", "TLS_1_2"]' + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + profile: + description: "Profile specifies the set of SSL features that can + be used by the load balancer when negotiating SSL with clients. + If using 'CUSTOM', the set of SSL features to enable must be + specified in the 'customFeatures' field. \n See the [official + documentation](https://cloud.google.com/compute/docs/load-balancing/ssl-policies#profilefeaturesupport) + for information on what cipher suites each profile provides. + If 'CUSTOM' is used, the 'custom_features' attribute **must + be set**. Default value: \"COMPATIBLE\" Possible values: [\"COMPATIBLE\", + \"MODERN\", \"RESTRICTED\", \"CUSTOM\"]" + type: string + project: + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: SSLPolicyStatus defines the observed state of SSLPolicy. + properties: + atProvider: + properties: + creationTimestamp: + type: string + enabledFeatures: + items: + type: string + type: array + fingerprint: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_subnetworkiambindings.yaml b/package/crds/compute.gcp.jet.crossplane.io_subnetworkiambindings.yaml new file mode 100644 index 00000000..b972c6fa --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_subnetworkiambindings.yaml @@ -0,0 +1,198 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: subnetworkiambindings.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SubnetworkIAMBinding + listKind: SubnetworkIAMBindingList + plural: subnetworkiambindings + singular: subnetworkiambinding + 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: SubnetworkIAMBinding is the Schema for the SubnetworkIAMBindings + 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: SubnetworkIAMBindingSpec defines the desired state of SubnetworkIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + region: + type: string + role: + type: string + subnetwork: + type: string + required: + - members + - role + - subnetwork + type: object + 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 + 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 + 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. + 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 + status: + description: SubnetworkIAMBindingStatus defines the observed state of + SubnetworkIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_subnetworkiammembers.yaml b/package/crds/compute.gcp.jet.crossplane.io_subnetworkiammembers.yaml new file mode 100644 index 00000000..3ec3a0f9 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_subnetworkiammembers.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: subnetworkiammembers.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SubnetworkIAMMember + listKind: SubnetworkIAMMemberList + plural: subnetworkiammembers + singular: subnetworkiammember + 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: SubnetworkIAMMember is the Schema for the SubnetworkIAMMembers + 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: SubnetworkIAMMemberSpec defines the desired state of SubnetworkIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + region: + type: string + role: + type: string + subnetwork: + type: string + required: + - member + - role + - subnetwork + type: object + 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 + 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 + 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. + 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 + status: + description: SubnetworkIAMMemberStatus defines the observed state of SubnetworkIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_subnetworkiampolicies.yaml b/package/crds/compute.gcp.jet.crossplane.io_subnetworkiampolicies.yaml new file mode 100644 index 00000000..d6fb3471 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_subnetworkiampolicies.yaml @@ -0,0 +1,178 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: subnetworkiampolicies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SubnetworkIAMPolicy + listKind: SubnetworkIAMPolicyList + plural: subnetworkiampolicies + singular: subnetworkiampolicy + 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: SubnetworkIAMPolicy is the Schema for the SubnetworkIAMPolicys + 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: SubnetworkIAMPolicySpec defines the desired state of SubnetworkIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + project: + type: string + region: + type: string + subnetwork: + type: string + required: + - policyData + - subnetwork + type: object + 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 + 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 + 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. + 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 + status: + description: SubnetworkIAMPolicyStatus defines the observed state of SubnetworkIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_targetgrpcproxies.yaml b/package/crds/compute.gcp.jet.crossplane.io_targetgrpcproxies.yaml new file mode 100644 index 00000000..51da7e1d --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_targetgrpcproxies.yaml @@ -0,0 +1,205 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: targetgrpcproxies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TargetGRPCProxy + listKind: TargetGRPCProxyList + plural: targetgrpcproxies + singular: targetgrpcproxy + 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: TargetGRPCProxy is the Schema for the TargetGRPCProxys 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: TargetGRPCProxySpec defines the desired state of TargetGRPCProxy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + urlMap: + description: URL to the UrlMap resource that defines the mapping + from URL to the BackendService. The protocol field in the BackendService + must be set to GRPC. + type: string + validateForProxyless: + description: If true, indicates that the BackendServices referenced + by the urlMap may be accessed by gRPC applications without using + a sidecar proxy. This will enable configuration checks on urlMap + and its referenced BackendServices to not allow unsupported + features. A gRPC application must use "xds:///" scheme in the + target URI of the service it is connecting to. If false, indicates + that the BackendServices referenced by the urlMap will be accessed + by gRPC applications via a sidecar proxy. In this case, a gRPC + application must not use "xds:///" scheme in the target URI + of the service it is connecting to + type: boolean + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: TargetGRPCProxyStatus defines the observed state of TargetGRPCProxy. + properties: + atProvider: + properties: + creationTimestamp: + type: string + fingerprint: + type: string + id: + type: string + selfLink: + type: string + selfLinkWithId: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_targethttpproxies.yaml b/package/crds/compute.gcp.jet.crossplane.io_targethttpproxies.yaml new file mode 100644 index 00000000..e6e9f793 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_targethttpproxies.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: targethttpproxies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TargetHTTPProxy + listKind: TargetHTTPProxyList + plural: targethttpproxies + singular: targethttpproxy + 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: TargetHTTPProxy is the Schema for the TargetHTTPProxys 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: TargetHTTPProxySpec defines the desired state of TargetHTTPProxy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + proxyBind: + description: This field only applies when the forwarding rule + that references this target proxy has a loadBalancingScheme + set to INTERNAL_SELF_MANAGED. + type: boolean + urlMap: + description: A reference to the UrlMap resource that defines the + mapping from URL to the BackendService. + type: string + required: + - name + - urlMap + type: object + 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 + 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 + 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. + 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 + status: + description: TargetHTTPProxyStatus defines the observed state of TargetHTTPProxy. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + proxyId: + format: int64 + type: integer + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_targethttpsproxies.yaml b/package/crds/compute.gcp.jet.crossplane.io_targethttpsproxies.yaml new file mode 100644 index 00000000..ece44bd5 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_targethttpsproxies.yaml @@ -0,0 +1,218 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: targethttpsproxies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TargetHTTPSProxy + listKind: TargetHTTPSProxyList + plural: targethttpsproxies + singular: targethttpsproxy + 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: TargetHTTPSProxy is the Schema for the TargetHTTPSProxys 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: TargetHTTPSProxySpec defines the desired state of TargetHTTPSProxy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + proxyBind: + description: This field only applies when the forwarding rule + that references this target proxy has a loadBalancingScheme + set to INTERNAL_SELF_MANAGED. + type: boolean + quicOverride: + description: 'Specifies the QUIC override policy for this resource. + This determines whether the load balancer will attempt to negotiate + QUIC with clients or not. Can specify one of NONE, ENABLE, or + DISABLE. If NONE is specified, uses the QUIC policy with no + user overrides, which is equivalent to DISABLE. Default value: + "NONE" Possible values: ["NONE", "ENABLE", "DISABLE"]' + type: string + sslCertificates: + description: A list of SslCertificate resources that are used + to authenticate connections between users and the load balancer. + At least one SSL certificate must be specified. + items: + type: string + type: array + sslPolicy: + description: A reference to the SslPolicy resource that will be + associated with the TargetHttpsProxy resource. If not set, the + TargetHttpsProxy resource will not have any SSL policy configured. + type: string + urlMap: + description: A reference to the UrlMap resource that defines the + mapping from URL to the BackendService. + type: string + required: + - name + - sslCertificates + - urlMap + type: object + 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 + 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 + 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. + 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 + status: + description: TargetHTTPSProxyStatus defines the observed state of TargetHTTPSProxy. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + proxyId: + format: int64 + type: integer + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_targetinstances.yaml b/package/crds/compute.gcp.jet.crossplane.io_targetinstances.yaml new file mode 100644 index 00000000..33c47df4 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_targetinstances.yaml @@ -0,0 +1,201 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: targetinstances.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TargetInstance + listKind: TargetInstanceList + plural: targetinstances + singular: targetinstance + 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: TargetInstance is the Schema for the TargetInstances 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: TargetInstanceSpec defines the desired state of TargetInstance + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. + type: string + instance: + description: The Compute instance VM handling traffic for this + target instance. Accepts the instance self-link, relative path + (e.g. 'projects/project/zones/zone/instances/instance') or name. + If name is given, the zone will default to the given zone or + the provider-default zone and the project will default to the + provider-level project. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + natPolicy: + description: 'NAT option controlling how IPs are NAT''ed to the + instance. Currently only NO_NAT (default value) is supported. + Default value: "NO_NAT" Possible values: ["NO_NAT"]' + type: string + project: + type: string + zone: + description: URL of the zone where the target instance resides. + type: string + required: + - instance + - name + type: object + 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 + 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 + 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. + 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 + status: + description: TargetInstanceStatus defines the observed state of TargetInstance. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_targetpools.yaml b/package/crds/compute.gcp.jet.crossplane.io_targetpools.yaml new file mode 100644 index 00000000..7da6e4b7 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_targetpools.yaml @@ -0,0 +1,210 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: targetpools.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TargetPool + listKind: TargetPoolList + plural: targetpools + singular: targetpool + 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: TargetPool is the Schema for the TargetPools 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: TargetPoolSpec defines the desired state of TargetPool + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + backupPool: + description: URL to the backup target pool. Must also set failover_ratio. + type: string + description: + description: Textual description field. + type: string + failoverRatio: + description: Ratio (0 to 1) of failed nodes before using the backup + pool (which must also be set). + type: number + healthChecks: + description: List of zero or one health check name or self_link. + Only legacy google_compute_http_health_check is supported. + items: + type: string + type: array + instances: + description: List of instances in the pool. They can be given + as URLs, or in the form of "zone/name". Note that the instances + need not exist at the time of target pool creation, so there + is no need to use the Terraform interpolators to create a dependency + on the instances from the target pool. + items: + type: string + type: array + name: + description: A unique name for the resource, required by GCE. + Changing this forces a new resource to be created. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + region: + description: Where the target pool resides. Defaults to project + region. + type: string + sessionAffinity: + description: How to distribute load. Options are "NONE" (no affinity). + "CLIENT_IP" (hash of the source/dest addresses / ports), and + "CLIENT_IP_PROTO" also includes the protocol (default "NONE"). + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: TargetPoolStatus defines the observed state of TargetPool. + properties: + atProvider: + properties: + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_targetsslproxies.yaml b/package/crds/compute.gcp.jet.crossplane.io_targetsslproxies.yaml new file mode 100644 index 00000000..8dfcb3c1 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_targetsslproxies.yaml @@ -0,0 +1,209 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: targetsslproxies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TargetSSLProxy + listKind: TargetSSLProxyList + plural: targetsslproxies + singular: targetsslproxy + 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: TargetSSLProxy is the Schema for the TargetSSLProxys 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: TargetSSLProxySpec defines the desired state of TargetSSLProxy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + backendService: + description: A reference to the BackendService resource. + type: string + description: + description: An optional description of this resource. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + proxyHeader: + description: 'Specifies the type of proxy header to append before + sending data to the backend. Default value: "NONE" Possible + values: ["NONE", "PROXY_V1"]' + type: string + sslCertificates: + description: A list of SslCertificate resources that are used + to authenticate connections between users and the load balancer. + At least one SSL certificate must be specified. + items: + type: string + type: array + sslPolicy: + description: A reference to the SslPolicy resource that will be + associated with the TargetSslProxy resource. If not set, the + TargetSslProxy resource will not have any SSL policy configured. + type: string + required: + - backendService + - name + - sslCertificates + type: object + 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 + 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 + 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. + 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 + status: + description: TargetSSLProxyStatus defines the observed state of TargetSSLProxy. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + proxyId: + format: int64 + type: integer + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_targettcpproxies.yaml b/package/crds/compute.gcp.jet.crossplane.io_targettcpproxies.yaml new file mode 100644 index 00000000..088f8a4b --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_targettcpproxies.yaml @@ -0,0 +1,201 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: targettcpproxies.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TargetTCPProxy + listKind: TargetTCPProxyList + plural: targettcpproxies + singular: targettcpproxy + 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: TargetTCPProxy is the Schema for the TargetTCPProxys 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: TargetTCPProxySpec defines the desired state of TargetTCPProxy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + backendService: + description: A reference to the BackendService resource. + type: string + description: + description: An optional description of this resource. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + project: + type: string + proxyBind: + description: This field only applies when the forwarding rule + that references this target proxy has a loadBalancingScheme + set to INTERNAL_SELF_MANAGED. + type: boolean + proxyHeader: + description: 'Specifies the type of proxy header to append before + sending data to the backend. Default value: "NONE" Possible + values: ["NONE", "PROXY_V1"]' + type: string + required: + - backendService + - name + type: object + 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 + 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 + 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. + 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 + status: + description: TargetTCPProxyStatus defines the observed state of TargetTCPProxy. + properties: + atProvider: + properties: + creationTimestamp: + type: string + id: + type: string + proxyId: + format: int64 + type: integer + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_urlmaps.yaml b/package/crds/compute.gcp.jet.crossplane.io_urlmaps.yaml new file mode 100644 index 00000000..c8473253 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_urlmaps.yaml @@ -0,0 +1,2705 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: urlmaps.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: URLMap + listKind: URLMapList + plural: urlmaps + singular: urlmap + 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: URLMap is the Schema for the URLMaps 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: URLMapSpec defines the desired state of URLMap + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + defaultRouteAction: + description: "defaultRouteAction takes effect when none of the + hostRules match. The load balancer performs advanced routing + actions like URL rewrites, header transformations, etc. prior + to forwarding the request to the selected backend. If defaultRouteAction + specifies any weightedBackendServices, defaultService must not + be set. Conversely if defaultService is set, defaultRouteAction + cannot contain any weightedBackendServices. \n Only one of defaultRouteAction + or defaultUrlRedirect must be set." + items: + properties: + corsPolicy: + description: The specification for allowing client side + cross-origin requests. Please see [W3C Recommendation + for Cross Origin Resource Sharing](https://www.w3.org/TR/cors/) + items: + properties: + allowCredentials: + description: In response to a preflight request, setting + this to true indicates that the actual request can + include user credentials. This translates to the + Access-Control-Allow-Credentials header. + type: boolean + allowHeaders: + description: Specifies the content for the Access-Control-Allow-Headers + header. + items: + type: string + type: array + allowMethods: + description: Specifies the content for the Access-Control-Allow-Methods + header. + items: + type: string + type: array + allowOriginRegexes: + description: Specifies the regular expression patterns + that match allowed origins. For regular expression + grammar please see en.cppreference.com/w/cpp/regex/ecmascript + An origin is allowed if it matches either an item + in allowOrigins or an item in allowOriginRegexes. + items: + type: string + type: array + allowOrigins: + description: Specifies the list of origins that will + be allowed to do CORS requests. An origin is allowed + if it matches either an item in allowOrigins or + an item in allowOriginRegexes. + items: + type: string + type: array + disabled: + description: If true, specifies the CORS policy is + disabled. The default value is false, which indicates + that the CORS policy is in effect. + type: boolean + exposeHeaders: + description: Specifies the content for the Access-Control-Expose-Headers + header. + items: + type: string + type: array + maxAge: + description: Specifies how long results of a preflight + request can be cached in seconds. This translates + to the Access-Control-Max-Age header. + format: int64 + type: integer + type: object + type: array + faultInjectionPolicy: + description: "The specification for fault injection introduced + into traffic to test the resiliency of clients to backend + service failure. As part of fault injection, when clients + send requests to a backend service, delays can be introduced + by Loadbalancer on a percentage of requests before sending + those request to the backend service. Similarly requests + from clients can be aborted by the Loadbalancer for a + percentage of requests. \n timeout and retryPolicy will + be ignored by clients that are configured with a faultInjectionPolicy." + items: + properties: + abort: + description: The specification for how client requests + are aborted as part of fault injection. + items: + properties: + httpStatus: + description: The HTTP status code used to abort + the request. The value must be between 200 + and 599 inclusive. + format: int64 + type: integer + percentage: + description: The percentage of traffic (connections/operations/requests) + which will be aborted as part of fault injection. + The value must be between 0.0 and 100.0 inclusive. + type: number + type: object + type: array + delay: + description: The specification for how client requests + are delayed as part of fault injection, before being + sent to a backend service. + items: + properties: + fixedDelay: + description: Specifies the value of the fixed + delay interval. + items: + properties: + nanos: + description: Span of time that's a fraction + of a second at nanosecond resolution. + Durations less than one second are represented + with a 0 seconds field and a positive + nanos field. Must be from 0 to 999,999,999 + inclusive. + format: int64 + type: integer + seconds: + description: 'Span of time at a resolution + of a second. Must be from 0 to 315,576,000,000 + inclusive. Note: these bounds are computed + from: 60 sec/min * 60 min/hr * 24 hr/day + * 365.25 days/year * 10000 years' + type: string + type: object + type: array + percentage: + description: The percentage of traffic (connections/operations/requests) + on which delay will be introduced as part + of fault injection. The value must be between + 0.0 and 100.0 inclusive. + type: number + type: object + type: array + type: object + type: array + requestMirrorPolicy: + description: Specifies the policy on how requests intended + for the route's backends are shadowed to a separate mirrored + backend service. Loadbalancer does not wait for responses + from the shadow service. Prior to sending traffic to the + shadow service, the host / authority header is suffixed + with -shadow. + items: + properties: + backendService: + description: The full or partial URL to the BackendService + resource being mirrored to. + type: string + required: + - backendService + type: object + type: array + retryPolicy: + description: Specifies the retry policy associated with + this route. + items: + properties: + numRetries: + description: Specifies the allowed number retries. + This number must be > 0. If not specified, defaults + to 1. + format: int64 + type: integer + perTryTimeout: + description: "Specifies a non-zero timeout per retry + attempt. \n If not specified, will use the timeout + set in HttpRouteAction. If timeout in HttpRouteAction + is not set, will use the largest timeout among all + backend services associated with the route." + items: + properties: + nanos: + description: Span of time that's a fraction + of a second at nanosecond resolution. Durations + less than one second are represented with + a 0 seconds field and a positive nanos field. + Must be from 0 to 999,999,999 inclusive. + format: int64 + type: integer + seconds: + description: 'Span of time at a resolution of + a second. Must be from 0 to 315,576,000,000 + inclusive. Note: these bounds are computed + from: 60 sec/min * 60 min/hr * 24 hr/day * + 365.25 days/year * 10000 years' + type: string + type: object + type: array + retryConditions: + description: "Specfies one or more conditions when + this retry rule applies. Valid values are: \n * + 5xx: Loadbalancer will attempt a retry if the backend + service responds with any 5xx response code, or + if the backend service does not respond at all, + example: disconnects, reset, read timeout, * connection + failure, and refused streams. * gateway-error: Similar + to 5xx, but only applies to response codes 502, + 503 or 504. * connect-failure: Loadbalancer will + retry on failures connecting to backend services, + for example due to connection timeouts. * retriable-4xx: + Loadbalancer will retry for retriable 4xx response + codes. Currently the only retriable error supported + is 409. * refused-stream:Loadbalancer will retry + if the backend service resets the stream with a + REFUSED_STREAM error code. This reset type indicates + that it is safe to retry. * cancelled: Loadbalancer + will retry if the gRPC status code in the response + header is set to cancelled * deadline-exceeded: + Loadbalancer will retry if the gRPC status code + in the response header is set to deadline-exceeded + * resource-exhausted: Loadbalancer will retry if + the gRPC status code in the response header is set + to resource-exhausted * unavailable: Loadbalancer + will retry if the gRPC status code in the response + header is set to unavailable" + items: + type: string + type: array + type: object + type: array + timeout: + description: "Specifies the timeout for the selected route. + Timeout is computed from the time the request has been + fully processed (i.e. end-of-stream) up until the response + has been completely processed. Timeout includes all retries. + \n If not specified, will use the largest timeout among + all backend services associated with the route." + items: + properties: + nanos: + description: Span of time that's a fraction of a second + at nanosecond resolution. Durations less than one + second are represented with a 0 seconds field and + a positive nanos field. Must be from 0 to 999,999,999 + inclusive. + format: int64 + type: integer + seconds: + description: 'Span of time at a resolution of a second. + Must be from 0 to 315,576,000,000 inclusive. Note: + these bounds are computed from: 60 sec/min * 60 + min/hr * 24 hr/day * 365.25 days/year * 10000 years' + type: string + type: object + type: array + urlRewrite: + description: The spec to modify the URL of the request, + prior to forwarding the request to the matched service. + items: + properties: + hostRewrite: + description: "Prior to forwarding the request to the + selected service, the request's host header is replaced + with contents of hostRewrite. \n The value must + be between 1 and 255 characters." + type: string + pathPrefixRewrite: + description: "Prior to forwarding the request to the + selected backend service, the matching portion of + the request's path is replaced by pathPrefixRewrite. + \n The value must be between 1 and 1024 characters." + type: string + type: object + type: array + weightedBackendServices: + description: "A list of weighted backend services to send + traffic to when a route match occurs. The weights determine + the fraction of traffic that flows to their corresponding + backend service. If all traffic needs to go to a single + backend service, there must be one weightedBackendService + with weight set to a non 0 number. \n Once a backendService + is identified and before forwarding the request to the + backend service, advanced routing actions like Url rewrites + and header transformations are applied depending on additional + settings specified in this HttpRouteAction." + items: + properties: + backendService: + description: The full or partial URL to the default + BackendService resource. Before forwarding the request + to backendService, the loadbalancer applies any + relevant headerActions specified as part of this + backendServiceWeight. + type: string + headerAction: + description: "Specifies changes to request and response + headers that need to take effect for the selected + backendService. \n headerAction specified here take + effect before headerAction in the enclosing HttpRouteRule, + PathMatcher and UrlMap." + items: + properties: + requestHeadersToAdd: + description: Headers to add to a matching request + prior to forwarding the request to the backendService. + items: + properties: + headerName: + description: The name of the header to + add. + type: string + headerValue: + description: The value of the header to + add. + type: string + replace: + description: If false, headerValue is + appended to any values that already + exist for the header. If true, headerValue + is set for the header, discarding any + values that were set for that header. + type: boolean + type: object + type: array + requestHeadersToRemove: + description: A list of header names for headers + that need to be removed from the request prior + to forwarding the request to the backendService. + items: + type: string + type: array + responseHeadersToAdd: + description: Headers to add the response prior + to sending the response back to the client. + items: + properties: + headerName: + description: The name of the header to + add. + type: string + headerValue: + description: The value of the header to + add. + type: string + replace: + description: If false, headerValue is + appended to any values that already + exist for the header. If true, headerValue + is set for the header, discarding any + values that were set for that header. + type: boolean + type: object + type: array + responseHeadersToRemove: + description: A list of header names for headers + that need to be removed from the response + prior to sending the response back to the + client. + items: + type: string + type: array + type: object + type: array + weight: + description: "Specifies the fraction of traffic sent + to backendService, computed as weight / (sum of + all weightedBackendService weights in routeAction) + . \n The selection of a backend service is determined + only for new traffic. Once a user's request has + been directed to a backendService, subsequent requests + will be sent to the same backendService as determined + by the BackendService's session affinity policy. + \n The value must be between 0 and 1000" + format: int64 + type: integer + type: object + type: array + type: object + type: array + defaultService: + description: The backend service or backend bucket to use when + none of the given rules match. + type: string + defaultUrlRedirect: + description: When none of the specified hostRules match, the request + is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect + is specified, defaultService or defaultRouteAction must not + be set. + items: + properties: + hostRedirect: + description: The host that will be used in the redirect + response instead of the one that was supplied in the request. + The value must be between 1 and 255 characters. + type: string + httpsRedirect: + description: If set to true, the URL scheme in the redirected + request is set to https. If set to false, the URL scheme + of the redirected request will remain the same as that + of the request. This must only be set for UrlMaps used + in TargetHttpProxys. Setting this true for TargetHttpsProxy + is not permitted. The default is set to false. + type: boolean + pathRedirect: + description: The path that will be used in the redirect + response instead of the one that was supplied in the request. + pathRedirect cannot be supplied together with prefixRedirect. + Supply one alone or neither. If neither is supplied, the + path of the original request will be used for the redirect. + The value must be between 1 and 1024 characters. + type: string + prefixRedirect: + description: The prefix that replaces the prefixMatch specified + in the HttpRouteRuleMatch, retaining the remaining portion + of the URL before redirecting the request. prefixRedirect + cannot be supplied together with pathRedirect. Supply + one alone or neither. If neither is supplied, the path + of the original request will be used for the redirect. + The value must be between 1 and 1024 characters. + type: string + redirectResponseCode: + description: "The HTTP Status code to use for this RedirectAction. + Supported values are: \n * MOVED_PERMANENTLY_DEFAULT, + which is the default value and corresponds to 301. \n + * FOUND, which corresponds to 302. \n * SEE_OTHER which + corresponds to 303. \n * TEMPORARY_REDIRECT, which corresponds + to 307. In this case, the request method will be retained. + \n * PERMANENT_REDIRECT, which corresponds to 308. In + this case, the request method will be retained. Possible + values: [\"FOUND\", \"MOVED_PERMANENTLY_DEFAULT\", \"PERMANENT_REDIRECT\", + \"SEE_OTHER\", \"TEMPORARY_REDIRECT\"]" + type: string + stripQuery: + description: If set to true, any accompanying query portion + of the original URL is removed prior to redirecting the + request. If set to false, the query portion of the original + URL is retained. The default is set to false. This field + is required to ensure an empty block is not set. The normal + default value is false. + type: boolean + required: + - stripQuery + type: object + type: array + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + headerAction: + description: Specifies changes to request and response headers + that need to take effect for the selected backendService. The + headerAction specified here take effect after headerAction specified + under pathMatcher. + items: + properties: + requestHeadersToAdd: + description: Headers to add to a matching request prior + to forwarding the request to the backendService. + items: + properties: + headerName: + description: The name of the header. + type: string + headerValue: + description: The value of the header to add. + type: string + replace: + description: If false, headerValue is appended to + any values that already exist for the header. If + true, headerValue is set for the header, discarding + any values that were set for that header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + requestHeadersToRemove: + description: A list of header names for headers that need + to be removed from the request prior to forwarding the + request to the backendService. + items: + type: string + type: array + responseHeadersToAdd: + description: Headers to add the response prior to sending + the response back to the client. + items: + properties: + headerName: + description: The name of the header. + type: string + headerValue: + description: The value of the header to add. + type: string + replace: + description: If false, headerValue is appended to + any values that already exist for the header. If + true, headerValue is set for the header, discarding + any values that were set for that header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + responseHeadersToRemove: + description: A list of header names for headers that need + to be removed from the response prior to sending the response + back to the client. + items: + type: string + type: array + type: object + type: array + hostRule: + description: The list of HostRules to use against the URL. + items: + properties: + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + hosts: + description: The list of host patterns to match. They must + be valid hostnames, except * will match any string of + ([a-z0-9-.]*). In that case, * must be the first character + and must be followed in the pattern by either - or .. + items: + type: string + type: array + pathMatcher: + description: The name of the PathMatcher to use to match + the path portion of the URL if the hostRule matches the + URL's host portion. + type: string + required: + - hosts + - pathMatcher + type: object + type: array + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + pathMatcher: + description: The list of named PathMatchers to use against the + URL. + items: + properties: + defaultRouteAction: + description: "defaultRouteAction takes effect when none + of the pathRules or routeRules match. The load balancer + performs advanced routing actions like URL rewrites, header + transformations, etc. prior to forwarding the request + to the selected backend. If defaultRouteAction specifies + any weightedBackendServices, defaultService must not be + set. Conversely if defaultService is set, defaultRouteAction + cannot contain any weightedBackendServices. \n Only one + of defaultRouteAction or defaultUrlRedirect must be set." + items: + properties: + corsPolicy: + description: The specification for allowing client + side cross-origin requests. Please see [W3C Recommendation + for Cross Origin Resource Sharing](https://www.w3.org/TR/cors/) + items: + properties: + allowCredentials: + description: In response to a preflight request, + setting this to true indicates that the actual + request can include user credentials. This + translates to the Access-Control-Allow-Credentials + header. + type: boolean + allowHeaders: + description: Specifies the content for the Access-Control-Allow-Headers + header. + items: + type: string + type: array + allowMethods: + description: Specifies the content for the Access-Control-Allow-Methods + header. + items: + type: string + type: array + allowOriginRegexes: + description: Specifies the regular expression + patterns that match allowed origins. For regular + expression grammar please see en.cppreference.com/w/cpp/regex/ecmascript + An origin is allowed if it matches either + an item in allowOrigins or an item in allowOriginRegexes. + items: + type: string + type: array + allowOrigins: + description: Specifies the list of origins that + will be allowed to do CORS requests. An origin + is allowed if it matches either an item in + allowOrigins or an item in allowOriginRegexes. + items: + type: string + type: array + disabled: + description: If true, specifies the CORS policy + is disabled. The default value is false, which + indicates that the CORS policy is in effect. + type: boolean + exposeHeaders: + description: Specifies the content for the Access-Control-Expose-Headers + header. + items: + type: string + type: array + maxAge: + description: Specifies how long results of a + preflight request can be cached in seconds. + This translates to the Access-Control-Max-Age + header. + format: int64 + type: integer + type: object + type: array + faultInjectionPolicy: + description: "The specification for fault injection + introduced into traffic to test the resiliency of + clients to backend service failure. As part of fault + injection, when clients send requests to a backend + service, delays can be introduced by Loadbalancer + on a percentage of requests before sending those + request to the backend service. Similarly requests + from clients can be aborted by the Loadbalancer + for a percentage of requests. \n timeout and retryPolicy + will be ignored by clients that are configured with + a faultInjectionPolicy." + items: + properties: + abort: + description: The specification for how client + requests are aborted as part of fault injection. + items: + properties: + httpStatus: + description: The HTTP status code used + to abort the request. The value must + be between 200 and 599 inclusive. + format: int64 + type: integer + percentage: + description: The percentage of traffic + (connections/operations/requests) which + will be aborted as part of fault injection. + The value must be between 0.0 and 100.0 + inclusive. + type: number + type: object + type: array + delay: + description: The specification for how client + requests are delayed as part of fault injection, + before being sent to a backend service. + items: + properties: + fixedDelay: + description: Specifies the value of the + fixed delay interval. + items: + properties: + nanos: + description: Span of time that's + a fraction of a second at nanosecond + resolution. Durations less than + one second are represented with + a 0 seconds field and a positive + nanos field. Must be from 0 to + 999,999,999 inclusive. + format: int64 + type: integer + seconds: + description: 'Span of time at a + resolution of a second. Must be + from 0 to 315,576,000,000 inclusive. + Note: these bounds are computed + from: 60 sec/min * 60 min/hr * + 24 hr/day * 365.25 days/year * + 10000 years' + type: string + type: object + type: array + percentage: + description: The percentage of traffic + (connections/operations/requests) on + which delay will be introduced as part + of fault injection. The value must be + between 0.0 and 100.0 inclusive. + type: number + type: object + type: array + type: object + type: array + requestMirrorPolicy: + description: Specifies the policy on how requests + intended for the route's backends are shadowed to + a separate mirrored backend service. Loadbalancer + does not wait for responses from the shadow service. + Prior to sending traffic to the shadow service, + the host / authority header is suffixed with -shadow. + items: + properties: + backendService: + description: The full or partial URL to the + BackendService resource being mirrored to. + type: string + required: + - backendService + type: object + type: array + retryPolicy: + description: Specifies the retry policy associated + with this route. + items: + properties: + numRetries: + description: Specifies the allowed number retries. + This number must be > 0. If not specified, + defaults to 1. + format: int64 + type: integer + perTryTimeout: + description: "Specifies a non-zero timeout per + retry attempt. \n If not specified, will use + the timeout set in HttpRouteAction. If timeout + in HttpRouteAction is not set, will use the + largest timeout among all backend services + associated with the route." + items: + properties: + nanos: + description: Span of time that's a fraction + of a second at nanosecond resolution. + Durations less than one second are represented + with a 0 seconds field and a positive + nanos field. Must be from 0 to 999,999,999 + inclusive. + format: int64 + type: integer + seconds: + description: 'Span of time at a resolution + of a second. Must be from 0 to 315,576,000,000 + inclusive. Note: these bounds are computed + from: 60 sec/min * 60 min/hr * 24 hr/day + * 365.25 days/year * 10000 years' + type: string + type: object + type: array + retryConditions: + description: "Specfies one or more conditions + when this retry rule applies. Valid values + are: \n * 5xx: Loadbalancer will attempt a + retry if the backend service responds with + any 5xx response code, or if the backend service + does not respond at all, example: disconnects, + reset, read timeout, * connection failure, + and refused streams. * gateway-error: Similar + to 5xx, but only applies to response codes + 502, 503 or 504. * connect-failure: Loadbalancer + will retry on failures connecting to backend + services, for example due to connection timeouts. + * retriable-4xx: Loadbalancer will retry for + retriable 4xx response codes. Currently the + only retriable error supported is 409. * refused-stream:Loadbalancer + will retry if the backend service resets the + stream with a REFUSED_STREAM error code. This + reset type indicates that it is safe to retry. + * cancelled: Loadbalancer will retry if the + gRPC status code in the response header is + set to cancelled * deadline-exceeded: Loadbalancer + will retry if the gRPC status code in the + response header is set to deadline-exceeded + * resource-exhausted: Loadbalancer will retry + if the gRPC status code in the response header + is set to resource-exhausted * unavailable: + Loadbalancer will retry if the gRPC status + code in the response header is set to unavailable" + items: + type: string + type: array + type: object + type: array + timeout: + description: "Specifies the timeout for the selected + route. Timeout is computed from the time the request + has been fully processed (i.e. end-of-stream) up + until the response has been completely processed. + Timeout includes all retries. \n If not specified, + will use the largest timeout among all backend services + associated with the route." + items: + properties: + nanos: + description: Span of time that's a fraction + of a second at nanosecond resolution. Durations + less than one second are represented with + a 0 seconds field and a positive nanos field. + Must be from 0 to 999,999,999 inclusive. + format: int64 + type: integer + seconds: + description: 'Span of time at a resolution of + a second. Must be from 0 to 315,576,000,000 + inclusive. Note: these bounds are computed + from: 60 sec/min * 60 min/hr * 24 hr/day * + 365.25 days/year * 10000 years' + type: string + type: object + type: array + urlRewrite: + description: The spec to modify the URL of the request, + prior to forwarding the request to the matched service. + items: + properties: + hostRewrite: + description: "Prior to forwarding the request + to the selected service, the request's host + header is replaced with contents of hostRewrite. + \n The value must be between 1 and 255 characters." + type: string + pathPrefixRewrite: + description: "Prior to forwarding the request + to the selected backend service, the matching + portion of the request's path is replaced + by pathPrefixRewrite. \n The value must be + between 1 and 1024 characters." + type: string + type: object + type: array + weightedBackendServices: + description: "A list of weighted backend services + to send traffic to when a route match occurs. The + weights determine the fraction of traffic that flows + to their corresponding backend service. If all traffic + needs to go to a single backend service, there must + be one weightedBackendService with weight set to + a non 0 number. \n Once a backendService is identified + and before forwarding the request to the backend + service, advanced routing actions like Url rewrites + and header transformations are applied depending + on additional settings specified in this HttpRouteAction." + items: + properties: + backendService: + description: The full or partial URL to the + default BackendService resource. Before forwarding + the request to backendService, the loadbalancer + applies any relevant headerActions specified + as part of this backendServiceWeight. + type: string + headerAction: + description: "Specifies changes to request and + response headers that need to take effect + for the selected backendService. \n headerAction + specified here take effect before headerAction + in the enclosing HttpRouteRule, PathMatcher + and UrlMap." + items: + properties: + requestHeadersToAdd: + description: Headers to add to a matching + request prior to forwarding the request + to the backendService. + items: + properties: + headerName: + description: The name of the header + to add. + type: string + headerValue: + description: The value of the header + to add. + type: string + replace: + description: If false, headerValue + is appended to any values that + already exist for the header. + If true, headerValue is set for + the header, discarding any values + that were set for that header. + type: boolean + type: object + type: array + requestHeadersToRemove: + description: A list of header names for + headers that need to be removed from + the request prior to forwarding the + request to the backendService. + items: + type: string + type: array + responseHeadersToAdd: + description: Headers to add the response + prior to sending the response back to + the client. + items: + properties: + headerName: + description: The name of the header + to add. + type: string + headerValue: + description: The value of the header + to add. + type: string + replace: + description: If false, headerValue + is appended to any values that + already exist for the header. + If true, headerValue is set for + the header, discarding any values + that were set for that header. + type: boolean + type: object + type: array + responseHeadersToRemove: + description: A list of header names for + headers that need to be removed from + the response prior to sending the response + back to the client. + items: + type: string + type: array + type: object + type: array + weight: + description: "Specifies the fraction of traffic + sent to backendService, computed as weight + / (sum of all weightedBackendService weights + in routeAction) . \n The selection of a backend + service is determined only for new traffic. + Once a user's request has been directed to + a backendService, subsequent requests will + be sent to the same backendService as determined + by the BackendService's session affinity policy. + \n The value must be between 0 and 1000" + format: int64 + type: integer + type: object + type: array + type: object + type: array + defaultService: + description: The backend service or backend bucket to use + when none of the given paths match. + type: string + defaultUrlRedirect: + description: When none of the specified hostRules match, + the request is redirected to a URL specified by defaultUrlRedirect. + If defaultUrlRedirect is specified, defaultService or + defaultRouteAction must not be set. + items: + properties: + hostRedirect: + description: The host that will be used in the redirect + response instead of the one that was supplied in + the request. The value must be between 1 and 255 + characters. + type: string + httpsRedirect: + description: If set to true, the URL scheme in the + redirected request is set to https. If set to false, + the URL scheme of the redirected request will remain + the same as that of the request. This must only + be set for UrlMaps used in TargetHttpProxys. Setting + this true for TargetHttpsProxy is not permitted. + The default is set to false. + type: boolean + pathRedirect: + description: The path that will be used in the redirect + response instead of the one that was supplied in + the request. pathRedirect cannot be supplied together + with prefixRedirect. Supply one alone or neither. + If neither is supplied, the path of the original + request will be used for the redirect. The value + must be between 1 and 1024 characters. + type: string + prefixRedirect: + description: The prefix that replaces the prefixMatch + specified in the HttpRouteRuleMatch, retaining the + remaining portion of the URL before redirecting + the request. prefixRedirect cannot be supplied together + with pathRedirect. Supply one alone or neither. + If neither is supplied, the path of the original + request will be used for the redirect. The value + must be between 1 and 1024 characters. + type: string + redirectResponseCode: + description: "The HTTP Status code to use for this + RedirectAction. Supported values are: \n * MOVED_PERMANENTLY_DEFAULT, + which is the default value and corresponds to 301. + \n * FOUND, which corresponds to 302. \n * SEE_OTHER + which corresponds to 303. \n * TEMPORARY_REDIRECT, + which corresponds to 307. In this case, the request + method will be retained. \n * PERMANENT_REDIRECT, + which corresponds to 308. In this case, the request + method will be retained. Possible values: [\"FOUND\", + \"MOVED_PERMANENTLY_DEFAULT\", \"PERMANENT_REDIRECT\", + \"SEE_OTHER\", \"TEMPORARY_REDIRECT\"]" + type: string + stripQuery: + description: If set to true, any accompanying query + portion of the original URL is removed prior to + redirecting the request. If set to false, the query + portion of the original URL is retained. This field + is required to ensure an empty block is not set. + The normal default value is false. + type: boolean + required: + - stripQuery + type: object + type: array + description: + description: An optional description of this resource. Provide + this property when you create the resource. + type: string + headerAction: + description: Specifies changes to request and response headers + that need to take effect for the selected backendService. + HeaderAction specified here are applied after the matching + HttpRouteRule HeaderAction and before the HeaderAction + in the UrlMap + items: + properties: + requestHeadersToAdd: + description: Headers to add to a matching request + prior to forwarding the request to the backendService. + items: + properties: + headerName: + description: The name of the header. + type: string + headerValue: + description: The value of the header to add. + type: string + replace: + description: If false, headerValue is appended + to any values that already exist for the header. + If true, headerValue is set for the header, + discarding any values that were set for that + header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + requestHeadersToRemove: + description: A list of header names for headers that + need to be removed from the request prior to forwarding + the request to the backendService. + items: + type: string + type: array + responseHeadersToAdd: + description: Headers to add the response prior to + sending the response back to the client. + items: + properties: + headerName: + description: The name of the header. + type: string + headerValue: + description: The value of the header to add. + type: string + replace: + description: If false, headerValue is appended + to any values that already exist for the header. + If true, headerValue is set for the header, + discarding any values that were set for that + header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + responseHeadersToRemove: + description: A list of header names for headers that + need to be removed from the response prior to sending + the response back to the client. + items: + type: string + type: array + type: object + type: array + name: + description: The name to which this PathMatcher is referred + by the HostRule. + type: string + pathRule: + description: 'The list of path rules. Use this list instead + of routeRules when routing based on simple path matching + is all that''s required. The order by which path rules + are specified does not matter. Matches are always done + on the longest-path-first basis. For example: a pathRule + with a path /a/b/c/* will match before /a/b/* irrespective + of the order in which those paths appear in this list. + Within a given pathMatcher, only one of pathRules or routeRules + must be set.' + items: + properties: + paths: + description: 'The list of path patterns to match. + Each must start with / and the only place a \* is + allowed is at the end following a /. The string + fed to the path matcher does not include any text + after the first ? or #, and those chars are not + allowed here.' + items: + type: string + type: array + routeAction: + description: In response to a matching path, the load + balancer performs advanced routing actions like + URL rewrites, header transformations, etc. prior + to forwarding the request to the selected backend. + If routeAction specifies any weightedBackendServices, + service must not be set. Conversely if service is + set, routeAction cannot contain any weightedBackendServices. + Only one of routeAction or urlRedirect must be set. + items: + properties: + corsPolicy: + description: The specification for allowing + client side cross-origin requests. Please + see W3C Recommendation for Cross Origin Resource + Sharing + items: + properties: + allowCredentials: + description: In response to a preflight + request, setting this to true indicates + that the actual request can include + user credentials. This translates to + the Access- Control-Allow-Credentials + header. Defaults to false. + type: boolean + allowHeaders: + description: Specifies the content for + the Access-Control-Allow-Headers header. + items: + type: string + type: array + allowMethods: + description: Specifies the content for + the Access-Control-Allow-Methods header. + items: + type: string + type: array + allowOriginRegexes: + description: Specifies the regular expression + patterns that match allowed origins. + For regular expression grammar please + see en.cppreference.com/w/cpp/regex/ecmascript + An origin is allowed if it matches either + allow_origins or allow_origin_regex. + items: + type: string + type: array + allowOrigins: + description: Specifies the list of origins + that will be allowed to do CORS requests. + An origin is allowed if it matches either + allow_origins or allow_origin_regex. + items: + type: string + type: array + disabled: + description: If true, specifies the CORS + policy is disabled. + type: boolean + exposeHeaders: + description: Specifies the content for + the Access-Control-Expose-Headers header. + items: + type: string + type: array + maxAge: + description: Specifies how long the results + of a preflight request can be cached. + This translates to the content for the + Access-Control-Max-Age header. + format: int64 + type: integer + required: + - disabled + type: object + type: array + faultInjectionPolicy: + description: The specification for fault injection + introduced into traffic to test the resiliency + of clients to backend service failure. As + part of fault injection, when clients send + requests to a backend service, delays can + be introduced by Loadbalancer on a percentage + of requests before sending those request to + the backend service. Similarly requests from + clients can be aborted by the Loadbalancer + for a percentage of requests. timeout and + retry_policy will be ignored by clients that + are configured with a fault_injection_policy. + items: + properties: + abort: + description: The specification for how + client requests are aborted as part + of fault injection. + items: + properties: + httpStatus: + description: The HTTP status code + used to abort the request. The + value must be between 200 and + 599 inclusive. + format: int64 + type: integer + percentage: + description: The percentage of traffic + (connections/operations/requests) + which will be aborted as part + of fault injection. The value + must be between 0.0 and 100.0 + inclusive. + type: number + required: + - httpStatus + - percentage + type: object + type: array + delay: + description: The specification for how + client requests are delayed as part + of fault injection, before being sent + to a backend service. + items: + properties: + fixedDelay: + description: Specifies the value + of the fixed delay interval. + items: + properties: + nanos: + description: Span of time + that's a fraction of a second + at nanosecond resolution. + Durations less than one + second are represented with + a 0 'seconds' field and + a positive 'nanos' field. + Must be from 0 to 999,999,999 + inclusive. + format: int64 + type: integer + seconds: + description: Span of time + at a resolution of a second. + Must be from 0 to 315,576,000,000 + inclusive. + type: string + required: + - seconds + type: object + type: array + percentage: + description: The percentage of traffic + (connections/operations/requests) + on which delay will be introduced + as part of fault injection. The + value must be between 0.0 and + 100.0 inclusive. + type: number + required: + - fixedDelay + - percentage + type: object + type: array + type: object + type: array + requestMirrorPolicy: + description: Specifies the policy on how requests + intended for the route's backends are shadowed + to a separate mirrored backend service. Loadbalancer + does not wait for responses from the shadow + service. Prior to sending traffic to the shadow + service, the host / authority header is suffixed + with -shadow. + items: + properties: + backendService: + description: The BackendService resource + being mirrored to. + type: string + required: + - backendService + type: object + type: array + retryPolicy: + description: Specifies the retry policy associated + with this route. + items: + properties: + numRetries: + description: Specifies the allowed number + retries. This number must be > 0. + format: int64 + type: integer + perTryTimeout: + description: Specifies a non-zero timeout + per retry attempt. + items: + properties: + nanos: + description: Span of time that's + a fraction of a second at nanosecond + resolution. Durations less than + one second are represented with + a 0 'seconds' field and a positive + 'nanos' field. Must be from 0 + to 999,999,999 inclusive. + format: int64 + type: integer + seconds: + description: Span of time at a resolution + of a second. Must be from 0 to + 315,576,000,000 inclusive. + type: string + required: + - seconds + type: object + type: array + retryConditions: + description: "Specifies one or more conditions + when this retry rule applies. Valid + values are: \n * 5xx: Loadbalancer will + attempt a retry if the backend service + responds with any 5xx response code, + or if the backend service does not respond + at all, example: disconnects, reset, + read timeout, connection failure, and + refused streams. * gateway-error: Similar + to 5xx, but only applies to response + codes 502, 503 or 504. * connect-failure: + Loadbalancer will retry on failures + connecting to backend services, for + example due to connection timeouts. + * retriable-4xx: Loadbalancer will retry + for retriable 4xx response codes. Currently + the only retriable error supported is + 409. * refused-stream: Loadbalancer + will retry if the backend service resets + the stream with a REFUSED_STREAM error + code. This reset type indicates that + it is safe to retry. * cancelled: Loadbalancer + will retry if the gRPC status code in + the response header is set to cancelled + * deadline-exceeded: Loadbalancer will + retry if the gRPC status code in the + response header is set to deadline-exceeded + * resource-exhausted: Loadbalancer will + retry if the gRPC status code in the + response header is set to resource-exhausted + * unavailable: Loadbalancer will retry + if the gRPC status code in the response + header is set to unavailable" + items: + type: string + type: array + type: object + type: array + timeout: + description: Specifies the timeout for the selected + route. Timeout is computed from the time the + request is has been fully processed (i.e. + end-of-stream) up until the response has been + completely processed. Timeout includes all + retries. If not specified, the default value + is 15 seconds. + items: + properties: + nanos: + description: Span of time that's a fraction + of a second at nanosecond resolution. + Durations less than one second are represented + with a 0 'seconds' field and a positive + 'nanos' field. Must be from 0 to 999,999,999 + inclusive. + format: int64 + type: integer + seconds: + description: Span of time at a resolution + of a second. Must be from 0 to 315,576,000,000 + inclusive. + type: string + required: + - seconds + type: object + type: array + urlRewrite: + description: The spec to modify the URL of the + request, prior to forwarding the request to + the matched service + items: + properties: + hostRewrite: + description: Prior to forwarding the request + to the selected service, the request's + host header is replaced with contents + of hostRewrite. The value must be between + 1 and 255 characters. + type: string + pathPrefixRewrite: + description: Prior to forwarding the request + to the selected backend service, the + matching portion of the request's path + is replaced by pathPrefixRewrite. The + value must be between 1 and 1024 characters. + type: string + type: object + type: array + weightedBackendServices: + description: A list of weighted backend services + to send traffic to when a route match occurs. + The weights determine the fraction of traffic + that flows to their corresponding backend + service. If all traffic needs to go to a single + backend service, there must be one weightedBackendService + with weight set to a non 0 number. Once a + backendService is identified and before forwarding + the request to the backend service, advanced + routing actions like Url rewrites and header + transformations are applied depending on additional + settings specified in this HttpRouteAction. + items: + properties: + backendService: + description: The default BackendService + resource. Before forwarding the request + to backendService, the loadbalancer + applies any relevant headerActions specified + as part of this backendServiceWeight. + type: string + headerAction: + description: Specifies changes to request + and response headers that need to take + effect for the selected backendService. + headerAction specified here take effect + before headerAction in the enclosing + HttpRouteRule, PathMatcher and UrlMap. + items: + properties: + requestHeadersToAdd: + description: Headers to add to a + matching request prior to forwarding + the request to the backendService. + items: + properties: + headerName: + description: The name of the + header. + type: string + headerValue: + description: The value of + the header to add. + type: string + replace: + description: If false, headerValue + is appended to any values + that already exist for the + header. If true, headerValue + is set for the header, discarding + any values that were set + for that header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + requestHeadersToRemove: + description: A list of header names + for headers that need to be removed + from the request prior to forwarding + the request to the backendService. + items: + type: string + type: array + responseHeadersToAdd: + description: Headers to add the + response prior to sending the + response back to the client. + items: + properties: + headerName: + description: The name of the + header. + type: string + headerValue: + description: The value of + the header to add. + type: string + replace: + description: If false, headerValue + is appended to any values + that already exist for the + header. If true, headerValue + is set for the header, discarding + any values that were set + for that header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + responseHeadersToRemove: + description: A list of header names + for headers that need to be removed + from the response prior to sending + the response back to the client. + items: + type: string + type: array + type: object + type: array + weight: + description: Specifies the fraction of + traffic sent to backendService, computed + as weight / (sum of all weightedBackendService + weights in routeAction) . The selection + of a backend service is determined only + for new traffic. Once a user's request + has been directed to a backendService, + subsequent requests will be sent to + the same backendService as determined + by the BackendService's session affinity + policy. The value must be between 0 + and 1000 + format: int64 + type: integer + required: + - backendService + - weight + type: object + type: array + type: object + type: array + service: + description: The backend service or backend bucket + to use if any of the given paths match. + type: string + urlRedirect: + description: When a path pattern is matched, the request + is redirected to a URL specified by urlRedirect. + If urlRedirect is specified, service or routeAction + must not be set. + items: + properties: + hostRedirect: + description: The host that will be used in the + redirect response instead of the one that + was supplied in the request. The value must + be between 1 and 255 characters. + type: string + httpsRedirect: + description: If set to true, the URL scheme + in the redirected request is set to https. + If set to false, the URL scheme of the redirected + request will remain the same as that of the + request. This must only be set for UrlMaps + used in TargetHttpProxys. Setting this true + for TargetHttpsProxy is not permitted. The + default is set to false. + type: boolean + pathRedirect: + description: The path that will be used in the + redirect response instead of the one that + was supplied in the request. pathRedirect + cannot be supplied together with prefixRedirect. + Supply one alone or neither. If neither is + supplied, the path of the original request + will be used for the redirect. The value must + be between 1 and 1024 characters. + type: string + prefixRedirect: + description: The prefix that replaces the prefixMatch + specified in the HttpRouteRuleMatch, retaining + the remaining portion of the URL before redirecting + the request. prefixRedirect cannot be supplied + together with pathRedirect. Supply one alone + or neither. If neither is supplied, the path + of the original request will be used for the + redirect. The value must be between 1 and + 1024 characters. + type: string + redirectResponseCode: + description: "The HTTP Status code to use for + this RedirectAction. Supported values are: + \n * MOVED_PERMANENTLY_DEFAULT, which is the + default value and corresponds to 301. \n * + FOUND, which corresponds to 302. \n * SEE_OTHER + which corresponds to 303. \n * TEMPORARY_REDIRECT, + which corresponds to 307. In this case, the + request method will be retained. \n * PERMANENT_REDIRECT, + which corresponds to 308. In this case, the + request method will be retained. Possible + values: [\"FOUND\", \"MOVED_PERMANENTLY_DEFAULT\", + \"PERMANENT_REDIRECT\", \"SEE_OTHER\", \"TEMPORARY_REDIRECT\"]" + type: string + stripQuery: + description: If set to true, any accompanying + query portion of the original URL is removed + prior to redirecting the request. If set to + false, the query portion of the original URL + is retained. This field is required to ensure + an empty block is not set. The normal default + value is false. + type: boolean + required: + - stripQuery + type: object + type: array + required: + - paths + type: object + type: array + routeRules: + description: 'The list of ordered HTTP route rules. Use + this list instead of pathRules when advanced route matching + and routing actions are desired. The order of specifying + routeRules matters: the first rule that matches will cause + its specified routing action to take effect. Within a + given pathMatcher, only one of pathRules or routeRules + must be set. routeRules are not supported in UrlMaps intended + for External load balancers.' + items: + properties: + headerAction: + description: Specifies changes to request and response + headers that need to take effect for the selected + backendService. The headerAction specified here + are applied before the matching pathMatchers[].headerAction + and after pathMatchers[].routeRules[].r outeAction.weightedBackendService.backendServiceWeightAction[].headerAction + items: + properties: + requestHeadersToAdd: + description: Headers to add to a matching request + prior to forwarding the request to the backendService. + items: + properties: + headerName: + description: The name of the header. + type: string + headerValue: + description: The value of the header to + add. + type: string + replace: + description: If false, headerValue is + appended to any values that already + exist for the header. If true, headerValue + is set for the header, discarding any + values that were set for that header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + requestHeadersToRemove: + description: A list of header names for headers + that need to be removed from the request prior + to forwarding the request to the backendService. + items: + type: string + type: array + responseHeadersToAdd: + description: Headers to add the response prior + to sending the response back to the client. + items: + properties: + headerName: + description: The name of the header. + type: string + headerValue: + description: The value of the header to + add. + type: string + replace: + description: If false, headerValue is + appended to any values that already + exist for the header. If true, headerValue + is set for the header, discarding any + values that were set for that header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + responseHeadersToRemove: + description: A list of header names for headers + that need to be removed from the response + prior to sending the response back to the + client. + items: + type: string + type: array + type: object + type: array + matchRules: + description: The rules for determining a match. + items: + properties: + fullPathMatch: + description: For satisfying the matchRule condition, + the path of the request must exactly match + the value specified in fullPathMatch after + removing any query parameters and anchor that + may be part of the original URL. FullPathMatch + must be between 1 and 1024 characters. Only + one of prefixMatch, fullPathMatch or regexMatch + must be specified. + type: string + headerMatches: + description: Specifies a list of header match + criteria, all of which must match corresponding + headers in the request. + items: + properties: + exactMatch: + description: The value should exactly + match contents of exactMatch. Only one + of exactMatch, prefixMatch, suffixMatch, + regexMatch, presentMatch or rangeMatch + must be set. + type: string + headerName: + description: The name of the HTTP header + to match. For matching against the HTTP + request's authority, use a headerMatch + with the header name ":authority". For + matching a request's method, use the + headerName ":method". + type: string + invertMatch: + description: If set to false, the headerMatch + is considered a match if the match criteria + above are met. If set to true, the headerMatch + is considered a match if the match criteria + above are NOT met. Defaults to false. + type: boolean + prefixMatch: + description: The value of the header must + start with the contents of prefixMatch. + Only one of exactMatch, prefixMatch, + suffixMatch, regexMatch, presentMatch + or rangeMatch must be set. + type: string + presentMatch: + description: A header with the contents + of headerName must exist. The match + takes place whether or not the request's + header has a value or not. Only one + of exactMatch, prefixMatch, suffixMatch, + regexMatch, presentMatch or rangeMatch + must be set. + type: boolean + rangeMatch: + description: The header value must be + an integer and its value must be in + the range specified in rangeMatch. If + the header does not contain an integer, + number or is empty, the match fails. + For example for a range [-5, 0] - + -3 will match. - 0 will not match. - + 0.25 will not match. - -3someString + will not match. Only one of exactMatch, + prefixMatch, suffixMatch, regexMatch, + presentMatch or rangeMatch must be set. + items: + properties: + rangeEnd: + description: The end of the range + (exclusive). + format: int64 + type: integer + rangeStart: + description: The start of the range + (inclusive). + format: int64 + type: integer + required: + - rangeEnd + - rangeStart + type: object + type: array + regexMatch: + description: 'The value of the header + must match the regular expression specified + in regexMatch. For regular expression + grammar, please see: en.cppreference.com/w/cpp/regex/ecmascript For + matching against a port specified in + the HTTP request, use a headerMatch + with headerName set to PORT and a regular + expression that satisfies the RFC2616 + Host header''s port specifier. Only + one of exactMatch, prefixMatch, suffixMatch, + regexMatch, presentMatch or rangeMatch + must be set.' + type: string + suffixMatch: + description: The value of the header must + end with the contents of suffixMatch. + Only one of exactMatch, prefixMatch, + suffixMatch, regexMatch, presentMatch + or rangeMatch must be set. + type: string + required: + - headerName + type: object + type: array + ignoreCase: + description: Specifies that prefixMatch and + fullPathMatch matches are case sensitive. + Defaults to false. + type: boolean + metadataFilters: + description: Opaque filter criteria used by + Loadbalancer to restrict routing configuration + to a limited set xDS compliant clients. In + their xDS requests to Loadbalancer, xDS clients + present node metadata. If a match takes place, + the relevant routing configuration is made + available to those proxies. For each metadataFilter + in this list, if its filterMatchCriteria is + set to MATCH_ANY, at least one of the filterLabels + must match the corresponding label provided + in the metadata. If its filterMatchCriteria + is set to MATCH_ALL, then all of its filterLabels + must match with corresponding labels in the + provided metadata. metadataFilters specified + here can be overrides those specified in ForwardingRule + that refers to this UrlMap. metadataFilters + only applies to Loadbalancers that have their + loadBalancingScheme set to INTERNAL_SELF_MANAGED. + items: + properties: + filterLabels: + description: The list of label value pairs + that must match labels in the provided + metadata based on filterMatchCriteria This + list must not be empty and can have + at the most 64 entries. + items: + properties: + name: + description: Name of metadata label. + The name can have a maximum length + of 1024 characters and must be + at least 1 character long. + type: string + value: + description: The value of the label + must match the specified value. + value can have a maximum length + of 1024 characters. + type: string + required: + - name + - value + type: object + type: array + filterMatchCriteria: + description: 'Specifies how individual + filterLabel matches within the list + of filterLabels contribute towards the + overall metadataFilter match. Supported + values are: - MATCH_ANY: At least one + of the filterLabels must have a matching + label in the provided metadata. - MATCH_ALL: + All filterLabels must have matching + labels in the provided metadata. Possible + values: ["MATCH_ALL", "MATCH_ANY"]' + type: string + required: + - filterLabels + - filterMatchCriteria + type: object + type: array + prefixMatch: + description: For satisfying the matchRule condition, + the request's path must begin with the specified + prefixMatch. prefixMatch must begin with a + /. The value must be between 1 and 1024 characters. + Only one of prefixMatch, fullPathMatch or + regexMatch must be specified. + type: string + queryParameterMatches: + description: Specifies a list of query parameter + match criteria, all of which must match corresponding + query parameters in the request. + items: + properties: + exactMatch: + description: The queryParameterMatch matches + if the value of the parameter exactly + matches the contents of exactMatch. + Only one of presentMatch, exactMatch + and regexMatch must be set. + type: string + name: + description: The name of the query parameter + to match. The query parameter must exist + in the request, in the absence of which + the request match fails. + type: string + presentMatch: + description: Specifies that the queryParameterMatch + matches if the request contains the + query parameter, irrespective of whether + the parameter has a value or not. Only + one of presentMatch, exactMatch and + regexMatch must be set. + type: boolean + regexMatch: + description: The queryParameterMatch matches + if the value of the parameter matches + the regular expression specified by + regexMatch. For the regular expression + grammar, please see en.cppreference.com/w/cpp/regex/ecmascript Only + one of presentMatch, exactMatch and + regexMatch must be set. + type: string + required: + - name + type: object + type: array + regexMatch: + description: For satisfying the matchRule condition, + the path of the request must satisfy the regular + expression specified in regexMatch after removing + any query parameters and anchor supplied with + the original URL. For regular expression grammar + please see en.cppreference.com/w/cpp/regex/ecmascript Only + one of prefixMatch, fullPathMatch or regexMatch + must be specified. + type: string + type: object + type: array + priority: + description: "For routeRules within a given pathMatcher, + priority determines the order in which load balancer + will interpret routeRules. RouteRules are evaluated + in order of priority, from the lowest to highest + number. The priority of a rule decreases as its + number increases (1, 2, 3, N+1). The first rule + that matches the request is applied. \n You cannot + configure two or more routeRules with the same priority. + Priority for each rule must be set to a number between + 0 and 2147483647 inclusive. \n Priority numbers + can have gaps, which enable you to add or remove + rules in the future without affecting the rest of + the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 + is a valid series of priority numbers to which you + could add rules numbered from 6 to 8, 10 to 11, + and 13 to 15 in the future without any impact on + existing rules." + format: int64 + type: integer + routeAction: + description: In response to a matching matchRule, + the load balancer performs advanced routing actions + like URL rewrites, header transformations, etc. + prior to forwarding the request to the selected + backend. If routeAction specifies any weightedBackendServices, + service must not be set. Conversely if service is + set, routeAction cannot contain any weightedBackendServices. + Only one of routeAction or urlRedirect must be set. + items: + properties: + corsPolicy: + description: The specification for allowing + client side cross-origin requests. Please + see W3C Recommendation for Cross Origin Resource + Sharing + items: + properties: + allowCredentials: + description: In response to a preflight + request, setting this to true indicates + that the actual request can include + user credentials. This translates to + the Access- Control-Allow-Credentials + header. Defaults to false. + type: boolean + allowHeaders: + description: Specifies the content for + the Access-Control-Allow-Headers header. + items: + type: string + type: array + allowMethods: + description: Specifies the content for + the Access-Control-Allow-Methods header. + items: + type: string + type: array + allowOriginRegexes: + description: Specifies the regular expression + patterns that match allowed origins. + For regular expression grammar please + see en.cppreference.com/w/cpp/regex/ecmascript + An origin is allowed if it matches either + allow_origins or allow_origin_regex. + items: + type: string + type: array + allowOrigins: + description: Specifies the list of origins + that will be allowed to do CORS requests. + An origin is allowed if it matches either + allow_origins or allow_origin_regex. + items: + type: string + type: array + disabled: + description: If true, specifies the CORS + policy is disabled. which indicates + that the CORS policy is in effect. Defaults + to false. + type: boolean + exposeHeaders: + description: Specifies the content for + the Access-Control-Expose-Headers header. + items: + type: string + type: array + maxAge: + description: Specifies how long the results + of a preflight request can be cached. + This translates to the content for the + Access-Control-Max-Age header. + format: int64 + type: integer + type: object + type: array + faultInjectionPolicy: + description: The specification for fault injection + introduced into traffic to test the resiliency + of clients to backend service failure. As + part of fault injection, when clients send + requests to a backend service, delays can + be introduced by Loadbalancer on a percentage + of requests before sending those request to + the backend service. Similarly requests from + clients can be aborted by the Loadbalancer + for a percentage of requests. timeout and + retry_policy will be ignored by clients that + are configured with a fault_injection_policy. + items: + properties: + abort: + description: The specification for how + client requests are aborted as part + of fault injection. + items: + properties: + httpStatus: + description: The HTTP status code + used to abort the request. The + value must be between 200 and + 599 inclusive. + format: int64 + type: integer + percentage: + description: The percentage of traffic + (connections/operations/requests) + which will be aborted as part + of fault injection. The value + must be between 0.0 and 100.0 + inclusive. + type: number + type: object + type: array + delay: + description: The specification for how + client requests are delayed as part + of fault injection, before being sent + to a backend service. + items: + properties: + fixedDelay: + description: Specifies the value + of the fixed delay interval. + items: + properties: + nanos: + description: Span of time + that's a fraction of a second + at nanosecond resolution. + Durations less than one + second are represented with + a 0 'seconds' field and + a positive 'nanos' field. + Must be from 0 to 999,999,999 + inclusive. + format: int64 + type: integer + seconds: + description: Span of time + at a resolution of a second. + Must be from 0 to 315,576,000,000 + inclusive. + type: string + required: + - seconds + type: object + type: array + percentage: + description: The percentage of traffic + (connections/operations/requests) + on which delay will be introduced + as part of fault injection. The + value must be between 0.0 and + 100.0 inclusive. + type: number + type: object + type: array + type: object + type: array + requestMirrorPolicy: + description: Specifies the policy on how requests + intended for the route's backends are shadowed + to a separate mirrored backend service. Loadbalancer + does not wait for responses from the shadow + service. Prior to sending traffic to the shadow + service, the host / authority header is suffixed + with -shadow. + items: + properties: + backendService: + description: The BackendService resource + being mirrored to. + type: string + required: + - backendService + type: object + type: array + retryPolicy: + description: Specifies the retry policy associated + with this route. + items: + properties: + numRetries: + description: Specifies the allowed number + retries. This number must be > 0. + format: int64 + type: integer + perTryTimeout: + description: Specifies a non-zero timeout + per retry attempt. If not specified, + will use the timeout set in HttpRouteAction. + If timeout in HttpRouteAction is not + set, will use the largest timeout among + all backend services associated with + the route. + items: + properties: + nanos: + description: Span of time that's + a fraction of a second at nanosecond + resolution. Durations less than + one second are represented with + a 0 'seconds' field and a positive + 'nanos' field. Must be from 0 + to 999,999,999 inclusive. + format: int64 + type: integer + seconds: + description: Span of time at a resolution + of a second. Must be from 0 to + 315,576,000,000 inclusive. + type: string + required: + - seconds + type: object + type: array + retryConditions: + description: "Specfies one or more conditions + when this retry rule applies. Valid + values are: \n * 5xx: Loadbalancer will + attempt a retry if the backend service + responds with any 5xx response code, + or if the backend service does not respond + at all, example: disconnects, reset, + read timeout, connection failure, and + refused streams. * gateway-error: Similar + to 5xx, but only applies to response + codes 502, 503 or 504. * connect-failure: + Loadbalancer will retry on failures + connecting to backend services, for + example due to connection timeouts. + * retriable-4xx: Loadbalancer will retry + for retriable 4xx response codes. Currently + the only retriable error supported is + 409. * refused-stream: Loadbalancer + will retry if the backend service resets + the stream with a REFUSED_STREAM error + code. This reset type indicates that + it is safe to retry. * cancelled: Loadbalancer + will retry if the gRPC status code in + the response header is set to cancelled + * deadline-exceeded: Loadbalancer will + retry if the gRPC status code in the + response header is set to deadline-exceeded + * resource-exhausted: Loadbalancer will + retry if the gRPC status code in the + response header is set to resource-exhausted + * unavailable: Loadbalancer will retry + if the gRPC status code in the response + header is set to unavailable" + items: + type: string + type: array + required: + - numRetries + type: object + type: array + timeout: + description: Specifies the timeout for the selected + route. Timeout is computed from the time the + request is has been fully processed (i.e. + end-of-stream) up until the response has been + completely processed. Timeout includes all + retries. If not specified, the default value + is 15 seconds. + items: + properties: + nanos: + description: Span of time that's a fraction + of a second at nanosecond resolution. + Durations less than one second are represented + with a 0 'seconds' field and a positive + 'nanos' field. Must be from 0 to 999,999,999 + inclusive. + format: int64 + type: integer + seconds: + description: Span of time at a resolution + of a second. Must be from 0 to 315,576,000,000 + inclusive. + type: string + required: + - seconds + type: object + type: array + urlRewrite: + description: The spec to modify the URL of the + request, prior to forwarding the request to + the matched service + items: + properties: + hostRewrite: + description: Prior to forwarding the request + to the selected service, the request's + host header is replaced with contents + of hostRewrite. The value must be between + 1 and 255 characters. + type: string + pathPrefixRewrite: + description: Prior to forwarding the request + to the selected backend service, the + matching portion of the request's path + is replaced by pathPrefixRewrite. The + value must be between 1 and 1024 characters. + type: string + type: object + type: array + weightedBackendServices: + description: A list of weighted backend services + to send traffic to when a route match occurs. + The weights determine the fraction of traffic + that flows to their corresponding backend + service. If all traffic needs to go to a single + backend service, there must be one weightedBackendService + with weight set to a non 0 number. Once a + backendService is identified and before forwarding + the request to the backend service, advanced + routing actions like Url rewrites and header + transformations are applied depending on additional + settings specified in this HttpRouteAction. + items: + properties: + backendService: + description: The default BackendService + resource. Before forwarding the request + to backendService, the loadbalancer + applies any relevant headerActions specified + as part of this backendServiceWeight. + type: string + headerAction: + description: Specifies changes to request + and response headers that need to take + effect for the selected backendService. + headerAction specified here take effect + before headerAction in the enclosing + HttpRouteRule, PathMatcher and UrlMap. + items: + properties: + requestHeadersToAdd: + description: Headers to add to a + matching request prior to forwarding + the request to the backendService. + items: + properties: + headerName: + description: The name of the + header. + type: string + headerValue: + description: The value of + the header to add. + type: string + replace: + description: If false, headerValue + is appended to any values + that already exist for the + header. If true, headerValue + is set for the header, discarding + any values that were set + for that header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + requestHeadersToRemove: + description: A list of header names + for headers that need to be removed + from the request prior to forwarding + the request to the backendService. + items: + type: string + type: array + responseHeadersToAdd: + description: Headers to add the + response prior to sending the + response back to the client. + items: + properties: + headerName: + description: The name of the + header. + type: string + headerValue: + description: The value of + the header to add. + type: string + replace: + description: If false, headerValue + is appended to any values + that already exist for the + header. If true, headerValue + is set for the header, discarding + any values that were set + for that header. + type: boolean + required: + - headerName + - headerValue + - replace + type: object + type: array + responseHeadersToRemove: + description: A list of header names + for headers that need to be removed + from the response prior to sending + the response back to the client. + items: + type: string + type: array + type: object + type: array + weight: + description: Specifies the fraction of + traffic sent to backendService, computed + as weight / (sum of all weightedBackendService + weights in routeAction) . The selection + of a backend service is determined only + for new traffic. Once a user's request + has been directed to a backendService, + subsequent requests will be sent to + the same backendService as determined + by the BackendService's session affinity + policy. The value must be between 0 + and 1000 + format: int64 + type: integer + required: + - backendService + - weight + type: object + type: array + type: object + type: array + service: + description: The backend service resource to which + traffic is directed if this rule is matched. If + routeAction is additionally specified, advanced + routing actions like URL Rewrites, etc. take effect + prior to sending the request to the backend. However, + if service is specified, routeAction cannot contain + any weightedBackendService s. Conversely, if routeAction + specifies any weightedBackendServices, service must + not be specified. Only one of urlRedirect, service + or routeAction.weightedBackendService must be set. + type: string + urlRedirect: + description: When this rule is matched, the request + is redirected to a URL specified by urlRedirect. + If urlRedirect is specified, service or routeAction + must not be set. + items: + properties: + hostRedirect: + description: The host that will be used in the + redirect response instead of the one that + was supplied in the request. The value must + be between 1 and 255 characters. + type: string + httpsRedirect: + description: If set to true, the URL scheme + in the redirected request is set to https. + If set to false, the URL scheme of the redirected + request will remain the same as that of the + request. This must only be set for UrlMaps + used in TargetHttpProxys. Setting this true + for TargetHttpsProxy is not permitted. Defaults + to false. + type: boolean + pathRedirect: + description: The path that will be used in the + redirect response instead of the one that + was supplied in the request. Only one of pathRedirect + or prefixRedirect must be specified. The value + must be between 1 and 1024 characters. + type: string + prefixRedirect: + description: The prefix that replaces the prefixMatch + specified in the HttpRouteRuleMatch, retaining + the remaining portion of the URL before redirecting + the request. + type: string + redirectResponseCode: + description: "The HTTP Status code to use for + this RedirectAction. Supported values are: + \n * MOVED_PERMANENTLY_DEFAULT, which is the + default value and corresponds to 301. \n * + FOUND, which corresponds to 302. \n * SEE_OTHER + which corresponds to 303. \n * TEMPORARY_REDIRECT, + which corresponds to 307. In this case, the + request method will be retained. \n * PERMANENT_REDIRECT, + which corresponds to 308. In this case, the + request method will be retained. Possible + values: [\"FOUND\", \"MOVED_PERMANENTLY_DEFAULT\", + \"PERMANENT_REDIRECT\", \"SEE_OTHER\", \"TEMPORARY_REDIRECT\"]" + type: string + stripQuery: + description: If set to true, any accompanying + query portion of the original URL is removed + prior to redirecting the request. If set to + false, the query portion of the original URL + is retained. Defaults to false. + type: boolean + type: object + type: array + required: + - priority + type: object + type: array + required: + - name + type: object + type: array + project: + type: string + test: + description: The list of expected URL mapping tests. Request to + update this UrlMap will succeed only if all of the test cases + pass. You can specify a maximum of 100 tests per UrlMap. + items: + properties: + description: + description: Description of this test case. + type: string + host: + description: Host portion of the URL. + type: string + path: + description: Path portion of the URL. + type: string + service: + description: The backend service or backend bucket link + that should be matched by this test. + type: string + required: + - host + - path + - service + type: object + type: array + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: URLMapStatus defines the observed state of URLMap. + properties: + atProvider: + properties: + creationTimestamp: + type: string + fingerprint: + type: string + id: + type: string + mapId: + format: int64 + type: integer + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_vpngateways.yaml b/package/crds/compute.gcp.jet.crossplane.io_vpngateways.yaml new file mode 100644 index 00000000..e5c62003 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_vpngateways.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: vpngateways.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: VPNGateway + listKind: VPNGatewayList + plural: vpngateways + singular: vpngateway + 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: VPNGateway is the Schema for the VPNGateways 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: VPNGatewaySpec defines the desired state of VPNGateway + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. + type: string + name: + description: Name of the resource. Provided by the client when + the resource is created. The name must be 1-63 characters long, + and comply with RFC1035. Specifically, the name must be 1-63 + characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + network: + description: The network this VPN gateway is accepting traffic + for. + type: string + project: + type: string + region: + description: The region this gateway should sit in. + type: string + required: + - name + - network + type: object + 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 + 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 + 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. + 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 + status: + description: VPNGatewayStatus defines the observed state of VPNGateway. + properties: + atProvider: + properties: + creationTimestamp: + type: string + gatewayId: + format: int64 + type: integer + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/compute.gcp.jet.crossplane.io_vpntunnels.yaml b/package/crds/compute.gcp.jet.crossplane.io_vpntunnels.yaml new file mode 100644 index 00000000..c51edfe9 --- /dev/null +++ b/package/crds/compute.gcp.jet.crossplane.io_vpntunnels.yaml @@ -0,0 +1,272 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: vpntunnels.compute.gcp.jet.crossplane.io +spec: + group: compute.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: VPNTunnel + listKind: VPNTunnelList + plural: vpntunnels + singular: vpntunnel + 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: VPNTunnel is the Schema for the VPNTunnels 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: VPNTunnelSpec defines the desired state of VPNTunnel + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: An optional description of this resource. + type: string + ikeVersion: + description: IKE protocol version to use when establishing the + VPN tunnel with peer VPN gateway. Acceptable IKE versions are + 1 or 2. Default version is 2. + format: int64 + type: integer + localTrafficSelector: + description: Local traffic selector to use when establishing the + VPN tunnel with peer VPN gateway. The value should be a CIDR + formatted string, for example '192.168.0.0/16'. The ranges should + be disjoint. Only IPv4 is supported. + items: + type: string + type: array + name: + description: Name of the resource. The name must be 1-63 characters + long, and comply with RFC1035. Specifically, the name must be + 1-63 characters long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' + which means the first character must be a lowercase letter, + and all following characters must be a dash, lowercase letter, + or digit, except the last character, which cannot be a dash. + type: string + peerExternalGateway: + description: URL of the peer side external VPN gateway to which + this VPN tunnel is connected. + type: string + peerExternalGatewayInterface: + description: The interface ID of the external VPN gateway to which + this VPN tunnel is connected. + format: int64 + type: integer + peerGcpGateway: + description: URL of the peer side HA GCP VPN gateway to which + this VPN tunnel is connected. If provided, the VPN tunnel will + automatically use the same vpn_gateway_interface ID in the peer + GCP VPN gateway. This field must reference a 'google_compute_ha_vpn_gateway' + resource. + type: string + peerIp: + description: IP address of the peer VPN gateway. Only IPv4 is + supported. + type: string + project: + type: string + region: + description: The region where the tunnel is located. If unset, + is set to the region of 'target_vpn_gateway'. + type: string + remoteTrafficSelector: + description: Remote traffic selector to use when establishing + the VPN tunnel with peer VPN gateway. The value should be a + CIDR formatted string, for example '192.168.0.0/16'. The ranges + should be disjoint. Only IPv4 is supported. + items: + type: string + type: array + router: + description: URL of router resource to be used for dynamic routing. + type: string + sharedSecretSecretRef: + description: Shared secret used to set the secure session between + the Cloud VPN gateway and the peer VPN gateway. + 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 + targetVpnGateway: + description: URL of the Target VPN gateway with which this VPN + tunnel is associated. + type: string + vpnGateway: + description: URL of the VPN gateway with which this VPN tunnel + is associated. This must be used if a High Availability VPN + gateway resource is created. This field must reference a 'google_compute_ha_vpn_gateway' + resource. + type: string + vpnGatewayInterface: + description: The interface ID of the VPN gateway with which this + VPN tunnel is associated. + format: int64 + type: integer + required: + - name + - sharedSecretSecretRef + type: object + 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 + 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 + 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. + 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 + status: + description: VPNTunnelStatus defines the observed state of VPNTunnel. + properties: + atProvider: + properties: + creationTimestamp: + type: string + detailedStatus: + type: string + id: + type: string + selfLink: + type: string + sharedSecretHash: + type: string + tunnelId: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/container.gcp.jet.crossplane.io_registries.yaml b/package/crds/container.gcp.jet.crossplane.io_registries.yaml new file mode 100644 index 00000000..8d111578 --- /dev/null +++ b/package/crds/container.gcp.jet.crossplane.io_registries.yaml @@ -0,0 +1,175 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: registries.container.gcp.jet.crossplane.io +spec: + group: container.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Registry + listKind: RegistryList + plural: registries + singular: registry + 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: Registry is the Schema for the Registrys 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: RegistrySpec defines the desired state of Registry + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + location: + description: The location of the registry. One of ASIA, EU, US + or not specified. See the official documentation for more information + on registry locations. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + type: object + 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 + 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 + 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. + 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 + status: + description: RegistryStatus defines the observed state of Registry. + properties: + atProvider: + properties: + bucketSelfLink: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/containeranalysis.gcp.jet.crossplane.io_notes.yaml b/package/crds/containeranalysis.gcp.jet.crossplane.io_notes.yaml new file mode 100644 index 00000000..7da9f258 --- /dev/null +++ b/package/crds/containeranalysis.gcp.jet.crossplane.io_notes.yaml @@ -0,0 +1,244 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: notes.containeranalysis.gcp.jet.crossplane.io +spec: + group: containeranalysis.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Note + listKind: NoteList + plural: notes + singular: note + 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: Note is the Schema for the Notes 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: NoteSpec defines the desired state of Note + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + attestationAuthority: + description: Note kind that represents a logical attestation "role" + or "authority". For example, an organization might have one + AttestationAuthority for "QA" and one for "build". This Note + is intended to act strictly as a grouping mechanism for the + attached Occurrences (Attestations). This grouping mechanism + also provides a security boundary, since IAM ACLs gate the ability + for a principle to attach an Occurrence to a given Note. It + also provides a single point of lookup to find all attached + Attestation Occurrences, even if they don't all live in the + same project. + items: + properties: + hint: + description: This submessage provides human-readable hints + about the purpose of the AttestationAuthority. Because + the name of a Note acts as its resource reference, it + is important to disambiguate the canonical name of the + Note (which might be a UUID for security purposes) from + "readable" names more suitable for debug output. Note + that these hints should NOT be used to look up AttestationAuthorities + in security sensitive contexts, such as when looking up + Attestations to verify. + items: + properties: + humanReadableName: + description: The human readable name of this Attestation + Authority, for example "qa". + type: string + required: + - humanReadableName + type: object + type: array + required: + - hint + type: object + type: array + expirationTime: + description: Time of expiration for this note. Leave empty if + note does not expire. + type: string + longDescription: + description: A detailed description of the note + type: string + name: + description: The name of the note. + type: string + project: + type: string + relatedNoteNames: + description: Names of other notes related to this note. + items: + type: string + type: array + relatedUrl: + description: URLs associated with this note and related metadata. + items: + properties: + label: + description: Label to describe usage of the URL + type: string + url: + description: Specific URL associated with the resource. + type: string + required: + - url + type: object + type: array + shortDescription: + description: A one sentence description of the note. + type: string + required: + - attestationAuthority + - name + type: object + 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 + 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 + 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. + 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 + status: + description: NoteStatus defines the observed state of Note. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + kind: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/containeranalysis.gcp.jet.crossplane.io_occurrences.yaml b/package/crds/containeranalysis.gcp.jet.crossplane.io_occurrences.yaml new file mode 100644 index 00000000..388453ad --- /dev/null +++ b/package/crds/containeranalysis.gcp.jet.crossplane.io_occurrences.yaml @@ -0,0 +1,245 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: occurrences.containeranalysis.gcp.jet.crossplane.io +spec: + group: containeranalysis.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Occurrence + listKind: OccurrenceList + plural: occurrences + singular: occurrence + 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: Occurrence is the Schema for the Occurrences 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: OccurrenceSpec defines the desired state of Occurrence + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + attestation: + description: Occurrence that represents a single "attestation". + The authenticity of an attestation can be verified using the + attached signature. If the verifier trusts the public key of + the signer, then verifying the signature is sufficient to establish + trust. In this circumstance, the authority to which this attestation + is attached is primarily useful for lookup (how to find this + attestation if you already know the authority and artifact to + be verified) and intent (for which authority this attestation + was intended to sign. + items: + properties: + serializedPayload: + description: The serialized payload that is verified by + one or more signatures. A base64-encoded string. + type: string + signatures: + description: One or more signatures over serializedPayload. + Verifier implementations should consider this attestation + message verified if at least one signature verifies serializedPayload. + See Signature in common.proto for more details on signature + structure and verification. + items: + properties: + publicKeyId: + description: "The identifier for the public key that + verifies this signature. MUST be an RFC3986 conformant + URI. * When possible, the key id should be an immutable + reference, such as a cryptographic digest. Examples + of valid values: \n * OpenPGP V4 public key fingerprint. + See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr + for more details on this scheme. * 'openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA' + * RFC6920 digest-named SubjectPublicKeyInfo (digest + of the DER serialization): * \"ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU\"" + type: string + signature: + description: The content of the signature, an opaque + bytestring. The payload that this signature verifies + MUST be unambiguously provided with the Signature + during verification. A wrapper message might provide + the payload explicitly. Alternatively, a message + might have a canonical serialization that can always + be unambiguously computed to derive the payload. + type: string + required: + - publicKeyId + type: object + type: array + required: + - serializedPayload + - signatures + type: object + type: array + noteName: + description: The analysis note associated with this occurrence, + in the form of projects/[PROJECT]/notes/[NOTE_ID]. This field + can be used as a filter in list requests. + type: string + project: + type: string + remediation: + description: A description of actions that can be taken to remedy + the note. + type: string + resourceUri: + description: Required. Immutable. A URI that represents the resource + for which the occurrence applies. For example, https://gcr.io/project/image@sha256:123abc + for a Docker image. + type: string + required: + - attestation + - noteName + - resourceUri + type: object + 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 + 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 + 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. + 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 + status: + description: OccurrenceStatus defines the observed state of Occurrence. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + kind: + type: string + name: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datacatalog.gcp.jet.crossplane.io_entries.yaml b/package/crds/datacatalog.gcp.jet.crossplane.io_entries.yaml new file mode 100644 index 00000000..b053e4df --- /dev/null +++ b/package/crds/datacatalog.gcp.jet.crossplane.io_entries.yaml @@ -0,0 +1,286 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: entries.datacatalog.gcp.jet.crossplane.io +spec: + group: datacatalog.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Entry + listKind: EntryList + plural: entries + singular: entry + 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: Entry is the Schema for the Entrys 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: EntrySpec defines the desired state of Entry + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Entry description, which can consist of several sentences + or paragraphs that describe entry contents. + type: string + displayName: + description: Display information such as title and description. + A short name to identify the entry, for example, "Analytics + Data - Jan 2011". + type: string + entryGroup: + description: The name of the entry group this entry is in. + type: string + entryId: + description: The id of the entry to create. + type: string + gcsFilesetSpec: + description: Specification that applies to a Cloud Storage fileset. + This is only valid on entries of type FILESET. + items: + properties: + filePatterns: + description: "Patterns to identify a set of files in Google + Cloud Storage. See [Cloud Storage documentation](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames) + for more information. Note that bucket wildcards are currently + not supported. Examples of valid filePatterns: \n * gs://bucket_name/dir/*: + matches all files within bucket_name/dir directory. * + gs://bucket_name/dir/**: matches all files in bucket_name/dir + spanning all subdirectories. * gs://bucket_name/file*: + matches files prefixed by file in bucket_name * gs://bucket_name/??.txt: + matches files with two characters followed by .txt in + bucket_name * gs://bucket_name/[aeiou].txt: matches files + that contain a single vowel character followed by .txt + in bucket_name * gs://bucket_name/[a-m].txt: matches files + that contain a, b, ... or m followed by .txt in bucket_name + * gs://bucket_name/a/*/b: matches all files in bucket_name + that match a/*/b pattern, such as a/c/b, a/d/b * gs://another_bucket/a.txt: + matches gs://another_bucket/a.txt" + items: + type: string + type: array + required: + - filePatterns + type: object + type: array + linkedResource: + description: 'The resource this metadata entry refers to. For + Google Cloud Platform resources, linkedResource is the full + name of the resource. For example, the linkedResource for a + table resource from BigQuery is: //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId + Output only when Entry is of type in the EntryType enum. For + entries with userSpecifiedType, this field is optional and defaults + to an empty string.' + type: string + schema: + description: Schema of the entry (e.g. BigQuery, GoogleSQL, Avro + schema), as a json string. An entry might not have any schema + attached to it. See https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries#schema + for what fields this schema can contain. + type: string + type: + description: 'The type of the entry. Only used for Entries with + types in the EntryType enum. Currently, only FILESET enum value + is allowed. All other entries created through Data Catalog must + use userSpecifiedType. Possible values: ["FILESET"]' + type: string + userSpecifiedSystem: + description: This field indicates the entry's source system that + Data Catalog does not integrate with. userSpecifiedSystem strings + must begin with a letter or underscore and can only contain + letters, numbers, and underscores; are case insensitive; must + be at least 1 character and at most 64 characters long. + type: string + userSpecifiedType: + description: Entry type if it does not fit any of the input-allowed + values listed in EntryType enum above. When creating an entry, + users should check the enum values first, if nothing matches + the entry to be created, then provide a custom value, for example + "my_special_type". userSpecifiedType strings must begin with + a letter or underscore and can only contain letters, numbers, + and underscores; are case insensitive; must be at least 1 character + and at most 64 characters long. + type: string + required: + - entryGroup + - entryId + type: object + 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 + 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 + 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. + 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 + status: + description: EntryStatus defines the observed state of Entry. + properties: + atProvider: + properties: + bigqueryDateShardedSpec: + items: + properties: + dataset: + type: string + shardCount: + format: int64 + type: integer + tablePrefix: + type: string + type: object + type: array + bigqueryTableSpec: + items: + properties: + tableSourceType: + type: string + tableSpec: + items: + properties: + groupedEntry: + type: string + type: object + type: array + viewSpec: + items: + properties: + viewQuery: + type: string + type: object + type: array + type: object + type: array + id: + type: string + integratedSystem: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datacatalog.gcp.jet.crossplane.io_entrygroupiambindings.yaml b/package/crds/datacatalog.gcp.jet.crossplane.io_entrygroupiambindings.yaml new file mode 100644 index 00000000..f2181699 --- /dev/null +++ b/package/crds/datacatalog.gcp.jet.crossplane.io_entrygroupiambindings.yaml @@ -0,0 +1,198 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: entrygroupiambindings.datacatalog.gcp.jet.crossplane.io +spec: + group: datacatalog.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: EntryGroupIAMBinding + listKind: EntryGroupIAMBindingList + plural: entrygroupiambindings + singular: entrygroupiambinding + 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: EntryGroupIAMBinding is the Schema for the EntryGroupIAMBindings + 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: EntryGroupIAMBindingSpec defines the desired state of EntryGroupIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + entryGroup: + type: string + members: + items: + type: string + type: array + project: + type: string + region: + type: string + role: + type: string + required: + - entryGroup + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: EntryGroupIAMBindingStatus defines the observed state of + EntryGroupIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datacatalog.gcp.jet.crossplane.io_entrygroupiammembers.yaml b/package/crds/datacatalog.gcp.jet.crossplane.io_entrygroupiammembers.yaml new file mode 100644 index 00000000..f849485f --- /dev/null +++ b/package/crds/datacatalog.gcp.jet.crossplane.io_entrygroupiammembers.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: entrygroupiammembers.datacatalog.gcp.jet.crossplane.io +spec: + group: datacatalog.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: EntryGroupIAMMember + listKind: EntryGroupIAMMemberList + plural: entrygroupiammembers + singular: entrygroupiammember + 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: EntryGroupIAMMember is the Schema for the EntryGroupIAMMembers + 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: EntryGroupIAMMemberSpec defines the desired state of EntryGroupIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + entryGroup: + type: string + member: + type: string + project: + type: string + region: + type: string + role: + type: string + required: + - entryGroup + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: EntryGroupIAMMemberStatus defines the observed state of EntryGroupIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datacatalog.gcp.jet.crossplane.io_entrygroupiampolicies.yaml b/package/crds/datacatalog.gcp.jet.crossplane.io_entrygroupiampolicies.yaml new file mode 100644 index 00000000..0caf3303 --- /dev/null +++ b/package/crds/datacatalog.gcp.jet.crossplane.io_entrygroupiampolicies.yaml @@ -0,0 +1,178 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: entrygroupiampolicies.datacatalog.gcp.jet.crossplane.io +spec: + group: datacatalog.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: EntryGroupIAMPolicy + listKind: EntryGroupIAMPolicyList + plural: entrygroupiampolicies + singular: entrygroupiampolicy + 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: EntryGroupIAMPolicy is the Schema for the EntryGroupIAMPolicys + 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: EntryGroupIAMPolicySpec defines the desired state of EntryGroupIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + entryGroup: + type: string + policyData: + type: string + project: + type: string + region: + type: string + required: + - entryGroup + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: EntryGroupIAMPolicyStatus defines the observed state of EntryGroupIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datacatalog.gcp.jet.crossplane.io_entrygroups.yaml b/package/crds/datacatalog.gcp.jet.crossplane.io_entrygroups.yaml new file mode 100644 index 00000000..656d9fa0 --- /dev/null +++ b/package/crds/datacatalog.gcp.jet.crossplane.io_entrygroups.yaml @@ -0,0 +1,186 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: entrygroups.datacatalog.gcp.jet.crossplane.io +spec: + group: datacatalog.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: EntryGroup + listKind: EntryGroupList + plural: entrygroups + singular: entrygroup + 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: EntryGroup is the Schema for the EntryGroups 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: EntryGroupSpec defines the desired state of EntryGroup + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Entry group description, which can consist of several + sentences or paragraphs that describe entry group contents. + type: string + displayName: + description: A short name to identify the entry group, for example, + "analytics data - jan 2011". + type: string + entryGroupId: + description: The id of the entry group to create. The id must + begin with a letter or underscore, contain only English letters, + numbers and underscores, and be at most 64 characters. + type: string + project: + type: string + region: + description: EntryGroup location region. + type: string + required: + - entryGroupId + type: object + 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 + 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 + 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. + 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 + status: + description: EntryGroupStatus defines the observed state of EntryGroup. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datacatalog.gcp.jet.crossplane.io_tags.yaml b/package/crds/datacatalog.gcp.jet.crossplane.io_tags.yaml new file mode 100644 index 00000000..448f4f72 --- /dev/null +++ b/package/crds/datacatalog.gcp.jet.crossplane.io_tags.yaml @@ -0,0 +1,219 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tags.datacatalog.gcp.jet.crossplane.io +spec: + group: datacatalog.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Tag + listKind: TagList + plural: tags + singular: tag + 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: Tag is the Schema for the Tags 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: TagSpec defines the desired state of Tag + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + column: + description: "Resources like Entry can have schemas associated + with them. This scope allows users to attach tags to an individual + column based on that schema. \n For attaching a tag to a nested + column, use '.' to separate the column names. Example: 'outer_column.inner_column'" + type: string + fields: + description: This maps the ID of a tag field to the value of and + additional information about that field. Valid field IDs are + defined by the tag's template. A tag must have at least 1 field + and at most 500 fields. + items: + properties: + boolValue: + description: Holds the value for a tag field with boolean + type. + type: boolean + doubleValue: + description: Holds the value for a tag field with double + type. + type: number + enumValue: + description: The display name of the enum value. + type: string + fieldName: + type: string + stringValue: + description: Holds the value for a tag field with string + type. + type: string + timestampValue: + description: Holds the value for a tag field with timestamp + type. + type: string + required: + - fieldName + type: object + type: array + parent: + description: The name of the parent this tag is attached to. This + can be the name of an entry or an entry group. If an entry group, + the tag will be attached to all entries in that group. + type: string + template: + description: 'The resource name of the tag template that this + tag uses. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId} + This field cannot be modified after creation.' + type: string + required: + - fields + - template + type: object + 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 + 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 + 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. + 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 + status: + description: TagStatus defines the observed state of Tag. + properties: + atProvider: + properties: + id: + type: string + name: + type: string + templateDisplayname: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplateiambindings.yaml b/package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplateiambindings.yaml new file mode 100644 index 00000000..0938ec49 --- /dev/null +++ b/package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplateiambindings.yaml @@ -0,0 +1,198 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tagtemplateiambindings.datacatalog.gcp.jet.crossplane.io +spec: + group: datacatalog.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TagTemplateIAMBinding + listKind: TagTemplateIAMBindingList + plural: tagtemplateiambindings + singular: tagtemplateiambinding + 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: TagTemplateIAMBinding is the Schema for the TagTemplateIAMBindings + 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: TagTemplateIAMBindingSpec defines the desired state of TagTemplateIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + region: + type: string + role: + type: string + tagTemplate: + type: string + required: + - members + - role + - tagTemplate + type: object + 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 + 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 + 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. + 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 + status: + description: TagTemplateIAMBindingStatus defines the observed state of + TagTemplateIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplateiammembers.yaml b/package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplateiammembers.yaml new file mode 100644 index 00000000..a7f4920a --- /dev/null +++ b/package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplateiammembers.yaml @@ -0,0 +1,196 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tagtemplateiammembers.datacatalog.gcp.jet.crossplane.io +spec: + group: datacatalog.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TagTemplateIAMMember + listKind: TagTemplateIAMMemberList + plural: tagtemplateiammembers + singular: tagtemplateiammember + 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: TagTemplateIAMMember is the Schema for the TagTemplateIAMMembers + 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: TagTemplateIAMMemberSpec defines the desired state of TagTemplateIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + region: + type: string + role: + type: string + tagTemplate: + type: string + required: + - member + - role + - tagTemplate + type: object + 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 + 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 + 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. + 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 + status: + description: TagTemplateIAMMemberStatus defines the observed state of + TagTemplateIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplateiampolicies.yaml b/package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplateiampolicies.yaml new file mode 100644 index 00000000..b4c41976 --- /dev/null +++ b/package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplateiampolicies.yaml @@ -0,0 +1,179 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tagtemplateiampolicies.datacatalog.gcp.jet.crossplane.io +spec: + group: datacatalog.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TagTemplateIAMPolicy + listKind: TagTemplateIAMPolicyList + plural: tagtemplateiampolicies + singular: tagtemplateiampolicy + 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: TagTemplateIAMPolicy is the Schema for the TagTemplateIAMPolicys + 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: TagTemplateIAMPolicySpec defines the desired state of TagTemplateIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + project: + type: string + region: + type: string + tagTemplate: + type: string + required: + - policyData + - tagTemplate + type: object + 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 + 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 + 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. + 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 + status: + description: TagTemplateIAMPolicyStatus defines the observed state of + TagTemplateIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplates.yaml b/package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplates.yaml new file mode 100644 index 00000000..0ddec154 --- /dev/null +++ b/package/crds/datacatalog.gcp.jet.crossplane.io_tagtemplates.yaml @@ -0,0 +1,255 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tagtemplates.datacatalog.gcp.jet.crossplane.io +spec: + group: datacatalog.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TagTemplate + listKind: TagTemplateList + plural: tagtemplates + singular: tagtemplate + 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: TagTemplate is the Schema for the TagTemplates 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: TagTemplateSpec defines the desired state of TagTemplate + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + displayName: + description: The display name for this template. + type: string + fields: + description: Set of tag template field IDs and the settings for + the field. This set is an exhaustive list of the allowed fields. + This set must contain at least one field and at most 500 fields. + items: + properties: + description: + description: A description for this field. + type: string + displayName: + description: The display name for this field. + type: string + fieldId: + type: string + isRequired: + description: Whether this is a required field. Defaults + to false. + type: boolean + order: + description: The order of this field with respect to other + fields in this tag template. A higher value indicates + a more important field. The value can be negative. Multiple + fields can have the same order, and field orders within + a tag do not have to be sequential. + format: int64 + type: integer + type: + description: The type of value this tag field can contain. + items: + properties: + enumType: + description: Represents an enum type. Exactly one + of 'primitive_type' or 'enum_type' must be set + items: + properties: + allowedValues: + description: The set of allowed values for this + enum. The display names of the values must + be case-insensitively unique within this set. + Currently, enum values can only be added to + the list of allowed values. Deletion and renaming + of enum values are not supported. Can have + up to 500 allowed values. + items: + properties: + displayName: + description: The display name of the enum + value. + type: string + required: + - displayName + type: object + type: array + required: + - allowedValues + type: object + type: array + primitiveType: + description: 'Represents primitive types - string, + bool etc. Exactly one of ''primitive_type'' or ''enum_type'' + must be set Possible values: ["DOUBLE", "STRING", + "BOOL", "TIMESTAMP"]' + type: string + type: object + type: array + required: + - fieldId + - type + type: object + type: array + forceDelete: + description: This confirms the deletion of any possible tags using + this template. Must be set to true in order to delete the tag + template. + type: boolean + project: + type: string + region: + description: Template location region. + type: string + tagTemplateId: + description: The id of the tag template to create. + type: string + required: + - fields + - tagTemplateId + type: object + 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 + 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 + 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. + 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 + status: + description: TagTemplateStatus defines the observed state of TagTemplate. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dataflow.gcp.jet.crossplane.io_jobs.yaml b/package/crds/dataflow.gcp.jet.crossplane.io_jobs.yaml new file mode 100644 index 00000000..10c10f55 --- /dev/null +++ b/package/crds/dataflow.gcp.jet.crossplane.io_jobs.yaml @@ -0,0 +1,259 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: jobs.dataflow.gcp.jet.crossplane.io +spec: + group: dataflow.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Job + listKind: JobList + plural: jobs + singular: job + 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: Job is the Schema for the Jobs 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: JobSpec defines the desired state of Job + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + additionalExperiments: + description: List of experiments that should be used by the job. + An example value is ["enable_stackdriver_agent_metrics"]. + items: + type: string + type: array + enableStreamingEngine: + description: Indicates if the job should use the streaming engine + feature. + type: boolean + ipConfiguration: + description: The configuration for VM IPs. Options are "WORKER_IP_PUBLIC" + or "WORKER_IP_PRIVATE". + type: string + kmsKeyName: + description: 'The name for the Cloud KMS key for the job. Key + format is: projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY' + type: string + labels: + additionalProperties: + type: string + description: 'User labels to be specified for the job. Keys and + values should follow the restrictions specified in the labeling + restrictions page. NOTE: Google-provided Dataflow templates + often provide default labels that begin with goog-dataflow-provided. + Unless explicitly set in config, these labels will be ignored + to prevent diffs on re-apply.' + type: object + machineType: + description: The machine type to use for the job. + type: string + maxWorkers: + description: The number of workers permitted to work on the job. + More workers may improve processing speed at additional cost. + format: int64 + type: integer + name: + description: A unique name for the resource, required by Dataflow. + type: string + network: + description: The network to which VMs will be assigned. If it + is not provided, "default" will be used. + type: string + onDelete: + description: One of "drain" or "cancel". Specifies behavior of + deletion during terraform destroy. + type: string + parameters: + additionalProperties: + type: string + description: Key/Value pairs to be passed to the Dataflow job + (as used in the template). + type: object + project: + description: The project in which the resource belongs. + type: string + region: + description: The region in which the created job should run. + type: string + serviceAccountEmail: + description: The Service Account email used to create the job. + type: string + subnetwork: + description: The subnetwork to which VMs will be assigned. Should + be of the form "regions/REGION/subnetworks/SUBNETWORK". + type: string + tempGcsLocation: + description: A writeable location on Google Cloud Storage for + the Dataflow job to dump its temporary data. + type: string + templateGcsPath: + description: The Google Cloud Storage path to the Dataflow job + template. + type: string + transformNameMapping: + additionalProperties: + type: string + description: Only applicable when updating a pipeline. Map of + transform name prefixes of the job to be replaced with the corresponding + name prefixes of the new job. + type: object + zone: + description: The zone in which the created job should run. If + it is not provided, the provider zone is used. + type: string + required: + - name + - tempGcsLocation + - templateGcsPath + type: object + 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 + 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 + 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. + 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 + status: + description: JobStatus defines the observed state of Job. + properties: + atProvider: + properties: + id: + type: string + jobId: + type: string + state: + type: string + type: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datalossprevention.gcp.jet.crossplane.io_deidentifytemplates.yaml b/package/crds/datalossprevention.gcp.jet.crossplane.io_deidentifytemplates.yaml new file mode 100644 index 00000000..6b5595e1 --- /dev/null +++ b/package/crds/datalossprevention.gcp.jet.crossplane.io_deidentifytemplates.yaml @@ -0,0 +1,794 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: deidentifytemplates.datalossprevention.gcp.jet.crossplane.io +spec: + group: datalossprevention.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DeidentifyTemplate + listKind: DeidentifyTemplateList + plural: deidentifytemplates + singular: deidentifytemplate + 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: DeidentifyTemplate is the Schema for the DeidentifyTemplates + 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: DeidentifyTemplateSpec defines the desired state of DeidentifyTemplate + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + deidentifyConfig: + description: Configuration of the deidentify template + items: + properties: + infoTypeTransformations: + description: Specifies free-text based transformations to + be applied to the dataset. + items: + properties: + transformations: + description: Transformation for each infoType. Cannot + specify more than one for a given infoType. + items: + properties: + infoTypes: + description: InfoTypes to apply the transformation + to. Leaving this empty will apply the transformation + to apply to all findings that correspond to + infoTypes that were requested in InspectConfig. + items: + properties: + name: + description: Name of the information type. + type: string + required: + - name + type: object + type: array + primitiveTransformation: + description: Primitive transformation to apply + to the infoType. + items: + properties: + characterMaskConfig: + description: Partially mask a string by + replacing a given number of characters + with a fixed character. Masking can + start from the beginning or end of the + string. + items: + properties: + charactersToIgnore: + description: Characters to skip + when doing de-identification of + a value. These will be left alone + and skipped. + items: + properties: + characterToSkip: + description: Characters to + not transform when masking. + type: string + commonCharactersToIgnore: + description: 'Common characters + to not transform when masking. + Useful to avoid removing + punctuation. Possible values: + ["NUMERIC", "ALPHA_UPPER_CASE", + "ALPHA_LOWER_CASE", "PUNCTUATION", + "WHITESPACE"]' + type: string + type: object + type: array + maskingCharacter: + description: Character to use to + mask the sensitive values—for + example, * for an alphabetic string + such as a name, or 0 for a numeric + string such as ZIP code or credit + card number. This string must + have a length of 1. If not supplied, + this value defaults to * for strings, + and 0 for digits. + type: string + numberToMask: + description: Number of characters + to mask. If not set, all matching + chars will be masked. Skipped + characters do not count towards + this tally. + format: int64 + type: integer + reverseOrder: + description: Mask characters in + reverse order. For example, if + masking_character is 0, number_to_mask + is 14, and reverse_order is 'false', + then the input string '1234-5678-9012-3456' + is masked as '00000000000000-3456'. + type: boolean + type: object + type: array + cryptoDeterministicConfig: + description: Pseudonymization method that + generates deterministic encryption for + the given input. Outputs a base64 encoded + representation of the encrypted output. + Uses AES-SIV based on the RFC [https://tools.ietf.org/html/rfc5297](https://tools.ietf.org/html/rfc5297). + items: + properties: + context: + description: "A context may be used + for higher security and maintaining + referential integrity such that + the same identifier in two different + contexts will be given a distinct + surrogate. The context is appended + to plaintext value being encrypted. + On decryption the provided context + is validated against the value + used during encryption. If a context + was provided during encryption, + same context must be provided + during decryption as well. \n + If the context is not set, plaintext + would be used as is for encryption. + If the context is set but: \n + 1. there is no record present + when transforming a given value + or 2. the field is not present + when transforming a given value, + \n plaintext would be used as + is for encryption. \n Note that + case (1) is expected when an 'InfoTypeTransformation' + is applied to both structured + and non-structured 'ContentItem's." + items: + properties: + name: + description: Name describing + the field. + type: string + type: object + type: array + cryptoKey: + description: The key used by the + encryption function. + items: + properties: + kmsWrapped: + description: Kms wrapped key + items: + properties: + cryptoKeyName: + description: The resource + name of the KMS CryptoKey + to use for unwrapping. + type: string + wrappedKey: + description: "The wrapped + data crypto key. \n + A base64-encoded string." + type: string + required: + - cryptoKeyName + - wrappedKey + type: object + type: array + transient: + description: Transient crypto + key + items: + properties: + name: + description: 'Name of + the key. This is an + arbitrary string used + to differentiate different + keys. A unique key + is generated per name: + two separate ''TransientCryptoKey'' + protos share the same + generated key if their + names are the same. + When the data crypto + key is generated, + this name is not used + in any way (repeating + the api call will + result in a different + key being generated).' + type: string + required: + - name + type: object + type: array + unwrapped: + description: Unwrapped crypto + key + items: + properties: + key: + description: "A 128/192/256 + bit key. \n A base64-encoded + string." + type: string + required: + - key + type: object + type: array + type: object + type: array + surrogateInfoType: + description: "The custom info type + to annotate the surrogate with. + This annotation will be applied + to the surrogate by prefixing + it with the name of the custom + info type followed by the number + of characters comprising the surrogate. + The following scheme defines the + format: {info type name}({surrogate + character count}):{surrogate} + \n For example, if the name of + custom info type is 'MY\\_TOKEN\\_INFO\\_TYPE' + and the surrogate is 'abc', the + full replacement value will be: + 'MY\\_TOKEN\\_INFO\\_TYPE(3):abc' + \n This annotation identifies + the surrogate when inspecting + content using the custom info + type 'Surrogate'. This facilitates + reversal of the surrogate when + it occurs in free text. \n Note: + For record transformations where + the entire cell in a table is + being transformed, surrogates + are not mandatory. Surrogates + are used to denote the location + of the token and are necessary + for re-identification in free + form text. \n In order for inspection + to work properly, the name of + this info type must not occur + naturally anywhere in your data; + otherwise, inspection may either + \n * reverse a surrogate that + does not correspond to an actual + identifier * be unable to parse + the surrogate and result in an + error \n Therefore, choose your + custom info type name carefully + after considering what your data + looks like. One way to select + a name that has a high chance + of yielding reliable detection + is to include one or more unicode + characters that are highly improbable + to exist in your data. For example, + assuming your data is entered + from a regular ASCII keyboard, + the symbol with the hex code point + 29DD might be used like so: ⧝MY\\_TOKEN\\_TYPE." + items: + properties: + name: + description: Name of the information + type. Either a name of your + choosing when creating a + CustomInfoType, or one of + the names listed at [https://cloud.google.com/dlp/docs/infotypes-reference](https://cloud.google.com/dlp/docs/infotypes-reference) + when specifying a built-in + type. When sending Cloud + DLP results to Data Catalog, + infoType names should conform + to the pattern '[A-Za-z0-9$-_]{1,64}'. + type: string + type: object + type: array + type: object + type: array + cryptoReplaceFfxFpeConfig: + description: "Replaces an identifier with + a surrogate using Format Preserving + Encryption (FPE) with the FFX mode of + operation; however when used in the + 'content.reidentify' API method, it + serves the opposite function by reversing + the surrogate back into the original + identifier. The identifier must be encoded + as ASCII. For a given crypto key and + context, the same identifier will be + replaced with the same surrogate. Identifiers + must be at least two characters long. + In the case that the identifier is the + empty string, it will be skipped. See + [https://cloud.google.com/dlp/docs/pseudonymization](https://cloud.google.com/dlp/docs/pseudonymization) + to learn more. \n Note: We recommend + using CryptoDeterministicConfig for + all use cases which do not require preserving + the input alphabet space and size, plus + warrant referential integrity." + items: + properties: + commonAlphabet: + description: 'Common alphabets. + Possible values: ["FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED", + "NUMERIC", "HEXADECIMAL", "UPPER_CASE_ALPHA_NUMERIC", + "ALPHA_NUMERIC"]' + type: string + context: + description: "The 'tweak', a context + may be used for higher security + since the same identifier in two + different contexts won't be given + the same surrogate. If the context + is not set, a default tweak will + be used. \n If the context is + set but: \n 1. there is no record + present when transforming a given + value or 2. the field is not + present when transforming a given + value, \n a default tweak will + be used. \n Note that case (1) + is expected when an 'InfoTypeTransformation' + is applied to both structured + and non-structured 'ContentItem's. + Currently, the referenced field + may be of value type integer or + string. \n The tweak is constructed + as a sequence of bytes in big + endian byte order such that: \n + * a 64 bit integer is encoded + followed by a single byte of value + 1 * a string is encoded in UTF-8 + format followed by a single byte + of value 2" + items: + properties: + name: + description: Name describing + the field. + type: string + type: object + type: array + cryptoKey: + description: The key used by the + encryption algorithm. + items: + properties: + kmsWrapped: + description: Kms wrapped key + items: + properties: + cryptoKeyName: + description: The resource + name of the KMS CryptoKey + to use for unwrapping. + type: string + wrappedKey: + description: "The wrapped + data crypto key. \n + A base64-encoded string." + type: string + required: + - cryptoKeyName + - wrappedKey + type: object + type: array + transient: + description: Transient crypto + key + items: + properties: + name: + description: 'Name of + the key. This is an + arbitrary string used + to differentiate different + keys. A unique key + is generated per name: + two separate ''TransientCryptoKey'' + protos share the same + generated key if their + names are the same. + When the data crypto + key is generated, + this name is not used + in any way (repeating + the api call will + result in a different + key being generated).' + type: string + required: + - name + type: object + type: array + unwrapped: + description: Unwrapped crypto + key + items: + properties: + key: + description: "A 128/192/256 + bit key. \n A base64-encoded + string." + type: string + required: + - key + type: object + type: array + type: object + type: array + customAlphabet: + description: "This is supported + by mapping these to the alphanumeric + characters that the FFX mode natively + supports. This happens before/after + encryption/decryption. Each character + listed must appear only once. + Number of characters must be in + the range \\[2, 95\\]. This must + be encoded as ASCII. The order + of characters does not matter. + The full list of allowed characters + is: \n ''0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz + ~'!@#$%^&*()_-+={[}]|:;\"'<,>.?/''" + type: string + radix: + description: The native way to select + the alphabet. Must be in the range + \[2, 95\]. + format: int64 + type: integer + surrogateInfoType: + description: "The custom infoType + to annotate the surrogate with. + This annotation will be applied + to the surrogate by prefixing + it with the name of the custom + infoType followed by the number + of characters comprising the surrogate. + The following scheme defines the + format: info\\_type\\_name(surrogate\\_character\\_count):surrogate + \n For example, if the name of + custom infoType is 'MY\\_TOKEN\\_INFO\\_TYPE' + and the surrogate is 'abc', the + full replacement value will be: + 'MY\\_TOKEN\\_INFO\\_TYPE(3):abc' + \n This annotation identifies + the surrogate when inspecting + content using the custom infoType + ['SurrogateType'](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype). + This facilitates reversal of the + surrogate when it occurs in free + text. \n In order for inspection + to work properly, the name of + this infoType must not occur naturally + anywhere in your data; otherwise, + inspection may find a surrogate + that does not correspond to an + actual identifier. Therefore, + choose your custom infoType name + carefully after considering what + your data looks like. One way + to select a name that has a high + chance of yielding reliable detection + is to include one or more unicode + characters that are highly improbable + to exist in your data. For example, + assuming your data is entered + from a regular ASCII keyboard, + the symbol with the hex code point + 29DD might be used like so: ⧝MY\\_TOKEN\\_TYPE" + items: + properties: + name: + description: Name of the information + type. Either a name of your + choosing when creating a + CustomInfoType, or one of + the names listed at [https://cloud.google.com/dlp/docs/infotypes-reference](https://cloud.google.com/dlp/docs/infotypes-reference) + when specifying a built-in + type. When sending Cloud + DLP results to Data Catalog, + infoType names should conform + to the pattern '[A-Za-z0-9$-_]{1,64}'. + type: string + type: object + type: array + type: object + type: array + replaceConfig: + description: Replace each input value + with a given value. + items: + properties: + newValue: + description: Replace each input + value with a given value. + items: + properties: + booleanValue: + description: A boolean value. + type: boolean + dateValue: + description: Represents a + whole or partial calendar + date. + items: + properties: + day: + description: Day of + month. Must be from + 1 to 31 and valid + for the year and month, + or 0 if specifying + a year by itself or + a year and month where + the day is not significant. + format: int64 + type: integer + month: + description: Month of + year. Must be from + 1 to 12, or 0 if specifying + a year without a month + and day. + format: int64 + type: integer + year: + description: Year of + date. Must be from + 1 to 9999, or 0 if + specifying a date + without a year. + format: int64 + type: integer + type: object + type: array + dayOfWeekValue: + description: 'Represents a + day of the week. Possible + values: ["MONDAY", "TUESDAY", + "WEDNESDAY", "THURSDAY", + "FRIDAY", "SATURDAY", "SUNDAY"]' + type: string + floatValue: + description: A float value. + type: number + integerValue: + description: An integer value. + format: int64 + type: integer + stringValue: + description: A string value. + type: string + timeValue: + description: Represents a + time of day. + items: + properties: + hours: + description: Hours of + day in 24 hour format. + Should be from 0 to + 23. + format: int64 + type: integer + minutes: + description: Minutes + of hour of day. Must + be from 0 to 59. + format: int64 + type: integer + nanos: + description: Fractions + of seconds in nanoseconds. + Must be from 0 to + 999,999,999. + format: int64 + type: integer + seconds: + description: Seconds + of minutes of the + time. Must normally + be from 0 to 59. + format: int64 + type: integer + type: object + type: array + timestampValue: + description: 'A timestamp + in RFC3339 UTC "Zulu" format, + with nanosecond resolution + and up to nine fractional + digits. Examples: "2014-10-02T15:01:23Z" + and "2014-10-02T15:01:23.045123456Z".' + type: string + type: object + type: array + required: + - newValue + type: object + type: array + replaceWithInfoTypeConfig: + description: Replace each matching finding + with the name of the info type. + type: boolean + type: object + type: array + required: + - primitiveTransformation + type: object + type: array + required: + - transformations + type: object + type: array + required: + - infoTypeTransformations + type: object + type: array + description: + description: A description of the template. + type: string + displayName: + description: User set display name of the template. + type: string + parent: + description: "The parent of the template in any of the following + formats: \n * 'projects/{{project}}' * 'projects/{{project}}/locations/{{location}}' + * 'organizations/{{organization_id}}' * 'organizations/{{organization_id}}/locations/{{location}}'" + type: string + required: + - deidentifyConfig + - parent + type: object + 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 + 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 + 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. + 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 + status: + description: DeidentifyTemplateStatus defines the observed state of DeidentifyTemplate. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datalossprevention.gcp.jet.crossplane.io_inspecttemplates.yaml b/package/crds/datalossprevention.gcp.jet.crossplane.io_inspecttemplates.yaml new file mode 100644 index 00000000..fe394c02 --- /dev/null +++ b/package/crds/datalossprevention.gcp.jet.crossplane.io_inspecttemplates.yaml @@ -0,0 +1,653 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: inspecttemplates.datalossprevention.gcp.jet.crossplane.io +spec: + group: datalossprevention.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InspectTemplate + listKind: InspectTemplateList + plural: inspecttemplates + singular: inspecttemplate + 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: InspectTemplate is the Schema for the InspectTemplates 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: InspectTemplateSpec defines the desired state of InspectTemplate + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: A description of the inspect template. + type: string + displayName: + description: User set display name of the inspect template. + type: string + inspectConfig: + description: The core content of the template. + items: + properties: + contentOptions: + description: 'List of options defining data content to scan. + If empty, text, images, and other content will be included. + Possible values: ["CONTENT_TEXT", "CONTENT_IMAGE"]' + items: + type: string + type: array + customInfoTypes: + description: Custom info types to be used. See https://cloud.google.com/dlp/docs/creating-custom-infotypes + to learn more. + items: + properties: + dictionary: + description: Dictionary which defines the rule. + items: + properties: + cloudStoragePath: + description: Newline-delimited file of words + in Cloud Storage. Only a single file is accepted. + items: + properties: + path: + description: 'A url representing a file + or path (no wildcards) in Cloud Storage. + Example: ''gs://[BUCKET_NAME]/dictionary.txt''' + type: string + required: + - path + type: object + type: array + wordList: + description: List of words or phrases to search + for. + items: + properties: + words: + description: Words or phrases defining + the dictionary. The dictionary must + contain at least one phrase and every + phrase must contain at least 2 characters + that are letters or digits. + items: + type: string + type: array + required: + - words + type: object + type: array + type: object + type: array + exclusionType: + description: 'If set to EXCLUSION_TYPE_EXCLUDE this + infoType will not cause a finding to be returned. + It still can be used for rules matching. Possible + values: ["EXCLUSION_TYPE_EXCLUDE"]' + type: string + infoType: + description: CustomInfoType can either be a new infoType, + or an extension of built-in infoType, when the name + matches one of existing infoTypes and that infoType + is specified in 'info_types' field. Specifying the + latter adds findings to the one detected by the + system. If built-in info type is not specified in + 'info_types' list then the name is treated as a + custom info type. + items: + properties: + name: + description: Name of the information type. Either + a name of your choosing when creating a CustomInfoType, + or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference + when specifying a built-in type. + type: string + required: + - name + type: object + type: array + likelihood: + description: 'Likelihood to return for this CustomInfoType. + This base value can be altered by a detection rule + if the finding meets the criteria specified by the + rule. Default value: "VERY_LIKELY" Possible values: + ["VERY_UNLIKELY", "UNLIKELY", "POSSIBLE", "LIKELY", + "VERY_LIKELY"]' + type: string + regex: + description: Regular expression which defines the + rule. + items: + properties: + groupIndexes: + description: The index of the submatch to extract + as findings. When not specified, the entire + match is returned. No more than 3 may be included. + items: + format: int64 + type: integer + type: array + pattern: + description: Pattern defining the regular expression. + Its syntax (https://github.com/google/re2/wiki/Syntax) + can be found under the google/re2 repository + on GitHub. + type: string + required: + - pattern + type: object + type: array + storedType: + description: A reference to a StoredInfoType to use + with scanning. + items: + properties: + name: + description: Resource name of the requested + StoredInfoType, for example 'organizations/433245324/storedInfoTypes/432452342' + or 'projects/project-id/storedInfoTypes/432452342'. + type: string + required: + - name + type: object + type: array + required: + - infoType + type: object + type: array + excludeInfoTypes: + description: When true, excludes type information of the + findings. + type: boolean + includeQuote: + description: When true, a contextual quote from the data + that triggered a finding is included in the response. + type: boolean + infoTypes: + description: "Restricts what infoTypes to look for. The + values must correspond to InfoType values returned by + infoTypes.list or listed at https://cloud.google.com/dlp/docs/infotypes-reference. + \n When no InfoTypes or CustomInfoTypes are specified + in a request, the system may automatically choose what + detectors to run. By default this may be all types, but + may change over time as detectors are updated." + items: + properties: + name: + description: Name of the information type. Either + a name of your choosing when creating a CustomInfoType, + or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference + when specifying a built-in type. + type: string + required: + - name + type: object + type: array + limits: + description: Configuration to control the number of findings + returned. + items: + properties: + maxFindingsPerInfoType: + description: Configuration of findings limit given + for specified infoTypes. + items: + properties: + infoType: + description: Type of information the findings + limit applies to. Only one limit per infoType + should be provided. If InfoTypeLimit does + not have an infoType, the DLP API applies + the limit against all infoTypes that are found + but not specified in another InfoTypeLimit. + items: + properties: + name: + description: Name of the information type. + Either a name of your choosing when + creating a CustomInfoType, or one of + the names listed at https://cloud.google.com/dlp/docs/infotypes-reference + when specifying a built-in type. + type: string + required: + - name + type: object + type: array + maxFindings: + description: Max findings limit for the given + infoType. + format: int64 + type: integer + required: + - infoType + - maxFindings + type: object + type: array + maxFindingsPerItem: + description: Max number of findings that will be returned + for each item scanned. The maximum returned is 2000. + format: int64 + type: integer + maxFindingsPerRequest: + description: Max number of findings that will be returned + per request/job. The maximum returned is 2000. + format: int64 + type: integer + required: + - maxFindingsPerItem + - maxFindingsPerRequest + type: object + type: array + minLikelihood: + description: 'Only returns findings equal or above this + threshold. See https://cloud.google.com/dlp/docs/likelihood + for more info Default value: "POSSIBLE" Possible values: + ["VERY_UNLIKELY", "UNLIKELY", "POSSIBLE", "LIKELY", "VERY_LIKELY"]' + type: string + ruleSet: + description: Set of rules to apply to the findings for this + InspectConfig. Exclusion rules, contained in the set are + executed in the end, other rules are executed in the order + they are specified for each info type. + items: + properties: + infoTypes: + description: List of infoTypes this rule set is applied + to. + items: + properties: + name: + description: Name of the information type. Either + a name of your choosing when creating a CustomInfoType, + or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference + when specifying a built-in type. + type: string + required: + - name + type: object + type: array + rules: + description: Set of rules to be applied to infoTypes. + The rules are applied in order. + items: + properties: + exclusionRule: + description: The rule that specifies conditions + when findings of infoTypes specified in InspectionRuleSet + are removed from results. + items: + properties: + dictionary: + description: Dictionary which defines + the rule. + items: + properties: + cloudStoragePath: + description: Newline-delimited file + of words in Cloud Storage. Only + a single file is accepted. + items: + properties: + path: + description: 'A url representing + a file or path (no wildcards) + in Cloud Storage. Example: + ''gs://[BUCKET_NAME]/dictionary.txt''' + type: string + required: + - path + type: object + type: array + wordList: + description: List of words or phrases + to search for. + items: + properties: + words: + description: Words or phrases + defining the dictionary. + The dictionary must contain + at least one phrase and + every phrase must contain + at least 2 characters that + are letters or digits. + items: + type: string + type: array + required: + - words + type: object + type: array + type: object + type: array + excludeInfoTypes: + description: Set of infoTypes for which + findings would affect this rule. + items: + properties: + infoTypes: + description: If a finding is matched + by any of the infoType detectors + listed here, the finding will + be excluded from the scan results. + items: + properties: + name: + description: Name of the information + type. Either a name of your + choosing when creating a + CustomInfoType, or one of + the names listed at https://cloud.google.com/dlp/docs/infotypes-reference + when specifying a built-in + type. + type: string + required: + - name + type: object + type: array + required: + - infoTypes + type: object + type: array + matchingType: + description: 'How the rule is applied. + See the documentation for more information: + https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#MatchingType + Possible values: ["MATCHING_TYPE_FULL_MATCH", + "MATCHING_TYPE_PARTIAL_MATCH", "MATCHING_TYPE_INVERSE_MATCH"]' + type: string + regex: + description: Regular expression which + defines the rule. + items: + properties: + groupIndexes: + description: The index of the submatch + to extract as findings. When not + specified, the entire match is + returned. No more than 3 may be + included. + items: + format: int64 + type: integer + type: array + pattern: + description: Pattern defining the + regular expression. Its syntax + (https://github.com/google/re2/wiki/Syntax) + can be found under the google/re2 + repository on GitHub. + type: string + required: + - pattern + type: object + type: array + required: + - matchingType + type: object + type: array + hotwordRule: + description: Hotword-based detection rule. + items: + properties: + hotwordRegex: + description: Regular expression pattern + defining what qualifies as a hotword. + items: + properties: + groupIndexes: + description: The index of the submatch + to extract as findings. When not + specified, the entire match is + returned. No more than 3 may be + included. + items: + format: int64 + type: integer + type: array + pattern: + description: Pattern defining the + regular expression. Its syntax + (https://github.com/google/re2/wiki/Syntax) + can be found under the google/re2 + repository on GitHub. + type: string + required: + - pattern + type: object + type: array + likelihoodAdjustment: + description: Likelihood adjustment to + apply to all matching findings. + items: + properties: + fixedLikelihood: + description: 'Set the likelihood + of a finding to a fixed value. + Either this or relative_likelihood + can be set. Possible values: ["VERY_UNLIKELY", + "UNLIKELY", "POSSIBLE", "LIKELY", + "VERY_LIKELY"]' + type: string + relativeLikelihood: + description: Increase or decrease + the likelihood by the specified + number of levels. For example, + if a finding would be POSSIBLE + without the detection rule and + relativeLikelihood is 1, then + it is upgraded to LIKELY, while + a value of -1 would downgrade + it to UNLIKELY. Likelihood may + never drop below VERY_UNLIKELY + or exceed VERY_LIKELY, so applying + an adjustment of 1 followed by + an adjustment of -1 when base + likelihood is VERY_LIKELY will + result in a final likelihood of + LIKELY. Either this or fixed_likelihood + can be set. + format: int64 + type: integer + type: object + type: array + proximity: + description: Proximity of the finding + within which the entire hotword must + reside. The total length of the window + cannot exceed 1000 characters. Note + that the finding itself will be included + in the window, so that hotwords may + be used to match substrings of the finding + itself. For example, the certainty of + a phone number regex '(\d{3}) \d{3}-\d{4}' + could be adjusted upwards if the area + code is known to be the local area code + of a company office using the hotword + regex '(xxx)', where 'xxx' is the area + code in question. + items: + properties: + windowAfter: + description: Number of characters + after the finding to consider. + Either this or window_before must + be specified + format: int64 + type: integer + windowBefore: + description: Number of characters + before the finding to consider. + Either this or window_after must + be specified + format: int64 + type: integer + type: object + type: array + required: + - hotwordRegex + - likelihoodAdjustment + - proximity + type: object + type: array + type: object + type: array + required: + - infoTypes + - rules + type: object + type: array + type: object + type: array + parent: + description: "The parent of the inspect template in any of the + following formats: \n * 'projects/{{project}}' * 'projects/{{project}}/locations/{{location}}' + * 'organizations/{{organization_id}}' * 'organizations/{{organization_id}}/locations/{{location}}'" + type: string + required: + - parent + type: object + 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 + 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 + 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. + 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 + status: + description: InspectTemplateStatus defines the observed state of InspectTemplate. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datalossprevention.gcp.jet.crossplane.io_jobtriggers.yaml b/package/crds/datalossprevention.gcp.jet.crossplane.io_jobtriggers.yaml new file mode 100644 index 00000000..4c7342eb --- /dev/null +++ b/package/crds/datalossprevention.gcp.jet.crossplane.io_jobtriggers.yaml @@ -0,0 +1,531 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: jobtriggers.datalossprevention.gcp.jet.crossplane.io +spec: + group: datalossprevention.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: JobTrigger + listKind: JobTriggerList + plural: jobtriggers + singular: jobtrigger + 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: JobTrigger is the Schema for the JobTriggers 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: JobTriggerSpec defines the desired state of JobTrigger + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: A description of the job trigger. + type: string + displayName: + description: User set display name of the job trigger. + type: string + inspectJob: + description: Controls what and how to inspect for findings. + items: + properties: + actions: + description: A task to execute on the completion of a job. + items: + properties: + saveFindings: + description: Schedule for triggered jobs + items: + properties: + outputConfig: + description: Information on where to store output + items: + properties: + outputSchema: + description: "Schema used for writing + the findings for Inspect jobs. This + field is only used for Inspect and must + be unspecified for Risk jobs. Columns + are derived from the Finding object. + If appending to an existing table, any + columns from the predefined schema that + are missing will be added. No columns + in the existing table will be deleted. + \n If unspecified, then all available + columns will be used for a new table + or an (existing) table with no schema, + and no changes will be made to an existing + table that has a schema. Only for use + with external storage. Possible values: + [\"BASIC_COLUMNS\", \"GCS_COLUMNS\", + \"DATASTORE_COLUMNS\", \"BIG_QUERY_COLUMNS\", + \"ALL_COLUMNS\"]" + type: string + table: + description: Information on the location + of the target BigQuery Table. + items: + properties: + datasetId: + description: Dataset ID of the table. + type: string + projectId: + description: The Google Cloud Platform + project ID of the project containing + the table. + type: string + tableId: + description: 'Name of the table. + If is not set a new one will be + generated for you with the following + format: ''dlp_googleapis_yyyy_mm_dd_[dlp_job_id]''. + Pacific timezone will be used + for generating the date details.' + type: string + required: + - datasetId + - projectId + type: object + type: array + required: + - table + type: object + type: array + required: + - outputConfig + type: object + type: array + required: + - saveFindings + type: object + type: array + inspectTemplateName: + description: The name of the template to run when this job + is triggered. + type: string + storageConfig: + description: Information on where to inspect + items: + properties: + bigQueryOptions: + description: Options defining BigQuery table and row + identifiers. + items: + properties: + tableReference: + description: Set of files to scan. + items: + properties: + datasetId: + description: The dataset ID of the table. + type: string + projectId: + description: The Google Cloud Platform + project ID of the project containing + the table. + type: string + tableId: + description: The name of the table. + type: string + required: + - datasetId + - projectId + - tableId + type: object + type: array + required: + - tableReference + type: object + type: array + cloudStorageOptions: + description: Options defining a file or a set of files + within a Google Cloud Storage bucket. + items: + properties: + bytesLimitPerFile: + description: Max number of bytes to scan from + a file. If a scanned file's size is bigger + than this value then the rest of the bytes + are omitted. + format: int64 + type: integer + bytesLimitPerFilePercent: + description: Max percentage of bytes to scan + from a file. The rest are omitted. The number + of bytes scanned is rounded down. Must be + between 0 and 100, inclusively. Both 0 and + 100 means no limit. + format: int64 + type: integer + fileSet: + description: Set of files to scan. + items: + properties: + regexFileSet: + description: The regex-filtered set of + files to scan. + items: + properties: + bucketName: + description: The name of a Cloud + Storage bucket. + type: string + excludeRegex: + description: A list of regular expressions + matching file paths to exclude. + All files in the bucket that match + at least one of these regular + expressions will be excluded from + the scan. + items: + type: string + type: array + includeRegex: + description: A list of regular expressions + matching file paths to include. + All files in the bucket that match + at least one of these regular + expressions will be included in + the set of files, except for those + that also match an item in excludeRegex. + Leaving this field empty will + match all files by default (this + is equivalent to including .* + in the list) + items: + type: string + type: array + required: + - bucketName + type: object + type: array + url: + description: "The Cloud Storage url of + the file(s) to scan, in the format 'gs:///'. + Trailing wildcard in the path is allowed. + \n If the url ends in a trailing slash, + the bucket or directory represented + by the url will be scanned non-recursively + (content in sub-directories will not + be scanned). This means that 'gs://mybucket/' + is equivalent to 'gs://mybucket/*', + and 'gs://mybucket/directory/' is equivalent + to 'gs://mybucket/directory/*'." + type: string + type: object + type: array + fileTypes: + description: 'List of file type groups to include + in the scan. If empty, all files are scanned + and available data format processors are applied. + In addition, the binary content of the selected + files is always scanned as well. Images are + scanned only as binary if the specified region + does not support image inspection and no fileTypes + were specified. Possible values: ["BINARY_FILE", + "TEXT_FILE", "IMAGE", "WORD", "PDF", "AVRO", + "CSV", "TSV"]' + items: + type: string + type: array + filesLimitPercent: + description: Limits the number of files to scan + to this percentage of the input FileSet. Number + of files scanned is rounded down. Must be + between 0 and 100, inclusively. Both 0 and + 100 means no limit. + format: int64 + type: integer + sampleMethod: + description: 'How to sample bytes if not all + bytes are scanned. Meaningful only when used + in conjunction with bytesLimitPerFile. If + not specified, scanning would start from the + top. Possible values: ["TOP", "RANDOM_START"]' + type: string + required: + - fileSet + type: object + type: array + datastoreOptions: + description: Options defining a data set within Google + Cloud Datastore. + items: + properties: + kind: + description: A representation of a Datastore + kind. + items: + properties: + name: + description: The name of the Datastore + kind. + type: string + required: + - name + type: object + type: array + partitionId: + description: Datastore partition ID. A partition + ID identifies a grouping of entities. The + grouping is always by project and namespace, + however the namespace ID may be empty. + items: + properties: + namespaceId: + description: If not empty, the ID of the + namespace to which the entities belong. + type: string + projectId: + description: The ID of the project to + which the entities belong. + type: string + required: + - projectId + type: object + type: array + required: + - kind + - partitionId + type: object + type: array + timespanConfig: + description: Information on where to inspect + items: + properties: + enableAutoPopulationOfTimespanConfig: + description: When the job is started by a JobTrigger + we will automatically figure out a valid startTime + to avoid scanning files that have not been + modified since the last time the JobTrigger + executed. This will be based on the time of + the execution of the last run of the JobTrigger. + type: boolean + endTime: + description: Exclude files or rows newer than + this value. If set to zero, no upper time + limit is applied. + type: string + startTime: + description: Exclude files or rows older than + this value. + type: string + timestampField: + description: Information on where to inspect + items: + properties: + name: + description: "Specification of the field + containing the timestamp of scanned + items. Used for data sources like Datastore + and BigQuery. \n For BigQuery: Required + to filter out rows based on the given + start and end times. If not specified + and the table was modified between the + given start and end times, the entire + table will be scanned. The valid data + types of the timestamp field are: INTEGER, + DATE, TIMESTAMP, or DATETIME BigQuery + column. \n For Datastore. Valid data + types of the timestamp field are: TIMESTAMP. + Datastore entity will be scanned if + the timestamp property does not exist + or its value is empty or invalid." + type: string + required: + - name + type: object + type: array + required: + - timestampField + type: object + type: array + type: object + type: array + required: + - actions + - inspectTemplateName + - storageConfig + type: object + type: array + parent: + description: The parent of the trigger, either in the format 'projects/{{project}}' + or 'projects/{{project}}/locations/{{location}}' + type: string + status: + description: 'Whether the trigger is currently active. Default + value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"]' + type: string + triggers: + description: What event needs to occur for a new job to be started. + items: + properties: + schedule: + description: Schedule for triggered jobs + items: + properties: + recurrencePeriodDuration: + description: "With this option a job is started a + regular periodic basis. For example: every day (86400 + seconds). \n A scheduled start time will be skipped + if the previous execution has not ended when its + scheduled time occurs. \n This value must be set + to a time duration greater than or equal to 1 day + and can be no longer than 60 days. \n A duration + in seconds with up to nine fractional digits, terminated + by 's'. Example: \"3.5s\"." + type: string + type: object + type: array + type: object + type: array + required: + - parent + - triggers + type: object + 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 + 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 + 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. + 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 + status: + description: JobTriggerStatus defines the observed state of JobTrigger. + properties: + atProvider: + properties: + id: + type: string + lastRunTime: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datalossprevention.gcp.jet.crossplane.io_storedinfotypes.yaml b/package/crds/datalossprevention.gcp.jet.crossplane.io_storedinfotypes.yaml new file mode 100644 index 00000000..4d485969 --- /dev/null +++ b/package/crds/datalossprevention.gcp.jet.crossplane.io_storedinfotypes.yaml @@ -0,0 +1,314 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: storedinfotypes.datalossprevention.gcp.jet.crossplane.io +spec: + group: datalossprevention.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: StoredInfoType + listKind: StoredInfoTypeList + plural: storedinfotypes + singular: storedinfotype + 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: StoredInfoType is the Schema for the StoredInfoTypes 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: StoredInfoTypeSpec defines the desired state of StoredInfoType + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: A description of the info type. + type: string + dictionary: + description: Dictionary which defines the rule. + items: + properties: + cloudStoragePath: + description: Newline-delimited file of words in Cloud Storage. + Only a single file is accepted. + items: + properties: + path: + description: 'A url representing a file or path (no + wildcards) in Cloud Storage. Example: ''gs://[BUCKET_NAME]/dictionary.txt''' + type: string + required: + - path + type: object + type: array + wordList: + description: List of words or phrases to search for. + items: + properties: + words: + description: Words or phrases defining the dictionary. + The dictionary must contain at least one phrase + and every phrase must contain at least 2 characters + that are letters or digits. + items: + type: string + type: array + required: + - words + type: object + type: array + type: object + type: array + displayName: + description: User set display name of the info type. + type: string + largeCustomDictionary: + description: Dictionary which defines the rule. + items: + properties: + bigQueryField: + description: Field in a BigQuery table where each cell represents + a dictionary phrase. + items: + properties: + field: + description: Designated field in the BigQuery table. + items: + properties: + name: + description: Name describing the field. + type: string + required: + - name + type: object + type: array + table: + description: Field in a BigQuery table where each + cell represents a dictionary phrase. + items: + properties: + datasetId: + description: The dataset ID of the table. + type: string + projectId: + description: The Google Cloud Platform project + ID of the project containing the table. + type: string + tableId: + description: The name of the table. + type: string + required: + - datasetId + - projectId + - tableId + type: object + type: array + required: + - field + - table + type: object + type: array + cloudStorageFileSet: + description: Set of files containing newline-delimited lists + of dictionary phrases. + items: + properties: + url: + description: The url, in the format 'gs:///'. + Trailing wildcard in the path is allowed. + type: string + required: + - url + type: object + type: array + outputPath: + description: Location to store dictionary artifacts in Google + Cloud Storage. These files will only be accessible by + project owners and the DLP API. If any of these artifacts + are modified, the dictionary is considered invalid and + can no longer be used. + items: + properties: + path: + description: 'A url representing a file or path (no + wildcards) in Cloud Storage. Example: ''gs://[BUCKET_NAME]/dictionary.txt''' + type: string + required: + - path + type: object + type: array + required: + - outputPath + type: object + type: array + parent: + description: "The parent of the info type in any of the following + formats: \n * 'projects/{{project}}' * 'projects/{{project}}/locations/{{location}}' + * 'organizations/{{organization_id}}' * 'organizations/{{organization_id}}/locations/{{location}}'" + type: string + regex: + description: Regular expression which defines the rule. + items: + properties: + groupIndexes: + description: The index of the submatch to extract as findings. + When not specified, the entire match is returned. No more + than 3 may be included. + items: + format: int64 + type: integer + type: array + pattern: + description: Pattern defining the regular expression. Its + syntax (https://github.com/google/re2/wiki/Syntax) can + be found under the google/re2 repository on GitHub. + type: string + required: + - pattern + type: object + type: array + required: + - parent + type: object + 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 + 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 + 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. + 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 + status: + description: StoredInfoTypeStatus defines the observed state of StoredInfoType. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dataproc.gcp.jet.crossplane.io_autoscalingpolicies.yaml b/package/crds/dataproc.gcp.jet.crossplane.io_autoscalingpolicies.yaml new file mode 100644 index 00000000..dae8bde9 --- /dev/null +++ b/package/crds/dataproc.gcp.jet.crossplane.io_autoscalingpolicies.yaml @@ -0,0 +1,333 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: autoscalingpolicies.dataproc.gcp.jet.crossplane.io +spec: + group: dataproc.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AutoscalingPolicy + listKind: AutoscalingPolicyList + plural: autoscalingpolicies + singular: autoscalingpolicy + 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: AutoscalingPolicy is the Schema for the AutoscalingPolicys 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: AutoscalingPolicySpec defines the desired state of AutoscalingPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + basicAlgorithm: + description: Basic algorithm for autoscaling. + items: + properties: + cooldownPeriod: + description: "Duration between scaling events. A scaling + period starts after the update operation from the previous + event has completed. \n Bounds: [2m, 1d]. Default: 2m." + type: string + yarnConfig: + description: YARN autoscaling configuration. + items: + properties: + gracefulDecommissionTimeout: + description: "Timeout for YARN graceful decommissioning + of Node Managers. Specifies the duration to wait + for jobs to complete before forcefully removing + workers (and potentially interrupting jobs). Only + applicable to downscaling operations. \n Bounds: + [0s, 1d]." + type: string + scaleDownFactor: + description: "Fraction of average pending memory in + the last cooldown period for which to remove workers. + A scale-down factor of 1 will result in scaling + down so that there is no available memory remaining + after the update (more aggressive scaling). A scale-down + factor of 0 disables removing workers, which can + be beneficial for autoscaling a single job. \n Bounds: + [0.0, 1.0]." + type: number + scaleDownMinWorkerFraction: + description: "Minimum scale-down threshold as a fraction + of total cluster size before scaling occurs. For + example, in a 20-worker cluster, a threshold of + 0.1 means the autoscaler must recommend at least + a 2 worker scale-down for the cluster to scale. + A threshold of 0 means the autoscaler will scale + down on any recommended change. \n Bounds: [0.0, + 1.0]. Default: 0.0." + type: number + scaleUpFactor: + description: "Fraction of average pending memory in + the last cooldown period for which to add workers. + A scale-up factor of 1.0 will result in scaling + up so that there is no pending memory remaining + after the update (more aggressive scaling). A scale-up + factor closer to 0 will result in a smaller magnitude + of scaling up (less aggressive scaling). \n Bounds: + [0.0, 1.0]." + type: number + scaleUpMinWorkerFraction: + description: "Minimum scale-up threshold as a fraction + of total cluster size before scaling occurs. For + example, in a 20-worker cluster, a threshold of + 0.1 means the autoscaler must recommend at least + a 2-worker scale-up for the cluster to scale. A + threshold of 0 means the autoscaler will scale up + on any recommended change. \n Bounds: [0.0, 1.0]. + Default: 0.0." + type: number + required: + - gracefulDecommissionTimeout + - scaleDownFactor + - scaleUpFactor + type: object + type: array + required: + - yarnConfig + type: object + type: array + location: + description: The location where the autoscaling policy should + reside. The default value is 'global'. + type: string + policyId: + description: The policy id. The id must contain only letters (a-z, + A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot + begin or end with underscore or hyphen. Must consist of between + 3 and 50 characters. + type: string + project: + type: string + secondaryWorkerConfig: + description: Describes how the autoscaler will operate for secondary + workers. + items: + properties: + maxInstances: + description: 'Maximum number of instances for this group. + Note that by default, clusters will not use secondary + workers. Required for secondary workers if the minimum + secondary instances is set. Bounds: [minInstances, ). + Defaults to 0.' + format: int64 + type: integer + minInstances: + description: 'Minimum number of instances for this group. + Bounds: [0, maxInstances]. Defaults to 0.' + format: int64 + type: integer + weight: + description: "Weight for the instance group, which is used + to determine the fraction of total workers in the cluster + from this instance group. For example, if primary workers + have weight 2, and secondary workers have weight 1, the + cluster will have approximately 2 primary workers for + each secondary worker. \n The cluster may not reach the + specified balance if constrained by min/max bounds or + other autoscaling settings. For example, if maxInstances + for secondary workers is 0, then only primary workers + will be added. The cluster can also be out of balance + when created. \n If weight is not set on any instance + group, the cluster will default to equal weight for all + groups: the cluster will attempt to maintain an equal + number of workers in each group within the configured + size bounds for each group. If weight is set for one group + only, the cluster will default to zero weight on the unset + group. For example if weight is set only on primary workers, + the cluster will use primary workers only and no secondary + workers." + format: int64 + type: integer + type: object + type: array + workerConfig: + description: Describes how the autoscaler will operate for primary + workers. + items: + properties: + maxInstances: + description: Maximum number of instances for this group. + format: int64 + type: integer + minInstances: + description: 'Minimum number of instances for this group. + Bounds: [2, maxInstances]. Defaults to 2.' + format: int64 + type: integer + weight: + description: "Weight for the instance group, which is used + to determine the fraction of total workers in the cluster + from this instance group. For example, if primary workers + have weight 2, and secondary workers have weight 1, the + cluster will have approximately 2 primary workers for + each secondary worker. \n The cluster may not reach the + specified balance if constrained by min/max bounds or + other autoscaling settings. For example, if maxInstances + for secondary workers is 0, then only primary workers + will be added. The cluster can also be out of balance + when created. \n If weight is not set on any instance + group, the cluster will default to equal weight for all + groups: the cluster will attempt to maintain an equal + number of workers in each group within the configured + size bounds for each group. If weight is set for one group + only, the cluster will default to zero weight on the unset + group. For example if weight is set only on primary workers, + the cluster will use primary workers only and no secondary + workers." + format: int64 + type: integer + required: + - maxInstances + type: object + type: array + required: + - policyId + type: object + 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 + 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 + 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. + 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 + status: + description: AutoscalingPolicyStatus defines the observed state of AutoscalingPolicy. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dataproc.gcp.jet.crossplane.io_clusteriambindings.yaml b/package/crds/dataproc.gcp.jet.crossplane.io_clusteriambindings.yaml new file mode 100644 index 00000000..8607a940 --- /dev/null +++ b/package/crds/dataproc.gcp.jet.crossplane.io_clusteriambindings.yaml @@ -0,0 +1,196 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: clusteriambindings.dataproc.gcp.jet.crossplane.io +spec: + group: dataproc.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ClusterIAMBinding + listKind: ClusterIAMBindingList + plural: clusteriambindings + singular: clusteriambinding + 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: ClusterIAMBinding is the Schema for the ClusterIAMBindings 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: ClusterIAMBindingSpec defines the desired state of ClusterIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + cluster: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + region: + type: string + role: + type: string + required: + - cluster + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: ClusterIAMBindingStatus defines the observed state of ClusterIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dataproc.gcp.jet.crossplane.io_clusteriammembers.yaml b/package/crds/dataproc.gcp.jet.crossplane.io_clusteriammembers.yaml new file mode 100644 index 00000000..187be811 --- /dev/null +++ b/package/crds/dataproc.gcp.jet.crossplane.io_clusteriammembers.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: clusteriammembers.dataproc.gcp.jet.crossplane.io +spec: + group: dataproc.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ClusterIAMMember + listKind: ClusterIAMMemberList + plural: clusteriammembers + singular: clusteriammember + 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: ClusterIAMMember is the Schema for the ClusterIAMMembers 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: ClusterIAMMemberSpec defines the desired state of ClusterIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + cluster: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + region: + type: string + role: + type: string + required: + - cluster + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: ClusterIAMMemberStatus defines the observed state of ClusterIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dataproc.gcp.jet.crossplane.io_clusteriampolicies.yaml b/package/crds/dataproc.gcp.jet.crossplane.io_clusteriampolicies.yaml new file mode 100644 index 00000000..fa10fd20 --- /dev/null +++ b/package/crds/dataproc.gcp.jet.crossplane.io_clusteriampolicies.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: clusteriampolicies.dataproc.gcp.jet.crossplane.io +spec: + group: dataproc.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ClusterIAMPolicy + listKind: ClusterIAMPolicyList + plural: clusteriampolicies + singular: clusteriampolicy + 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: ClusterIAMPolicy is the Schema for the ClusterIAMPolicys 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: ClusterIAMPolicySpec defines the desired state of ClusterIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + cluster: + type: string + policyData: + type: string + project: + type: string + region: + type: string + required: + - cluster + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: ClusterIAMPolicyStatus defines the observed state of ClusterIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dataproc.gcp.jet.crossplane.io_clusters.yaml b/package/crds/dataproc.gcp.jet.crossplane.io_clusters.yaml new file mode 100644 index 00000000..f31b3148 --- /dev/null +++ b/package/crds/dataproc.gcp.jet.crossplane.io_clusters.yaml @@ -0,0 +1,663 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: clusters.dataproc.gcp.jet.crossplane.io +spec: + group: dataproc.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Cluster + listKind: ClusterList + plural: clusters + singular: cluster + 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: Cluster is the Schema for the Clusters 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: ClusterSpec defines the desired state of Cluster + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + clusterConfig: + description: Allows you to configure various aspects of the cluster. + items: + properties: + autoscalingConfig: + description: The autoscaling policy config associated with + the cluster. + items: + properties: + policyUri: + description: The autoscaling policy used by the cluster. + type: string + required: + - policyUri + type: object + type: array + encryptionConfig: + description: The Customer managed encryption keys settings + for the cluster. + items: + properties: + kmsKeyName: + description: The Cloud KMS key name to use for PD + disk encryption for all instances in the cluster. + type: string + required: + - kmsKeyName + type: object + type: array + gceClusterConfig: + description: Common config settings for resources of Google + Compute Engine cluster instances, applicable to all instances + in the cluster. + items: + properties: + internalIpOnly: + description: 'By default, clusters are not restricted + to internal IP addresses, and will have ephemeral + external IP addresses assigned to each instance. + If set to true, all instances in the cluster will + only have internal IP addresses. Note: Private Google + Access (also known as privateIpGoogleAccess) must + be enabled on the subnetwork that the cluster will + be launched in.' + type: boolean + metadata: + additionalProperties: + type: string + description: A map of the Compute Engine metadata + entries to add to all instances + type: object + network: + description: The name or self_link of the Google Compute + Engine network to the cluster will be part of. Conflicts + with subnetwork. If neither is specified, this defaults + to the "default" network. + type: string + serviceAccount: + description: The service account to be used by the + Node VMs. If not specified, the "default" service + account is used. + type: string + serviceAccountScopes: + description: The set of Google API scopes to be made + available on all of the node VMs under the service_account + specified. These can be either FQDNs, or scope aliases. + items: + type: string + type: array + shieldedInstanceConfig: + description: Shielded Instance Config for clusters + using Compute Engine Shielded VMs. + items: + properties: + enableIntegrityMonitoring: + description: Defines whether instances have + integrity monitoring enabled. + type: boolean + enableSecureBoot: + description: Defines whether instances have + Secure Boot enabled. + type: boolean + enableVtpm: + description: Defines whether instances have + the vTPM enabled. + type: boolean + type: object + type: array + subnetwork: + description: The name or self_link of the Google Compute + Engine subnetwork the cluster will be part of. Conflicts + with network. + type: string + tags: + description: The list of instance tags applied to + instances in the cluster. Tags are used to identify + valid sources or targets for network firewalls. + items: + type: string + type: array + zone: + description: 'The GCP zone where your data is stored + and used (i.e. where the master and the worker nodes + will be created in). If region is set to ''global'' + (default) then zone is mandatory, otherwise GCP + is able to make use of Auto Zone Placement to determine + this automatically for you. Note: This setting additionally + determines and restricts which computing resources + are available for use with other configs such as + cluster_config.master_config.machine_type and cluster_config.worker_config.machine_type.' + type: string + type: object + type: array + initializationAction: + description: Commands to execute on each node after config + is completed. You can specify multiple versions of these. + items: + properties: + script: + description: The script to be executed during initialization + of the cluster. The script must be a GCS file with + a gs:// prefix. + type: string + timeoutSec: + description: The maximum duration (in seconds) which + script is allowed to take to execute its action. + GCP will default to a predetermined computed value + if not set (currently 300). + format: int64 + type: integer + required: + - script + type: object + type: array + masterConfig: + description: The Google Compute Engine config settings for + the master/worker instances in a cluster. + items: + properties: + accelerators: + description: The Compute Engine accelerator (GPU) + configuration for these instances. Can be specified + multiple times. + items: + properties: + acceleratorCount: + description: The number of the accelerator cards + of this type exposed to this instance. Often + restricted to one of 1, 2, 4, or 8. + format: int64 + type: integer + acceleratorType: + description: The short name of the accelerator + type to expose to this instance. For example, + nvidia-tesla-k80. + type: string + required: + - acceleratorCount + - acceleratorType + type: object + type: array + diskConfig: + description: Disk Config + items: + properties: + bootDiskSizeGb: + description: 'Size of the primary disk attached + to each node, specified in GB. The primary + disk contains the boot volume and system libraries, + and the smallest allowed disk size is 10GB. + GCP will default to a predetermined computed + value if not set (currently 500GB). Note: + If SSDs are not attached, it also contains + the HDFS data blocks and Hadoop working directories.' + format: int64 + type: integer + bootDiskType: + description: The disk type of the primary disk + attached to each node. One of "pd-ssd" or + "pd-standard". Defaults to "pd-standard". + type: string + numLocalSsds: + description: The amount of local SSD disks that + will be attached to each master cluster node. + Defaults to 0. + format: int64 + type: integer + type: object + type: array + imageUri: + description: The URI for the image to use for this + master/worker + type: string + machineType: + description: The name of a Google Compute Engine machine + type to create for the master/worker + type: string + minCpuPlatform: + description: The name of a minimum generation of CPU + family for the master/worker. If not specified, + GCP will default to a predetermined computed value + for each zone. + type: string + numInstances: + description: Specifies the number of master/worker + nodes to create. If not specified, GCP will default + to a predetermined computed value. + format: int64 + type: integer + type: object + type: array + preemptibleWorkerConfig: + description: The Google Compute Engine config settings for + the additional (aka preemptible) instances in a cluster. + items: + properties: + diskConfig: + description: Disk Config + items: + properties: + bootDiskSizeGb: + description: 'Size of the primary disk attached + to each preemptible worker node, specified + in GB. The smallest allowed disk size is 10GB. + GCP will default to a predetermined computed + value if not set (currently 500GB). Note: + If SSDs are not attached, it also contains + the HDFS data blocks and Hadoop working directories.' + format: int64 + type: integer + bootDiskType: + description: The disk type of the primary disk + attached to each preemptible worker node. + One of "pd-ssd" or "pd-standard". Defaults + to "pd-standard". + type: string + numLocalSsds: + description: The amount of local SSD disks that + will be attached to each preemptible worker + node. Defaults to 0. + format: int64 + type: integer + type: object + type: array + numInstances: + description: Specifies the number of preemptible nodes + to create. Defaults to 0. + format: int64 + type: integer + type: object + type: array + securityConfig: + description: Security related configuration. + items: + properties: + kerberosConfig: + description: Kerberos related configuration + items: + properties: + crossRealmTrustAdminServer: + description: The admin server (IP or hostname) + for the remote trusted realm in a cross realm + trust relationship. + type: string + crossRealmTrustKdc: + description: The KDC (IP or hostname) for the + remote trusted realm in a cross realm trust + relationship. + type: string + crossRealmTrustRealm: + description: The remote realm the Dataproc on-cluster + KDC will trust, should the user enable cross + realm trust. + type: string + crossRealmTrustSharedPasswordUri: + description: The Cloud Storage URI of a KMS + encrypted file containing the shared password + between the on-cluster Kerberos realm and + the remote trusted realm, in a cross realm + trust relationship. + type: string + enableKerberos: + description: Flag to indicate whether to Kerberize + the cluster. + type: boolean + kdcDbKeyUri: + description: The Cloud Storage URI of a KMS + encrypted file containing the master key of + the KDC database. + type: string + keyPasswordUri: + description: The Cloud Storage URI of a KMS + encrypted file containing the password to + the user provided key. For the self-signed + certificate, this password is generated by + Dataproc. + type: string + keystorePasswordUri: + description: The Cloud Storage URI of a KMS + encrypted file containing the password to + the user provided keystore. For the self-signed + certificate, this password is generated by + Dataproc + type: string + keystoreUri: + description: The Cloud Storage URI of the keystore + file used for SSL encryption. If not provided, + Dataproc will provide a self-signed certificate. + type: string + kmsKeyUri: + description: The uri of the KMS key used to + encrypt various sensitive files. + type: string + realm: + description: The name of the on-cluster Kerberos + realm. If not specified, the uppercased domain + of hostnames will be the realm. + type: string + rootPrincipalPasswordUri: + description: The cloud Storage URI of a KMS + encrypted file containing the root principal + password. + type: string + tgtLifetimeHours: + description: The lifetime of the ticket granting + ticket, in hours. + format: int64 + type: integer + truststorePasswordUri: + description: The Cloud Storage URI of a KMS + encrypted file containing the password to + the user provided truststore. For the self-signed + certificate, this password is generated by + Dataproc. + type: string + truststoreUri: + description: The Cloud Storage URI of the truststore + file used for SSL encryption. If not provided, + Dataproc will provide a self-signed certificate. + type: string + required: + - kmsKeyUri + - rootPrincipalPasswordUri + type: object + type: array + required: + - kerberosConfig + type: object + type: array + softwareConfig: + description: The config settings for software inside the + cluster. + items: + properties: + imageVersion: + description: The Cloud Dataproc image version to use + for the cluster - this controls the sets of software + versions installed onto the nodes when you create + clusters. If not specified, defaults to the latest + version. + type: string + optionalComponents: + description: The set of optional components to activate + on the cluster. + items: + type: string + type: array + overrideProperties: + additionalProperties: + type: string + description: A list of override and additional properties + (key/value pairs) used to modify various aspects + of the common configuration files used when creating + a cluster. + type: object + type: object + type: array + stagingBucket: + description: 'The Cloud Storage staging bucket used to stage + files, such as Hadoop jars, between client machines and + the cluster. Note: If you don''t explicitly specify a + staging_bucket then GCP will auto create / assign one + for you. However, you are not guaranteed an auto generated + bucket which is solely dedicated to your cluster; it may + be shared with other clusters in the same region/zone + also choosing to use the auto generation option.' + type: string + tempBucket: + description: 'The Cloud Storage temp bucket used to store + ephemeral cluster and jobs data, such as Spark and MapReduce + history files. Note: If you don''t explicitly specify + a temp_bucket then GCP will auto create / assign one for + you.' + type: string + workerConfig: + description: The Google Compute Engine config settings for + the master/worker instances in a cluster. + items: + properties: + accelerators: + description: The Compute Engine accelerator (GPU) + configuration for these instances. Can be specified + multiple times. + items: + properties: + acceleratorCount: + description: The number of the accelerator cards + of this type exposed to this instance. Often + restricted to one of 1, 2, 4, or 8. + format: int64 + type: integer + acceleratorType: + description: The short name of the accelerator + type to expose to this instance. For example, + nvidia-tesla-k80. + type: string + required: + - acceleratorCount + - acceleratorType + type: object + type: array + diskConfig: + description: Disk Config + items: + properties: + bootDiskSizeGb: + description: 'Size of the primary disk attached + to each node, specified in GB. The primary + disk contains the boot volume and system libraries, + and the smallest allowed disk size is 10GB. + GCP will default to a predetermined computed + value if not set (currently 500GB). Note: + If SSDs are not attached, it also contains + the HDFS data blocks and Hadoop working directories.' + format: int64 + type: integer + bootDiskType: + description: The disk type of the primary disk + attached to each node. One of "pd-ssd" or + "pd-standard". Defaults to "pd-standard". + type: string + numLocalSsds: + description: The amount of local SSD disks that + will be attached to each master cluster node. + Defaults to 0. + format: int64 + type: integer + type: object + type: array + imageUri: + description: The URI for the image to use for this + master/worker + type: string + machineType: + description: The name of a Google Compute Engine machine + type to create for the master/worker + type: string + minCpuPlatform: + description: The name of a minimum generation of CPU + family for the master/worker. If not specified, + GCP will default to a predetermined computed value + for each zone. + type: string + numInstances: + description: Specifies the number of master/worker + nodes to create. If not specified, GCP will default + to a predetermined computed value. + format: int64 + type: integer + type: object + type: array + type: object + type: array + gracefulDecommissionTimeout: + description: The timeout duration which allows graceful decomissioning + when you change the number of worker nodes directly through + a terraform apply + type: string + labels: + additionalProperties: + type: string + description: The list of labels (key/value pairs) to be applied + to instances in the cluster. GCP generates some itself including + goog-dataproc-cluster-name which is the name of the cluster. + type: object + name: + description: The name of the cluster, unique within the project + and zone. + type: string + project: + description: The ID of the project in which the cluster will exist. + If it is not provided, the provider project is used. + type: string + region: + description: The region in which the cluster and associated nodes + will be created in. Defaults to global. + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: ClusterStatus defines the observed state of Cluster. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dataproc.gcp.jet.crossplane.io_jobiambindings.yaml b/package/crds/dataproc.gcp.jet.crossplane.io_jobiambindings.yaml new file mode 100644 index 00000000..d11d31f6 --- /dev/null +++ b/package/crds/dataproc.gcp.jet.crossplane.io_jobiambindings.yaml @@ -0,0 +1,196 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: jobiambindings.dataproc.gcp.jet.crossplane.io +spec: + group: dataproc.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: JobIAMBinding + listKind: JobIAMBindingList + plural: jobiambindings + singular: jobiambinding + 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: JobIAMBinding is the Schema for the JobIAMBindings 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: JobIAMBindingSpec defines the desired state of JobIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + jobId: + type: string + members: + items: + type: string + type: array + project: + type: string + region: + type: string + role: + type: string + required: + - jobId + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: JobIAMBindingStatus defines the observed state of JobIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dataproc.gcp.jet.crossplane.io_jobiammembers.yaml b/package/crds/dataproc.gcp.jet.crossplane.io_jobiammembers.yaml new file mode 100644 index 00000000..fdcb5316 --- /dev/null +++ b/package/crds/dataproc.gcp.jet.crossplane.io_jobiammembers.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: jobiammembers.dataproc.gcp.jet.crossplane.io +spec: + group: dataproc.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: JobIAMMember + listKind: JobIAMMemberList + plural: jobiammembers + singular: jobiammember + 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: JobIAMMember is the Schema for the JobIAMMembers 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: JobIAMMemberSpec defines the desired state of JobIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + jobId: + type: string + member: + type: string + project: + type: string + region: + type: string + role: + type: string + required: + - jobId + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: JobIAMMemberStatus defines the observed state of JobIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dataproc.gcp.jet.crossplane.io_jobiampolicies.yaml b/package/crds/dataproc.gcp.jet.crossplane.io_jobiampolicies.yaml new file mode 100644 index 00000000..533ffc88 --- /dev/null +++ b/package/crds/dataproc.gcp.jet.crossplane.io_jobiampolicies.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: jobiampolicies.dataproc.gcp.jet.crossplane.io +spec: + group: dataproc.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: JobIAMPolicy + listKind: JobIAMPolicyList + plural: jobiampolicies + singular: jobiampolicy + 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: JobIAMPolicy is the Schema for the JobIAMPolicys 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: JobIAMPolicySpec defines the desired state of JobIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + jobId: + type: string + policyData: + type: string + project: + type: string + region: + type: string + required: + - jobId + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: JobIAMPolicyStatus defines the observed state of JobIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dataproc.gcp.jet.crossplane.io_jobs.yaml b/package/crds/dataproc.gcp.jet.crossplane.io_jobs.yaml new file mode 100644 index 00000000..1c0489d3 --- /dev/null +++ b/package/crds/dataproc.gcp.jet.crossplane.io_jobs.yaml @@ -0,0 +1,603 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: jobs.dataproc.gcp.jet.crossplane.io +spec: + group: dataproc.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Job + listKind: JobList + plural: jobs + singular: job + 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: Job is the Schema for the Jobs 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: JobSpec defines the desired state of Job + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + forceDelete: + description: By default, you can only delete inactive jobs within + Dataproc. Setting this to true, and calling destroy, will ensure + that the job is first cancelled before issuing the delete. + type: boolean + hadoopConfig: + description: The config of Hadoop job + items: + properties: + archiveUris: + description: HCFS URIs of archives to be extracted in the + working directory of .jar, .tar, .tar.gz, .tgz, and .zip. + items: + type: string + type: array + args: + description: The arguments to pass to the driver. + items: + type: string + type: array + fileUris: + description: HCFS URIs of files to be copied to the working + directory of Spark drivers and distributed tasks. Useful + for naively parallel tasks. + items: + type: string + type: array + jarFileUris: + description: HCFS URIs of jar files to add to the CLASSPATHs + of the Spark driver and tasks. + items: + type: string + type: array + loggingConfig: + description: The runtime logging config of the job + items: + properties: + driverLogLevels: + additionalProperties: + type: string + description: 'Optional. The per-package log levels + for the driver. This may include ''root'' package + name to configure rootLogger. Examples: ''com.google + = FATAL'', ''root = INFO'', ''org.apache = DEBUG''.' + type: object + required: + - driverLogLevels + type: object + type: array + mainClass: + description: The class containing the main method of the + driver. Must be in a provided jar or jar that is already + on the classpath. Conflicts with main_jar_file_uri + type: string + mainJarFileUri: + description: The HCFS URI of jar file containing the driver + jar. Conflicts with main_class + type: string + properties: + additionalProperties: + type: string + description: A mapping of property names to values, used + to configure Spark. Properties that conflict with values + set by the Cloud Dataproc API may be overwritten. Can + include properties set in /etc/spark/conf/spark-defaults.conf + and classes in user code. + type: object + type: object + type: array + hiveConfig: + description: The config of hive job + items: + properties: + continueOnFailure: + description: Whether to continue executing queries if a + query fails. The default value is false. Setting to true + can be useful when executing independent parallel queries. + Defaults to false. + type: boolean + jarFileUris: + description: HCFS URIs of jar files to add to the CLASSPATH + of the Hive server and Hadoop MapReduce (MR) tasks. Can + contain Hive SerDes and UDFs. + items: + type: string + type: array + properties: + additionalProperties: + type: string + description: A mapping of property names and values, used + to configure Hive. Properties that conflict with values + set by the Cloud Dataproc API may be overwritten. Can + include properties set in /etc/hadoop/conf/*-site.xml, + /etc/hive/conf/hive-site.xml, and classes in user code. + type: object + queryFileUri: + description: HCFS URI of file containing Hive script to + execute as the job. Conflicts with query_list + type: string + queryList: + description: The list of Hive queries or statements to execute + as part of the job. Conflicts with query_file_uri + items: + type: string + type: array + scriptVariables: + additionalProperties: + type: string + description: 'Mapping of query variable names to values + (equivalent to the Hive command: SET name="value";).' + type: object + type: object + type: array + labels: + additionalProperties: + type: string + description: Optional. The labels to associate with this job. + type: object + pigConfig: + description: The config of pag job. + items: + properties: + continueOnFailure: + description: Whether to continue executing queries if a + query fails. The default value is false. Setting to true + can be useful when executing independent parallel queries. + Defaults to false. + type: boolean + jarFileUris: + description: HCFS URIs of jar files to add to the CLASSPATH + of the Pig Client and Hadoop MapReduce (MR) tasks. Can + contain Pig UDFs. + items: + type: string + type: array + loggingConfig: + description: The runtime logging config of the job + items: + properties: + driverLogLevels: + additionalProperties: + type: string + description: 'Optional. The per-package log levels + for the driver. This may include ''root'' package + name to configure rootLogger. Examples: ''com.google + = FATAL'', ''root = INFO'', ''org.apache = DEBUG''.' + type: object + required: + - driverLogLevels + type: object + type: array + properties: + additionalProperties: + type: string + description: A mapping of property names to values, used + to configure Pig. Properties that conflict with values + set by the Cloud Dataproc API may be overwritten. Can + include properties set in /etc/hadoop/conf/*-site.xml, + /etc/pig/conf/pig.properties, and classes in user code. + type: object + queryFileUri: + description: HCFS URI of file containing Hive script to + execute as the job. Conflicts with query_list + type: string + queryList: + description: The list of Hive queries or statements to execute + as part of the job. Conflicts with query_file_uri + items: + type: string + type: array + scriptVariables: + additionalProperties: + type: string + description: 'Mapping of query variable names to values + (equivalent to the Pig command: name=[value]).' + type: object + type: object + type: array + placement: + description: The config of job placement. + items: + properties: + clusterName: + description: The name of the cluster where the job will + be submitted + type: string + required: + - clusterName + type: object + type: array + project: + description: The project in which the cluster can be found and + jobs subsequently run against. If it is not provided, the provider + project is used. + type: string + pysparkConfig: + description: The config of pySpark job. + items: + properties: + archiveUris: + description: Optional. HCFS URIs of archives to be extracted + in the working directory of .jar, .tar, .tar.gz, .tgz, + and .zip + items: + type: string + type: array + args: + description: Optional. The arguments to pass to the driver. + Do not include arguments, such as --conf, that can be + set as job properties, since a collision may occur that + causes an incorrect job submission + items: + type: string + type: array + fileUris: + description: Optional. HCFS URIs of files to be copied to + the working directory of Python drivers and distributed + tasks. Useful for naively parallel tasks + items: + type: string + type: array + jarFileUris: + description: Optional. HCFS URIs of jar files to add to + the CLASSPATHs of the Python driver and tasks + items: + type: string + type: array + loggingConfig: + description: The runtime logging config of the job + items: + properties: + driverLogLevels: + additionalProperties: + type: string + description: 'Optional. The per-package log levels + for the driver. This may include ''root'' package + name to configure rootLogger. Examples: ''com.google + = FATAL'', ''root = INFO'', ''org.apache = DEBUG''.' + type: object + required: + - driverLogLevels + type: object + type: array + mainPythonFileUri: + description: Required. The HCFS URI of the main Python file + to use as the driver. Must be a .py file + type: string + properties: + additionalProperties: + type: string + description: Optional. A mapping of property names to values, + used to configure PySpark. Properties that conflict with + values set by the Cloud Dataproc API may be overwritten. + Can include properties set in /etc/spark/conf/spark-defaults.conf + and classes in user code + type: object + pythonFileUris: + description: 'Optional. HCFS file URIs of Python files to + pass to the PySpark framework. Supported file types: .py, + .egg, and .zip' + items: + type: string + type: array + required: + - mainPythonFileUri + type: object + type: array + reference: + description: The reference of the job + items: + properties: + jobId: + description: The job ID, which must be unique within the + project. The job ID is generated by the server upon job + submission or provided by the user as a means to perform + retries without creating duplicate jobs + type: string + type: object + type: array + region: + description: The Cloud Dataproc region. This essentially determines + which clusters are available for this job to be submitted to. + If not specified, defaults to global. + type: string + scheduling: + description: Optional. Job scheduling configuration. + items: + properties: + maxFailuresPerHour: + description: Maximum number of times per hour a driver may + be restarted as a result of driver exiting with non-zero + code before job is reported failed. + format: int64 + type: integer + maxFailuresTotal: + description: Maximum number of times in total a driver may + be restarted as a result of driver exiting with non-zero + code before job is reported failed. + format: int64 + type: integer + required: + - maxFailuresPerHour + - maxFailuresTotal + type: object + type: array + sparkConfig: + description: The config of the Spark job. + items: + properties: + archiveUris: + description: HCFS URIs of archives to be extracted in the + working directory of .jar, .tar, .tar.gz, .tgz, and .zip. + items: + type: string + type: array + args: + description: The arguments to pass to the driver. + items: + type: string + type: array + fileUris: + description: HCFS URIs of files to be copied to the working + directory of Spark drivers and distributed tasks. Useful + for naively parallel tasks. + items: + type: string + type: array + jarFileUris: + description: HCFS URIs of jar files to add to the CLASSPATHs + of the Spark driver and tasks. + items: + type: string + type: array + loggingConfig: + description: The runtime logging config of the job + items: + properties: + driverLogLevels: + additionalProperties: + type: string + description: 'Optional. The per-package log levels + for the driver. This may include ''root'' package + name to configure rootLogger. Examples: ''com.google + = FATAL'', ''root = INFO'', ''org.apache = DEBUG''.' + type: object + required: + - driverLogLevels + type: object + type: array + mainClass: + description: The class containing the main method of the + driver. Must be in a provided jar or jar that is already + on the classpath. Conflicts with main_jar_file_uri + type: string + mainJarFileUri: + description: The HCFS URI of jar file containing the driver + jar. Conflicts with main_class + type: string + properties: + additionalProperties: + type: string + description: A mapping of property names to values, used + to configure Spark. Properties that conflict with values + set by the Cloud Dataproc API may be overwritten. Can + include properties set in /etc/spark/conf/spark-defaults.conf + and classes in user code. + type: object + type: object + type: array + sparksqlConfig: + description: The config of SparkSql job + items: + properties: + jarFileUris: + description: HCFS URIs of jar files to be added to the Spark + CLASSPATH. + items: + type: string + type: array + loggingConfig: + description: The runtime logging config of the job + items: + properties: + driverLogLevels: + additionalProperties: + type: string + description: 'Optional. The per-package log levels + for the driver. This may include ''root'' package + name to configure rootLogger. Examples: ''com.google + = FATAL'', ''root = INFO'', ''org.apache = DEBUG''.' + type: object + required: + - driverLogLevels + type: object + type: array + properties: + additionalProperties: + type: string + description: A mapping of property names to values, used + to configure Spark SQL's SparkConf. Properties that conflict + with values set by the Cloud Dataproc API may be overwritten. + type: object + queryFileUri: + description: The HCFS URI of the script that contains SQL + queries. Conflicts with query_list + type: string + queryList: + description: The list of SQL queries or statements to execute + as part of the job. Conflicts with query_file_uri + items: + type: string + type: array + scriptVariables: + additionalProperties: + type: string + description: 'Mapping of query variable names to values + (equivalent to the Spark SQL command: SET name="value";).' + type: object + type: object + type: array + required: + - placement + type: object + 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 + 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 + 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. + 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 + status: + description: JobStatus defines the observed state of Job. + properties: + atProvider: + properties: + driverControlsFilesUri: + type: string + driverOutputResourceUri: + type: string + id: + type: string + status: + items: + properties: + details: + type: string + state: + type: string + stateStartTime: + type: string + substate: + type: string + type: object + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dataproc.gcp.jet.crossplane.io_workflowtemplates.yaml b/package/crds/dataproc.gcp.jet.crossplane.io_workflowtemplates.yaml new file mode 100644 index 00000000..2d41f6b8 --- /dev/null +++ b/package/crds/dataproc.gcp.jet.crossplane.io_workflowtemplates.yaml @@ -0,0 +1,1784 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: workflowtemplates.dataproc.gcp.jet.crossplane.io +spec: + group: dataproc.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: WorkflowTemplate + listKind: WorkflowTemplateList + plural: workflowtemplates + singular: workflowtemplate + 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: WorkflowTemplate is the Schema for the WorkflowTemplates 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: WorkflowTemplateSpec defines the desired state of WorkflowTemplate + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dagTimeout: + description: Optional. Timeout duration for the DAG of jobs, expressed + in seconds (see [JSON representation of duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). + The timeout duration must be from 10 minutes ("600s") to 24 + hours ("86400s"). The timer begins when the first job is submitted. + If the workflow is running at the end of the timeout period, + any remaining jobs are cancelled, the workflow is ended, and + if the workflow was running on a [managed cluster](/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster), + the cluster is deleted. + type: string + jobs: + description: Required. The Directed Acyclic Graph of Jobs to submit. + items: + properties: + hadoopJob: + description: Optional. Job is a Hadoop job. + items: + properties: + archiveUris: + description: 'Optional. HCFS URIs of archives to be + extracted in the working directory of Hadoop drivers + and tasks. Supported file types: .jar, .tar, .tar.gz, + .tgz, or .zip.' + items: + type: string + type: array + args: + description: Optional. The arguments to pass to the + driver. Do not include arguments, such as `-libjars` + or `-Dfoo=bar`, that can be set as job properties, + since a collision may occur that causes an incorrect + job submission. + items: + type: string + type: array + fileUris: + description: Optional. HCFS (Hadoop Compatible Filesystem) + URIs of files to be copied to the working directory + of Hadoop drivers and distributed tasks. Useful + for naively parallel tasks. + items: + type: string + type: array + jarFileUris: + description: Optional. Jar file URIs to add to the + CLASSPATHs of the Hadoop driver and tasks. + items: + type: string + type: array + loggingConfig: + description: Optional. The runtime log config for + job execution. + items: + properties: + driverLogLevels: + additionalProperties: + type: string + description: 'The per-package log levels for + the driver. This may include "root" package + name to configure rootLogger. Examples: ''com.google + = FATAL'', ''root = INFO'', ''org.apache = + DEBUG''' + type: object + type: object + type: array + mainClass: + description: The name of the driver's main class. + The jar file containing the class must be in the + default CLASSPATH or specified in `jar_file_uris`. + type: string + mainJarFileUri: + description: 'The HCFS URI of the jar file containing + the main class. Examples: ''gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar'' + ''hdfs:/tmp/test-samples/custom-wordcount.jar'' + ''file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar''' + type: string + properties: + additionalProperties: + type: string + description: Optional. A mapping of property names + to values, used to configure Hadoop. Properties + that conflict with values set by the Dataproc API + may be overwritten. Can include properties set in + /etc/hadoop/conf/*-site and classes in user code. + type: object + type: object + type: array + hiveJob: + description: Optional. Job is a Hive job. + items: + properties: + continueOnFailure: + description: Optional. Whether to continue executing + queries if a query fails. The default value is `false`. + Setting to `true` can be useful when executing independent + parallel queries. + type: boolean + jarFileUris: + description: Optional. HCFS URIs of jar files to add + to the CLASSPATH of the Hive server and Hadoop MapReduce + (MR) tasks. Can contain Hive SerDes and UDFs. + items: + type: string + type: array + properties: + additionalProperties: + type: string + description: Optional. A mapping of property names + and values, used to configure Hive. Properties that + conflict with values set by the Dataproc API may + be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, + /etc/hive/conf/hive-site.xml, and classes in user + code. + type: object + queryFileUri: + description: The HCFS URI of the script that contains + Hive queries. + type: string + queryList: + description: A list of queries. + items: + properties: + queries: + description: 'Required. The queries to execute. + You do not need to end a query expression + with a semicolon. Multiple queries can be + specified in one string by separating each + with a semicolon. Here is an example of a + Dataproc API snippet that uses a QueryList + to specify a HiveJob: "hiveJob": { "queryList": + { "queries": [ "query1", "query2", "query3;query4", + ] } }' + items: + type: string + type: array + required: + - queries + type: object + type: array + scriptVariables: + additionalProperties: + type: string + description: 'Optional. Mapping of query variable + names to values (equivalent to the Hive command: + `SET name="value";`).' + type: object + type: object + type: array + labels: + additionalProperties: + type: string + description: 'Optional. The labels to associate with this + job. Label keys must be between 1 and 63 characters long, + and must conform to the following regular expression: + p{Ll}p{Lo}{0,62} Label values must be between 1 and 63 + characters long, and must conform to the following regular + expression: [p{Ll}p{Lo}p{N}_-]{0,63} No more than 32 labels + can be associated with a given job.' + type: object + pigJob: + description: Optional. Job is a Pig job. + items: + properties: + continueOnFailure: + description: Optional. Whether to continue executing + queries if a query fails. The default value is `false`. + Setting to `true` can be useful when executing independent + parallel queries. + type: boolean + jarFileUris: + description: Optional. HCFS URIs of jar files to add + to the CLASSPATH of the Pig Client and Hadoop MapReduce + (MR) tasks. Can contain Pig UDFs. + items: + type: string + type: array + loggingConfig: + description: Optional. The runtime log config for + job execution. + items: + properties: + driverLogLevels: + additionalProperties: + type: string + description: 'The per-package log levels for + the driver. This may include "root" package + name to configure rootLogger. Examples: ''com.google + = FATAL'', ''root = INFO'', ''org.apache = + DEBUG''' + type: object + type: object + type: array + properties: + additionalProperties: + type: string + description: Optional. A mapping of property names + to values, used to configure Pig. Properties that + conflict with values set by the Dataproc API may + be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, + /etc/pig/conf/pig.properties, and classes in user + code. + type: object + queryFileUri: + description: The HCFS URI of the script that contains + the Pig queries. + type: string + queryList: + description: A list of queries. + items: + properties: + queries: + description: 'Required. The queries to execute. + You do not need to end a query expression + with a semicolon. Multiple queries can be + specified in one string by separating each + with a semicolon. Here is an example of a + Dataproc API snippet that uses a QueryList + to specify a HiveJob: "hiveJob": { "queryList": + { "queries": [ "query1", "query2", "query3;query4", + ] } }' + items: + type: string + type: array + required: + - queries + type: object + type: array + scriptVariables: + additionalProperties: + type: string + description: 'Optional. Mapping of query variable + names to values (equivalent to the Pig command: + `name=[value]`).' + type: object + type: object + type: array + prerequisiteStepIds: + description: Optional. The optional list of prerequisite + job step_ids. If not specified, the job will start at + the beginning of workflow. + items: + type: string + type: array + prestoJob: + description: Optional. Job is a Presto job. + items: + properties: + clientTags: + description: Optional. Presto client tags to attach + to this query + items: + type: string + type: array + continueOnFailure: + description: Optional. Whether to continue executing + queries if a query fails. The default value is `false`. + Setting to `true` can be useful when executing independent + parallel queries. + type: boolean + loggingConfig: + description: Optional. The runtime log config for + job execution. + items: + properties: + driverLogLevels: + additionalProperties: + type: string + description: 'The per-package log levels for + the driver. This may include "root" package + name to configure rootLogger. Examples: ''com.google + = FATAL'', ''root = INFO'', ''org.apache = + DEBUG''' + type: object + type: object + type: array + outputFormat: + description: Optional. The format in which query output + will be displayed. See the Presto documentation + for supported output formats + type: string + properties: + additionalProperties: + type: string + description: Optional. A mapping of property names + to values. Used to set Presto [session properties](https://prestodb.io/docs/current/sql/set-session.html) + Equivalent to using the --session flag in the Presto + CLI + type: object + queryFileUri: + description: The HCFS URI of the script that contains + SQL queries. + type: string + queryList: + description: A list of queries. + items: + properties: + queries: + description: 'Required. The queries to execute. + You do not need to end a query expression + with a semicolon. Multiple queries can be + specified in one string by separating each + with a semicolon. Here is an example of a + Dataproc API snippet that uses a QueryList + to specify a HiveJob: "hiveJob": { "queryList": + { "queries": [ "query1", "query2", "query3;query4", + ] } }' + items: + type: string + type: array + required: + - queries + type: object + type: array + type: object + type: array + pysparkJob: + description: Optional. Job is a PySpark job. + items: + properties: + archiveUris: + description: 'Optional. HCFS URIs of archives to be + extracted into the working directory of each executor. + Supported file types: .jar, .tar, .tar.gz, .tgz, + and .zip.' + items: + type: string + type: array + args: + description: Optional. The arguments to pass to the + driver. Do not include arguments, such as `--conf`, + that can be set as job properties, since a collision + may occur that causes an incorrect job submission. + items: + type: string + type: array + fileUris: + description: Optional. HCFS URIs of files to be placed + in the working directory of each executor. Useful + for naively parallel tasks. + items: + type: string + type: array + jarFileUris: + description: Optional. HCFS URIs of jar files to add + to the CLASSPATHs of the Python driver and tasks. + items: + type: string + type: array + loggingConfig: + description: Optional. The runtime log config for + job execution. + items: + properties: + driverLogLevels: + additionalProperties: + type: string + description: 'The per-package log levels for + the driver. This may include "root" package + name to configure rootLogger. Examples: ''com.google + = FATAL'', ''root = INFO'', ''org.apache = + DEBUG''' + type: object + type: object + type: array + mainPythonFileUri: + description: Required. The HCFS URI of the main Python + file to use as the driver. Must be a .py file. + type: string + properties: + additionalProperties: + type: string + description: Optional. A mapping of property names + to values, used to configure PySpark. Properties + that conflict with values set by the Dataproc API + may be overwritten. Can include properties set in + /etc/spark/conf/spark-defaults.conf and classes + in user code. + type: object + pythonFileUris: + description: 'Optional. HCFS file URIs of Python files + to pass to the PySpark framework. Supported file + types: .py, .egg, and .zip.' + items: + type: string + type: array + required: + - mainPythonFileUri + type: object + type: array + scheduling: + description: Optional. Job scheduling configuration. + items: + properties: + maxFailuresPerHour: + description: Optional. Maximum number of times per + hour a driver may be restarted as a result of driver + exiting with non-zero code before job is reported + failed. A job may be reported as thrashing if driver + exits with non-zero code 4 times within 10 minute + window. Maximum value is 10. + format: int64 + type: integer + maxFailuresTotal: + description: Optional. Maximum number of times in + total a driver may be restarted as a result of driver + exiting with non-zero code before job is reported + failed. Maximum value is 240. + format: int64 + type: integer + type: object + type: array + sparkJob: + description: Optional. Job is a Spark job. + items: + properties: + archiveUris: + description: 'Optional. HCFS URIs of archives to be + extracted into the working directory of each executor. + Supported file types: .jar, .tar, .tar.gz, .tgz, + and .zip.' + items: + type: string + type: array + args: + description: Optional. The arguments to pass to the + driver. Do not include arguments, such as `--conf`, + that can be set as job properties, since a collision + may occur that causes an incorrect job submission. + items: + type: string + type: array + fileUris: + description: Optional. HCFS URIs of files to be placed + in the working directory of each executor. Useful + for naively parallel tasks. + items: + type: string + type: array + jarFileUris: + description: Optional. HCFS URIs of jar files to add + to the CLASSPATHs of the Spark driver and tasks. + items: + type: string + type: array + loggingConfig: + description: Optional. The runtime log config for + job execution. + items: + properties: + driverLogLevels: + additionalProperties: + type: string + description: 'The per-package log levels for + the driver. This may include "root" package + name to configure rootLogger. Examples: ''com.google + = FATAL'', ''root = INFO'', ''org.apache = + DEBUG''' + type: object + type: object + type: array + mainClass: + description: The name of the driver's main class. + The jar file that contains the class must be in + the default CLASSPATH or specified in `jar_file_uris`. + type: string + mainJarFileUri: + description: The HCFS URI of the jar file that contains + the main class. + type: string + properties: + additionalProperties: + type: string + description: Optional. A mapping of property names + to values, used to configure Spark. Properties that + conflict with values set by the Dataproc API may + be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf + and classes in user code. + type: object + type: object + type: array + sparkRJob: + description: Optional. Job is a SparkR job. + items: + properties: + archiveUris: + description: 'Optional. HCFS URIs of archives to be + extracted into the working directory of each executor. + Supported file types: .jar, .tar, .tar.gz, .tgz, + and .zip.' + items: + type: string + type: array + args: + description: Optional. The arguments to pass to the + driver. Do not include arguments, such as `--conf`, + that can be set as job properties, since a collision + may occur that causes an incorrect job submission. + items: + type: string + type: array + fileUris: + description: Optional. HCFS URIs of files to be placed + in the working directory of each executor. Useful + for naively parallel tasks. + items: + type: string + type: array + loggingConfig: + description: Optional. The runtime log config for + job execution. + items: + properties: + driverLogLevels: + additionalProperties: + type: string + description: 'The per-package log levels for + the driver. This may include "root" package + name to configure rootLogger. Examples: ''com.google + = FATAL'', ''root = INFO'', ''org.apache = + DEBUG''' + type: object + type: object + type: array + mainRFileUri: + description: Required. The HCFS URI of the main R + file to use as the driver. Must be a .R file. + type: string + properties: + additionalProperties: + type: string + description: Optional. A mapping of property names + to values, used to configure SparkR. Properties + that conflict with values set by the Dataproc API + may be overwritten. Can include properties set in + /etc/spark/conf/spark-defaults.conf and classes + in user code. + type: object + required: + - mainRFileUri + type: object + type: array + sparkSqlJob: + description: Optional. Job is a SparkSql job. + items: + properties: + jarFileUris: + description: Optional. HCFS URIs of jar files to be + added to the Spark CLASSPATH. + items: + type: string + type: array + loggingConfig: + description: Optional. The runtime log config for + job execution. + items: + properties: + driverLogLevels: + additionalProperties: + type: string + description: 'The per-package log levels for + the driver. This may include "root" package + name to configure rootLogger. Examples: ''com.google + = FATAL'', ''root = INFO'', ''org.apache = + DEBUG''' + type: object + type: object + type: array + properties: + additionalProperties: + type: string + description: Optional. A mapping of property names + to values, used to configure Spark SQL's SparkConf. + Properties that conflict with values set by the + Dataproc API may be overwritten. + type: object + queryFileUri: + description: The HCFS URI of the script that contains + SQL queries. + type: string + queryList: + description: A list of queries. + items: + properties: + queries: + description: 'Required. The queries to execute. + You do not need to end a query expression + with a semicolon. Multiple queries can be + specified in one string by separating each + with a semicolon. Here is an example of a + Dataproc API snippet that uses a QueryList + to specify a HiveJob: "hiveJob": { "queryList": + { "queries": [ "query1", "query2", "query3;query4", + ] } }' + items: + type: string + type: array + required: + - queries + type: object + type: array + scriptVariables: + additionalProperties: + type: string + description: 'Optional. Mapping of query variable + names to values (equivalent to the Spark SQL command: + SET `name="value";`).' + type: object + type: object + type: array + stepId: + description: Required. The step id. The id must be unique + among all jobs within the template. The step id is used + as prefix for job id, as job `goog-dataproc-workflow-step-id` + label, and in prerequisiteStepIds field from other steps. + The id must contain only letters (a-z, A-Z), numbers (0-9), + underscores (_), and hyphens (-). Cannot begin or end + with underscore or hyphen. Must consist of between 3 and + 50 characters. + type: string + required: + - stepId + type: object + type: array + labels: + additionalProperties: + type: string + description: Optional. The labels to associate with this template. + These labels will be propagated to all jobs and clusters created + by the workflow instance. Label **keys** must contain 1 to 63 + characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). + Label **values** may be empty, but, if present, must contain + 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). + No more than 32 labels can be associated with a template. + type: object + location: + description: The location for the resource + type: string + name: + description: 'Output only. The resource name of the workflow template, + as described in https://cloud.google.com/apis/design/resource_names. + * For `projects.regions.workflowTemplates`, the resource name + of the template has the following format: `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` + * For `projects.locations.workflowTemplates`, the resource name + of the template has the following format: `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`' + type: string + parameters: + description: Optional. Template parameters whose values are substituted + into the template. Values for parameters must be provided when + the template is instantiated. + items: + properties: + description: + description: Optional. Brief description of the parameter. + Must not exceed 1024 characters. + type: string + fields: + description: 'Required. Paths to all fields that the parameter + replaces. A field is allowed to appear in at most one + parameter''s list of field paths. A field path is similar + in syntax to a google.protobuf.FieldMask. For example, + a field path that references the zone field of a workflow + template''s cluster selector would be specified as `placement.clusterSelector.zone`. + Also, field paths can reference fields using the following + syntax: * Values in maps can be referenced by key: * labels[''key''] + * placement.clusterSelector.clusterLabels[''key''] * placement.managedCluster.labels[''key''] + * placement.clusterSelector.clusterLabels[''key''] * jobs[''step-id''].labels[''key''] + * Jobs in the jobs list can be referenced by step-id: + * jobs[''step-id''].hadoopJob.mainJarFileUri * jobs[''step-id''].hiveJob.queryFileUri + * jobs[''step-id''].pySparkJob.mainPythonFileUri * jobs[''step-id''].hadoopJob.jarFileUris[0] + * jobs[''step-id''].hadoopJob.archiveUris[0] * jobs[''step-id''].hadoopJob.fileUris[0] + * jobs[''step-id''].pySparkJob.pythonFileUris[0] * Items + in repeated fields can be referenced by a zero-based index: + * jobs[''step-id''].sparkJob.args[0] * Other examples: + * jobs[''step-id''].hadoopJob.properties[''key''] * jobs[''step-id''].hadoopJob.args[0] + * jobs[''step-id''].hiveJob.scriptVariables[''key''] * + jobs[''step-id''].hadoopJob.mainJarFileUri * placement.clusterSelector.zone + It may not be possible to parameterize maps and repeated + fields in their entirety since only individual map values + and individual items in repeated fields can be referenced. + For example, the following field paths are invalid: - + placement.clusterSelector.clusterLabels - jobs[''step-id''].sparkJob.args' + items: + type: string + type: array + name: + description: Required. Parameter name. The parameter name + is used as the key, and paired with the parameter value, + which are passed to the template when the template is + instantiated. The name must contain only capital letters + (A-Z), numbers (0-9), and underscores (_), and must not + start with a number. The maximum length is 40 characters. + type: string + validation: + description: Optional. Validation rules to be applied to + this parameter's value. + items: + properties: + regex: + description: Validation based on regular expressions. + items: + properties: + regexes: + description: Required. RE2 regular expressions + used to validate the parameter's value. The + value must match the regex in its entirety + (substring matches are not sufficient). + items: + type: string + type: array + required: + - regexes + type: object + type: array + values: + description: Validation based on a list of allowed + values. + items: + properties: + values: + description: Required. List of allowed values + for the parameter. + items: + type: string + type: array + required: + - values + type: object + type: array + type: object + type: array + required: + - fields + - name + type: object + type: array + placement: + description: Required. WorkflowTemplate scheduling information. + items: + properties: + clusterSelector: + description: Optional. A selector that chooses target cluster + for jobs based on metadata. The selector is evaluated + at the time each job is submitted. + items: + properties: + clusterLabels: + additionalProperties: + type: string + description: Required. The cluster labels. Cluster + must have all labels to match. + type: object + zone: + description: Optional. The zone where workflow process + executes. This parameter does not affect the selection + of the cluster. If unspecified, the zone of the + first cluster matching the selector is used. + type: string + required: + - clusterLabels + type: object + type: array + managedCluster: + description: A cluster that is managed by the workflow. + items: + properties: + clusterName: + description: Required. The cluster name prefix. A + unique cluster name will be formed by appending + a random suffix. The name must contain only lower-case + letters (a-z), numbers (0-9), and hyphens (-). Must + begin with a letter. Cannot begin or end with hyphen. + Must consist of between 2 and 35 characters. + type: string + config: + description: Required. The cluster configuration. + items: + properties: + autoscalingConfig: + description: Optional. Autoscaling config for + the policy associated with the cluster. Cluster + does not autoscale if this field is unset. + items: + properties: + policy: + description: 'Optional. The autoscaling + policy used by the cluster. Only resource + names including projectid and location + (region) are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]` + * `projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]` + Note that the policy must be in the + same project and Dataproc region.' + type: string + type: object + type: array + encryptionConfig: + description: Optional. Encryption settings for + the cluster. + items: + properties: + gcePdKmsKeyName: + description: Optional. The Cloud KMS key + name to use for PD disk encryption for + all instances in the cluster. + type: string + type: object + type: array + endpointConfig: + description: Optional. Port/endpoint configuration + for this cluster + items: + properties: + enableHttpPortAccess: + description: Optional. If true, enable + http access to specific ports on the + cluster from external sources. Defaults + to false. + type: boolean + type: object + type: array + gceClusterConfig: + description: Optional. The shared Compute Engine + config settings for all instances in a cluster. + items: + properties: + internalIpOnly: + description: Optional. If true, all instances + in the cluster will only have internal + IP addresses. By default, clusters are + not restricted to internal IP addresses, + and will have ephemeral external IP + addresses assigned to each instance. + This `internal_ip_only` restriction + can only be enabled for subnetwork enabled + networks, and all off-cluster dependencies + must be configured to be accessible + without external IP addresses. + type: boolean + metadata: + additionalProperties: + type: string + description: The Compute Engine metadata + entries to add to all instances (see + [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). + type: object + network: + description: 'Optional. The Compute Engine + network to be used for machine communications. + Cannot be specified with subnetwork_uri. + If neither `network_uri` nor `subnetwork_uri` + is specified, the "default" network + of the project is used, if it exists. + Cannot be a "Custom Subnet Network" + (see [Using Subnetworks](https://cloud.google.com/compute/docs/subnetworks) + for more information). A full URL, partial + URI, or short name are valid. Examples: + * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default` + * `projects/[project_id]/regions/global/default` + * `default`' + type: string + nodeGroupAffinity: + description: Optional. Node Group Affinity + for sole-tenant clusters. + items: + properties: + nodeGroup: + description: 'Required. The URI + of a sole-tenant [node group resource](https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) + that the cluster will be created + on. A full URL, partial URI, or + node group name are valid. Examples: + * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1` + * `projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1` + * `node-group-1`' + type: string + required: + - nodeGroup + type: object + type: array + privateIpv6GoogleAccess: + description: 'Optional. The type of IPv6 + access for a cluster. Possible values: + PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED, + INHERIT_FROM_SUBNETWORK, OUTBOUND, BIDIRECTIONAL' + type: string + reservationAffinity: + description: Optional. Reservation Affinity + for consuming Zonal reservation. + items: + properties: + consumeReservationType: + description: 'Optional. Type of + reservation to consume Possible + values: TYPE_UNSPECIFIED, NO_RESERVATION, + ANY_RESERVATION, SPECIFIC_RESERVATION' + type: string + key: + description: Optional. Corresponds + to the label key of reservation + resource. + type: string + values: + description: Optional. Corresponds + to the label values of reservation + resource. + items: + type: string + type: array + type: object + type: array + serviceAccount: + description: Optional. The [Dataproc service + account](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) + (also see [VM Data Plane identity](https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) + used by Dataproc cluster VM instances + to access Google Cloud Platform services. + If not specified, the [Compute Engine + default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) + is used. + type: string + serviceAccountScopes: + description: 'Optional. The URIs of service + account scopes to be included in Compute + Engine instances. The following base + set of scopes is always included: * + https://www.googleapis.com/auth/cloud.useraccounts.readonly + * https://www.googleapis.com/auth/devstorage.read_write + * https://www.googleapis.com/auth/logging.write + If no scopes are specified, the following + defaults are also provided: * https://www.googleapis.com/auth/bigquery + * https://www.googleapis.com/auth/bigtable.admin.table + * https://www.googleapis.com/auth/bigtable.data + * https://www.googleapis.com/auth/devstorage.full_control' + items: + type: string + type: array + subnetwork: + description: 'Optional. The Compute Engine + subnetwork to be used for machine communications. + Cannot be specified with network_uri. + A full URL, partial URI, or short name + are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0` + * `projects/[project_id]/regions/us-east1/subnetworks/sub0` + * `sub0`' + type: string + tags: + description: The Compute Engine tags to + add to all instances (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)). + items: + type: string + type: array + zone: + description: 'Optional. The zone where + the Compute Engine cluster will be located. + On a create request, it is required + in the "global" region. If omitted in + a non-global Dataproc region, the service + will pick a zone in the corresponding + Compute Engine region. On a get request, + zone will always be present. A full + URL, partial URI, or short name are + valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]` + * `projects/[project_id]/zones/[zone]` + * `us-central1-f`' + type: string + type: object + type: array + initializationActions: + description: 'Optional. Commands to execute + on each node after config is completed. By + default, executables are run on master and + all worker nodes. You can test a node''s `role` + metadata to run an executable on a master + or worker node, as shown below using `curl` + (you can also use `wget`): ROLE=$(curl -H + Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role) + if [[ "${ROLE}" == ''Master'' ]]; then ... + master specific actions ... else ... worker + specific actions ... fi' + items: + properties: + executableFile: + description: Required. Cloud Storage URI + of executable file. + type: string + executionTimeout: + description: Optional. Amount of time + executable has to complete. Default + is 10 minutes (see JSON representation + of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). + Cluster creation fails with an explanatory + error message (the name of the executable + that caused the error and the exceeded + timeout period) if the executable is + not completed at end of the timeout + period. + type: string + type: object + type: array + lifecycleConfig: + description: Optional. Lifecycle setting for + the cluster. + items: + properties: + autoDeleteTime: + description: Optional. The time when cluster + will be auto-deleted (see JSON representation + of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)). + type: string + autoDeleteTtl: + description: Optional. The lifetime duration + of cluster. The cluster will be auto-deleted + at the end of this period. Minimum value + is 10 minutes; maximum value is 14 days + (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). + type: string + idleDeleteTtl: + description: Optional. The duration to + keep the cluster alive while idling + (when no jobs are running). Passing + this threshold will cause the cluster + to be deleted. Minimum value is 5 minutes; + maximum value is 14 days (see JSON representation + of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). + type: string + type: object + type: array + masterConfig: + description: Optional. The Compute Engine config + settings for worker instances in a cluster. + items: + properties: + accelerators: + description: Optional. The Compute Engine + accelerator configuration for these + instances. + items: + properties: + acceleratorCount: + description: The number of the accelerator + cards of this type exposed to + this instance. + format: int64 + type: integer + acceleratorType: + description: 'Full URL, partial + URI, or short name of the accelerator + type resource to expose to this + instance. See [Compute Engine + AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes). + Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` + * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` + * `nvidia-tesla-k80` **Auto Zone + Exception**: If you are using + the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) + feature, you must use the short + name of the accelerator type resource, + for example, `nvidia-tesla-k80`.' + type: string + type: object + type: array + diskConfig: + description: Optional. Disk option config + settings. + items: + properties: + bootDiskSizeGb: + description: Optional. Size in GB + of the boot disk (default is 500GB). + format: int64 + type: integer + bootDiskType: + description: 'Optional. Type of + the boot disk (default is "pd-standard"). + Valid values: "pd-balanced" (Persistent + Disk Balanced Solid State Drive), + "pd-ssd" (Persistent Disk Solid + State Drive), or "pd-standard" + (Persistent Disk Hard Disk Drive). + See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).' + type: string + numLocalSsds: + description: Optional. Number of + attached SSDs, from 0 to 4 (default + is 0). If SSDs are not attached, + the boot disk is used to store + runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) + data. If one or more SSDs are + attached, this runtime bulk data + is spread across them, and the + boot disk contains only basic + config and installed binaries. + format: int64 + type: integer + type: object + type: array + image: + description: 'Optional. The Compute Engine + image resource used for cluster instances. + The URI can represent an image or image + family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]` + * `projects/[project_id]/global/images/[image-id]` + * `image-id` Image family examples. + Dataproc will use the most recent image + from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]` + * `projects/[project_id]/global/images/family/[custom-image-family-name]` + If the URI is unspecified, it will be + inferred from `SoftwareConfig.image_version` + or the system default.' + type: string + machineType: + description: 'Optional. The Compute Engine + machine type used for cluster instances. + A full URL, partial URI, or short name + are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` + * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` + * `n1-standard-2` **Auto Zone Exception**: + If you are using the Dataproc [Auto + Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) + feature, you must use the short name + of the machine type resource, for example, + `n1-standard-2`.' + type: string + minCpuPlatform: + description: Optional. Specifies the minimum + cpu platform for the Instance Group. + See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + type: string + numInstances: + description: Optional. The number of VM + instances in the instance group. For + [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability) + [master_config](#FIELDS.master_config) + groups, **must be set to 3**. For standard + cluster [master_config](#FIELDS.master_config) + groups, **must be set to 1**. + format: int64 + type: integer + preemptibility: + description: 'Optional. Specifies the + preemptibility of the instance group. + The default value for master and worker + groups is `NON_PREEMPTIBLE`. This default + cannot be changed. The default value + for secondary instances is `PREEMPTIBLE`. + Possible values: PREEMPTIBILITY_UNSPECIFIED, + NON_PREEMPTIBLE, PREEMPTIBLE' + type: string + type: object + type: array + secondaryWorkerConfig: + description: Optional. The Compute Engine config + settings for worker instances in a cluster. + items: + properties: + accelerators: + description: Optional. The Compute Engine + accelerator configuration for these + instances. + items: + properties: + acceleratorCount: + description: The number of the accelerator + cards of this type exposed to + this instance. + format: int64 + type: integer + acceleratorType: + description: 'Full URL, partial + URI, or short name of the accelerator + type resource to expose to this + instance. See [Compute Engine + AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes). + Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` + * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` + * `nvidia-tesla-k80` **Auto Zone + Exception**: If you are using + the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) + feature, you must use the short + name of the accelerator type resource, + for example, `nvidia-tesla-k80`.' + type: string + type: object + type: array + diskConfig: + description: Optional. Disk option config + settings. + items: + properties: + bootDiskSizeGb: + description: Optional. Size in GB + of the boot disk (default is 500GB). + format: int64 + type: integer + bootDiskType: + description: 'Optional. Type of + the boot disk (default is "pd-standard"). + Valid values: "pd-balanced" (Persistent + Disk Balanced Solid State Drive), + "pd-ssd" (Persistent Disk Solid + State Drive), or "pd-standard" + (Persistent Disk Hard Disk Drive). + See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).' + type: string + numLocalSsds: + description: Optional. Number of + attached SSDs, from 0 to 4 (default + is 0). If SSDs are not attached, + the boot disk is used to store + runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) + data. If one or more SSDs are + attached, this runtime bulk data + is spread across them, and the + boot disk contains only basic + config and installed binaries. + format: int64 + type: integer + type: object + type: array + image: + description: 'Optional. The Compute Engine + image resource used for cluster instances. + The URI can represent an image or image + family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]` + * `projects/[project_id]/global/images/[image-id]` + * `image-id` Image family examples. + Dataproc will use the most recent image + from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]` + * `projects/[project_id]/global/images/family/[custom-image-family-name]` + If the URI is unspecified, it will be + inferred from `SoftwareConfig.image_version` + or the system default.' + type: string + machineType: + description: 'Optional. The Compute Engine + machine type used for cluster instances. + A full URL, partial URI, or short name + are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` + * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` + * `n1-standard-2` **Auto Zone Exception**: + If you are using the Dataproc [Auto + Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) + feature, you must use the short name + of the machine type resource, for example, + `n1-standard-2`.' + type: string + minCpuPlatform: + description: Optional. Specifies the minimum + cpu platform for the Instance Group. + See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + type: string + numInstances: + description: Optional. The number of VM + instances in the instance group. For + [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability) + [master_config](#FIELDS.master_config) + groups, **must be set to 3**. For standard + cluster [master_config](#FIELDS.master_config) + groups, **must be set to 1**. + format: int64 + type: integer + preemptibility: + description: 'Optional. Specifies the + preemptibility of the instance group. + The default value for master and worker + groups is `NON_PREEMPTIBLE`. This default + cannot be changed. The default value + for secondary instances is `PREEMPTIBLE`. + Possible values: PREEMPTIBILITY_UNSPECIFIED, + NON_PREEMPTIBLE, PREEMPTIBLE' + type: string + type: object + type: array + securityConfig: + description: Optional. Security settings for + the cluster. + items: + properties: + kerberosConfig: + description: Optional. Kerberos related + configuration. + items: + properties: + crossRealmTrustAdminServer: + description: Optional. The admin + server (IP or hostname) for the + remote trusted realm in a cross + realm trust relationship. + type: string + crossRealmTrustKdc: + description: Optional. The KDC (IP + or hostname) for the remote trusted + realm in a cross realm trust relationship. + type: string + crossRealmTrustRealm: + description: Optional. The remote + realm the Dataproc on-cluster + KDC will trust, should the user + enable cross realm trust. + type: string + crossRealmTrustSharedPassword: + description: Optional. The Cloud + Storage URI of a KMS encrypted + file containing the shared password + between the on-cluster Kerberos + realm and the remote trusted realm, + in a cross realm trust relationship. + type: string + enableKerberos: + description: 'Optional. Flag to + indicate whether to Kerberize + the cluster (default: false). + Set this field to true to enable + Kerberos on a cluster.' + type: boolean + kdcDbKey: + description: Optional. The Cloud + Storage URI of a KMS encrypted + file containing the master key + of the KDC database. + type: string + keyPassword: + description: Optional. The Cloud + Storage URI of a KMS encrypted + file containing the password to + the user provided key. For the + self-signed certificate, this + password is generated by Dataproc. + type: string + keystore: + description: Optional. The Cloud + Storage URI of the keystore file + used for SSL encryption. If not + provided, Dataproc will provide + a self-signed certificate. + type: string + keystorePassword: + description: Optional. The Cloud + Storage URI of a KMS encrypted + file containing the password to + the user provided keystore. For + the self-signed certificate, this + password is generated by Dataproc. + type: string + kmsKey: + description: Optional. The uri of + the KMS key used to encrypt various + sensitive files. + type: string + realm: + description: Optional. The name + of the on-cluster Kerberos realm. + If not specified, the uppercased + domain of hostnames will be the + realm. + type: string + rootPrincipalPassword: + description: Optional. The Cloud + Storage URI of a KMS encrypted + file containing the root principal + password. + type: string + tgtLifetimeHours: + description: Optional. The lifetime + of the ticket granting ticket, + in hours. If not specified, or + user specifies 0, then default + value 10 will be used. + format: int64 + type: integer + truststore: + description: Optional. The Cloud + Storage URI of the truststore + file used for SSL encryption. + If not provided, Dataproc will + provide a self-signed certificate. + type: string + truststorePassword: + description: Optional. The Cloud + Storage URI of a KMS encrypted + file containing the password to + the user provided truststore. + For the self-signed certificate, + this password is generated by + Dataproc. + type: string + type: object + type: array + type: object + type: array + softwareConfig: + description: Optional. The config settings for + software inside the cluster. + items: + properties: + imageVersion: + description: Optional. The version of + software inside the cluster. It must + be one of the supported [Dataproc Versions](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions), + such as "1.2" (including a subminor + version, such as "1.2.29"), or the ["preview" + version](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). + If unspecified, it defaults to the latest + Debian version. + type: string + optionalComponents: + description: Optional. The set of components + to activate on the cluster. + items: + type: string + type: array + properties: + additionalProperties: + type: string + description: 'Optional. The properties + to set on daemon config files. Property + keys are specified in `prefix:property` + format, for example `core:hadoop.tmp.dir`. + The following are supported prefixes + and their mappings: * capacity-scheduler: + `capacity-scheduler.xml` * core: `core-site.xml` + * distcp: `distcp-default.xml` * hdfs: + `hdfs-site.xml` * hive: `hive-site.xml` + * mapred: `mapred-site.xml` * pig: `pig.properties` + * spark: `spark-defaults.conf` * yarn: + `yarn-site.xml` For more information, + see [Cluster properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties).' + type: object + type: object + type: array + stagingBucket: + description: Optional. A Cloud Storage bucket + used to stage job dependencies, config files, + and job driver console output. If you do not + specify a staging bucket, Cloud Dataproc will + determine a Cloud Storage location (US, ASIA, + or EU) for your cluster's staging bucket according + to the Compute Engine zone where your cluster + is deployed, and then create and manage this + project-level, per-location bucket (see [Dataproc + staging bucket](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). + **This field requires a Cloud Storage bucket + name, not a URI to a Cloud Storage bucket.** + type: string + tempBucket: + description: Optional. A Cloud Storage bucket + used to store ephemeral cluster and jobs data, + such as Spark and MapReduce history files. + If you do not specify a temp bucket, Dataproc + will determine a Cloud Storage location (US, + ASIA, or EU) for your cluster's temp bucket + according to the Compute Engine zone where + your cluster is deployed, and then create + and manage this project-level, per-location + bucket. The default bucket has a TTL of 90 + days, but you can use any TTL (or none) if + you specify a bucket. **This field requires + a Cloud Storage bucket name, not a URI to + a Cloud Storage bucket.** + type: string + workerConfig: + description: Optional. The Compute Engine config + settings for worker instances in a cluster. + items: + properties: + accelerators: + description: Optional. The Compute Engine + accelerator configuration for these + instances. + items: + properties: + acceleratorCount: + description: The number of the accelerator + cards of this type exposed to + this instance. + format: int64 + type: integer + acceleratorType: + description: 'Full URL, partial + URI, or short name of the accelerator + type resource to expose to this + instance. See [Compute Engine + AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes). + Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` + * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80` + * `nvidia-tesla-k80` **Auto Zone + Exception**: If you are using + the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) + feature, you must use the short + name of the accelerator type resource, + for example, `nvidia-tesla-k80`.' + type: string + type: object + type: array + diskConfig: + description: Optional. Disk option config + settings. + items: + properties: + bootDiskSizeGb: + description: Optional. Size in GB + of the boot disk (default is 500GB). + format: int64 + type: integer + bootDiskType: + description: 'Optional. Type of + the boot disk (default is "pd-standard"). + Valid values: "pd-balanced" (Persistent + Disk Balanced Solid State Drive), + "pd-ssd" (Persistent Disk Solid + State Drive), or "pd-standard" + (Persistent Disk Hard Disk Drive). + See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).' + type: string + numLocalSsds: + description: Optional. Number of + attached SSDs, from 0 to 4 (default + is 0). If SSDs are not attached, + the boot disk is used to store + runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) + data. If one or more SSDs are + attached, this runtime bulk data + is spread across them, and the + boot disk contains only basic + config and installed binaries. + format: int64 + type: integer + type: object + type: array + image: + description: 'Optional. The Compute Engine + image resource used for cluster instances. + The URI can represent an image or image + family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]` + * `projects/[project_id]/global/images/[image-id]` + * `image-id` Image family examples. + Dataproc will use the most recent image + from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]` + * `projects/[project_id]/global/images/family/[custom-image-family-name]` + If the URI is unspecified, it will be + inferred from `SoftwareConfig.image_version` + or the system default.' + type: string + machineType: + description: 'Optional. The Compute Engine + machine type used for cluster instances. + A full URL, partial URI, or short name + are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` + * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2` + * `n1-standard-2` **Auto Zone Exception**: + If you are using the Dataproc [Auto + Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) + feature, you must use the short name + of the machine type resource, for example, + `n1-standard-2`.' + type: string + minCpuPlatform: + description: Optional. Specifies the minimum + cpu platform for the Instance Group. + See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + type: string + numInstances: + description: Optional. The number of VM + instances in the instance group. For + [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability) + [master_config](#FIELDS.master_config) + groups, **must be set to 3**. For standard + cluster [master_config](#FIELDS.master_config) + groups, **must be set to 1**. + format: int64 + type: integer + preemptibility: + description: 'Optional. Specifies the + preemptibility of the instance group. + The default value for master and worker + groups is `NON_PREEMPTIBLE`. This default + cannot be changed. The default value + for secondary instances is `PREEMPTIBLE`. + Possible values: PREEMPTIBILITY_UNSPECIFIED, + NON_PREEMPTIBLE, PREEMPTIBLE' + type: string + type: object + type: array + type: object + type: array + labels: + additionalProperties: + type: string + description: 'Optional. The labels to associate with + this cluster. Label keys must be between 1 and 63 + characters long, and must conform to the following + PCRE regular expression: p{Ll}p{Lo}{0,62} Label + values must be between 1 and 63 characters long, + and must conform to the following PCRE regular expression: + [p{Ll}p{Lo}p{N}_-]{0,63} No more than 32 labels + can be associated with a given cluster.' + type: object + required: + - clusterName + - config + type: object + type: array + type: object + type: array + project: + description: The project for the resource + type: string + version: + description: Output only. The current version of this workflow + template. + format: int64 + type: integer + required: + - jobs + - location + - name + - placement + type: object + 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 + 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 + 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. + 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 + status: + description: WorkflowTemplateStatus defines the observed state of WorkflowTemplate. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/datastore.gcp.jet.crossplane.io_indices.yaml b/package/crds/datastore.gcp.jet.crossplane.io_indices.yaml new file mode 100644 index 00000000..d5a28457 --- /dev/null +++ b/package/crds/datastore.gcp.jet.crossplane.io_indices.yaml @@ -0,0 +1,193 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: indices.datastore.gcp.jet.crossplane.io +spec: + group: datastore.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Index + listKind: IndexList + plural: indices + singular: index + 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: Index is the Schema for the Indexs 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: IndexSpec defines the desired state of Index + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + ancestor: + description: 'Policy for including ancestors in the index. Default + value: "NONE" Possible values: ["NONE", "ALL_ANCESTORS"]' + type: string + kind: + description: The entity kind which the index applies to. + type: string + project: + type: string + properties: + description: An ordered list of properties to index on. + items: + properties: + direction: + description: 'The direction the index should optimize for + sorting. Possible values: ["ASCENDING", "DESCENDING"]' + type: string + name: + description: The property name to index. + type: string + required: + - direction + - name + type: object + type: array + required: + - kind + type: object + 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 + 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 + 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. + 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 + status: + description: IndexStatus defines the observed state of Index. + properties: + atProvider: + properties: + id: + type: string + indexId: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/deploymentmanager.gcp.jet.crossplane.io_deployments.yaml b/package/crds/deploymentmanager.gcp.jet.crossplane.io_deployments.yaml new file mode 100644 index 00000000..ab045b96 --- /dev/null +++ b/package/crds/deploymentmanager.gcp.jet.crossplane.io_deployments.yaml @@ -0,0 +1,261 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: deployments.deploymentmanager.gcp.jet.crossplane.io +spec: + group: deploymentmanager.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Deployment + listKind: DeploymentList + plural: deployments + singular: deployment + 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: Deployment is the Schema for the Deployments 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: DeploymentSpec defines the desired state of Deployment + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + createPolicy: + description: 'Set the policy to use for creating new resources. + Only used on create and update. Valid values are ''CREATE_OR_ACQUIRE'' + (default) or ''ACQUIRE''. If set to ''ACQUIRE'' and resources + do not already exist, the deployment will fail. Note that updating + this field does not actually affect the deployment, just how + it is updated. Default value: "CREATE_OR_ACQUIRE" Possible values: + ["ACQUIRE", "CREATE_OR_ACQUIRE"]' + type: string + deletePolicy: + description: 'Set the policy to use for deleting new resources + on update/delete. Valid values are ''DELETE'' (default) or ''ABANDON''. + If ''DELETE'', resource is deleted after removal from Deployment + Manager. If ''ABANDON'', the resource is only removed from Deployment + Manager and is not actually deleted. Note that updating this + field does not actually change the deployment, just how it is + updated. Default value: "DELETE" Possible values: ["ABANDON", + "DELETE"]' + type: string + description: + description: Optional user-provided description of deployment. + type: string + labels: + description: Key-value pairs to apply to this labels. + items: + properties: + key: + description: Key for label. + type: string + value: + description: Value of label. + type: string + type: object + type: array + name: + description: Unique name for the deployment + type: string + preview: + description: If set to true, a deployment is created with "shell" + resources that are not actually instantiated. This allows you + to preview a deployment. It can be updated to false to actually + deploy with real resources. ~>**NOTE:** Deployment Manager does + not allow update of a deployment in preview (unless updating + to preview=false). Thus, Terraform will force-recreate deployments + if either preview is updated to true or if other fields are + updated while preview is true. + type: boolean + project: + type: string + target: + description: Parameters that define your deployment, including + the deployment configuration and relevant templates. + items: + properties: + config: + description: The root configuration file to use for this + deployment. + items: + properties: + content: + description: The full YAML contents of your configuration + file. + type: string + required: + - content + type: object + type: array + imports: + description: Specifies import files for this configuration. + This can be used to import templates or other files. For + example, you might import a text file in order to use + the file in a template. + items: + properties: + content: + description: The full contents of the template that + you want to import. + type: string + name: + description: The name of the template to import, as + declared in the YAML configuration. + type: string + type: object + type: array + required: + - config + type: object + type: array + required: + - name + - target + type: object + 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 + 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 + 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. + 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 + status: + description: DeploymentStatus defines the observed state of Deployment. + properties: + atProvider: + properties: + deploymentId: + type: string + id: + type: string + manifest: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dialogflow.gcp.jet.crossplane.io_agents.yaml b/package/crds/dialogflow.gcp.jet.crossplane.io_agents.yaml new file mode 100644 index 00000000..44f54e5e --- /dev/null +++ b/package/crds/dialogflow.gcp.jet.crossplane.io_agents.yaml @@ -0,0 +1,244 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: agents.dialogflow.gcp.jet.crossplane.io +spec: + group: dialogflow.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Agent + listKind: AgentList + plural: agents + singular: agent + 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: Agent is the Schema for the Agents 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: AgentSpec defines the desired state of Agent + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + apiVersion: + description: 'API version displayed in Dialogflow console. If + not specified, V2 API is assumed. Clients are free to query + different service endpoints for different API versions. However, + bots connectors and webhook calls will follow the specified + API version. * API_VERSION_V1: Legacy V1 API. * API_VERSION_V2: + V2 API. * API_VERSION_V2_BETA_1: V2beta1 API. Possible values: + ["API_VERSION_V1", "API_VERSION_V2", "API_VERSION_V2_BETA_1"]' + type: string + avatarUri: + description: The URI of the agent's avatar, which are used throughout + the Dialogflow console. When an image URL is entered into this + field, the Dialogflow will save the image in the backend. The + address of the backend image returned from the API will be shown + in the [avatarUriBackend] field. + type: string + classificationThreshold: + description: To filter out false positive results and still get + variety in matched natural language inputs for your agent, you + can tune the machine learning classification threshold. If the + returned score value is less than the threshold value, then + a fallback intent will be triggered or, if there are no fallback + intents defined, no intent will be triggered. The score values + range from 0.0 (completely uncertain) to 1.0 (completely certain). + If set to 0.0, the default of 0.3 is used. + type: number + defaultLanguageCode: + description: The default language of the agent as a language tag. + [See Language Support](https://cloud.google.com/dialogflow/docs/reference/language) + for a list of the currently supported language codes. This field + cannot be updated after creation. + type: string + description: + description: The description of this agent. The maximum length + is 500 characters. If exceeded, the request is rejected. + type: string + displayName: + description: The name of this agent. + type: string + enableLogging: + description: Determines whether this agent should log conversation + queries. + type: boolean + matchMode: + description: 'Determines how intents are detected from user queries. + * MATCH_MODE_HYBRID: Best for agents with a small number of + examples in intents and/or wide use of templates syntax and + composite entities. * MATCH_MODE_ML_ONLY: Can be used for agents + with a large number of examples in intents, especially the ones + using @sys.any or very large developer entities. Possible values: + ["MATCH_MODE_HYBRID", "MATCH_MODE_ML_ONLY"]' + type: string + project: + type: string + supportedLanguageCodes: + description: The list of all languages supported by this agent + (except for the defaultLanguageCode). + items: + type: string + type: array + tier: + description: 'The agent tier. If not specified, TIER_STANDARD + is assumed. * TIER_STANDARD: Standard tier. * TIER_ENTERPRISE: + Enterprise tier (Essentials). * TIER_ENTERPRISE_PLUS: Enterprise + tier (Plus). NOTE: Due to consistency issues, the provider will + not read this field from the API. Drift is possible between + the Terraform state and Dialogflow if the agent tier is changed + outside of Terraform. Possible values: ["TIER_STANDARD", "TIER_ENTERPRISE", + "TIER_ENTERPRISE_PLUS"]' + type: string + timeZone: + description: The time zone of this agent from the [time zone database](https://www.iana.org/time-zones), + e.g., America/New_York, Europe/Paris. + type: string + required: + - defaultLanguageCode + - displayName + - timeZone + type: object + 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 + 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 + 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. + 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 + status: + description: AgentStatus defines the observed state of Agent. + properties: + atProvider: + properties: + avatarUriBackend: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dialogflow.gcp.jet.crossplane.io_entitytypes.yaml b/package/crds/dialogflow.gcp.jet.crossplane.io_entitytypes.yaml new file mode 100644 index 00000000..77d8dd50 --- /dev/null +++ b/package/crds/dialogflow.gcp.jet.crossplane.io_entitytypes.yaml @@ -0,0 +1,215 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: entitytypes.dialogflow.gcp.jet.crossplane.io +spec: + group: dialogflow.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: EntityType + listKind: EntityTypeList + plural: entitytypes + singular: entitytype + 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: EntityType is the Schema for the EntityTypes 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: EntityTypeSpec defines the desired state of EntityType + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + displayName: + description: The name of this entity type to be displayed on the + console. + type: string + enableFuzzyExtraction: + description: Enables fuzzy entity extraction during classification. + type: boolean + entities: + description: The collection of entity entries associated with + the entity type. + items: + properties: + synonyms: + description: 'A collection of value synonyms. For example, + if the entity type is vegetable, and value is scallions, + a synonym could be green onions. For KIND_LIST entity + types: * This collection must contain exactly one synonym + equal to value.' + items: + type: string + type: array + value: + description: 'The primary value associated with this entity + entry. For example, if the entity type is vegetable, the + value could be scallions. For KIND_MAP entity types: * + A reference value to be used in place of synonyms. For + KIND_LIST entity types: * A string that can contain references + to other entity types (with or without aliases).' + type: string + required: + - synonyms + - value + type: object + type: array + kind: + description: 'Indicates the kind of entity type. * KIND_MAP: Map + entity types allow mapping of a group of synonyms to a reference + value. * KIND_LIST: List entity types contain a set of entries + that do not map to reference values. However, list entity types + can contain references to other entity types (with or without + aliases). * KIND_REGEXP: Regexp entity types allow to specify + regular expressions in entries values. Possible values: ["KIND_MAP", + "KIND_LIST", "KIND_REGEXP"]' + type: string + project: + type: string + required: + - displayName + - kind + type: object + 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 + 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 + 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. + 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 + status: + description: EntityTypeStatus defines the observed state of EntityType. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dialogflow.gcp.jet.crossplane.io_fulfillments.yaml b/package/crds/dialogflow.gcp.jet.crossplane.io_fulfillments.yaml new file mode 100644 index 00000000..779cfe8f --- /dev/null +++ b/package/crds/dialogflow.gcp.jet.crossplane.io_fulfillments.yaml @@ -0,0 +1,218 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: fulfillments.dialogflow.gcp.jet.crossplane.io +spec: + group: dialogflow.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Fulfillment + listKind: FulfillmentList + plural: fulfillments + singular: fulfillment + 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: Fulfillment is the Schema for the Fulfillments 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: FulfillmentSpec defines the desired state of Fulfillment + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + displayName: + description: The human-readable name of the fulfillment, unique + within the agent. + type: string + enabled: + description: Whether fulfillment is enabled. + type: boolean + features: + description: The field defines whether the fulfillment is enabled + for certain features. + items: + properties: + type: + description: 'The type of the feature that enabled for fulfillment. + * SMALLTALK: Fulfillment is enabled for SmallTalk. Possible + values: ["SMALLTALK"]' + type: string + required: + - type + type: object + type: array + genericWebService: + description: 'Represents configuration for a generic web service. + Dialogflow supports two mechanisms for authentications: - Basic + authentication with username and password. - Authentication + with additional authentication headers.' + items: + properties: + password: + description: The password for HTTP Basic authentication. + type: string + requestHeaders: + additionalProperties: + type: string + description: The HTTP request headers to send together with + fulfillment requests. + type: object + uri: + description: The fulfillment URI for receiving POST requests. + It must use https protocol. + type: string + username: + description: The user name for HTTP Basic authentication. + type: string + required: + - uri + type: object + type: array + project: + type: string + required: + - displayName + type: object + 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 + 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 + 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. + 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 + status: + description: FulfillmentStatus defines the observed state of Fulfillment. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dialogflow.gcp.jet.crossplane.io_intents.yaml b/package/crds/dialogflow.gcp.jet.crossplane.io_intents.yaml new file mode 100644 index 00000000..edfc8d3a --- /dev/null +++ b/package/crds/dialogflow.gcp.jet.crossplane.io_intents.yaml @@ -0,0 +1,242 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: intents.dialogflow.gcp.jet.crossplane.io +spec: + group: dialogflow.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Intent + listKind: IntentList + plural: intents + singular: intent + 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: Intent is the Schema for the Intents 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: IntentSpec defines the desired state of Intent + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + action: + description: 'The name of the action associated with the intent. + Note: The action name must not contain whitespaces.' + type: string + defaultResponsePlatforms: + description: 'The list of platforms for which the first responses + will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. + default platform). Possible values: ["FACEBOOK", "SLACK", "TELEGRAM", + "KIK", "SKYPE", "LINE", "VIBER", "ACTIONS_ON_GOOGLE", "GOOGLE_HANGOUTS"]' + items: + type: string + type: array + displayName: + description: The name of this intent to be displayed on the console. + type: string + events: + description: The collection of event names that trigger the intent. + If the collection of input contexts is not empty, all of the + contexts must be present in the active user session for an event + to trigger this intent. See the [events reference](https://cloud.google.com/dialogflow/docs/events-overview) + for more details. + items: + type: string + type: array + inputContextNames: + description: 'The list of context names required for this intent + to be triggered. Format: projects//agent/sessions/-/contexts/.' + items: + type: string + type: array + isFallback: + description: Indicates whether this is a fallback intent. + type: boolean + mlDisabled: + description: 'Indicates whether Machine Learning is disabled for + the intent. Note: If mlDisabled setting is set to true, then + this intent is not taken into account during inference in ML + ONLY match mode. Also, auto-markup in the UI is turned off.' + type: boolean + parentFollowupIntentName: + description: 'The unique identifier of the parent intent in the + chain of followup intents. Format: projects//agent/intents/.' + type: string + priority: + description: The priority of this intent. Higher numbers represent + higher priorities. - If the supplied value is unspecified or + 0, the service translates the value to 500,000, which corresponds + to the Normal priority in the console. - If the supplied value + is negative, the intent is ignored in runtime detect intent + requests. + format: int64 + type: integer + project: + type: string + resetContexts: + description: Indicates whether to delete all contexts in the current + session when this intent is matched. + type: boolean + webhookState: + description: 'Indicates whether webhooks are enabled for the intent. + * WEBHOOK_STATE_ENABLED: Webhook is enabled in the agent and + in the intent. * WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING: Webhook + is enabled in the agent and in the intent. Also, each slot filling + prompt is forwarded to the webhook. Possible values: ["WEBHOOK_STATE_ENABLED", + "WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING"]' + type: string + required: + - displayName + type: object + 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 + 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 + 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. + 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 + status: + description: IntentStatus defines the observed state of Intent. + properties: + atProvider: + properties: + followupIntentInfo: + items: + type: object + type: array + id: + type: string + name: + type: string + rootFollowupIntentName: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dialogflowcx.gcp.jet.crossplane.io_agents.yaml b/package/crds/dialogflowcx.gcp.jet.crossplane.io_agents.yaml new file mode 100644 index 00000000..a9041f28 --- /dev/null +++ b/package/crds/dialogflowcx.gcp.jet.crossplane.io_agents.yaml @@ -0,0 +1,235 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: agents.dialogflowcx.gcp.jet.crossplane.io +spec: + group: dialogflowcx.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Agent + listKind: AgentList + plural: agents + singular: agent + 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: Agent is the Schema for the Agents 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: AgentSpec defines the desired state of Agent + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + avatarUri: + description: The URI of the agent's avatar. Avatars are used throughout + the Dialogflow console and in the self-hosted Web Demo integration. + type: string + defaultLanguageCode: + description: The default language of the agent as a language tag. + [See Language Support](https://cloud.google.com/dialogflow/cx/docs/reference/language) + for a list of the currently supported language codes. This field + cannot be updated after creation. + type: string + description: + description: The description of this agent. The maximum length + is 500 characters. If exceeded, the request is rejected. + type: string + displayName: + description: The human-readable name of the agent, unique within + the location. + type: string + enableSpellCorrection: + description: Indicates if automatic spell correction is enabled + in detect intent requests. + type: boolean + enableStackdriverLogging: + description: Determines whether this agent should log conversation + queries. + type: boolean + location: + description: "The name of the location this agent is located in. + \n ~> **Note:** The first time you are deploying an Agent in + your project you must configure location settings. This is a + one time step but at the moment you can only [configure location + settings](https://cloud.google.com/dialogflow/cx/docs/concept/region#location-settings) + via the Dialogflow CX console. Another options is to use global + location so you don't need to manually configure location settings." + type: string + project: + type: string + securitySettings: + description: 'Name of the SecuritySettings reference for the agent. + Format: projects//locations//securitySettings/.' + type: string + speechToTextSettings: + description: Settings related to speech recognition. + items: + properties: + enableSpeechAdaptation: + description: Whether to use speech adaptation for speech + recognition. + type: boolean + type: object + type: array + supportedLanguageCodes: + description: The list of all languages supported by this agent + (except for the default_language_code). + items: + type: string + type: array + timeZone: + description: The time zone of this agent from the [time zone database](https://www.iana.org/time-zones), + e.g., America/New_York, Europe/Paris. + type: string + required: + - defaultLanguageCode + - displayName + - location + - timeZone + type: object + 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 + 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 + 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. + 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 + status: + description: AgentStatus defines the observed state of Agent. + properties: + atProvider: + properties: + id: + type: string + name: + type: string + startFlow: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dialogflowcx.gcp.jet.crossplane.io_entitytypes.yaml b/package/crds/dialogflowcx.gcp.jet.crossplane.io_entitytypes.yaml new file mode 100644 index 00000000..b92f8535 --- /dev/null +++ b/package/crds/dialogflowcx.gcp.jet.crossplane.io_entitytypes.yaml @@ -0,0 +1,249 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: entitytypes.dialogflowcx.gcp.jet.crossplane.io +spec: + group: dialogflowcx.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: EntityType + listKind: EntityTypeList + plural: entitytypes + singular: entitytype + 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: EntityType is the Schema for the EntityTypes 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: EntityTypeSpec defines the desired state of EntityType + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + autoExpansionMode: + description: 'Represents kinds of entities. * AUTO_EXPANSION_MODE_UNSPECIFIED: + Auto expansion disabled for the entity. * AUTO_EXPANSION_MODE_DEFAULT: + Allows an agent to recognize values that have not been explicitly + listed in the entity. Possible values: ["AUTO_EXPANSION_MODE_DEFAULT", + "AUTO_EXPANSION_MODE_UNSPECIFIED"]' + type: string + displayName: + description: The human-readable name of the entity type, unique + within the agent. + type: string + enableFuzzyExtraction: + description: Enables fuzzy entity extraction during classification. + type: boolean + entities: + description: The collection of entity entries associated with + the entity type. + items: + properties: + synonyms: + description: 'A collection of value synonyms. For example, + if the entity type is vegetable, and value is scallions, + a synonym could be green onions. For KIND_LIST entity + types: This collection must contain exactly one synonym + equal to value.' + items: + type: string + type: array + value: + description: 'The primary value associated with this entity + entry. For example, if the entity type is vegetable, the + value could be scallions. For KIND_MAP entity types: A + canonical value to be used in place of synonyms. For KIND_LIST + entity types: A string that can contain references to + other entity types (with or without aliases).' + type: string + type: object + type: array + excludedPhrases: + description: Collection of exceptional words and phrases that + shouldn't be matched. For example, if you have a size entity + type with entry giant(an adjective), you might consider adding + giants(a noun) as an exclusion. If the kind of entity type is + KIND_MAP, then the phrases specified by entities and excluded + phrases should be mutually exclusive. + items: + properties: + value: + description: The word or phrase to be excluded. + type: string + type: object + type: array + kind: + description: 'Indicates whether the entity type can be automatically + expanded. * KIND_MAP: Map entity types allow mapping of a group + of synonyms to a canonical value. * KIND_LIST: List entity types + contain a set of entries that do not map to canonical values. + However, list entity types can contain references to other entity + types (with or without aliases). * KIND_REGEXP: Regexp entity + types allow to specify regular expressions in entries values. + Possible values: ["KIND_MAP", "KIND_LIST", "KIND_REGEXP"]' + type: string + languageCode: + description: 'The language of the following fields in entityType: + EntityType.entities.value EntityType.entities.synonyms EntityType.excluded_phrases.value + If not specified, the agent''s default language is used. Many + languages are supported. Note: languages must be enabled in + the agent before they can be used.' + type: string + parent: + description: 'The agent to create a entity type for. Format: projects//locations//agents/.' + type: string + redact: + description: Indicates whether parameters of the entity type should + be redacted in log. If redaction is enabled, page parameters + and intent parameters referring to the entity type will be replaced + by parameter name when logging. + type: boolean + required: + - displayName + - entities + - kind + type: object + 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 + 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 + 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. + 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 + status: + description: EntityTypeStatus defines the observed state of EntityType. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dialogflowcx.gcp.jet.crossplane.io_environments.yaml b/package/crds/dialogflowcx.gcp.jet.crossplane.io_environments.yaml new file mode 100644 index 00000000..ffbe6af8 --- /dev/null +++ b/package/crds/dialogflowcx.gcp.jet.crossplane.io_environments.yaml @@ -0,0 +1,199 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: environments.dialogflowcx.gcp.jet.crossplane.io +spec: + group: dialogflowcx.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Environment + listKind: EnvironmentList + plural: environments + singular: environment + 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: Environment is the Schema for the Environments 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: EnvironmentSpec defines the desired state of Environment + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: The human-readable description of the environment. + The maximum length is 500 characters. If exceeded, the request + is rejected. + type: string + displayName: + description: The human-readable name of the environment (unique + in an agent). Limit of 64 characters. + type: string + parent: + description: 'The Agent to create an Environment for. Format: + projects//locations//agents/.' + type: string + versionConfigs: + description: A list of configurations for flow versions. You should + include version configs for all flows that are reachable from + [Start Flow][Agent.start_flow] in the agent. Otherwise, an error + will be returned. + items: + properties: + version: + description: 'Format: projects/{{project}}/locations/{{location}}/agents/{{agent}}/flows/{{flow}}/versions/{{version}}.' + type: string + required: + - version + type: object + type: array + required: + - displayName + - versionConfigs + type: object + 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 + 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 + 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. + 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 + status: + description: EnvironmentStatus defines the observed state of Environment. + properties: + atProvider: + properties: + id: + type: string + name: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dialogflowcx.gcp.jet.crossplane.io_flows.yaml b/package/crds/dialogflowcx.gcp.jet.crossplane.io_flows.yaml new file mode 100644 index 00000000..6c94fa21 --- /dev/null +++ b/package/crds/dialogflowcx.gcp.jet.crossplane.io_flows.yaml @@ -0,0 +1,396 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: flows.dialogflowcx.gcp.jet.crossplane.io +spec: + group: dialogflowcx.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Flow + listKind: FlowList + plural: flows + singular: flow + 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: Flow is the Schema for the Flows 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: FlowSpec defines the desired state of Flow + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: The description of the flow. The maximum length is + 500 characters. If exceeded, the request is rejected. + type: string + displayName: + description: The human-readable name of the flow. + type: string + eventHandlers: + description: 'A flow''s event handlers serve two purposes: They + are responsible for handling events (e.g. no match, webhook + errors) in the flow. They are inherited by every page''s [event + handlers][Page.event_handlers], which can be used to handle + common events regardless of the current page. Event handlers + defined in the page have higher priority than those defined + in the flow. Unlike transitionRoutes, these handlers are evaluated + on a first-match basis. The first one that matches the event + get executed, with the rest being ignored.' + items: + properties: + event: + description: The name of the event to handle. + type: string + targetFlow: + description: 'The target flow to transition to. Format: + projects//locations//agents//flows/.' + type: string + targetPage: + description: 'The target page to transition to. Format: + projects//locations//agents//flows//pages/.' + type: string + triggerFulfillment: + description: The fulfillment to call when the event occurs. + Handling webhook errors with a fulfillment enabled with + webhook could cause infinite loop. It is invalid to specify + such fulfillment for a handler handling webhooks. + items: + properties: + messages: + description: The list of rich message responses to + present to the user. + items: + properties: + text: + description: The text response message. + items: + properties: + text: + description: A collection of text responses. + items: + type: string + type: array + type: object + type: array + type: object + type: array + returnPartialResponses: + description: 'Whether Dialogflow should return currently + queued fulfillment response messages in streaming + APIs. If a webhook is specified, it happens before + Dialogflow invokes webhook. Warning: 1) This flag + only affects streaming API. Responses are still + queued and returned once in non-streaming API. 2) + The flag can be enabled in any fulfillment but only + the first 3 partial responses will be returned. + You may only want to apply it to fulfillments that + have slow webhooks.' + type: boolean + tag: + description: The tag used by the webhook to identify + which fulfillment is being called. This field is + required if webhook is specified. + type: string + webhook: + description: 'The webhook to call. Format: projects//locations//agents//webhooks/.' + type: string + type: object + type: array + type: object + type: array + languageCode: + description: 'The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages + Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages + Flow.transition_routes.trigger_fulfillment.conditional_cases + If not specified, the agent''s default language is used. Many + languages are supported. Note: languages must be enabled in + the agent before they can be used.' + type: string + nluSettings: + description: NLU related settings of the flow. + items: + properties: + classificationThreshold: + description: To filter out false positive results and still + get variety in matched natural language inputs for your + agent, you can tune the machine learning classification + threshold. If the returned score value is less than the + threshold value, then a no-match event will be triggered. + The score values range from 0.0 (completely uncertain) + to 1.0 (completely certain). If set to 0.0, the default + of 0.3 is used. + type: number + modelTrainingMode: + description: 'Indicates NLU model training mode. * MODEL_TRAINING_MODE_AUTOMATIC: + NLU model training is automatically triggered when a flow + gets modified. User can also manually trigger model training + in this mode. * MODEL_TRAINING_MODE_MANUAL: User needs + to manually trigger NLU model training. Best for large + flows whose models take long time to train. Possible values: + ["MODEL_TRAINING_MODE_AUTOMATIC", "MODEL_TRAINING_MODE_MANUAL"]' + type: string + modelType: + description: 'Indicates the type of NLU model. * MODEL_TYPE_STANDARD: + Use standard NLU model. * MODEL_TYPE_ADVANCED: Use advanced + NLU model. Possible values: ["MODEL_TYPE_STANDARD", "MODEL_TYPE_ADVANCED"]' + type: string + type: object + type: array + parent: + description: 'The agent to create a flow for. Format: projects//locations//agents/.' + type: string + transitionRouteGroups: + description: 'A flow''s transition route group serve two purposes: + They are responsible for matching the user''s first utterances + in the flow. They are inherited by every page''s [transition + route groups][Page.transition_route_groups]. Transition route + groups defined in the page have higher priority than those defined + in the flow. Format:projects//locations//agents//flows//transitionRouteGroups/.' + items: + type: string + type: array + transitionRoutes: + description: "A flow's transition routes serve two purposes: They + are responsible for matching the user's first utterances in + the flow. They are inherited by every page's [transition routes][Page.transition_routes] + and can support use cases such as the user saying \"help\" or + \"can I talk to a human?\", which can be handled in a common + way regardless of the current page. Transition routes defined + in the page have higher priority than those defined in the flow. + \n TransitionRoutes are evalauted in the following order: TransitionRoutes + with intent specified. TransitionRoutes with only condition + specified. TransitionRoutes with intent specified are inherited + by pages in the flow." + items: + properties: + condition: + description: The condition to evaluate against form parameters + or session parameters. At least one of intent or condition + must be specified. When both intent and condition are + specified, the transition can only happen when both are + fulfilled. + type: string + intent: + description: 'The unique identifier of an Intent. Format: + projects//locations//agents//intents/. Indicates that the transition + can only happen when the given intent is matched. At least + one of intent or condition must be specified. When both + intent and condition are specified, the transition can + only happen when both are fulfilled.' + type: string + targetFlow: + description: 'The target flow to transition to. Format: + projects//locations//agents//flows/.' + type: string + targetPage: + description: 'The target page to transition to. Format: + projects//locations//agents//flows//pages/.' + type: string + triggerFulfillment: + description: The fulfillment to call when the condition + is satisfied. At least one of triggerFulfillment and target + must be specified. When both are defined, triggerFulfillment + is executed first. + items: + properties: + messages: + description: The list of rich message responses to + present to the user. + items: + properties: + text: + description: The text response message. + items: + properties: + text: + description: A collection of text responses. + items: + type: string + type: array + type: object + type: array + type: object + type: array + returnPartialResponses: + description: 'Whether Dialogflow should return currently + queued fulfillment response messages in streaming + APIs. If a webhook is specified, it happens before + Dialogflow invokes webhook. Warning: 1) This flag + only affects streaming API. Responses are still + queued and returned once in non-streaming API. 2) + The flag can be enabled in any fulfillment but only + the first 3 partial responses will be returned. + You may only want to apply it to fulfillments that + have slow webhooks.' + type: boolean + tag: + description: The tag used by the webhook to identify + which fulfillment is being called. This field is + required if webhook is specified. + type: string + webhook: + description: 'The webhook to call. Format: projects//locations//agents//webhooks/.' + type: string + type: object + type: array + type: object + type: array + required: + - displayName + type: object + 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 + 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 + 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. + 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 + status: + description: FlowStatus defines the observed state of Flow. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dialogflowcx.gcp.jet.crossplane.io_intents.yaml b/package/crds/dialogflowcx.gcp.jet.crossplane.io_intents.yaml new file mode 100644 index 00000000..ee256a3f --- /dev/null +++ b/package/crds/dialogflowcx.gcp.jet.crossplane.io_intents.yaml @@ -0,0 +1,298 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: intents.dialogflowcx.gcp.jet.crossplane.io +spec: + group: dialogflowcx.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Intent + listKind: IntentList + plural: intents + singular: intent + 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: Intent is the Schema for the Intents 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: IntentSpec defines the desired state of Intent + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: 'Human readable description for better understanding + an intent like its scope, content, result etc. Maximum character + limit: 140 characters.' + type: string + displayName: + description: The human-readable name of the intent, unique within + the agent. + type: string + isFallback: + description: Indicates whether this is a fallback intent. Currently + only default fallback intent is allowed in the agent, which + is added upon agent creation. Adding training phrases to fallback + intent is useful in the case of requests that are mistakenly + matched, since training phrases assigned to fallback intents + act as negative examples that triggers no-match event. + type: boolean + labels: + additionalProperties: + type: string + description: 'The key/value metadata to label an intent. Labels + can contain lowercase letters, digits and the symbols ''-'' + and ''_''. International characters are allowed, including letters + from unicase alphabets. Keys must start with a letter. Keys + and values can be no longer than 63 characters and no more than + 128 bytes. Prefix "sys-" is reserved for Dialogflow defined + labels. Currently allowed Dialogflow defined labels include: + * sys-head * sys-contextual The above labels do not require + value. "sys-head" means the intent is a head intent. "sys.contextual" + means the intent is a contextual intent. An object containing + a list of "key": value pairs. Example: { "name": "wrench", "mass": + "1.3kg", "count": "3" }.' + type: object + languageCode: + description: 'The language of the following fields in intent: + Intent.training_phrases.parts.text If not specified, the agent''s + default language is used. Many languages are supported. Note: + languages must be enabled in the agent before they can be used.' + type: string + parameters: + description: The collection of parameters associated with the + intent. + items: + properties: + entityType: + description: 'The entity type of the parameter. Format: + projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), + or projects//locations//agents//entityTypes/ for developer entity + types.' + type: string + id: + description: The unique identifier of the parameter. This + field is used by training phrases to annotate their parts. + type: string + isList: + description: Indicates whether the parameter represents + a list of values. + type: boolean + redact: + description: 'Indicates whether the parameter content should + be redacted in log. If redaction is enabled, the parameter + content will be replaced by parameter name during logging. + Note: the parameter content is subject to redaction if + either parameter level redaction or entity type level + redaction is enabled.' + type: boolean + required: + - entityType + - id + type: object + type: array + parent: + description: 'The agent to create an intent for. Format: projects//locations//agents/.' + type: string + priority: + description: The priority of this intent. Higher numbers represent + higher priorities. If the supplied value is unspecified or 0, + the service translates the value to 500,000, which corresponds + to the Normal priority in the console. If the supplied value + is negative, the intent is ignored in runtime detect intent + requests. + format: int64 + type: integer + trainingPhrases: + description: The collection of training phrases the agent is trained + on to identify the intent. + items: + properties: + parts: + description: 'The ordered list of training phrase parts. + The parts are concatenated in order to form the training + phrase. Note: The API does not automatically annotate + training phrases like the Dialogflow Console does. Note: + Do not forget to include whitespace at part boundaries, + so the training phrase is well formatted when the parts + are concatenated. If the training phrase does not need + to be annotated with parameters, you just need a single + part with only the Part.text field set. If you want to + annotate the training phrase, you must create multiple + parts, where the fields of each part are populated in + one of two ways: Part.text is set to a part of the phrase + that has no parameters. Part.text is set to a part of + the phrase that you want to annotate, and the parameterId + field is set.' + items: + properties: + parameterId: + description: The parameter used to annotate this part + of the training phrase. This field is required for + annotated parts of the training phrase. + type: string + text: + description: The text for this part. + type: string + required: + - text + type: object + type: array + repeatCount: + description: Indicates how many times this example was added + to the intent. + format: int64 + type: integer + required: + - parts + type: object + type: array + required: + - displayName + type: object + 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 + 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 + 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. + 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 + status: + description: IntentStatus defines the observed state of Intent. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dialogflowcx.gcp.jet.crossplane.io_pages.yaml b/package/crds/dialogflowcx.gcp.jet.crossplane.io_pages.yaml new file mode 100644 index 00000000..45bb6bb8 --- /dev/null +++ b/package/crds/dialogflowcx.gcp.jet.crossplane.io_pages.yaml @@ -0,0 +1,513 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: pages.dialogflowcx.gcp.jet.crossplane.io +spec: + group: dialogflowcx.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Page + listKind: PageList + plural: pages + singular: page + 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: Page is the Schema for the Pages 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: PageSpec defines the desired state of Page + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + displayName: + description: The human-readable name of the page, unique within + the agent. + type: string + entryFulfillment: + description: The fulfillment to call when the session is entering + the page. + items: + properties: + messages: + description: The list of rich message responses to present + to the user. + items: + properties: + text: + description: The text response message. + items: + properties: + text: + description: A collection of text responses. + items: + type: string + type: array + type: object + type: array + type: object + type: array + returnPartialResponses: + description: 'Whether Dialogflow should return currently + queued fulfillment response messages in streaming APIs. + If a webhook is specified, it happens before Dialogflow + invokes webhook. Warning: 1) This flag only affects streaming + API. Responses are still queued and returned once in non-streaming + API. 2) The flag can be enabled in any fulfillment but + only the first 3 partial responses will be returned. You + may only want to apply it to fulfillments that have slow + webhooks.' + type: boolean + tag: + description: The tag used by the webhook to identify which + fulfillment is being called. This field is required if + webhook is specified. + type: string + webhook: + description: 'The webhook to call. Format: projects//locations//agents//webhooks/.' + type: string + type: object + type: array + eventHandlers: + description: Handlers associated with the page to handle events + such as webhook errors, no match or no input. + items: + properties: + event: + description: The name of the event to handle. + type: string + targetFlow: + description: 'The target flow to transition to. Format: + projects//locations//agents//flows/.' + type: string + targetPage: + description: 'The target page to transition to. Format: + projects//locations//agents//flows//pages/.' + type: string + triggerFulfillment: + description: The fulfillment to call when the event occurs. + Handling webhook errors with a fulfillment enabled with + webhook could cause infinite loop. It is invalid to specify + such fulfillment for a handler handling webhooks. + items: + properties: + messages: + description: The list of rich message responses to + present to the user. + items: + properties: + text: + description: The text response message. + items: + properties: + text: + description: A collection of text responses. + items: + type: string + type: array + type: object + type: array + type: object + type: array + returnPartialResponses: + description: 'Whether Dialogflow should return currently + queued fulfillment response messages in streaming + APIs. If a webhook is specified, it happens before + Dialogflow invokes webhook. Warning: 1) This flag + only affects streaming API. Responses are still + queued and returned once in non-streaming API. 2) + The flag can be enabled in any fulfillment but only + the first 3 partial responses will be returned. + You may only want to apply it to fulfillments that + have slow webhooks.' + type: boolean + tag: + description: The tag used by the webhook to identify + which fulfillment is being called. This field is + required if webhook is specified. + type: string + webhook: + description: 'The webhook to call. Format: projects//locations//agents//webhooks/.' + type: string + type: object + type: array + type: object + type: array + form: + description: The form associated with the page, used for collecting + parameters relevant to the page. + items: + properties: + parameters: + description: Parameters to collect from the user. + items: + properties: + displayName: + description: The human-readable name of the parameter, + unique within the form. + type: string + entityType: + description: 'The entity type of the parameter. Format: + projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, + projects/-/locations/-/agents/-/entityTypes/sys.date), + or projects//locations//agents//entityTypes/ for developer entity + types.' + type: string + fillBehavior: + description: Defines fill behavior for the parameter. + items: + properties: + initialPromptFulfillment: + description: The fulfillment to provide the + initial prompt that the agent can present + to the user in order to fill the parameter. + items: + properties: + messages: + description: The list of rich message + responses to present to the user. + items: + properties: + text: + description: The text response message. + items: + properties: + text: + description: A collection + of text responses. + items: + type: string + type: array + type: object + type: array + type: object + type: array + returnPartialResponses: + description: 'Whether Dialogflow should + return currently queued fulfillment + response messages in streaming APIs. + If a webhook is specified, it happens + before Dialogflow invokes webhook. Warning: + 1) This flag only affects streaming + API. Responses are still queued and + returned once in non-streaming API. + 2) The flag can be enabled in any fulfillment + but only the first 3 partial responses + will be returned. You may only want + to apply it to fulfillments that have + slow webhooks.' + type: boolean + tag: + description: The tag used by the webhook + to identify which fulfillment is being + called. This field is required if webhook + is specified. + type: string + webhook: + description: 'The webhook to call. Format: + projects//locations//agents//webhooks/.' + type: string + type: object + type: array + type: object + type: array + isList: + description: Indicates whether the parameter represents + a list of values. + type: boolean + redact: + description: 'Indicates whether the parameter content + should be redacted in log. If redaction is enabled, + the parameter content will be replaced by parameter + name during logging. Note: the parameter content + is subject to redaction if either parameter level + redaction or entity type level redaction is enabled.' + type: boolean + required: + description: Indicates whether the parameter is required. + Optional parameters will not trigger prompts; however, + they are filled if the user specifies them. Required + parameters must be filled before form filling concludes. + type: boolean + type: object + type: array + type: object + type: array + languageCode: + description: "The language of the following fields in page: \n + Page.entry_fulfillment.messages Page.entry_fulfillment.conditional_cases + Page.event_handlers.trigger_fulfillment.messages Page.event_handlers.trigger_fulfillment.conditional_cases + Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages + Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases + Page.form.parameters.fill_behavior.reprompt_event_handlers.messages + Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases + Page.transition_routes.trigger_fulfillment.messages Page.transition_routes.trigger_fulfillment.conditional_cases + If not specified, the agent's default language is used. Many + languages are supported. Note: languages must be enabled in + the agent before they can be used." + type: string + parent: + description: 'The flow to create a page for. Format: projects//locations//agents//flows/.' + type: string + transitionRouteGroups: + description: 'Ordered list of TransitionRouteGroups associated + with the page. Transition route groups must be unique within + a page. If multiple transition routes within a page scope refer + to the same intent, then the precedence order is: page''s transition + route -> page''s transition route group -> flow''s transition + routes. If multiple transition route groups within a page contain + the same intent, then the first group in the ordered list takes + precedence. Format:projects//locations//agents//flows//transitionRouteGroups/.' + items: + type: string + type: array + transitionRoutes: + description: 'A list of transitions for the transition rules of + this page. They route the conversation to another page in the + same flow, or another flow. When we are in a certain page, the + TransitionRoutes are evalauted in the following order: TransitionRoutes + defined in the page with intent specified. TransitionRoutes + defined in the transition route groups with intent specified. + TransitionRoutes defined in flow with intent specified. TransitionRoutes + defined in the transition route groups with intent specified. + TransitionRoutes defined in the page with only condition specified. + TransitionRoutes defined in the transition route groups with + only condition specified.' + items: + properties: + condition: + description: The condition to evaluate against form parameters + or session parameters. At least one of intent or condition + must be specified. When both intent and condition are + specified, the transition can only happen when both are + fulfilled. + type: string + intent: + description: 'The unique identifier of an Intent. Format: + projects//locations//agents//intents/. Indicates that the transition + can only happen when the given intent is matched. At least + one of intent or condition must be specified. When both + intent and condition are specified, the transition can + only happen when both are fulfilled.' + type: string + targetFlow: + description: 'The target flow to transition to. Format: + projects//locations//agents//flows/.' + type: string + targetPage: + description: 'The target page to transition to. Format: + projects//locations//agents//flows//pages/.' + type: string + triggerFulfillment: + description: The fulfillment to call when the event occurs. + Handling webhook errors with a fulfillment enabled with + webhook could cause infinite loop. It is invalid to specify + such fulfillment for a handler handling webhooks. + items: + properties: + messages: + description: The list of rich message responses to + present to the user. + items: + properties: + text: + description: The text response message. + items: + properties: + text: + description: A collection of text responses. + items: + type: string + type: array + type: object + type: array + type: object + type: array + returnPartialResponses: + description: 'Whether Dialogflow should return currently + queued fulfillment response messages in streaming + APIs. If a webhook is specified, it happens before + Dialogflow invokes webhook. Warning: 1) This flag + only affects streaming API. Responses are still + queued and returned once in non-streaming API. 2) + The flag can be enabled in any fulfillment but only + the first 3 partial responses will be returned. + You may only want to apply it to fulfillments that + have slow webhooks.' + type: boolean + tag: + description: The tag used by the webhook to identify + which fulfillment is being called. This field is + required if webhook is specified. + type: string + webhook: + description: 'The webhook to call. Format: projects//locations//agents//webhooks/.' + type: string + type: object + type: array + type: object + type: array + required: + - displayName + type: object + 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 + 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 + 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. + 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 + status: + description: PageStatus defines the observed state of Page. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dialogflowcx.gcp.jet.crossplane.io_versions.yaml b/package/crds/dialogflowcx.gcp.jet.crossplane.io_versions.yaml new file mode 100644 index 00000000..b4f7e5c8 --- /dev/null +++ b/package/crds/dialogflowcx.gcp.jet.crossplane.io_versions.yaml @@ -0,0 +1,188 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: versions.dialogflowcx.gcp.jet.crossplane.io +spec: + group: dialogflowcx.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Version + listKind: VersionList + plural: versions + singular: version + 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: Version is the Schema for the Versions 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: VersionSpec defines the desired state of Version + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: The description of the version. The maximum length + is 500 characters. If exceeded, the request is rejected. + type: string + displayName: + description: The human-readable name of the version. Limit of + 64 characters. + type: string + parent: + description: 'The Flow to create an Version for. Format: projects//locations//agents//flows/.' + type: string + required: + - displayName + type: object + 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 + 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 + 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. + 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 + status: + description: VersionStatus defines the observed state of Version. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + name: + type: string + nluSettings: + items: + type: object + type: array + state: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dns.gcp.jet.crossplane.io_managedzones.yaml b/package/crds/dns.gcp.jet.crossplane.io_managedzones.yaml new file mode 100644 index 00000000..cec69ceb --- /dev/null +++ b/package/crds/dns.gcp.jet.crossplane.io_managedzones.yaml @@ -0,0 +1,338 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: managedzones.dns.gcp.jet.crossplane.io +spec: + group: dns.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ManagedZone + listKind: ManagedZoneList + plural: managedzones + singular: managedzone + 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: ManagedZone is the Schema for the ManagedZones 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: ManagedZoneSpec defines the desired state of ManagedZone + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: A textual description field. Defaults to 'Managed + by Terraform'. + type: string + dnsName: + description: The DNS name of this managed zone, for instance "example.com.". + type: string + dnssecConfig: + description: DNSSEC configuration + items: + properties: + defaultKeySpecs: + description: Specifies parameters that will be used for + generating initial DnsKeys for this ManagedZone. If you + provide a spec for keySigning or zoneSigning, you must + also provide one for the other. default_key_specs can + only be updated when the state is 'off'. + items: + properties: + algorithm: + description: 'String mnemonic specifying the DNSSEC + algorithm of this key Possible values: ["ecdsap256sha256", + "ecdsap384sha384", "rsasha1", "rsasha256", "rsasha512"]' + type: string + keyLength: + description: Length of the keys in bits + format: int64 + type: integer + keyType: + description: 'Specifies whether this is a key signing + key (KSK) or a zone signing key (ZSK). Key signing + keys have the Secure Entry Point flag set and, when + active, will only be used to sign resource record + sets of type DNSKEY. Zone signing keys do not have + the Secure Entry Point flag set and will be used + to sign all other types of resource record sets. + Possible values: ["keySigning", "zoneSigning"]' + type: string + kind: + description: Identifies what kind of resource this + is + type: string + type: object + type: array + kind: + description: Identifies what kind of resource this is + type: string + nonExistence: + description: 'Specifies the mechanism used to provide authenticated + denial-of-existence responses. non_existence can only + be updated when the state is ''off''. Possible values: + ["nsec", "nsec3"]' + type: string + state: + description: 'Specifies whether DNSSEC is enabled, and what + mode it is in Possible values: ["off", "on", "transfer"]' + type: string + type: object + type: array + forceDestroy: + type: boolean + forwardingConfig: + description: The presence for this field indicates that outbound + forwarding is enabled for this zone. The value of this field + contains the set of destinations to forward to. + items: + properties: + targetNameServers: + description: List of target name servers to forward to. + Cloud DNS will select the best available name server if + more than one target is given. + items: + properties: + forwardingPath: + description: 'Forwarding path for this TargetNameServer. + If unset or ''default'' Cloud DNS will make forwarding + decision based on address ranges, i.e. RFC1918 addresses + go to the VPC, Non-RFC1918 addresses go to the Internet. + When set to ''private'', Cloud DNS will always send + queries through VPC for this target Possible values: + ["default", "private"]' + type: string + ipv4Address: + description: IPv4 address of a target name server. + type: string + required: + - ipv4Address + type: object + type: array + required: + - targetNameServers + type: object + type: array + labels: + additionalProperties: + type: string + description: A set of key/value label pairs to assign to this + ManagedZone. + type: object + name: + description: User assigned name for this resource. Must be unique + within the project. + type: string + peeringConfig: + description: The presence of this field indicates that DNS Peering + is enabled for this zone. The value of this field contains the + network to peer with. + items: + properties: + targetNetwork: + description: The network with which to peer. + items: + properties: + networkUrl: + description: The id or fully qualified URL of the + VPC network to forward queries to. This should be + formatted like 'projects/{project}/global/networks/{network}' + or 'https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}' + type: string + required: + - networkUrl + type: object + type: array + required: + - targetNetwork + type: object + type: array + privateVisibilityConfig: + description: For privately visible zones, the set of Virtual Private + Cloud resources that the zone is visible from. + items: + properties: + networks: + description: The list of VPC networks that can see this + zone. Until the provider updates to use the Terraform + 0.12 SDK in a future release, you may experience issues + with this resource while updating. If you've defined a + 'networks' block and add another 'networks' block while + keeping the old block, Terraform will see an incorrect + diff and apply an incorrect update to the resource. If + you encounter this issue, remove all 'networks' blocks + in an update and then apply another update adding all + of them back simultaneously. + items: + properties: + networkUrl: + description: The id or fully qualified URL of the + VPC network to bind to. This should be formatted + like 'projects/{project}/global/networks/{network}' + or 'https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}' + type: string + required: + - networkUrl + type: object + type: array + required: + - networks + type: object + type: array + project: + type: string + visibility: + description: 'The zone''s visibility: public zones are exposed + to the Internet, while private zones are visible only to Virtual + Private Cloud resources. Default value: "public" Possible values: + ["private", "public"]' + type: string + required: + - dnsName + - name + type: object + 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 + 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 + 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. + 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 + status: + description: ManagedZoneStatus defines the observed state of ManagedZone. + properties: + atProvider: + properties: + id: + type: string + nameServers: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dns.gcp.jet.crossplane.io_policies.yaml b/package/crds/dns.gcp.jet.crossplane.io_policies.yaml new file mode 100644 index 00000000..867b5984 --- /dev/null +++ b/package/crds/dns.gcp.jet.crossplane.io_policies.yaml @@ -0,0 +1,233 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: policies.dns.gcp.jet.crossplane.io +spec: + group: dns.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Policy + listKind: PolicyList + plural: policies + singular: policy + 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: Policy is the Schema for the Policys 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: PolicySpec defines the desired state of Policy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + alternativeNameServerConfig: + description: Sets an alternative name server for the associated + networks. When specified, all DNS queries are forwarded to a + name server that you choose. Names such as .internal are not + available when an alternative name server is specified. + items: + properties: + targetNameServers: + description: Sets an alternative name server for the associated + networks. When specified, all DNS queries are forwarded + to a name server that you choose. Names such as .internal + are not available when an alternative name server is specified. + items: + properties: + forwardingPath: + description: 'Forwarding path for this TargetNameServer. + If unset or ''default'' Cloud DNS will make forwarding + decision based on address ranges, i.e. RFC1918 addresses + go to the VPC, Non-RFC1918 addresses go to the Internet. + When set to ''private'', Cloud DNS will always send + queries through VPC for this target Possible values: + ["default", "private"]' + type: string + ipv4Address: + description: IPv4 address to forward to. + type: string + required: + - ipv4Address + type: object + type: array + required: + - targetNameServers + type: object + type: array + description: + description: A textual description field. Defaults to 'Managed + by Terraform'. + type: string + enableInboundForwarding: + description: Allows networks bound to this policy to receive DNS + queries sent by VMs or applications over VPN connections. When + enabled, a virtual IP address will be allocated from each of + the sub-networks that are bound to this policy. + type: boolean + enableLogging: + description: Controls whether logging is enabled for the networks + bound to this policy. Defaults to no logging if not set. + type: boolean + name: + description: User assigned name for this policy. + type: string + networks: + description: List of network names specifying networks to which + this policy is applied. + items: + properties: + networkUrl: + description: The id or fully qualified URL of the VPC network + to forward queries to. This should be formatted like 'projects/{project}/global/networks/{network}' + or 'https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}' + type: string + required: + - networkUrl + type: object + type: array + project: + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: PolicyStatus defines the observed state of Policy. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/dns.gcp.jet.crossplane.io_recordsets.yaml b/package/crds/dns.gcp.jet.crossplane.io_recordsets.yaml new file mode 100644 index 00000000..6c35d356 --- /dev/null +++ b/package/crds/dns.gcp.jet.crossplane.io_recordsets.yaml @@ -0,0 +1,198 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: recordsets.dns.gcp.jet.crossplane.io +spec: + group: dns.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RecordSet + listKind: RecordSetList + plural: recordsets + singular: recordset + 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: RecordSet is the Schema for the RecordSets 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: RecordSetSpec defines the desired state of RecordSet + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + managedZone: + description: The name of the zone in which this record set will + reside. + type: string + name: + description: The DNS name this record set will apply to. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + rrdatas: + description: The string data for the records in this record set + whose meaning depends on the DNS type. For TXT record, if the + string data contains spaces, add surrounding \" if you don't + want your string to get split on spaces. To specify a single + record value longer than 255 characters such as a TXT record + for DKIM, add \"\" inside the Terraform configuration string + (e.g. "first255characters\"\"morecharacters"). + items: + type: string + type: array + ttl: + description: The time-to-live of this record set (seconds). + format: int64 + type: integer + type: + description: The DNS record set type. + type: string + required: + - managedZone + - name + - rrdatas + - type + type: object + 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 + 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 + 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. + 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 + status: + description: RecordSetStatus defines the observed state of RecordSet. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/endpoints.gcp.jet.crossplane.io_serviceiambindings.yaml b/package/crds/endpoints.gcp.jet.crossplane.io_serviceiambindings.yaml new file mode 100644 index 00000000..3af2bc5b --- /dev/null +++ b/package/crds/endpoints.gcp.jet.crossplane.io_serviceiambindings.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: serviceiambindings.endpoints.gcp.jet.crossplane.io +spec: + group: endpoints.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServiceIAMBinding + listKind: ServiceIAMBindingList + plural: serviceiambindings + singular: serviceiambinding + 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: ServiceIAMBinding is the Schema for the ServiceIAMBindings 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: ServiceIAMBindingSpec defines the desired state of ServiceIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + role: + type: string + serviceName: + type: string + required: + - members + - role + - serviceName + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceIAMBindingStatus defines the observed state of ServiceIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/endpoints.gcp.jet.crossplane.io_serviceiammembers.yaml b/package/crds/endpoints.gcp.jet.crossplane.io_serviceiammembers.yaml new file mode 100644 index 00000000..92950747 --- /dev/null +++ b/package/crds/endpoints.gcp.jet.crossplane.io_serviceiammembers.yaml @@ -0,0 +1,190 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: serviceiammembers.endpoints.gcp.jet.crossplane.io +spec: + group: endpoints.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServiceIAMMember + listKind: ServiceIAMMemberList + plural: serviceiammembers + singular: serviceiammember + 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: ServiceIAMMember is the Schema for the ServiceIAMMembers 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: ServiceIAMMemberSpec defines the desired state of ServiceIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + role: + type: string + serviceName: + type: string + required: + - member + - role + - serviceName + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceIAMMemberStatus defines the observed state of ServiceIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/endpoints.gcp.jet.crossplane.io_serviceiampolicies.yaml b/package/crds/endpoints.gcp.jet.crossplane.io_serviceiampolicies.yaml new file mode 100644 index 00000000..898338e1 --- /dev/null +++ b/package/crds/endpoints.gcp.jet.crossplane.io_serviceiampolicies.yaml @@ -0,0 +1,173 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: serviceiampolicies.endpoints.gcp.jet.crossplane.io +spec: + group: endpoints.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ServiceIAMPolicy + listKind: ServiceIAMPolicyList + plural: serviceiampolicies + singular: serviceiampolicy + 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: ServiceIAMPolicy is the Schema for the ServiceIAMPolicys 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: ServiceIAMPolicySpec defines the desired state of ServiceIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + serviceName: + type: string + required: + - policyData + - serviceName + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceIAMPolicyStatus defines the observed state of ServiceIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/endpoints.gcp.jet.crossplane.io_services.yaml b/package/crds/endpoints.gcp.jet.crossplane.io_services.yaml new file mode 100644 index 00000000..073c4cd0 --- /dev/null +++ b/package/crds/endpoints.gcp.jet.crossplane.io_services.yaml @@ -0,0 +1,224 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: services.endpoints.gcp.jet.crossplane.io +spec: + group: endpoints.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Service + listKind: ServiceList + plural: services + singular: service + 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: Service is the Schema for the Services 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: ServiceSpec defines the desired state of Service + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + grpcConfig: + description: The full text of the Service Config YAML file (Example + located here). If provided, must also provide protoc_output_base64. + open_api config must not be provided. + type: string + openapiConfig: + description: The full text of the OpenAPI YAML configuration as + described here. Either this, or both of grpc_config and protoc_output_base64 + must be specified. + type: string + project: + description: The project ID that the service belongs to. If not + provided, provider project is used. + type: string + protocOutputBase64: + description: The full contents of the Service Descriptor File + generated by protoc. This should be a compiled .pb file, base64-encoded. + type: string + serviceName: + description: The name of the service. Usually of the form $apiname.endpoints.$projectid.cloud.goog. + type: string + required: + - serviceName + type: object + 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 + 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 + 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. + 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 + status: + description: ServiceStatus defines the observed state of Service. + properties: + atProvider: + properties: + apis: + items: + properties: + methods: + items: + properties: + name: + type: string + requestType: + type: string + responseType: + type: string + syntax: + type: string + type: object + type: array + name: + type: string + syntax: + type: string + version: + type: string + type: object + type: array + configId: + type: string + dnsAddress: + type: string + endpoints: + items: + properties: + address: + type: string + name: + type: string + type: object + type: array + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/essentialcontacts.gcp.jet.crossplane.io_contacts.yaml b/package/crds/essentialcontacts.gcp.jet.crossplane.io_contacts.yaml new file mode 100644 index 00000000..4821d3f8 --- /dev/null +++ b/package/crds/essentialcontacts.gcp.jet.crossplane.io_contacts.yaml @@ -0,0 +1,190 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: contacts.essentialcontacts.gcp.jet.crossplane.io +spec: + group: essentialcontacts.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Contact + listKind: ContactList + plural: contacts + singular: contact + 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: Contact is the Schema for the Contacts 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: ContactSpec defines the desired state of Contact + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + email: + description: The email address to send notifications to. This + does not need to be a Google account. + type: string + languageTag: + description: The preferred language for notifications, as a ISO + 639-1 language code. See Supported languages for a list of supported + languages. + type: string + notificationCategorySubscriptions: + description: The categories of notifications that the contact + will receive communications for. + items: + type: string + type: array + parent: + description: 'The resource to save this contact for. Format: organizations/{organization_id}, + folders/{folder_id} or projects/{project_id}' + type: string + required: + - email + - languageTag + - notificationCategorySubscriptions + - parent + type: object + 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 + 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 + 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. + 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 + status: + description: ContactStatus defines the observed state of Contact. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/eventarc.gcp.jet.crossplane.io_triggers.yaml b/package/crds/eventarc.gcp.jet.crossplane.io_triggers.yaml new file mode 100644 index 00000000..e393a106 --- /dev/null +++ b/package/crds/eventarc.gcp.jet.crossplane.io_triggers.yaml @@ -0,0 +1,290 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: triggers.eventarc.gcp.jet.crossplane.io +spec: + group: eventarc.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Trigger + listKind: TriggerList + plural: triggers + singular: trigger + 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: Trigger is the Schema for the Triggers 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: TriggerSpec defines the desired state of Trigger + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + destination: + description: Required. Destination specifies where the events + should be sent to. + items: + properties: + cloudFunction: + description: 'The Cloud Function resource name. Only Cloud + Functions V2 is supported. Format: projects/{project}/locations/{location}/functions/{function}' + type: string + cloudRunService: + description: Cloud Run fully-managed service that receives + the events. The service should be running in the same + project of the trigger. + items: + properties: + path: + description: 'Optional. The relative path on the Cloud + Run service the events should be sent to. The value + must conform to the definition of URI path segment + (section 3.3 of RFC2396). Examples: "/route", "route", + "route/subroute".' + type: string + region: + description: Required. The region the Cloud Run service + is deployed in. + type: string + service: + description: Required. The name of the Cloud Run service + being addressed. See https://cloud.google.com/run/docs/reference/rest/v1/namespaces.services. + Only services located in the same project of the + trigger object can be addressed. + type: string + required: + - service + type: object + type: array + type: object + type: array + labels: + additionalProperties: + type: string + description: Optional. User labels attached to the triggers that + can be used to group resources. + type: object + location: + description: The location for the resource + type: string + matchingCriteria: + description: Required. null The list of filters that applies to + event attributes. Only events that match all the provided filters + will be sent to the destination. + items: + properties: + attribute: + description: Required. The name of a CloudEvents attribute. + Currently, only a subset of attributes are supported for + filtering. All triggers MUST provide a filter for the + 'type' attribute. + type: string + value: + description: Required. The value for the attribute. + type: string + required: + - attribute + - value + type: object + type: array + name: + description: Required. The resource name of the trigger. Must + be unique within the location on the project and must be in + `projects/{project}/locations/{location}/triggers/{trigger}` + format. + type: string + project: + description: The project for the resource + type: string + serviceAccount: + description: Optional. The IAM service account email associated + with the trigger. The service account represents the identity + of the trigger. The principal who calls this API must have `iam.serviceAccounts.actAs` + permission in the service account. See https://cloud.google.com/iam/docs/understanding-service-accounts?hl=en#sa_common + for more information. For Cloud Run destinations, this service + account is used to generate identity tokens when invoking the + service. See https://cloud.google.com/run/docs/triggering/pubsub-push#create-service-account + for information on how to invoke authenticated Cloud Run services. + In order to create Audit Log triggers, the service account should + also have `roles/eventarc.eventReceiver` IAM role. + type: string + transport: + description: Optional. In order to deliver messages, Eventarc + may use other GCP products as transport intermediary. This field + contains a reference to that transport intermediary. This information + can be used for debugging purposes. + items: + properties: + pubsub: + description: The Pub/Sub topic and subscription used by + Eventarc as delivery intermediary. + items: + properties: + topic: + description: 'Optional. The name of the Pub/Sub topic + created and managed by Eventarc system as a transport + for the event delivery. Format: `projects/{PROJECT_ID}/topics/{TOPIC_NAME + You may set an existing topic for triggers of the + type google.cloud.pubsub.topic.v1.messagePublished` + only. The topic you provide here will not be deleted + by Eventarc at trigger deletion.' + type: string + type: object + type: array + type: object + type: array + required: + - destination + - location + - matchingCriteria + - name + type: object + 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 + 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 + 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. + 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 + status: + description: TriggerStatus defines the observed state of Trigger. + properties: + atProvider: + properties: + createTime: + type: string + etag: + type: string + id: + type: string + uid: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/filestore.gcp.jet.crossplane.io_instances.yaml b/package/crds/filestore.gcp.jet.crossplane.io_instances.yaml new file mode 100644 index 00000000..325c2eaf --- /dev/null +++ b/package/crds/filestore.gcp.jet.crossplane.io_instances.yaml @@ -0,0 +1,240 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instances.filestore.gcp.jet.crossplane.io +spec: + group: filestore.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Instance + listKind: InstanceList + plural: instances + singular: instance + 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: Instance is the Schema for the Instances 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: InstanceSpec defines the desired state of Instance + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: A description of the instance. + type: string + fileShares: + description: File system shares on the instance. For this version, + only a single file share is supported. + items: + properties: + capacityGb: + description: File share capacity in GiB. This must be at + least 1024 GiB for the standard tier, or 2560 GiB for + the premium tier. + format: int64 + type: integer + name: + description: The name of the fileshare (16 characters or + less) + type: string + required: + - capacityGb + - name + type: object + type: array + labels: + additionalProperties: + type: string + description: Resource labels to represent user-provided metadata. + type: object + name: + description: The resource name of the instance. + type: string + networks: + description: VPC networks to which the instance is connected. + For this version, only a single network is supported. + items: + properties: + modes: + description: 'IP versions for which the instance has IP + addresses assigned. Possible values: ["ADDRESS_MODE_UNSPECIFIED", + "MODE_IPV4", "MODE_IPV6"]' + items: + type: string + type: array + network: + description: The name of the GCE VPC network to which the + instance is connected. + type: string + reservedIpRange: + description: A /29 CIDR block that identifies the range + of IP addresses reserved for this instance. + type: string + required: + - modes + - network + type: object + type: array + project: + type: string + tier: + description: 'The service tier of the instance. Possible values: + ["TIER_UNSPECIFIED", "STANDARD", "PREMIUM", "BASIC_HDD", "BASIC_SSD", + "HIGH_SCALE_SSD"]' + type: string + zone: + description: The name of the Filestore zone of the instance. + type: string + required: + - fileShares + - name + - networks + - tier + - zone + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceStatus defines the observed state of Instance. + properties: + atProvider: + properties: + createTime: + type: string + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/firestore.gcp.jet.crossplane.io_documents.yaml b/package/crds/firestore.gcp.jet.crossplane.io_documents.yaml new file mode 100644 index 00000000..ff627fb4 --- /dev/null +++ b/package/crds/firestore.gcp.jet.crossplane.io_documents.yaml @@ -0,0 +1,193 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: documents.firestore.gcp.jet.crossplane.io +spec: + group: firestore.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Document + listKind: DocumentList + plural: documents + singular: document + 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: Document is the Schema for the Documents 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: DocumentSpec defines the desired state of Document + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + collection: + description: 'The collection ID, relative to database. For example: + chatrooms or chatrooms/my-document/private-messages.' + type: string + database: + description: The Firestore database id. Defaults to '"(default)"'. + type: string + documentId: + description: The client-assigned document ID to use for this document + during creation. + type: string + fields: + description: The document's [fields](https://cloud.google.com/firestore/docs/reference/rest/v1/projects.databases.documents) + formated as a json string. + type: string + project: + type: string + required: + - collection + - documentId + - fields + type: object + 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 + 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 + 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. + 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 + status: + description: DocumentStatus defines the observed state of Document. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + name: + type: string + path: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/firestore.gcp.jet.crossplane.io_indices.yaml b/package/crds/firestore.gcp.jet.crossplane.io_indices.yaml new file mode 100644 index 00000000..e2bb31b4 --- /dev/null +++ b/package/crds/firestore.gcp.jet.crossplane.io_indices.yaml @@ -0,0 +1,207 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: indices.firestore.gcp.jet.crossplane.io +spec: + group: firestore.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Index + listKind: IndexList + plural: indices + singular: index + 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: Index is the Schema for the Indexs 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: IndexSpec defines the desired state of Index + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + collection: + description: The collection being indexed. + type: string + database: + description: The Firestore database id. Defaults to '"(default)"'. + type: string + fields: + description: The fields supported by this index. The last field + entry is always for the field path '__name__'. If, on creation, + '__name__' was not specified as the last field, it will be added + automatically with the same direction as that of the last field + defined. If the final field in a composite index is not directional, + the '__name__' will be ordered '"ASCENDING"' (unless explicitly + specified otherwise). + items: + properties: + arrayConfig: + description: 'Indicates that this field supports operations + on arrayValues. Only one of ''order'' and ''arrayConfig'' + can be specified. Possible values: ["CONTAINS"]' + type: string + fieldPath: + description: Name of the field. + type: string + order: + description: 'Indicates that this field supports ordering + by the specified order or comparing using =, <, <=, >, + >=. Only one of ''order'' and ''arrayConfig'' can be specified. + Possible values: ["ASCENDING", "DESCENDING"]' + type: string + type: object + type: array + project: + type: string + queryScope: + description: 'The scope at which a query is run. Default value: + "COLLECTION" Possible values: ["COLLECTION", "COLLECTION_GROUP"]' + type: string + required: + - collection + - fields + type: object + 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 + 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 + 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. + 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 + status: + description: IndexStatus defines the observed state of Index. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/gameservices.gcp.jet.crossplane.io_gameserverclusters.yaml b/package/crds/gameservices.gcp.jet.crossplane.io_gameserverclusters.yaml new file mode 100644 index 00000000..7e123a22 --- /dev/null +++ b/package/crds/gameservices.gcp.jet.crossplane.io_gameserverclusters.yaml @@ -0,0 +1,223 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: gameserverclusters.gameservices.gcp.jet.crossplane.io +spec: + group: gameservices.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: GameServerCluster + listKind: GameServerClusterList + plural: gameserverclusters + singular: gameservercluster + 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: GameServerCluster is the Schema for the GameServerClusters 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: GameServerClusterSpec defines the desired state of GameServerCluster + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + clusterId: + description: Required. The resource name of the game server cluster + type: string + connectionInfo: + description: Game server cluster connection information. This + information is used to manage game server clusters. + items: + properties: + gkeClusterReference: + description: Reference of the GKE cluster where the game + servers are installed. + items: + properties: + cluster: + description: "The full or partial name of a GKE cluster, + using one of the following forms: \n * 'projects/{project_id}/locations/{location}/clusters/{cluster_id}' + * 'locations/{location}/clusters/{cluster_id}' * + '{cluster_id}' \n If project and location are not + specified, the project and location of the GameServerCluster + resource are used to generate the full name of the + GKE cluster." + type: string + required: + - cluster + type: object + type: array + namespace: + description: Namespace designated on the game server cluster + where the game server instances will be created. The namespace + existence will be validated during creation. + type: string + required: + - gkeClusterReference + - namespace + type: object + type: array + description: + description: Human readable description of the cluster. + type: string + labels: + additionalProperties: + type: string + description: The labels associated with this game server cluster. + Each label is a key-value pair. + type: object + location: + description: Location of the Cluster. + type: string + project: + type: string + realmId: + description: The realm id of the game server realm. + type: string + required: + - clusterId + - connectionInfo + - realmId + type: object + 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 + 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 + 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. + 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 + status: + description: GameServerClusterStatus defines the observed state of GameServerCluster. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/gameservices.gcp.jet.crossplane.io_gameserverconfigs.yaml b/package/crds/gameservices.gcp.jet.crossplane.io_gameserverconfigs.yaml new file mode 100644 index 00000000..a4dd2f17 --- /dev/null +++ b/package/crds/gameservices.gcp.jet.crossplane.io_gameserverconfigs.yaml @@ -0,0 +1,271 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: gameserverconfigs.gameservices.gcp.jet.crossplane.io +spec: + group: gameservices.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: GameServerConfig + listKind: GameServerConfigList + plural: gameserverconfigs + singular: gameserverconfig + 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: GameServerConfig is the Schema for the GameServerConfigs 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: GameServerConfigSpec defines the desired state of GameServerConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + configId: + description: A unique id for the deployment config. + type: string + deploymentId: + description: A unique id for the deployment. + type: string + description: + description: The description of the game server config. + type: string + fleetConfigs: + description: The fleet config contains list of fleet specs. In + the Single Cloud, there will be only one. + items: + properties: + fleetSpec: + description: "The fleet spec, which is sent to Agones to + configure fleet. The spec can be passed as inline json + but it is recommended to use a file reference instead. + File references can contain the json or yaml format of + the fleet spec. Eg: \n * fleet_spec = jsonencode(yamldecode(file(\"fleet_configs.yaml\"))) + * fleet_spec = file(\"fleet_configs.json\") \n The format + of the spec can be found : 'https://agones.dev/site/docs/reference/fleet/'." + type: string + name: + description: The name of the FleetConfig. + type: string + required: + - fleetSpec + type: object + type: array + labels: + additionalProperties: + type: string + description: The labels associated with this game server config. + Each label is a key-value pair. + type: object + location: + description: Location of the Deployment. + type: string + project: + type: string + scalingConfigs: + description: Optional. This contains the autoscaling settings. + items: + properties: + fleetAutoscalerSpec: + description: 'Fleet autoscaler spec, which is sent to Agones. + Example spec can be found : https://agones.dev/site/docs/reference/fleetautoscaler/' + type: string + name: + description: The name of the ScalingConfig + type: string + schedules: + description: The schedules to which this scaling config + applies. + items: + properties: + cronJobDuration: + description: "The duration for the cron job event. + The duration of the event is effective after the + cron job's start time. \n A duration in seconds + with up to nine fractional digits, terminated by + 's'. Example: \"3.5s\"." + type: string + cronSpec: + description: The cron definition of the scheduled + event. See https://en.wikipedia.org/wiki/Cron. Cron + spec specifies the local time as defined by the + realm. + type: string + endTime: + description: "The end time of the event. \n A timestamp + in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. + Example: \"2014-10-02T15:01:23.045123456Z\"." + type: string + startTime: + description: "The start time of the event. \n A timestamp + in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. + Example: \"2014-10-02T15:01:23.045123456Z\"." + type: string + type: object + type: array + selectors: + description: Labels used to identify the clusters to which + this scaling config applies. A cluster is subject to this + scaling config if its labels match any of the selector + entries. + items: + properties: + labels: + additionalProperties: + type: string + description: Set of labels to group by. + type: object + type: object + type: array + required: + - fleetAutoscalerSpec + - name + type: object + type: array + required: + - configId + - deploymentId + - fleetConfigs + type: object + 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 + 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 + 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. + 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 + status: + description: GameServerConfigStatus defines the observed state of GameServerConfig. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/gameservices.gcp.jet.crossplane.io_gameserverdeploymentrollouts.yaml b/package/crds/gameservices.gcp.jet.crossplane.io_gameserverdeploymentrollouts.yaml new file mode 100644 index 00000000..a0b31a20 --- /dev/null +++ b/package/crds/gameservices.gcp.jet.crossplane.io_gameserverdeploymentrollouts.yaml @@ -0,0 +1,206 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: gameserverdeploymentrollouts.gameservices.gcp.jet.crossplane.io +spec: + group: gameservices.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: GameServerDeploymentRollout + listKind: GameServerDeploymentRolloutList + plural: gameserverdeploymentrollouts + singular: gameserverdeploymentrollout + 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: GameServerDeploymentRollout is the Schema for the GameServerDeploymentRollouts + 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: GameServerDeploymentRolloutSpec defines the desired state + of GameServerDeploymentRollout + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + defaultGameServerConfig: + description: "This field points to the game server config that + is applied by default to all realms and clusters. For example, + \n 'projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config'." + type: string + deploymentId: + description: The deployment to rollout the new config to. Only + 1 rollout must be associated with each deployment. + type: string + gameServerConfigOverrides: + description: The game_server_config_overrides contains the per + game server config overrides. The overrides are processed in + the order they are listed. As soon as a match is found for a + cluster, the rest of the list is not processed. + items: + properties: + configVersion: + description: Version of the configuration. + type: string + realmsSelector: + description: Selection by realms. + items: + properties: + realms: + description: List of realms to match against. + items: + type: string + type: array + type: object + type: array + type: object + type: array + project: + type: string + required: + - defaultGameServerConfig + - deploymentId + type: object + 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 + 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 + 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. + 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 + status: + description: GameServerDeploymentRolloutStatus defines the observed state + of GameServerDeploymentRollout. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/gameservices.gcp.jet.crossplane.io_gameserverdeployments.yaml b/package/crds/gameservices.gcp.jet.crossplane.io_gameserverdeployments.yaml new file mode 100644 index 00000000..fa086610 --- /dev/null +++ b/package/crds/gameservices.gcp.jet.crossplane.io_gameserverdeployments.yaml @@ -0,0 +1,187 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: gameserverdeployments.gameservices.gcp.jet.crossplane.io +spec: + group: gameservices.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: GameServerDeployment + listKind: GameServerDeploymentList + plural: gameserverdeployments + singular: gameserverdeployment + 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: GameServerDeployment is the Schema for the GameServerDeployments + 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: GameServerDeploymentSpec defines the desired state of GameServerDeployment + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + deploymentId: + description: A unique id for the deployment. + type: string + description: + description: Human readable description of the game server deployment. + type: string + labels: + additionalProperties: + type: string + description: The labels associated with this game server deployment. + Each label is a key-value pair. + type: object + location: + description: Location of the Deployment. + type: string + project: + type: string + required: + - deploymentId + type: object + 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 + 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 + 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. + 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 + status: + description: GameServerDeploymentStatus defines the observed state of + GameServerDeployment. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/gameservices.gcp.jet.crossplane.io_realms.yaml b/package/crds/gameservices.gcp.jet.crossplane.io_realms.yaml new file mode 100644 index 00000000..16c1ab3a --- /dev/null +++ b/package/crds/gameservices.gcp.jet.crossplane.io_realms.yaml @@ -0,0 +1,193 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: realms.gameservices.gcp.jet.crossplane.io +spec: + group: gameservices.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Realm + listKind: RealmList + plural: realms + singular: realm + 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: Realm is the Schema for the Realms 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: RealmSpec defines the desired state of Realm + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Human readable description of the realm. + type: string + labels: + additionalProperties: + type: string + description: The labels associated with this realm. Each label + is a key-value pair. + type: object + location: + description: Location of the Realm. + type: string + project: + type: string + realmId: + description: GCP region of the Realm. + type: string + timeZone: + description: 'Required. Time zone where all realm-specific policies + are evaluated. The value of this field must be from the IANA + time zone database: https://www.iana.org/time-zones.' + type: string + required: + - realmId + - timeZone + type: object + 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 + 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 + 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. + 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 + status: + description: RealmStatus defines the observed state of Realm. + properties: + atProvider: + properties: + etag: + type: string + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/gkehub.gcp.jet.crossplane.io_memberships.yaml b/package/crds/gkehub.gcp.jet.crossplane.io_memberships.yaml new file mode 100644 index 00000000..c11ea220 --- /dev/null +++ b/package/crds/gkehub.gcp.jet.crossplane.io_memberships.yaml @@ -0,0 +1,219 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: memberships.gkehub.gcp.jet.crossplane.io +spec: + group: gkehub.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Membership + listKind: MembershipList + plural: memberships + singular: membership + 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: Membership is the Schema for the Memberships 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: MembershipSpec defines the desired state of Membership + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + authority: + description: 'Authority encodes how Google will recognize identities + from this Membership. See the workload identity documentation + for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity' + items: + properties: + issuer: + description: 'A JSON Web Token (JWT) issuer URI. ''issuer'' + must start with ''https://'' and // be a valid with length + <2000 characters. For example: ''https://container.googleapis.com/v1/projects/my-project/locations/us-west1/clusters/my-cluster'' + (must be ''locations'' rather than ''zones''). If the + cluster is provisioned with Terraform, this is ''"https://container.googleapis.com/v1/${google_container_cluster.my-cluster.id}"''.' + type: string + required: + - issuer + type: object + type: array + endpoint: + description: If this Membership is a Kubernetes API server hosted + on GKE, this is a self link to its GCP resource. + items: + properties: + gkeCluster: + description: If this Membership is a Kubernetes API server + hosted on GKE, this is a self link to its GCP resource. + items: + properties: + resourceLink: + description: 'Self-link of the GCP resource for the + GKE cluster. For example: ''//container.googleapis.com/projects/my-project/zones/us-west1-a/clusters/my-cluster''. + It can be at the most 1000 characters in length. + If the cluster is provisioned with Terraform, this + can be ''"//container.googleapis.com/${google_container_cluster.my-cluster.id}"'' + or ''google_container_cluster.my-cluster.id''.' + type: string + required: + - resourceLink + type: object + type: array + type: object + type: array + labels: + additionalProperties: + type: string + description: Labels to apply to this membership. + type: object + membershipId: + description: The client-provided identifier of the membership. + type: string + project: + type: string + required: + - membershipId + type: object + 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 + 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 + 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. + 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 + status: + description: MembershipStatus defines the observed state of Membership. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_consentstoreiambindings.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_consentstoreiambindings.yaml new file mode 100644 index 00000000..55d21a03 --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_consentstoreiambindings.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: consentstoreiambindings.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ConsentStoreIAMBinding + listKind: ConsentStoreIAMBindingList + plural: consentstoreiambindings + singular: consentstoreiambinding + 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: ConsentStoreIAMBinding is the Schema for the ConsentStoreIAMBindings + 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: ConsentStoreIAMBindingSpec defines the desired state of ConsentStoreIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + consentStoreId: + type: string + dataset: + type: string + members: + items: + type: string + type: array + role: + type: string + required: + - consentStoreId + - dataset + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: ConsentStoreIAMBindingStatus defines the observed state of + ConsentStoreIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_consentstoreiammembers.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_consentstoreiammembers.yaml new file mode 100644 index 00000000..3d02c0a9 --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_consentstoreiammembers.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: consentstoreiammembers.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ConsentStoreIAMMember + listKind: ConsentStoreIAMMemberList + plural: consentstoreiammembers + singular: consentstoreiammember + 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: ConsentStoreIAMMember is the Schema for the ConsentStoreIAMMembers + 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: ConsentStoreIAMMemberSpec defines the desired state of ConsentStoreIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + consentStoreId: + type: string + dataset: + type: string + member: + type: string + role: + type: string + required: + - consentStoreId + - dataset + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: ConsentStoreIAMMemberStatus defines the observed state of + ConsentStoreIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_consentstoreiampolicies.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_consentstoreiampolicies.yaml new file mode 100644 index 00000000..beaeaa30 --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_consentstoreiampolicies.yaml @@ -0,0 +1,178 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: consentstoreiampolicies.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ConsentStoreIAMPolicy + listKind: ConsentStoreIAMPolicyList + plural: consentstoreiampolicies + singular: consentstoreiampolicy + 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: ConsentStoreIAMPolicy is the Schema for the ConsentStoreIAMPolicys + 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: ConsentStoreIAMPolicySpec defines the desired state of ConsentStoreIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + consentStoreId: + type: string + dataset: + type: string + policyData: + type: string + required: + - consentStoreId + - dataset + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: ConsentStoreIAMPolicyStatus defines the observed state of + ConsentStoreIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_consentstores.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_consentstores.yaml new file mode 100644 index 00000000..4fa18506 --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_consentstores.yaml @@ -0,0 +1,200 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: consentstores.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ConsentStore + listKind: ConsentStoreList + plural: consentstores + singular: consentstore + 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: ConsentStore is the Schema for the ConsentStores 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: ConsentStoreSpec defines the desired state of ConsentStore + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dataset: + description: Identifies the dataset addressed by this request. + Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}' + type: string + defaultConsentTtl: + description: "Default time to live for consents in this store. + Must be at least 24 hours. Updating this field will not affect + the expiration time of existing consents. \n A duration in seconds + with up to nine fractional digits, terminated by 's'. Example: + \"3.5s\"." + type: string + enableConsentCreateOnUpdate: + description: If true, [consents.patch] [google.cloud.healthcare.v1.consent.UpdateConsent] + creates the consent if it does not already exist. + type: boolean + labels: + additionalProperties: + type: string + description: "User-supplied key-value pairs used to organize Consent + stores. \n Label keys must be between 1 and 63 characters long, + have a UTF-8 encoding of maximum 128 bytes, and must conform + to the following PCRE regular expression: '[\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62}' + \n Label values are optional, must be between 1 and 63 characters + long, have a UTF-8 encoding of maximum 128 bytes, and must conform + to the following PCRE regular expression: '[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}' + \n No more than 64 labels can be associated with a given store. + \n An object containing a list of \"key\": value pairs. Example: + { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" + }." + type: object + name: + description: 'The name of this ConsentStore, for example: "consent1"' + type: string + required: + - dataset + - name + type: object + 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 + 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 + 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. + 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 + status: + description: ConsentStoreStatus defines the observed state of ConsentStore. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_datasetiambindings.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_datasetiambindings.yaml new file mode 100644 index 00000000..18c6b8c0 --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_datasetiambindings.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: datasetiambindings.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DatasetIAMBinding + listKind: DatasetIAMBindingList + plural: datasetiambindings + singular: datasetiambinding + 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: DatasetIAMBinding is the Schema for the DatasetIAMBindings 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: DatasetIAMBindingSpec defines the desired state of DatasetIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + datasetId: + type: string + members: + items: + type: string + type: array + role: + type: string + required: + - datasetId + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: DatasetIAMBindingStatus defines the observed state of DatasetIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_datasetiammembers.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_datasetiammembers.yaml new file mode 100644 index 00000000..47daf30d --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_datasetiammembers.yaml @@ -0,0 +1,190 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: datasetiammembers.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DatasetIAMMember + listKind: DatasetIAMMemberList + plural: datasetiammembers + singular: datasetiammember + 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: DatasetIAMMember is the Schema for the DatasetIAMMembers 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: DatasetIAMMemberSpec defines the desired state of DatasetIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + datasetId: + type: string + member: + type: string + role: + type: string + required: + - datasetId + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: DatasetIAMMemberStatus defines the observed state of DatasetIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_datasetiampolicies.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_datasetiampolicies.yaml new file mode 100644 index 00000000..da6cb204 --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_datasetiampolicies.yaml @@ -0,0 +1,173 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: datasetiampolicies.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DatasetIAMPolicy + listKind: DatasetIAMPolicyList + plural: datasetiampolicies + singular: datasetiampolicy + 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: DatasetIAMPolicy is the Schema for the DatasetIAMPolicys 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: DatasetIAMPolicySpec defines the desired state of DatasetIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + datasetId: + type: string + policyData: + type: string + required: + - datasetId + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: DatasetIAMPolicyStatus defines the observed state of DatasetIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_datasets.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_datasets.yaml new file mode 100644 index 00000000..025df191 --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_datasets.yaml @@ -0,0 +1,184 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: datasets.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Dataset + listKind: DatasetList + plural: datasets + singular: dataset + 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: Dataset is the Schema for the Datasets 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: DatasetSpec defines the desired state of Dataset + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + location: + description: The location for the Dataset. + type: string + name: + description: The resource name for the Dataset. + type: string + project: + type: string + timeZone: + description: The default timezone used by this dataset. Must be + a either a valid IANA time zone name such as "America/New_York" + or empty, which defaults to UTC. This is used for parsing times + in resources (e.g., HL7 messages) where no explicit timezone + is specified. + type: string + required: + - location + - name + type: object + 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 + 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 + 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. + 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 + status: + description: DatasetStatus defines the observed state of Dataset. + properties: + atProvider: + properties: + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_dicomstoreiambindings.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_dicomstoreiambindings.yaml new file mode 100644 index 00000000..45487ae7 --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_dicomstoreiambindings.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: dicomstoreiambindings.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DICOMStoreIAMBinding + listKind: DICOMStoreIAMBindingList + plural: dicomstoreiambindings + singular: dicomstoreiambinding + 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: DICOMStoreIAMBinding is the Schema for the DICOMStoreIAMBindings + 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: DICOMStoreIAMBindingSpec defines the desired state of DICOMStoreIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + dicomStoreId: + type: string + members: + items: + type: string + type: array + role: + type: string + required: + - dicomStoreId + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: DICOMStoreIAMBindingStatus defines the observed state of + DICOMStoreIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_dicomstoreiammembers.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_dicomstoreiammembers.yaml new file mode 100644 index 00000000..e8f6039d --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_dicomstoreiammembers.yaml @@ -0,0 +1,191 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: dicomstoreiammembers.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DICOMStoreIAMMember + listKind: DICOMStoreIAMMemberList + plural: dicomstoreiammembers + singular: dicomstoreiammember + 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: DICOMStoreIAMMember is the Schema for the DICOMStoreIAMMembers + 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: DICOMStoreIAMMemberSpec defines the desired state of DICOMStoreIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + dicomStoreId: + type: string + member: + type: string + role: + type: string + required: + - dicomStoreId + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: DICOMStoreIAMMemberStatus defines the observed state of DICOMStoreIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_dicomstoreiampolicies.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_dicomstoreiampolicies.yaml new file mode 100644 index 00000000..0f7ed37f --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_dicomstoreiampolicies.yaml @@ -0,0 +1,174 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: dicomstoreiampolicies.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DICOMStoreIAMPolicy + listKind: DICOMStoreIAMPolicyList + plural: dicomstoreiampolicies + singular: dicomstoreiampolicy + 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: DICOMStoreIAMPolicy is the Schema for the DICOMStoreIAMPolicys + 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: DICOMStoreIAMPolicySpec defines the desired state of DICOMStoreIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dicomStoreId: + type: string + policyData: + type: string + required: + - dicomStoreId + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: DICOMStoreIAMPolicyStatus defines the observed state of DICOMStoreIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_dicomstores.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_dicomstores.yaml new file mode 100644 index 00000000..f3747604 --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_dicomstores.yaml @@ -0,0 +1,214 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: dicomstores.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DICOMStore + listKind: DICOMStoreList + plural: dicomstores + singular: dicomstore + 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: DICOMStore is the Schema for the DICOMStores 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: DICOMStoreSpec defines the desired state of DICOMStore + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dataset: + description: Identifies the dataset addressed by this request. + Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}' + type: string + labels: + additionalProperties: + type: string + description: "User-supplied key-value pairs used to organize DICOM + stores. \n Label keys must be between 1 and 63 characters long, + have a UTF-8 encoding of maximum 128 bytes, and must conform + to the following PCRE regular expression: [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62} + \n Label values are optional, must be between 1 and 63 characters + long, have a UTF-8 encoding of maximum 128 bytes, and must conform + to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} + \n No more than 64 labels can be associated with a given store. + \n An object containing a list of \"key\": value pairs. Example: + { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" + }." + type: object + name: + description: "The resource name for the DicomStore. \n ** Changing + this property may recreate the Dicom store (removing all data) + **" + type: string + notificationConfig: + description: A nested object resource + items: + properties: + pubsubTopic: + description: The Cloud Pub/Sub topic that notifications + of changes are published on. Supplied by the client. PubsubMessage.Data + will contain the resource name. PubsubMessage.MessageId + is the ID of this message. It is guaranteed to be unique + within the topic. PubsubMessage.PublishTime is the time + at which the message was published. Notifications are + only sent if the topic is non-empty. Topic names must + be scoped to a project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com + must have publisher permissions on the given Cloud Pub/Sub + topic. Not having adequate permissions will cause the + calls that send notifications to fail. + type: string + required: + - pubsubTopic + type: object + type: array + required: + - dataset + - name + type: object + 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 + 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 + 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. + 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 + status: + description: DICOMStoreStatus defines the observed state of DICOMStore. + properties: + atProvider: + properties: + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_fhirstoreiambindings.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_fhirstoreiambindings.yaml new file mode 100644 index 00000000..1190c0fa --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_fhirstoreiambindings.yaml @@ -0,0 +1,193 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: fhirstoreiambindings.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FHIRStoreIAMBinding + listKind: FHIRStoreIAMBindingList + plural: fhirstoreiambindings + singular: fhirstoreiambinding + 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: FHIRStoreIAMBinding is the Schema for the FHIRStoreIAMBindings + 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: FHIRStoreIAMBindingSpec defines the desired state of FHIRStoreIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + fhirStoreId: + type: string + members: + items: + type: string + type: array + role: + type: string + required: + - fhirStoreId + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: FHIRStoreIAMBindingStatus defines the observed state of FHIRStoreIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_fhirstoreiammembers.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_fhirstoreiammembers.yaml new file mode 100644 index 00000000..a14947d7 --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_fhirstoreiammembers.yaml @@ -0,0 +1,191 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: fhirstoreiammembers.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FHIRStoreIAMMember + listKind: FHIRStoreIAMMemberList + plural: fhirstoreiammembers + singular: fhirstoreiammember + 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: FHIRStoreIAMMember is the Schema for the FHIRStoreIAMMembers + 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: FHIRStoreIAMMemberSpec defines the desired state of FHIRStoreIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + fhirStoreId: + type: string + member: + type: string + role: + type: string + required: + - fhirStoreId + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: FHIRStoreIAMMemberStatus defines the observed state of FHIRStoreIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_fhirstoreiampolicies.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_fhirstoreiampolicies.yaml new file mode 100644 index 00000000..458f806e --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_fhirstoreiampolicies.yaml @@ -0,0 +1,174 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: fhirstoreiampolicies.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FHIRStoreIAMPolicy + listKind: FHIRStoreIAMPolicyList + plural: fhirstoreiampolicies + singular: fhirstoreiampolicy + 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: FHIRStoreIAMPolicy is the Schema for the FHIRStoreIAMPolicys + 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: FHIRStoreIAMPolicySpec defines the desired state of FHIRStoreIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + fhirStoreId: + type: string + policyData: + type: string + required: + - fhirStoreId + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: FHIRStoreIAMPolicyStatus defines the observed state of FHIRStoreIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_fhirstores.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_fhirstores.yaml new file mode 100644 index 00000000..6236a840 --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_fhirstores.yaml @@ -0,0 +1,341 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: fhirstores.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FHIRStore + listKind: FHIRStoreList + plural: fhirstores + singular: fhirstore + 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: FHIRStore is the Schema for the FHIRStores 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: FHIRStoreSpec defines the desired state of FHIRStore + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dataset: + description: Identifies the dataset addressed by this request. + Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}' + type: string + disableReferentialIntegrity: + description: "Whether to disable referential integrity in this + FHIR store. This field is immutable after FHIR store creation. + The default value is false, meaning that the API will enforce + referential integrity and fail the requests that will result + in inconsistent state in the FHIR store. When this field is + set to true, the API will skip referential integrity check. + Consequently, operations that rely on references, such as Patient.get$everything, + will not return all the results if broken references exist. + \n ** Changing this property may recreate the FHIR store (removing + all data) **" + type: boolean + disableResourceVersioning: + description: "Whether to disable resource versioning for this + FHIR store. This field can not be changed after the creation + of FHIR store. If set to false, which is the default behavior, + all write operations will cause historical versions to be recorded + automatically. The historical versions can be fetched through + the history APIs, but cannot be updated. If set to true, no + historical versions will be kept. The server will send back + errors for attempts to read the historical versions. \n ** Changing + this property may recreate the FHIR store (removing all data) + **" + type: boolean + enableHistoryImport: + description: "Whether to allow the bulk import API to accept history + bundles and directly insert historical resource versions into + the FHIR store. Importing resource histories creates resource + interactions that appear to have occurred in the past, which + clients may not want to allow. If set to false, history bundles + within an import will fail with an error. \n ** Changing this + property may recreate the FHIR store (removing all data) ** + \n ** This property can be changed manually in the Google Cloud + Healthcare admin console without recreating the FHIR store **" + type: boolean + enableUpdateCreate: + description: Whether this FHIR store has the updateCreate capability. + This determines if the client can use an Update operation to + create a new resource with a client-specified ID. If false, + all IDs are server-assigned through the Create operation and + attempts to Update a non-existent resource will return errors. + Please treat the audit logs with appropriate levels of care + if client-specified resource IDs contain sensitive data such + as patient identifiers, those IDs will be part of the FHIR resource + path recorded in Cloud audit logs and Cloud Pub/Sub notifications. + type: boolean + labels: + additionalProperties: + type: string + description: "User-supplied key-value pairs used to organize FHIR + stores. \n Label keys must be between 1 and 63 characters long, + have a UTF-8 encoding of maximum 128 bytes, and must conform + to the following PCRE regular expression: [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62} + \n Label values are optional, must be between 1 and 63 characters + long, have a UTF-8 encoding of maximum 128 bytes, and must conform + to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} + \n No more than 64 labels can be associated with a given store. + \n An object containing a list of \"key\": value pairs. Example: + { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" + }." + type: object + name: + description: "The resource name for the FhirStore. \n ** Changing + this property may recreate the FHIR store (removing all data) + **" + type: string + notificationConfig: + description: A nested object resource + items: + properties: + pubsubTopic: + description: The Cloud Pub/Sub topic that notifications + of changes are published on. Supplied by the client. PubsubMessage.Data + will contain the resource name. PubsubMessage.MessageId + is the ID of this message. It is guaranteed to be unique + within the topic. PubsubMessage.PublishTime is the time + at which the message was published. Notifications are + only sent if the topic is non-empty. Topic names must + be scoped to a project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com + must have publisher permissions on the given Cloud Pub/Sub + topic. Not having adequate permissions will cause the + calls that send notifications to fail. + type: string + required: + - pubsubTopic + type: object + type: array + streamConfigs: + description: A list of streaming configs that configure the destinations + of streaming export for every resource mutation in this FHIR + store. Each store is allowed to have up to 10 streaming configs. + After a new config is added, the next resource mutation is streamed + to the new location in addition to the existing ones. When a + location is removed from the list, the server stops streaming + to that location. Before adding a new config, you must add the + required bigquery.dataEditor role to your project's Cloud Healthcare + Service Agent service account. Some lag (typically on the order + of dozens of seconds) is expected before the results show up + in the streaming destination. + items: + properties: + bigqueryDestination: + description: The destination BigQuery structure that contains + both the dataset location and corresponding schema config. + The output is organized in one table per resource type. + The server reuses the existing tables (if any) that are + named after the resource types, e.g. "Patient", "Observation". + When there is no existing table for a given resource type, + the server attempts to create one. See the [streaming + config reference](https://cloud.google.com/healthcare/docs/reference/rest/v1beta1/projects.locations.datasets.fhirStores#streamconfig) + for more details. + items: + properties: + datasetUri: + description: BigQuery URI to a dataset, up to 2000 + characters long, in the format bq://projectId.bqDatasetId + type: string + schemaConfig: + description: The configuration for the exported BigQuery + schema. + items: + properties: + recursiveStructureDepth: + description: The depth for all recursive structures + in the output analytics schema. For example, + concept in the CodeSystem resource is a recursive + structure; when the depth is 2, the CodeSystem + table will have a column called concept.concept + but not concept.concept.concept. If not specified + or set to 0, the server will use the default + value 2. The maximum depth allowed is 5. + format: int64 + type: integer + schemaType: + description: 'Specifies the output schema type. + Only ANALYTICS is supported at this time. + * ANALYTICS: Analytics schema defined by the + FHIR community. See https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md. + Default value: "ANALYTICS" Possible values: + ["ANALYTICS"]' + type: string + required: + - recursiveStructureDepth + type: object + type: array + required: + - datasetUri + - schemaConfig + type: object + type: array + resourceTypes: + description: Supply a FHIR resource type (such as "Patient" + or "Observation"). See https://www.hl7.org/fhir/valueset-resource-types.html + for a list of all FHIR resource types. The server treats + an empty list as an intent to stream all the supported + resource types in this FHIR store. + items: + type: string + type: array + required: + - bigqueryDestination + type: object + type: array + version: + description: 'The FHIR specification version. Possible values: + ["DSTU2", "STU3", "R4"]' + type: string + required: + - dataset + - name + - version + type: object + 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 + 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 + 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. + 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 + status: + description: FHIRStoreStatus defines the observed state of FHIRStore. + properties: + atProvider: + properties: + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_hl7v2storeiambindings.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_hl7v2storeiambindings.yaml new file mode 100644 index 00000000..16415773 --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_hl7v2storeiambindings.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: hl7v2storeiambindings.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: HL7V2StoreIAMBinding + listKind: HL7V2StoreIAMBindingList + plural: hl7v2storeiambindings + singular: hl7v2storeiambinding + 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: HL7V2StoreIAMBinding is the Schema for the HL7V2StoreIAMBindings + 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: HL7V2StoreIAMBindingSpec defines the desired state of HL7V2StoreIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + hl7V2StoreId: + type: string + members: + items: + type: string + type: array + role: + type: string + required: + - hl7V2StoreId + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: HL7V2StoreIAMBindingStatus defines the observed state of + HL7V2StoreIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_hl7v2storeiammembers.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_hl7v2storeiammembers.yaml new file mode 100644 index 00000000..f65facbd --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_hl7v2storeiammembers.yaml @@ -0,0 +1,191 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: hl7v2storeiammembers.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: HL7V2StoreIAMMember + listKind: HL7V2StoreIAMMemberList + plural: hl7v2storeiammembers + singular: hl7v2storeiammember + 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: HL7V2StoreIAMMember is the Schema for the HL7V2StoreIAMMembers + 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: HL7V2StoreIAMMemberSpec defines the desired state of HL7V2StoreIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + hl7V2StoreId: + type: string + member: + type: string + role: + type: string + required: + - hl7V2StoreId + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: HL7V2StoreIAMMemberStatus defines the observed state of HL7V2StoreIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_hl7v2storeiampolicies.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_hl7v2storeiampolicies.yaml new file mode 100644 index 00000000..de5106b3 --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_hl7v2storeiampolicies.yaml @@ -0,0 +1,174 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: hl7v2storeiampolicies.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: HL7V2StoreIAMPolicy + listKind: HL7V2StoreIAMPolicyList + plural: hl7v2storeiampolicies + singular: hl7v2storeiampolicy + 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: HL7V2StoreIAMPolicy is the Schema for the HL7V2StoreIAMPolicys + 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: HL7V2StoreIAMPolicySpec defines the desired state of HL7V2StoreIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + hl7V2StoreId: + type: string + policyData: + type: string + required: + - hl7V2StoreId + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: HL7V2StoreIAMPolicyStatus defines the observed state of HL7V2StoreIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/healthcare.gcp.jet.crossplane.io_hl7v2stores.yaml b/package/crds/healthcare.gcp.jet.crossplane.io_hl7v2stores.yaml new file mode 100644 index 00000000..5a70f0aa --- /dev/null +++ b/package/crds/healthcare.gcp.jet.crossplane.io_hl7v2stores.yaml @@ -0,0 +1,288 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: hl7v2stores.healthcare.gcp.jet.crossplane.io +spec: + group: healthcare.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: HL7V2Store + listKind: HL7V2StoreList + plural: hl7v2stores + singular: hl7v2store + 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: HL7V2Store is the Schema for the HL7V2Stores 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: HL7V2StoreSpec defines the desired state of HL7V2Store + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dataset: + description: Identifies the dataset addressed by this request. + Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}' + type: string + labels: + additionalProperties: + type: string + description: "User-supplied key-value pairs used to organize HL7v2 + stores. \n Label keys must be between 1 and 63 characters long, + have a UTF-8 encoding of maximum 128 bytes, and must conform + to the following PCRE regular expression: [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62} + \n Label values are optional, must be between 1 and 63 characters + long, have a UTF-8 encoding of maximum 128 bytes, and must conform + to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} + \n No more than 64 labels can be associated with a given store. + \n An object containing a list of \"key\": value pairs. Example: + { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" + }." + type: object + name: + description: "The resource name for the Hl7V2Store. \n ** Changing + this property may recreate the Hl7v2 store (removing all data) + **" + type: string + notificationConfig: + description: A nested object resource + items: + properties: + pubsubTopic: + description: The Cloud Pub/Sub topic that notifications + of changes are published on. Supplied by the client. PubsubMessage.Data + will contain the resource name. PubsubMessage.MessageId + is the ID of this message. It is guaranteed to be unique + within the topic. PubsubMessage.PublishTime is the time + at which the message was published. Notifications are + only sent if the topic is non-empty. Topic names must + be scoped to a project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com + must have publisher permissions on the given Cloud Pub/Sub + topic. Not having adequate permissions will cause the + calls that send notifications to fail. + type: string + required: + - pubsubTopic + type: object + type: array + notificationConfigs: + description: A list of notification configs. Each configuration + uses a filter to determine whether to publish a message (both + Ingest & Create) on the corresponding notification destination. + Only the message name is sent as part of the notification. Supplied + by the client. + items: + properties: + filter: + description: "Restricts notifications sent for messages + matching a filter. If this is empty, all messages are + matched. Syntax: https://cloud.google.com/appengine/docs/standard/python/search/query_strings + \n Fields/functions available for filtering are: \n * + messageType, from the MSH-9.1 field. For example, NOT + messageType = \"ADT\". * send_date or sendDate, the YYYY-MM-DD + date the message was sent in the dataset's timeZone, from + the MSH-7 segment. For example, send_date < \"2017-01-02\". + * sendTime, the timestamp when the message was sent, using + the RFC3339 time format for comparisons, from the MSH-7 + segment. For example, sendTime < \"2017-01-02T00:00:00-05:00\". + * sendFacility, the care center that the message came + from, from the MSH-4 segment. For example, sendFacility + = \"ABC\". * PatientId(value, type), which matches if + the message lists a patient having an ID of the given + value and type in the PID-2, PID-3, or PID-4 segments. + For example, PatientId(\"123456\", \"MRN\"). * labels.x, + a string value of the label with key x as set using the + Message.labels map. For example, labels.\"priority\"=\"high\". + The operator :* can be used to assert the existence of + a label. For example, labels.\"priority\":*." + type: string + pubsubTopic: + description: "The Cloud Pub/Sub topic that notifications + of changes are published on. Supplied by the client. PubsubMessage.Data + will contain the resource name. PubsubMessage.MessageId + is the ID of this message. It is guaranteed to be unique + within the topic. PubsubMessage.PublishTime is the time + at which the message was published. Notifications are + only sent if the topic is non-empty. Topic names must + be scoped to a project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com + must have publisher permissions on the given Cloud Pub/Sub + topic. Not having adequate permissions will cause the + calls that send notifications to fail. \n If a notification + cannot be published to Cloud Pub/Sub, errors will be logged + to Stackdriver" + type: string + required: + - pubsubTopic + type: object + type: array + parserConfig: + description: A nested object resource + items: + properties: + allowNullHeader: + description: Determines whether messages with no header + are allowed. + type: boolean + schema: + description: JSON encoded string for schemas used to parse + messages in this store if schematized parsing is desired. + type: string + segmentTerminator: + description: "Byte(s) to be used as the segment terminator. + If this is unset, '\\r' will be used as segment terminator. + \n A base64-encoded string." + type: string + version: + description: 'The version of the unschematized parser to + be used when a custom ''schema'' is not set. Default value: + "V1" Possible values: ["V1", "V2"]' + type: string + type: object + type: array + required: + - dataset + - name + type: object + 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 + 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 + 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. + 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 + status: + description: HL7V2StoreStatus defines the observed state of HL7V2Store. + properties: + atProvider: + properties: + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_appengineserviceiambindings.yaml b/package/crds/iap.gcp.jet.crossplane.io_appengineserviceiambindings.yaml new file mode 100644 index 00000000..9ec5715f --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_appengineserviceiambindings.yaml @@ -0,0 +1,200 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: appengineserviceiambindings.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AppEngineServiceIAMBinding + listKind: AppEngineServiceIAMBindingList + plural: appengineserviceiambindings + singular: appengineserviceiambinding + 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: AppEngineServiceIAMBinding is the Schema for the AppEngineServiceIAMBindings + 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: AppEngineServiceIAMBindingSpec defines the desired state + of AppEngineServiceIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + appId: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + role: + type: string + service: + type: string + required: + - appId + - members + - role + - service + type: object + 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 + 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 + 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. + 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 + status: + description: AppEngineServiceIAMBindingStatus defines the observed state + of AppEngineServiceIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_appengineserviceiammembers.yaml b/package/crds/iap.gcp.jet.crossplane.io_appengineserviceiammembers.yaml new file mode 100644 index 00000000..6e754e96 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_appengineserviceiammembers.yaml @@ -0,0 +1,198 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: appengineserviceiammembers.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AppEngineServiceIAMMember + listKind: AppEngineServiceIAMMemberList + plural: appengineserviceiammembers + singular: appengineserviceiammember + 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: AppEngineServiceIAMMember is the Schema for the AppEngineServiceIAMMembers + 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: AppEngineServiceIAMMemberSpec defines the desired state of + AppEngineServiceIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + appId: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + role: + type: string + service: + type: string + required: + - appId + - member + - role + - service + type: object + 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 + 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 + 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. + 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 + status: + description: AppEngineServiceIAMMemberStatus defines the observed state + of AppEngineServiceIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_appengineserviceiampolicies.yaml b/package/crds/iap.gcp.jet.crossplane.io_appengineserviceiampolicies.yaml new file mode 100644 index 00000000..332ea081 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_appengineserviceiampolicies.yaml @@ -0,0 +1,181 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: appengineserviceiampolicies.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AppEngineServiceIAMPolicy + listKind: AppEngineServiceIAMPolicyList + plural: appengineserviceiampolicies + singular: appengineserviceiampolicy + 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: AppEngineServiceIAMPolicy is the Schema for the AppEngineServiceIAMPolicys + 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: AppEngineServiceIAMPolicySpec defines the desired state of + AppEngineServiceIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + appId: + type: string + policyData: + type: string + project: + type: string + service: + type: string + required: + - appId + - policyData + - service + type: object + 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 + 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 + 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. + 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 + status: + description: AppEngineServiceIAMPolicyStatus defines the observed state + of AppEngineServiceIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_appengineversioniambindings.yaml b/package/crds/iap.gcp.jet.crossplane.io_appengineversioniambindings.yaml new file mode 100644 index 00000000..d78be268 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_appengineversioniambindings.yaml @@ -0,0 +1,203 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: appengineversioniambindings.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AppEngineVersionIAMBinding + listKind: AppEngineVersionIAMBindingList + plural: appengineversioniambindings + singular: appengineversioniambinding + 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: AppEngineVersionIAMBinding is the Schema for the AppEngineVersionIAMBindings + 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: AppEngineVersionIAMBindingSpec defines the desired state + of AppEngineVersionIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + appId: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + role: + type: string + service: + type: string + versionId: + type: string + required: + - appId + - members + - role + - service + - versionId + type: object + 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 + 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 + 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. + 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 + status: + description: AppEngineVersionIAMBindingStatus defines the observed state + of AppEngineVersionIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_appengineversioniammembers.yaml b/package/crds/iap.gcp.jet.crossplane.io_appengineversioniammembers.yaml new file mode 100644 index 00000000..9a306e0e --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_appengineversioniammembers.yaml @@ -0,0 +1,201 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: appengineversioniammembers.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AppEngineVersionIAMMember + listKind: AppEngineVersionIAMMemberList + plural: appengineversioniammembers + singular: appengineversioniammember + 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: AppEngineVersionIAMMember is the Schema for the AppEngineVersionIAMMembers + 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: AppEngineVersionIAMMemberSpec defines the desired state of + AppEngineVersionIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + appId: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + role: + type: string + service: + type: string + versionId: + type: string + required: + - appId + - member + - role + - service + - versionId + type: object + 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 + 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 + 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. + 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 + status: + description: AppEngineVersionIAMMemberStatus defines the observed state + of AppEngineVersionIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_appengineversioniampolicies.yaml b/package/crds/iap.gcp.jet.crossplane.io_appengineversioniampolicies.yaml new file mode 100644 index 00000000..7b40a79d --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_appengineversioniampolicies.yaml @@ -0,0 +1,184 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: appengineversioniampolicies.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: AppEngineVersionIAMPolicy + listKind: AppEngineVersionIAMPolicyList + plural: appengineversioniampolicies + singular: appengineversioniampolicy + 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: AppEngineVersionIAMPolicy is the Schema for the AppEngineVersionIAMPolicys + 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: AppEngineVersionIAMPolicySpec defines the desired state of + AppEngineVersionIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + appId: + type: string + policyData: + type: string + project: + type: string + service: + type: string + versionId: + type: string + required: + - appId + - policyData + - service + - versionId + type: object + 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 + 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 + 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. + 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 + status: + description: AppEngineVersionIAMPolicyStatus defines the observed state + of AppEngineVersionIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_brands.yaml b/package/crds/iap.gcp.jet.crossplane.io_brands.yaml new file mode 100644 index 00000000..75730221 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_brands.yaml @@ -0,0 +1,184 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: brands.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Brand + listKind: BrandList + plural: brands + singular: brand + 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: Brand is the Schema for the Brands 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: BrandSpec defines the desired state of Brand + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + applicationTitle: + description: Application name displayed on OAuth consent screen. + type: string + project: + type: string + supportEmail: + description: Support email displayed on the OAuth consent screen. + Can be either a user or group email. When a user email is specified, + the caller must be the user with the associated email address. + When a group email is specified, the caller can be either a + user or a service account which is an owner of the specified + group in Cloud Identity. + type: string + required: + - applicationTitle + - supportEmail + type: object + 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 + 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 + 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. + 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 + status: + description: BrandStatus defines the observed state of Brand. + properties: + atProvider: + properties: + id: + type: string + name: + type: string + orgInternalOnly: + type: boolean + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_clients.yaml b/package/crds/iap.gcp.jet.crossplane.io_clients.yaml new file mode 100644 index 00000000..67f78672 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_clients.yaml @@ -0,0 +1,176 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: clients.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Client + listKind: ClientList + plural: clients + singular: client + 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: Client is the Schema for the Clients 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: ClientSpec defines the desired state of Client + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + brand: + description: Identifier of the brand to which this client is attached + to. The format is 'projects/{project_number}/brands/{brand_id}/identityAwareProxyClients/{client_id}'. + type: string + displayName: + description: Human-friendly name given to the OAuth client. + type: string + required: + - brand + - displayName + type: object + 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 + 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 + 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. + 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 + status: + description: ClientStatus defines the observed state of Client. + properties: + atProvider: + properties: + clientId: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_tunneliambindings.yaml b/package/crds/iap.gcp.jet.crossplane.io_tunneliambindings.yaml new file mode 100644 index 00000000..9326209a --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_tunneliambindings.yaml @@ -0,0 +1,191 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tunneliambindings.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TunnelIAMBinding + listKind: TunnelIAMBindingList + plural: tunneliambindings + singular: tunneliambinding + 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: TunnelIAMBinding is the Schema for the TunnelIAMBindings 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: TunnelIAMBindingSpec defines the desired state of TunnelIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + role: + type: string + required: + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: TunnelIAMBindingStatus defines the observed state of TunnelIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_tunneliammembers.yaml b/package/crds/iap.gcp.jet.crossplane.io_tunneliammembers.yaml new file mode 100644 index 00000000..7b657c08 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_tunneliammembers.yaml @@ -0,0 +1,189 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tunneliammembers.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TunnelIAMMember + listKind: TunnelIAMMemberList + plural: tunneliammembers + singular: tunneliammember + 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: TunnelIAMMember is the Schema for the TunnelIAMMembers 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: TunnelIAMMemberSpec defines the desired state of TunnelIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + role: + type: string + required: + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: TunnelIAMMemberStatus defines the observed state of TunnelIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_tunneliampolicies.yaml b/package/crds/iap.gcp.jet.crossplane.io_tunneliampolicies.yaml new file mode 100644 index 00000000..e07cec98 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_tunneliampolicies.yaml @@ -0,0 +1,172 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tunneliampolicies.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TunnelIAMPolicy + listKind: TunnelIAMPolicyList + plural: tunneliampolicies + singular: tunneliampolicy + 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: TunnelIAMPolicy is the Schema for the TunnelIAMPolicys 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: TunnelIAMPolicySpec defines the desired state of TunnelIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + project: + type: string + required: + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: TunnelIAMPolicyStatus defines the observed state of TunnelIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_tunnelinstanceiambindings.yaml b/package/crds/iap.gcp.jet.crossplane.io_tunnelinstanceiambindings.yaml new file mode 100644 index 00000000..b56b5c38 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_tunnelinstanceiambindings.yaml @@ -0,0 +1,199 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tunnelinstanceiambindings.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TunnelInstanceIAMBinding + listKind: TunnelInstanceIAMBindingList + plural: tunnelinstanceiambindings + singular: tunnelinstanceiambinding + 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: TunnelInstanceIAMBinding is the Schema for the TunnelInstanceIAMBindings + 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: TunnelInstanceIAMBindingSpec defines the desired state of + TunnelInstanceIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + instance: + type: string + members: + items: + type: string + type: array + project: + type: string + role: + type: string + zone: + type: string + required: + - instance + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: TunnelInstanceIAMBindingStatus defines the observed state + of TunnelInstanceIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_tunnelinstanceiammembers.yaml b/package/crds/iap.gcp.jet.crossplane.io_tunnelinstanceiammembers.yaml new file mode 100644 index 00000000..5ca793f2 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_tunnelinstanceiammembers.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tunnelinstanceiammembers.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TunnelInstanceIAMMember + listKind: TunnelInstanceIAMMemberList + plural: tunnelinstanceiammembers + singular: tunnelinstanceiammember + 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: TunnelInstanceIAMMember is the Schema for the TunnelInstanceIAMMembers + 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: TunnelInstanceIAMMemberSpec defines the desired state of + TunnelInstanceIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + instance: + type: string + member: + type: string + project: + type: string + role: + type: string + zone: + type: string + required: + - instance + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: TunnelInstanceIAMMemberStatus defines the observed state + of TunnelInstanceIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_tunnelinstanceiampolicies.yaml b/package/crds/iap.gcp.jet.crossplane.io_tunnelinstanceiampolicies.yaml new file mode 100644 index 00000000..2286d1ac --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_tunnelinstanceiampolicies.yaml @@ -0,0 +1,180 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tunnelinstanceiampolicies.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TunnelInstanceIAMPolicy + listKind: TunnelInstanceIAMPolicyList + plural: tunnelinstanceiampolicies + singular: tunnelinstanceiampolicy + 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: TunnelInstanceIAMPolicy is the Schema for the TunnelInstanceIAMPolicys + 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: TunnelInstanceIAMPolicySpec defines the desired state of + TunnelInstanceIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + instance: + type: string + policyData: + type: string + project: + type: string + zone: + type: string + required: + - instance + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: TunnelInstanceIAMPolicyStatus defines the observed state + of TunnelInstanceIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_webbackendserviceiambindings.yaml b/package/crds/iap.gcp.jet.crossplane.io_webbackendserviceiambindings.yaml new file mode 100644 index 00000000..afbc5b88 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_webbackendserviceiambindings.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: webbackendserviceiambindings.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: WebBackendServiceIAMBinding + listKind: WebBackendServiceIAMBindingList + plural: webbackendserviceiambindings + singular: webbackendserviceiambinding + 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: WebBackendServiceIAMBinding is the Schema for the WebBackendServiceIAMBindings + 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: WebBackendServiceIAMBindingSpec defines the desired state + of WebBackendServiceIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + role: + type: string + webBackendService: + type: string + required: + - members + - role + - webBackendService + type: object + 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 + 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 + 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. + 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 + status: + description: WebBackendServiceIAMBindingStatus defines the observed state + of WebBackendServiceIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_webbackendserviceiammembers.yaml b/package/crds/iap.gcp.jet.crossplane.io_webbackendserviceiammembers.yaml new file mode 100644 index 00000000..bb903f02 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_webbackendserviceiammembers.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: webbackendserviceiammembers.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: WebBackendServiceIAMMember + listKind: WebBackendServiceIAMMemberList + plural: webbackendserviceiammembers + singular: webbackendserviceiammember + 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: WebBackendServiceIAMMember is the Schema for the WebBackendServiceIAMMembers + 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: WebBackendServiceIAMMemberSpec defines the desired state + of WebBackendServiceIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + role: + type: string + webBackendService: + type: string + required: + - member + - role + - webBackendService + type: object + 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 + 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 + 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. + 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 + status: + description: WebBackendServiceIAMMemberStatus defines the observed state + of WebBackendServiceIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_webbackendserviceiampolicies.yaml b/package/crds/iap.gcp.jet.crossplane.io_webbackendserviceiampolicies.yaml new file mode 100644 index 00000000..d2d824c4 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_webbackendserviceiampolicies.yaml @@ -0,0 +1,178 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: webbackendserviceiampolicies.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: WebBackendServiceIAMPolicy + listKind: WebBackendServiceIAMPolicyList + plural: webbackendserviceiampolicies + singular: webbackendserviceiampolicy + 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: WebBackendServiceIAMPolicy is the Schema for the WebBackendServiceIAMPolicys + 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: WebBackendServiceIAMPolicySpec defines the desired state + of WebBackendServiceIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + project: + type: string + webBackendService: + type: string + required: + - policyData + - webBackendService + type: object + 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 + 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 + 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. + 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 + status: + description: WebBackendServiceIAMPolicyStatus defines the observed state + of WebBackendServiceIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_webiambindings.yaml b/package/crds/iap.gcp.jet.crossplane.io_webiambindings.yaml new file mode 100644 index 00000000..2045420f --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_webiambindings.yaml @@ -0,0 +1,191 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: webiambindings.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: WebIAMBinding + listKind: WebIAMBindingList + plural: webiambindings + singular: webiambinding + 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: WebIAMBinding is the Schema for the WebIAMBindings 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: WebIAMBindingSpec defines the desired state of WebIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + role: + type: string + required: + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: WebIAMBindingStatus defines the observed state of WebIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_webiammembers.yaml b/package/crds/iap.gcp.jet.crossplane.io_webiammembers.yaml new file mode 100644 index 00000000..60e4a51d --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_webiammembers.yaml @@ -0,0 +1,189 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: webiammembers.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: WebIAMMember + listKind: WebIAMMemberList + plural: webiammembers + singular: webiammember + 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: WebIAMMember is the Schema for the WebIAMMembers 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: WebIAMMemberSpec defines the desired state of WebIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + role: + type: string + required: + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: WebIAMMemberStatus defines the observed state of WebIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_webiampolicies.yaml b/package/crds/iap.gcp.jet.crossplane.io_webiampolicies.yaml new file mode 100644 index 00000000..20cea0c9 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_webiampolicies.yaml @@ -0,0 +1,172 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: webiampolicies.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: WebIAMPolicy + listKind: WebIAMPolicyList + plural: webiampolicies + singular: webiampolicy + 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: WebIAMPolicy is the Schema for the WebIAMPolicys 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: WebIAMPolicySpec defines the desired state of WebIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + project: + type: string + required: + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: WebIAMPolicyStatus defines the observed state of WebIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_webtypeappengineiambindings.yaml b/package/crds/iap.gcp.jet.crossplane.io_webtypeappengineiambindings.yaml new file mode 100644 index 00000000..76209858 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_webtypeappengineiambindings.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: webtypeappengineiambindings.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: WebTypeAppEngineIAMBinding + listKind: WebTypeAppEngineIAMBindingList + plural: webtypeappengineiambindings + singular: webtypeappengineiambinding + 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: WebTypeAppEngineIAMBinding is the Schema for the WebTypeAppEngineIAMBindings + 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: WebTypeAppEngineIAMBindingSpec defines the desired state + of WebTypeAppEngineIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + appId: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + role: + type: string + required: + - appId + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: WebTypeAppEngineIAMBindingStatus defines the observed state + of WebTypeAppEngineIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_webtypeappengineiammembers.yaml b/package/crds/iap.gcp.jet.crossplane.io_webtypeappengineiammembers.yaml new file mode 100644 index 00000000..0f7866f4 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_webtypeappengineiammembers.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: webtypeappengineiammembers.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: WebTypeAppEngineIAMMember + listKind: WebTypeAppEngineIAMMemberList + plural: webtypeappengineiammembers + singular: webtypeappengineiammember + 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: WebTypeAppEngineIAMMember is the Schema for the WebTypeAppEngineIAMMembers + 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: WebTypeAppEngineIAMMemberSpec defines the desired state of + WebTypeAppEngineIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + appId: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + role: + type: string + required: + - appId + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: WebTypeAppEngineIAMMemberStatus defines the observed state + of WebTypeAppEngineIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_webtypeappengineiampolicies.yaml b/package/crds/iap.gcp.jet.crossplane.io_webtypeappengineiampolicies.yaml new file mode 100644 index 00000000..22200ecc --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_webtypeappengineiampolicies.yaml @@ -0,0 +1,178 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: webtypeappengineiampolicies.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: WebTypeAppEngineIAMPolicy + listKind: WebTypeAppEngineIAMPolicyList + plural: webtypeappengineiampolicies + singular: webtypeappengineiampolicy + 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: WebTypeAppEngineIAMPolicy is the Schema for the WebTypeAppEngineIAMPolicys + 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: WebTypeAppEngineIAMPolicySpec defines the desired state of + WebTypeAppEngineIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + appId: + type: string + policyData: + type: string + project: + type: string + required: + - appId + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: WebTypeAppEngineIAMPolicyStatus defines the observed state + of WebTypeAppEngineIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_webtypecomputeiambindings.yaml b/package/crds/iap.gcp.jet.crossplane.io_webtypecomputeiambindings.yaml new file mode 100644 index 00000000..c1a3b02b --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_webtypecomputeiambindings.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: webtypecomputeiambindings.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: WebTypeComputeIAMBinding + listKind: WebTypeComputeIAMBindingList + plural: webtypecomputeiambindings + singular: webtypecomputeiambinding + 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: WebTypeComputeIAMBinding is the Schema for the WebTypeComputeIAMBindings + 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: WebTypeComputeIAMBindingSpec defines the desired state of + WebTypeComputeIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + role: + type: string + required: + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: WebTypeComputeIAMBindingStatus defines the observed state + of WebTypeComputeIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_webtypecomputeiammembers.yaml b/package/crds/iap.gcp.jet.crossplane.io_webtypecomputeiammembers.yaml new file mode 100644 index 00000000..85adf37a --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_webtypecomputeiammembers.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: webtypecomputeiammembers.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: WebTypeComputeIAMMember + listKind: WebTypeComputeIAMMemberList + plural: webtypecomputeiammembers + singular: webtypecomputeiammember + 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: WebTypeComputeIAMMember is the Schema for the WebTypeComputeIAMMembers + 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: WebTypeComputeIAMMemberSpec defines the desired state of + WebTypeComputeIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + role: + type: string + required: + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: WebTypeComputeIAMMemberStatus defines the observed state + of WebTypeComputeIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/iap.gcp.jet.crossplane.io_webtypecomputeiampolicies.yaml b/package/crds/iap.gcp.jet.crossplane.io_webtypecomputeiampolicies.yaml new file mode 100644 index 00000000..2ebc9303 --- /dev/null +++ b/package/crds/iap.gcp.jet.crossplane.io_webtypecomputeiampolicies.yaml @@ -0,0 +1,175 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: webtypecomputeiampolicies.iap.gcp.jet.crossplane.io +spec: + group: iap.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: WebTypeComputeIAMPolicy + listKind: WebTypeComputeIAMPolicyList + plural: webtypecomputeiampolicies + singular: webtypecomputeiampolicy + 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: WebTypeComputeIAMPolicy is the Schema for the WebTypeComputeIAMPolicys + 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: WebTypeComputeIAMPolicySpec defines the desired state of + WebTypeComputeIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + project: + type: string + required: + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: WebTypeComputeIAMPolicyStatus defines the observed state + of WebTypeComputeIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/identityplatform.gcp.jet.crossplane.io_defaultsupportedidpconfigs.yaml b/package/crds/identityplatform.gcp.jet.crossplane.io_defaultsupportedidpconfigs.yaml new file mode 100644 index 00000000..ced0271f --- /dev/null +++ b/package/crds/identityplatform.gcp.jet.crossplane.io_defaultsupportedidpconfigs.yaml @@ -0,0 +1,190 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: defaultsupportedidpconfigs.identityplatform.gcp.jet.crossplane.io +spec: + group: identityplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DefaultSupportedIdPConfig + listKind: DefaultSupportedIdPConfigList + plural: defaultsupportedidpconfigs + singular: defaultsupportedidpconfig + 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: DefaultSupportedIdPConfig is the Schema for the DefaultSupportedIdPConfigs + 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: DefaultSupportedIdPConfigSpec defines the desired state of + DefaultSupportedIdPConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + clientId: + description: OAuth client ID + type: string + clientSecret: + description: OAuth client secret + type: string + enabled: + description: If this IDP allows the user to sign in + type: boolean + idpId: + description: "ID of the IDP. Possible values include: \n * 'apple.com' + \n * 'facebook.com' \n * 'gc.apple.com' \n * 'github.com' \n + * 'google.com' \n * 'linkedin.com' \n * 'microsoft.com' \n * + 'playgames.google.com' \n * 'twitter.com' \n * 'yahoo.com'" + type: string + project: + type: string + required: + - clientId + - clientSecret + - idpId + type: object + 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 + 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 + 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. + 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 + status: + description: DefaultSupportedIdPConfigStatus defines the observed state + of DefaultSupportedIdPConfig. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/identityplatform.gcp.jet.crossplane.io_inboundsamlconfigs.yaml b/package/crds/identityplatform.gcp.jet.crossplane.io_inboundsamlconfigs.yaml new file mode 100644 index 00000000..238f7051 --- /dev/null +++ b/package/crds/identityplatform.gcp.jet.crossplane.io_inboundsamlconfigs.yaml @@ -0,0 +1,230 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: inboundsamlconfigs.identityplatform.gcp.jet.crossplane.io +spec: + group: identityplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InboundSAMLConfig + listKind: InboundSAMLConfigList + plural: inboundsamlconfigs + singular: inboundsamlconfig + 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: InboundSAMLConfig is the Schema for the InboundSAMLConfigs 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: InboundSAMLConfigSpec defines the desired state of InboundSAMLConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + displayName: + description: Human friendly display name. + type: string + enabled: + description: If this config allows users to sign in with the provider. + type: boolean + idpConfig: + description: SAML IdP configuration when the project acts as the + relying party + items: + properties: + idpCertificates: + description: The IdP's certificate data to verify the signature + in the SAMLResponse issued by the IDP. + items: + properties: + x509Certificate: + description: The IdP's x509 certificate. + type: string + type: object + type: array + idpEntityId: + description: Unique identifier for all SAML entities + type: string + signRequest: + description: Indicates if outbounding SAMLRequest should + be signed. + type: boolean + ssoUrl: + description: URL to send Authentication request to. + type: string + required: + - idpCertificates + - idpEntityId + - ssoUrl + type: object + type: array + name: + description: The name of the InboundSamlConfig resource. Must + start with 'saml.' and can only have alphanumeric characters, + hyphens, underscores or periods. The part after 'saml.' must + also start with a lowercase letter, end with an alphanumeric + character, and have at least 2 characters. + type: string + project: + type: string + spConfig: + description: SAML SP (Service Provider) configuration when the + project acts as the relying party to receive and accept an authentication + assertion issued by a SAML identity provider. + items: + properties: + callbackUri: + description: Callback URI where responses from IDP are handled. + Must start with 'https://'. + type: string + spEntityId: + description: Unique identifier for all SAML entities. + type: string + type: object + type: array + required: + - displayName + - idpConfig + - name + - spConfig + type: object + 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 + 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 + 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. + 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 + status: + description: InboundSAMLConfigStatus defines the observed state of InboundSAMLConfig. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/identityplatform.gcp.jet.crossplane.io_oauthidpconfigs.yaml b/package/crds/identityplatform.gcp.jet.crossplane.io_oauthidpconfigs.yaml new file mode 100644 index 00000000..fdebe498 --- /dev/null +++ b/package/crds/identityplatform.gcp.jet.crossplane.io_oauthidpconfigs.yaml @@ -0,0 +1,189 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: oauthidpconfigs.identityplatform.gcp.jet.crossplane.io +spec: + group: identityplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: OAuthIdPConfig + listKind: OAuthIdPConfigList + plural: oauthidpconfigs + singular: oauthidpconfig + 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: OAuthIdPConfig is the Schema for the OAuthIdPConfigs 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: OAuthIdPConfigSpec defines the desired state of OAuthIdPConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + clientId: + description: The client id of an OAuth client. + type: string + clientSecret: + description: The client secret of the OAuth client, to enable + OIDC code flow. + type: string + displayName: + description: Human friendly display name. + type: string + enabled: + description: If this config allows users to sign in with the provider. + type: boolean + issuer: + description: For OIDC Idps, the issuer identifier. + type: string + name: + description: The name of the OauthIdpConfig. Must start with 'oidc.'. + type: string + project: + type: string + required: + - clientId + - issuer + - name + type: object + 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 + 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 + 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. + 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 + status: + description: OAuthIdPConfigStatus defines the observed state of OAuthIdPConfig. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/identityplatform.gcp.jet.crossplane.io_tenantdefaultsupportedidpconfigs.yaml b/package/crds/identityplatform.gcp.jet.crossplane.io_tenantdefaultsupportedidpconfigs.yaml new file mode 100644 index 00000000..eea45aa9 --- /dev/null +++ b/package/crds/identityplatform.gcp.jet.crossplane.io_tenantdefaultsupportedidpconfigs.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tenantdefaultsupportedidpconfigs.identityplatform.gcp.jet.crossplane.io +spec: + group: identityplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TenantDefaultSupportedIdPConfig + listKind: TenantDefaultSupportedIdPConfigList + plural: tenantdefaultsupportedidpconfigs + singular: tenantdefaultsupportedidpconfig + 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: TenantDefaultSupportedIdPConfig is the Schema for the TenantDefaultSupportedIdPConfigs + 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: TenantDefaultSupportedIdPConfigSpec defines the desired state + of TenantDefaultSupportedIdPConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + clientId: + description: OAuth client ID + type: string + clientSecret: + description: OAuth client secret + type: string + enabled: + description: If this IDP allows the user to sign in + type: boolean + idpId: + description: "ID of the IDP. Possible values include: \n * 'apple.com' + \n * 'facebook.com' \n * 'gc.apple.com' \n * 'github.com' \n + * 'google.com' \n * 'linkedin.com' \n * 'microsoft.com' \n * + 'playgames.google.com' \n * 'twitter.com' \n * 'yahoo.com'" + type: string + project: + type: string + tenant: + description: The name of the tenant where this DefaultSupportedIdpConfig + resource exists + type: string + required: + - clientId + - clientSecret + - idpId + - tenant + type: object + 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 + 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 + 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. + 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 + status: + description: TenantDefaultSupportedIdPConfigStatus defines the observed + state of TenantDefaultSupportedIdPConfig. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/identityplatform.gcp.jet.crossplane.io_tenantinboundsamlconfigs.yaml b/package/crds/identityplatform.gcp.jet.crossplane.io_tenantinboundsamlconfigs.yaml new file mode 100644 index 00000000..23477093 --- /dev/null +++ b/package/crds/identityplatform.gcp.jet.crossplane.io_tenantinboundsamlconfigs.yaml @@ -0,0 +1,241 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tenantinboundsamlconfigs.identityplatform.gcp.jet.crossplane.io +spec: + group: identityplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TenantInboundSAMLConfig + listKind: TenantInboundSAMLConfigList + plural: tenantinboundsamlconfigs + singular: tenantinboundsamlconfig + 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: TenantInboundSAMLConfig is the Schema for the TenantInboundSAMLConfigs + 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: TenantInboundSAMLConfigSpec defines the desired state of + TenantInboundSAMLConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + displayName: + description: Human friendly display name. + type: string + enabled: + description: If this config allows users to sign in with the provider. + type: boolean + idpConfig: + description: SAML IdP configuration when the project acts as the + relying party + items: + properties: + idpCertificates: + description: The IDP's certificate data to verify the signature + in the SAMLResponse issued by the IDP. + items: + properties: + x509Certificate: + description: The x509 certificate + type: string + type: object + type: array + idpEntityId: + description: Unique identifier for all SAML entities + type: string + signRequest: + description: Indicates if outbounding SAMLRequest should + be signed. + type: boolean + ssoUrl: + description: URL to send Authentication request to. + type: string + required: + - idpCertificates + - idpEntityId + - ssoUrl + type: object + type: array + name: + description: The name of the InboundSamlConfig resource. Must + start with 'saml.' and can only have alphanumeric characters, + hyphens, underscores or periods. The part after 'saml.' must + also start with a lowercase letter, end with an alphanumeric + character, and have at least 2 characters. + type: string + project: + type: string + spConfig: + description: SAML SP (Service Provider) configuration when the + project acts as the relying party to receive and accept an authentication + assertion issued by a SAML identity provider. + items: + properties: + callbackUri: + description: Callback URI where responses from IDP are handled. + Must start with 'https://'. + type: string + spEntityId: + description: Unique identifier for all SAML entities. + type: string + required: + - callbackUri + - spEntityId + type: object + type: array + tenant: + description: The name of the tenant where this inbound SAML config + resource exists + type: string + required: + - displayName + - idpConfig + - name + - spConfig + - tenant + type: object + 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 + 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 + 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. + 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 + status: + description: TenantInboundSAMLConfigStatus defines the observed state + of TenantInboundSAMLConfig. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/identityplatform.gcp.jet.crossplane.io_tenantoauthidpconfigs.yaml b/package/crds/identityplatform.gcp.jet.crossplane.io_tenantoauthidpconfigs.yaml new file mode 100644 index 00000000..2e202fd7 --- /dev/null +++ b/package/crds/identityplatform.gcp.jet.crossplane.io_tenantoauthidpconfigs.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tenantoauthidpconfigs.identityplatform.gcp.jet.crossplane.io +spec: + group: identityplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TenantOAuthIdPConfig + listKind: TenantOAuthIdPConfigList + plural: tenantoauthidpconfigs + singular: tenantoauthidpconfig + 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: TenantOAuthIdPConfig is the Schema for the TenantOAuthIdPConfigs + 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: TenantOAuthIdPConfigSpec defines the desired state of TenantOAuthIdPConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + clientId: + description: The client id of an OAuth client. + type: string + clientSecret: + description: The client secret of the OAuth client, to enable + OIDC code flow. + type: string + displayName: + description: Human friendly display name. + type: string + enabled: + description: If this config allows users to sign in with the provider. + type: boolean + issuer: + description: For OIDC Idps, the issuer identifier. + type: string + name: + description: The name of the OauthIdpConfig. Must start with 'oidc.'. + type: string + project: + type: string + tenant: + description: The name of the tenant where this OIDC IDP configuration + resource exists + type: string + required: + - clientId + - displayName + - issuer + - name + - tenant + type: object + 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 + 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 + 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. + 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 + status: + description: TenantOAuthIdPConfigStatus defines the observed state of + TenantOAuthIdPConfig. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/identityplatform.gcp.jet.crossplane.io_tenants.yaml b/package/crds/identityplatform.gcp.jet.crossplane.io_tenants.yaml new file mode 100644 index 00000000..e1e12879 --- /dev/null +++ b/package/crds/identityplatform.gcp.jet.crossplane.io_tenants.yaml @@ -0,0 +1,185 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tenants.identityplatform.gcp.jet.crossplane.io +spec: + group: identityplatform.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Tenant + listKind: TenantList + plural: tenants + singular: tenant + 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: Tenant is the Schema for the Tenants 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: TenantSpec defines the desired state of Tenant + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + allowPasswordSignup: + description: Whether to allow email/password user authentication. + type: boolean + disableAuth: + description: Whether authentication is disabled for the tenant. + If true, the users under the disabled tenant are not allowed + to sign-in. Admins of the disabled tenant are not able to manage + its users. + type: boolean + displayName: + description: Human friendly display name of the tenant. + type: string + enableEmailLinkSignin: + description: Whether to enable email link user authentication. + type: boolean + project: + type: string + required: + - displayName + type: object + 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 + 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 + 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. + 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 + status: + description: TenantStatus defines the observed state of Tenant. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/kms.gcp.jet.crossplane.io_cryptokeyiambindings.yaml b/package/crds/kms.gcp.jet.crossplane.io_cryptokeyiambindings.yaml new file mode 100644 index 00000000..eead66bb --- /dev/null +++ b/package/crds/kms.gcp.jet.crossplane.io_cryptokeyiambindings.yaml @@ -0,0 +1,193 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: cryptokeyiambindings.kms.gcp.jet.crossplane.io +spec: + group: kms.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: CryptoKeyIAMBinding + listKind: CryptoKeyIAMBindingList + plural: cryptokeyiambindings + singular: cryptokeyiambinding + 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: CryptoKeyIAMBinding is the Schema for the CryptoKeyIAMBindings + 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: CryptoKeyIAMBindingSpec defines the desired state of CryptoKeyIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + cryptoKeyId: + type: string + members: + items: + type: string + type: array + role: + type: string + required: + - cryptoKeyId + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: CryptoKeyIAMBindingStatus defines the observed state of CryptoKeyIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/kms.gcp.jet.crossplane.io_cryptokeyiammembers.yaml b/package/crds/kms.gcp.jet.crossplane.io_cryptokeyiammembers.yaml new file mode 100644 index 00000000..67aa6bcf --- /dev/null +++ b/package/crds/kms.gcp.jet.crossplane.io_cryptokeyiammembers.yaml @@ -0,0 +1,191 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: cryptokeyiammembers.kms.gcp.jet.crossplane.io +spec: + group: kms.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: CryptoKeyIAMMember + listKind: CryptoKeyIAMMemberList + plural: cryptokeyiammembers + singular: cryptokeyiammember + 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: CryptoKeyIAMMember is the Schema for the CryptoKeyIAMMembers + 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: CryptoKeyIAMMemberSpec defines the desired state of CryptoKeyIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + cryptoKeyId: + type: string + member: + type: string + role: + type: string + required: + - cryptoKeyId + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: CryptoKeyIAMMemberStatus defines the observed state of CryptoKeyIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/kms.gcp.jet.crossplane.io_cryptokeyiampolicies.yaml b/package/crds/kms.gcp.jet.crossplane.io_cryptokeyiampolicies.yaml new file mode 100644 index 00000000..d7adcf51 --- /dev/null +++ b/package/crds/kms.gcp.jet.crossplane.io_cryptokeyiampolicies.yaml @@ -0,0 +1,174 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: cryptokeyiampolicies.kms.gcp.jet.crossplane.io +spec: + group: kms.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: CryptoKeyIAMPolicy + listKind: CryptoKeyIAMPolicyList + plural: cryptokeyiampolicies + singular: cryptokeyiampolicy + 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: CryptoKeyIAMPolicy is the Schema for the CryptoKeyIAMPolicys + 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: CryptoKeyIAMPolicySpec defines the desired state of CryptoKeyIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + cryptoKeyId: + type: string + policyData: + type: string + required: + - cryptoKeyId + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: CryptoKeyIAMPolicyStatus defines the observed state of CryptoKeyIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/kms.gcp.jet.crossplane.io_cryptokeys.yaml b/package/crds/kms.gcp.jet.crossplane.io_cryptokeys.yaml new file mode 100644 index 00000000..af970a30 --- /dev/null +++ b/package/crds/kms.gcp.jet.crossplane.io_cryptokeys.yaml @@ -0,0 +1,226 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: cryptokeys.kms.gcp.jet.crossplane.io +spec: + group: kms.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: CryptoKey + listKind: CryptoKeyList + plural: cryptokeys + singular: cryptokey + 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: CryptoKey is the Schema for the CryptoKeys 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: CryptoKeySpec defines the desired state of CryptoKey + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + destroyScheduledDuration: + description: The period of time that versions of this key spend + in the DESTROY_SCHEDULED state before transitioning to DESTROYED. + If not specified at creation time, the default duration is 24 + hours. + type: string + importOnly: + description: Whether this key may contain imported versions only. + type: boolean + keyRing: + description: 'The KeyRing that this key belongs to. Format: ''''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}''''.' + type: string + labels: + additionalProperties: + type: string + description: Labels with user-defined metadata to apply to this + resource. + type: object + name: + description: The resource name for the CryptoKey. + type: string + purpose: + description: 'The immutable purpose of this CryptoKey. See the + [purpose reference](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys#CryptoKeyPurpose) + for possible inputs. Default value: "ENCRYPT_DECRYPT" Possible + values: ["ENCRYPT_DECRYPT", "ASYMMETRIC_SIGN", "ASYMMETRIC_DECRYPT"]' + type: string + rotationPeriod: + description: Every time this period passes, generate a new CryptoKeyVersion + and set it as the primary. The first rotation will take place + after the specified period. The rotation period has the format + of a decimal number with up to 9 fractional digits, followed + by the letter 's' (seconds). It must be greater than a day (ie, + 86400). + type: string + skipInitialVersionCreation: + description: If set to true, the request will create a CryptoKey + without any CryptoKeyVersions. You must use the 'google_kms_key_ring_import_job' + resource to import the CryptoKeyVersion. + type: boolean + versionTemplate: + description: A template describing settings for new crypto key + versions. + items: + properties: + algorithm: + description: The algorithm to use when creating a version + based on this template. See the [algorithm reference](https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm) + for possible inputs. + type: string + protectionLevel: + description: The protection level to use when creating a + version based on this template. Possible values include + "SOFTWARE", "HSM", "EXTERNAL". Defaults to "SOFTWARE". + type: string + required: + - algorithm + type: object + type: array + required: + - keyRing + - name + type: object + 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 + 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 + 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. + 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 + status: + description: CryptoKeyStatus defines the observed state of CryptoKey. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/kms.gcp.jet.crossplane.io_keyringiambindings.yaml b/package/crds/kms.gcp.jet.crossplane.io_keyringiambindings.yaml new file mode 100644 index 00000000..3fa645a7 --- /dev/null +++ b/package/crds/kms.gcp.jet.crossplane.io_keyringiambindings.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: keyringiambindings.kms.gcp.jet.crossplane.io +spec: + group: kms.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: KeyRingIAMBinding + listKind: KeyRingIAMBindingList + plural: keyringiambindings + singular: keyringiambinding + 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: KeyRingIAMBinding is the Schema for the KeyRingIAMBindings 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: KeyRingIAMBindingSpec defines the desired state of KeyRingIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + keyRingId: + type: string + members: + items: + type: string + type: array + role: + type: string + required: + - keyRingId + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: KeyRingIAMBindingStatus defines the observed state of KeyRingIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/kms.gcp.jet.crossplane.io_keyringiammembers.yaml b/package/crds/kms.gcp.jet.crossplane.io_keyringiammembers.yaml new file mode 100644 index 00000000..a66aee14 --- /dev/null +++ b/package/crds/kms.gcp.jet.crossplane.io_keyringiammembers.yaml @@ -0,0 +1,190 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: keyringiammembers.kms.gcp.jet.crossplane.io +spec: + group: kms.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: KeyRingIAMMember + listKind: KeyRingIAMMemberList + plural: keyringiammembers + singular: keyringiammember + 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: KeyRingIAMMember is the Schema for the KeyRingIAMMembers 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: KeyRingIAMMemberSpec defines the desired state of KeyRingIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + keyRingId: + type: string + member: + type: string + role: + type: string + required: + - keyRingId + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: KeyRingIAMMemberStatus defines the observed state of KeyRingIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/kms.gcp.jet.crossplane.io_keyringiampolicies.yaml b/package/crds/kms.gcp.jet.crossplane.io_keyringiampolicies.yaml new file mode 100644 index 00000000..645de265 --- /dev/null +++ b/package/crds/kms.gcp.jet.crossplane.io_keyringiampolicies.yaml @@ -0,0 +1,173 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: keyringiampolicies.kms.gcp.jet.crossplane.io +spec: + group: kms.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: KeyRingIAMPolicy + listKind: KeyRingIAMPolicyList + plural: keyringiampolicies + singular: keyringiampolicy + 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: KeyRingIAMPolicy is the Schema for the KeyRingIAMPolicys 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: KeyRingIAMPolicySpec defines the desired state of KeyRingIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + keyRingId: + type: string + policyData: + type: string + required: + - keyRingId + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: KeyRingIAMPolicyStatus defines the observed state of KeyRingIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/kms.gcp.jet.crossplane.io_keyringimportjobs.yaml b/package/crds/kms.gcp.jet.crossplane.io_keyringimportjobs.yaml new file mode 100644 index 00000000..8bc79953 --- /dev/null +++ b/package/crds/kms.gcp.jet.crossplane.io_keyringimportjobs.yaml @@ -0,0 +1,209 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: keyringimportjobs.kms.gcp.jet.crossplane.io +spec: + group: kms.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: KeyRingImportJob + listKind: KeyRingImportJobList + plural: keyringimportjobs + singular: keyringimportjob + 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: KeyRingImportJob is the Schema for the KeyRingImportJobs 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: KeyRingImportJobSpec defines the desired state of KeyRingImportJob + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + importJobId: + description: It must be unique within a KeyRing and match the + regular expression [a-zA-Z0-9_-]{1,63} + type: string + importMethod: + description: 'The wrapping method to be used for incoming key + material. Possible values: ["RSA_OAEP_3072_SHA1_AES_256", "RSA_OAEP_4096_SHA1_AES_256"]' + type: string + keyRing: + description: 'The KeyRing that this import job belongs to. Format: + ''''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}''''.' + type: string + protectionLevel: + description: 'The protection level of the ImportJob. This must + match the protectionLevel of the versionTemplate on the CryptoKey + you attempt to import into. Possible values: ["SOFTWARE", "HSM", + "EXTERNAL"]' + type: string + required: + - importJobId + - importMethod + - keyRing + - protectionLevel + type: object + 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 + 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 + 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. + 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 + status: + description: KeyRingImportJobStatus defines the observed state of KeyRingImportJob. + properties: + atProvider: + properties: + attestation: + items: + properties: + content: + type: string + format: + type: string + type: object + type: array + expireTime: + type: string + id: + type: string + name: + type: string + publicKey: + items: + properties: + pem: + type: string + type: object + type: array + state: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/kms.gcp.jet.crossplane.io_keyrings.yaml b/package/crds/kms.gcp.jet.crossplane.io_keyrings.yaml new file mode 100644 index 00000000..7dad2db0 --- /dev/null +++ b/package/crds/kms.gcp.jet.crossplane.io_keyrings.yaml @@ -0,0 +1,176 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: keyrings.kms.gcp.jet.crossplane.io +spec: + group: kms.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: KeyRing + listKind: KeyRingList + plural: keyrings + singular: keyring + 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: KeyRing is the Schema for the KeyRings 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: KeyRingSpec defines the desired state of KeyRing + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + location: + description: The location for the KeyRing. A full list of valid + locations can be found by running 'gcloud kms locations list'. + type: string + name: + description: The resource name for the KeyRing. + type: string + project: + type: string + required: + - location + - name + type: object + 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 + 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 + 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. + 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 + status: + description: KeyRingStatus defines the observed state of KeyRing. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/kms.gcp.jet.crossplane.io_secretciphertexts.yaml b/package/crds/kms.gcp.jet.crossplane.io_secretciphertexts.yaml new file mode 100644 index 00000000..9e9d9e52 --- /dev/null +++ b/package/crds/kms.gcp.jet.crossplane.io_secretciphertexts.yaml @@ -0,0 +1,208 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: secretciphertexts.kms.gcp.jet.crossplane.io +spec: + group: kms.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SecretCiphertext + listKind: SecretCiphertextList + plural: secretciphertexts + singular: secretciphertext + 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: SecretCiphertext is the Schema for the SecretCiphertexts 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: SecretCiphertextSpec defines the desired state of SecretCiphertext + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + additionalAuthenticatedDataSecretRef: + description: The additional authenticated data used for integrity + checks during encryption and decryption. + 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 + cryptoKey: + description: 'The full name of the CryptoKey that will be used + to encrypt the provided plaintext. Format: ''''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}''''' + type: string + plaintextSecretRef: + description: The plaintext to be encrypted. + 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 + required: + - cryptoKey + - plaintextSecretRef + type: object + 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 + 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 + 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. + 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 + status: + description: SecretCiphertextStatus defines the observed state of SecretCiphertext. + properties: + atProvider: + properties: + ciphertext: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/logging.gcp.jet.crossplane.io_billingaccountbucketconfigs.yaml b/package/crds/logging.gcp.jet.crossplane.io_billingaccountbucketconfigs.yaml new file mode 100644 index 00000000..400804a2 --- /dev/null +++ b/package/crds/logging.gcp.jet.crossplane.io_billingaccountbucketconfigs.yaml @@ -0,0 +1,196 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: billingaccountbucketconfigs.logging.gcp.jet.crossplane.io +spec: + group: logging.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: BillingAccountBucketConfig + listKind: BillingAccountBucketConfigList + plural: billingaccountbucketconfigs + singular: billingaccountbucketconfig + 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: BillingAccountBucketConfig is the Schema for the BillingAccountBucketConfigs + 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: BillingAccountBucketConfigSpec defines the desired state + of BillingAccountBucketConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + billingAccount: + description: The parent resource that contains the logging bucket. + type: string + bucketId: + description: 'The name of the logging bucket. Logging automatically + creates two log buckets: _Required and _Default.' + type: string + description: + description: An optional description for this bucket. + type: string + location: + description: The location of the bucket. + type: string + retentionDays: + description: Logs will be retained by default for this amount + of time, after which they will automatically be deleted. The + minimum retention period is 1 day. If this value is set to zero + at bucket creation time, the default time of 30 days will be + used. + format: int64 + type: integer + required: + - billingAccount + - bucketId + - location + type: object + 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 + 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 + 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. + 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 + status: + description: BillingAccountBucketConfigStatus defines the observed state + of BillingAccountBucketConfig. + properties: + atProvider: + properties: + id: + type: string + lifecycleState: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/logging.gcp.jet.crossplane.io_billingaccountexclusions.yaml b/package/crds/logging.gcp.jet.crossplane.io_billingaccountexclusions.yaml new file mode 100644 index 00000000..5c71e9b2 --- /dev/null +++ b/package/crds/logging.gcp.jet.crossplane.io_billingaccountexclusions.yaml @@ -0,0 +1,187 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: billingaccountexclusions.logging.gcp.jet.crossplane.io +spec: + group: logging.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: BillingAccountExclusion + listKind: BillingAccountExclusionList + plural: billingaccountexclusions + singular: billingaccountexclusion + 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: BillingAccountExclusion is the Schema for the BillingAccountExclusions + 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: BillingAccountExclusionSpec defines the desired state of + BillingAccountExclusion + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + billingAccount: + type: string + description: + description: A human-readable description. + type: string + disabled: + description: Whether this exclusion rule should be disabled or + not. This defaults to false. + type: boolean + filter: + description: The filter to apply when excluding logs. Only log + entries that match the filter are excluded. + type: string + name: + description: The name of the logging exclusion. + type: string + required: + - billingAccount + - filter + - name + type: object + 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 + 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 + 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. + 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 + status: + description: BillingAccountExclusionStatus defines the observed state + of BillingAccountExclusion. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/logging.gcp.jet.crossplane.io_billingaccountsinks.yaml b/package/crds/logging.gcp.jet.crossplane.io_billingaccountsinks.yaml new file mode 100644 index 00000000..9ac98531 --- /dev/null +++ b/package/crds/logging.gcp.jet.crossplane.io_billingaccountsinks.yaml @@ -0,0 +1,243 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: billingaccountsinks.logging.gcp.jet.crossplane.io +spec: + group: logging.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: BillingAccountSink + listKind: BillingAccountSinkList + plural: billingaccountsinks + singular: billingaccountsink + 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: BillingAccountSink is the Schema for the BillingAccountSinks + 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: BillingAccountSinkSpec defines the desired state of BillingAccountSink + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bigqueryOptions: + description: Options that affect sinks exporting data to BigQuery. + items: + properties: + usePartitionedTables: + description: Whether to use BigQuery's partition tables. + By default, Logging creates dated tables based on the + log entries' timestamps, e.g. syslog_20170523. With partitioned + tables the date suffix is no longer present and special + query syntax has to be used instead. In both cases, tables + are sharded based on UTC timezone. + type: boolean + required: + - usePartitionedTables + type: object + type: array + billingAccount: + description: The billing account exported to the sink. + type: string + description: + description: A description of this sink. The maximum length of + the description is 8000 characters. + type: string + destination: + description: 'The destination of the sink (or, in other words, + where logs are written to). Can be a Cloud Storage bucket, a + PubSub topic, or a BigQuery dataset. Examples: "storage.googleapis.com/[GCS_BUCKET]" + "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" + "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" + The writer associated with the sink must have access to write + to the above resource.' + type: string + disabled: + description: If set to True, then this sink is disabled and it + does not export any log entries. + type: boolean + exclusions: + description: Log entries that match any of the exclusion filters + will not be exported. If a log entry is matched by both filter + and one of exclusion_filters it will not be exported. + items: + properties: + description: + description: A description of this exclusion. + type: string + disabled: + description: If set to True, then this exclusion is disabled + and it does not exclude any log entries + type: boolean + filter: + description: An advanced logs filter that matches the log + entries to be excluded. By using the sample function, + you can exclude less than 100% of the matching log entries + type: string + name: + description: A client-assigned identifier, such as "load-balancer-exclusion". + Identifiers are limited to 100 characters and can include + only letters, digits, underscores, hyphens, and periods. + First character has to be alphanumeric. + type: string + required: + - filter + - name + type: object + type: array + filter: + description: The filter to apply when exporting logs. Only log + entries that match the filter are exported. + type: string + name: + description: The name of the logging sink. + type: string + required: + - billingAccount + - destination + - name + type: object + 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 + 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 + 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. + 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 + status: + description: BillingAccountSinkStatus defines the observed state of BillingAccountSink. + properties: + atProvider: + properties: + id: + type: string + writerIdentity: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/logging.gcp.jet.crossplane.io_folderbucketconfigs.yaml b/package/crds/logging.gcp.jet.crossplane.io_folderbucketconfigs.yaml new file mode 100644 index 00000000..a9479bc8 --- /dev/null +++ b/package/crds/logging.gcp.jet.crossplane.io_folderbucketconfigs.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: folderbucketconfigs.logging.gcp.jet.crossplane.io +spec: + group: logging.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FolderBucketConfig + listKind: FolderBucketConfigList + plural: folderbucketconfigs + singular: folderbucketconfig + 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: FolderBucketConfig is the Schema for the FolderBucketConfigs + 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: FolderBucketConfigSpec defines the desired state of FolderBucketConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucketId: + description: 'The name of the logging bucket. Logging automatically + creates two log buckets: _Required and _Default.' + type: string + description: + description: An optional description for this bucket. + type: string + folder: + description: The parent resource that contains the logging bucket. + type: string + location: + description: The location of the bucket. + type: string + retentionDays: + description: Logs will be retained by default for this amount + of time, after which they will automatically be deleted. The + minimum retention period is 1 day. If this value is set to zero + at bucket creation time, the default time of 30 days will be + used. + format: int64 + type: integer + required: + - bucketId + - folder + - location + type: object + 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 + 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 + 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. + 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 + status: + description: FolderBucketConfigStatus defines the observed state of FolderBucketConfig. + properties: + atProvider: + properties: + id: + type: string + lifecycleState: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/logging.gcp.jet.crossplane.io_folderexclusions.yaml b/package/crds/logging.gcp.jet.crossplane.io_folderexclusions.yaml new file mode 100644 index 00000000..7cf580f3 --- /dev/null +++ b/package/crds/logging.gcp.jet.crossplane.io_folderexclusions.yaml @@ -0,0 +1,184 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: folderexclusions.logging.gcp.jet.crossplane.io +spec: + group: logging.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FolderExclusion + listKind: FolderExclusionList + plural: folderexclusions + singular: folderexclusion + 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: FolderExclusion is the Schema for the FolderExclusions 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: FolderExclusionSpec defines the desired state of FolderExclusion + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: A human-readable description. + type: string + disabled: + description: Whether this exclusion rule should be disabled or + not. This defaults to false. + type: boolean + filter: + description: The filter to apply when excluding logs. Only log + entries that match the filter are excluded. + type: string + folder: + type: string + name: + description: The name of the logging exclusion. + type: string + required: + - filter + - folder + - name + type: object + 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 + 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 + 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. + 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 + status: + description: FolderExclusionStatus defines the observed state of FolderExclusion. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/logging.gcp.jet.crossplane.io_foldersinks.yaml b/package/crds/logging.gcp.jet.crossplane.io_foldersinks.yaml new file mode 100644 index 00000000..2c7e797f --- /dev/null +++ b/package/crds/logging.gcp.jet.crossplane.io_foldersinks.yaml @@ -0,0 +1,249 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: foldersinks.logging.gcp.jet.crossplane.io +spec: + group: logging.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: FolderSink + listKind: FolderSinkList + plural: foldersinks + singular: foldersink + 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: FolderSink is the Schema for the FolderSinks 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: FolderSinkSpec defines the desired state of FolderSink + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bigqueryOptions: + description: Options that affect sinks exporting data to BigQuery. + items: + properties: + usePartitionedTables: + description: Whether to use BigQuery's partition tables. + By default, Logging creates dated tables based on the + log entries' timestamps, e.g. syslog_20170523. With partitioned + tables the date suffix is no longer present and special + query syntax has to be used instead. In both cases, tables + are sharded based on UTC timezone. + type: boolean + required: + - usePartitionedTables + type: object + type: array + description: + description: A description of this sink. The maximum length of + the description is 8000 characters. + type: string + destination: + description: 'The destination of the sink (or, in other words, + where logs are written to). Can be a Cloud Storage bucket, a + PubSub topic, or a BigQuery dataset. Examples: "storage.googleapis.com/[GCS_BUCKET]" + "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" + "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" + The writer associated with the sink must have access to write + to the above resource.' + type: string + disabled: + description: If set to True, then this sink is disabled and it + does not export any log entries. + type: boolean + exclusions: + description: Log entries that match any of the exclusion filters + will not be exported. If a log entry is matched by both filter + and one of exclusion_filters it will not be exported. + items: + properties: + description: + description: A description of this exclusion. + type: string + disabled: + description: If set to True, then this exclusion is disabled + and it does not exclude any log entries + type: boolean + filter: + description: An advanced logs filter that matches the log + entries to be excluded. By using the sample function, + you can exclude less than 100% of the matching log entries + type: string + name: + description: A client-assigned identifier, such as "load-balancer-exclusion". + Identifiers are limited to 100 characters and can include + only letters, digits, underscores, hyphens, and periods. + First character has to be alphanumeric. + type: string + required: + - filter + - name + type: object + type: array + filter: + description: The filter to apply when exporting logs. Only log + entries that match the filter are exported. + type: string + folder: + description: The folder to be exported to the sink. Note that + either [FOLDER_ID] or "folders/[FOLDER_ID]" is accepted. + type: string + includeChildren: + description: Whether or not to include children folders in the + sink export. If true, logs associated with child projects are + also exported; otherwise only logs relating to the provided + folder are included. + type: boolean + name: + description: The name of the logging sink. + type: string + required: + - destination + - folder + - name + type: object + 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 + 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 + 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. + 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 + status: + description: FolderSinkStatus defines the observed state of FolderSink. + properties: + atProvider: + properties: + id: + type: string + writerIdentity: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/logging.gcp.jet.crossplane.io_metrics.yaml b/package/crds/logging.gcp.jet.crossplane.io_metrics.yaml new file mode 100644 index 00000000..d235d0f9 --- /dev/null +++ b/package/crds/logging.gcp.jet.crossplane.io_metrics.yaml @@ -0,0 +1,332 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: metrics.logging.gcp.jet.crossplane.io +spec: + group: logging.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Metric + listKind: MetricList + plural: metrics + singular: metric + 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: Metric is the Schema for the Metrics 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: MetricSpec defines the desired state of Metric + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucketOptions: + description: The bucketOptions are required when the logs-based + metric is using a DISTRIBUTION value type and it describes the + bucket boundaries used to create a histogram of the extracted + values. + items: + properties: + explicitBuckets: + description: Specifies a set of buckets with arbitrary widths. + items: + properties: + bounds: + description: The values must be monotonically increasing. + items: + type: number + type: array + required: + - bounds + type: object + type: array + exponentialBuckets: + description: Specifies an exponential sequence of buckets + that have a width that is proportional to the value of + the lower bound. Each bucket represents a constant relative + uncertainty on a specific value in the bucket. + items: + properties: + growthFactor: + description: Must be greater than 1. + type: number + numFiniteBuckets: + description: Must be greater than 0. + format: int64 + type: integer + scale: + description: Must be greater than 0. + type: number + type: object + type: array + linearBuckets: + description: Specifies a linear sequence of buckets that + all have the same width (except overflow and underflow). + Each bucket represents a constant absolute uncertainty + on the specific value in the bucket. + items: + properties: + numFiniteBuckets: + description: Must be greater than 0. + format: int64 + type: integer + offset: + description: Lower bound of the first bucket. + type: number + width: + description: Must be greater than 0. + type: number + type: object + type: array + type: object + type: array + description: + description: A description of this metric, which is used in documentation. + The maximum length of the description is 8000 characters. + type: string + filter: + description: An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-filters) + which is used to match log entries. + type: string + labelExtractors: + additionalProperties: + type: string + description: A map from a label key string to an extractor expression + which is used to extract data from a log entry field and assign + as the label value. Each label key specified in the LabelDescriptor + must have an associated extractor expression in this map. The + syntax of the extractor expression is the same as for the valueExtractor + field. + type: object + metricDescriptor: + description: The metric descriptor associated with the logs-based + metric. + items: + properties: + displayName: + description: A concise name for the metric, which can be + displayed in user interfaces. Use sentence case without + an ending period, for example "Request count". This field + is optional but it is recommended to be set for any metrics + associated with user-visible concepts, such as Quota. + type: string + labels: + description: The set of labels that can be used to describe + a specific instance of this metric type. For example, + the appengine.googleapis.com/http/server/response_latencies + metric type has a label for the HTTP response code, response_code, + so you can look at latencies for successful responses + or just for responses that failed. + items: + properties: + description: + description: A human-readable description for the + label. + type: string + key: + description: The label key. + type: string + valueType: + description: 'The type of data that can be assigned + to the label. Default value: "STRING" Possible values: + ["BOOL", "INT64", "STRING"]' + type: string + required: + - key + type: object + type: array + metricKind: + description: 'Whether the metric records instantaneous values, + changes to a value, etc. Some combinations of metricKind + and valueType might not be supported. For counter metrics, + set this to DELTA. Possible values: ["DELTA", "GAUGE", + "CUMULATIVE"]' + type: string + unit: + description: The unit in which the metric value is reported. + It is only applicable if the valueType is 'INT64', 'DOUBLE', + or 'DISTRIBUTION'. The supported units are a subset of + [The Unified Code for Units of Measure](http://unitsofmeasure.org/ucum.html) + standard + type: string + valueType: + description: 'Whether the measurement is an integer, a floating-point + number, etc. Some combinations of metricKind and valueType + might not be supported. For counter metrics, set this + to INT64. Possible values: ["BOOL", "INT64", "DOUBLE", + "STRING", "DISTRIBUTION", "MONEY"]' + type: string + required: + - metricKind + - valueType + type: object + type: array + name: + description: The client-assigned metric identifier. Examples - + "error_count", "nginx/requests". Metric identifiers are limited + to 100 characters and can include only the following characters + A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. The + forward-slash character (/) denotes a hierarchy of name pieces, + and it cannot be the first character of the name. + type: string + project: + type: string + valueExtractor: + description: A valueExtractor is required when using a distribution + logs-based metric to extract the values to record from a log + entry. Two functions are supported for value extraction - EXTRACT(field) + or REGEXP_EXTRACT(field, regex). The argument are 1. field - + The name of the log entry field from which the value is to be + extracted. 2. regex - A regular expression using the Google + RE2 syntax (https://github.com/google/re2/wiki/Syntax) with + a single capture group to extract data from the specified log + entry field. The value of the field is converted to a string + before applying the regex. It is an error to specify a regex + that does not include exactly one capture group. + type: string + required: + - filter + - metricDescriptor + - name + type: object + 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 + 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 + 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. + 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 + status: + description: MetricStatus defines the observed state of Metric. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/logging.gcp.jet.crossplane.io_organizationbucketconfigs.yaml b/package/crds/logging.gcp.jet.crossplane.io_organizationbucketconfigs.yaml new file mode 100644 index 00000000..1addf07c --- /dev/null +++ b/package/crds/logging.gcp.jet.crossplane.io_organizationbucketconfigs.yaml @@ -0,0 +1,196 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: organizationbucketconfigs.logging.gcp.jet.crossplane.io +spec: + group: logging.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: OrganizationBucketConfig + listKind: OrganizationBucketConfigList + plural: organizationbucketconfigs + singular: organizationbucketconfig + 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: OrganizationBucketConfig is the Schema for the OrganizationBucketConfigs + 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: OrganizationBucketConfigSpec defines the desired state of + OrganizationBucketConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucketId: + description: 'The name of the logging bucket. Logging automatically + creates two log buckets: _Required and _Default.' + type: string + description: + description: An optional description for this bucket. + type: string + location: + description: The location of the bucket. + type: string + organization: + description: The parent resource that contains the logging bucket. + type: string + retentionDays: + description: Logs will be retained by default for this amount + of time, after which they will automatically be deleted. The + minimum retention period is 1 day. If this value is set to zero + at bucket creation time, the default time of 30 days will be + used. + format: int64 + type: integer + required: + - bucketId + - location + - organization + type: object + 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 + 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 + 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. + 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 + status: + description: OrganizationBucketConfigStatus defines the observed state + of OrganizationBucketConfig. + properties: + atProvider: + properties: + id: + type: string + lifecycleState: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/logging.gcp.jet.crossplane.io_organizationexclusions.yaml b/package/crds/logging.gcp.jet.crossplane.io_organizationexclusions.yaml new file mode 100644 index 00000000..b5605ca6 --- /dev/null +++ b/package/crds/logging.gcp.jet.crossplane.io_organizationexclusions.yaml @@ -0,0 +1,186 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: organizationexclusions.logging.gcp.jet.crossplane.io +spec: + group: logging.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: OrganizationExclusion + listKind: OrganizationExclusionList + plural: organizationexclusions + singular: organizationexclusion + 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: OrganizationExclusion is the Schema for the OrganizationExclusions + 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: OrganizationExclusionSpec defines the desired state of OrganizationExclusion + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: A human-readable description. + type: string + disabled: + description: Whether this exclusion rule should be disabled or + not. This defaults to false. + type: boolean + filter: + description: The filter to apply when excluding logs. Only log + entries that match the filter are excluded. + type: string + name: + description: The name of the logging exclusion. + type: string + orgId: + type: string + required: + - filter + - name + - orgId + type: object + 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 + 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 + 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. + 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 + status: + description: OrganizationExclusionStatus defines the observed state of + OrganizationExclusion. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/logging.gcp.jet.crossplane.io_organizationsinks.yaml b/package/crds/logging.gcp.jet.crossplane.io_organizationsinks.yaml new file mode 100644 index 00000000..6ddba573 --- /dev/null +++ b/package/crds/logging.gcp.jet.crossplane.io_organizationsinks.yaml @@ -0,0 +1,249 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: organizationsinks.logging.gcp.jet.crossplane.io +spec: + group: logging.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: OrganizationSink + listKind: OrganizationSinkList + plural: organizationsinks + singular: organizationsink + 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: OrganizationSink is the Schema for the OrganizationSinks 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: OrganizationSinkSpec defines the desired state of OrganizationSink + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bigqueryOptions: + description: Options that affect sinks exporting data to BigQuery. + items: + properties: + usePartitionedTables: + description: Whether to use BigQuery's partition tables. + By default, Logging creates dated tables based on the + log entries' timestamps, e.g. syslog_20170523. With partitioned + tables the date suffix is no longer present and special + query syntax has to be used instead. In both cases, tables + are sharded based on UTC timezone. + type: boolean + required: + - usePartitionedTables + type: object + type: array + description: + description: A description of this sink. The maximum length of + the description is 8000 characters. + type: string + destination: + description: 'The destination of the sink (or, in other words, + where logs are written to). Can be a Cloud Storage bucket, a + PubSub topic, or a BigQuery dataset. Examples: "storage.googleapis.com/[GCS_BUCKET]" + "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" + "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" + The writer associated with the sink must have access to write + to the above resource.' + type: string + disabled: + description: If set to True, then this sink is disabled and it + does not export any log entries. + type: boolean + exclusions: + description: Log entries that match any of the exclusion filters + will not be exported. If a log entry is matched by both filter + and one of exclusion_filters it will not be exported. + items: + properties: + description: + description: A description of this exclusion. + type: string + disabled: + description: If set to True, then this exclusion is disabled + and it does not exclude any log entries + type: boolean + filter: + description: An advanced logs filter that matches the log + entries to be excluded. By using the sample function, + you can exclude less than 100% of the matching log entries + type: string + name: + description: A client-assigned identifier, such as "load-balancer-exclusion". + Identifiers are limited to 100 characters and can include + only letters, digits, underscores, hyphens, and periods. + First character has to be alphanumeric. + type: string + required: + - filter + - name + type: object + type: array + filter: + description: The filter to apply when exporting logs. Only log + entries that match the filter are exported. + type: string + includeChildren: + description: Whether or not to include children organizations + in the sink export. If true, logs associated with child projects + are also exported; otherwise only logs relating to the provided + organization are included. + type: boolean + name: + description: The name of the logging sink. + type: string + orgId: + description: The numeric ID of the organization to be exported + to the sink. + type: string + required: + - destination + - name + - orgId + type: object + 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 + 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 + 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. + 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 + status: + description: OrganizationSinkStatus defines the observed state of OrganizationSink. + properties: + atProvider: + properties: + id: + type: string + writerIdentity: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/logging.gcp.jet.crossplane.io_projectbucketconfigs.yaml b/package/crds/logging.gcp.jet.crossplane.io_projectbucketconfigs.yaml new file mode 100644 index 00000000..7cea2471 --- /dev/null +++ b/package/crds/logging.gcp.jet.crossplane.io_projectbucketconfigs.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectbucketconfigs.logging.gcp.jet.crossplane.io +spec: + group: logging.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectBucketConfig + listKind: ProjectBucketConfigList + plural: projectbucketconfigs + singular: projectbucketconfig + 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: ProjectBucketConfig is the Schema for the ProjectBucketConfigs + 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: ProjectBucketConfigSpec defines the desired state of ProjectBucketConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucketId: + description: 'The name of the logging bucket. Logging automatically + creates two log buckets: _Required and _Default.' + type: string + description: + description: An optional description for this bucket. + type: string + location: + description: The location of the bucket. + type: string + project: + description: The parent project that contains the logging bucket. + type: string + retentionDays: + description: Logs will be retained by default for this amount + of time, after which they will automatically be deleted. The + minimum retention period is 1 day. If this value is set to zero + at bucket creation time, the default time of 30 days will be + used. + format: int64 + type: integer + required: + - bucketId + - location + - project + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectBucketConfigStatus defines the observed state of ProjectBucketConfig. + properties: + atProvider: + properties: + id: + type: string + lifecycleState: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/logging.gcp.jet.crossplane.io_projectexclusions.yaml b/package/crds/logging.gcp.jet.crossplane.io_projectexclusions.yaml new file mode 100644 index 00000000..b1d16511 --- /dev/null +++ b/package/crds/logging.gcp.jet.crossplane.io_projectexclusions.yaml @@ -0,0 +1,183 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectexclusions.logging.gcp.jet.crossplane.io +spec: + group: logging.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectExclusion + listKind: ProjectExclusionList + plural: projectexclusions + singular: projectexclusion + 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: ProjectExclusion is the Schema for the ProjectExclusions 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: ProjectExclusionSpec defines the desired state of ProjectExclusion + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: A human-readable description. + type: string + disabled: + description: Whether this exclusion rule should be disabled or + not. This defaults to false. + type: boolean + filter: + description: The filter to apply when excluding logs. Only log + entries that match the filter are excluded. + type: string + name: + description: The name of the logging exclusion. + type: string + project: + type: string + required: + - filter + - name + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectExclusionStatus defines the observed state of ProjectExclusion. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/logging.gcp.jet.crossplane.io_projectsinks.yaml b/package/crds/logging.gcp.jet.crossplane.io_projectsinks.yaml new file mode 100644 index 00000000..aa3dac71 --- /dev/null +++ b/package/crds/logging.gcp.jet.crossplane.io_projectsinks.yaml @@ -0,0 +1,250 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: projectsinks.logging.gcp.jet.crossplane.io +spec: + group: logging.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ProjectSink + listKind: ProjectSinkList + plural: projectsinks + singular: projectsink + 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: ProjectSink is the Schema for the ProjectSinks 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: ProjectSinkSpec defines the desired state of ProjectSink + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bigqueryOptions: + description: Options that affect sinks exporting data to BigQuery. + items: + properties: + usePartitionedTables: + description: Whether to use BigQuery's partition tables. + By default, Logging creates dated tables based on the + log entries' timestamps, e.g. syslog_20170523. With partitioned + tables the date suffix is no longer present and special + query syntax has to be used instead. In both cases, tables + are sharded based on UTC timezone. + type: boolean + required: + - usePartitionedTables + type: object + type: array + description: + description: A description of this sink. The maximum length of + the description is 8000 characters. + type: string + destination: + description: 'The destination of the sink (or, in other words, + where logs are written to). Can be a Cloud Storage bucket, a + PubSub topic, or a BigQuery dataset. Examples: "storage.googleapis.com/[GCS_BUCKET]" + "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" + "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" + The writer associated with the sink must have access to write + to the above resource.' + type: string + disabled: + description: If set to True, then this sink is disabled and it + does not export any log entries. + type: boolean + exclusions: + description: Log entries that match any of the exclusion filters + will not be exported. If a log entry is matched by both filter + and one of exclusion_filters it will not be exported. + items: + properties: + description: + description: A description of this exclusion. + type: string + disabled: + description: If set to True, then this exclusion is disabled + and it does not exclude any log entries + type: boolean + filter: + description: An advanced logs filter that matches the log + entries to be excluded. By using the sample function, + you can exclude less than 100% of the matching log entries + type: string + name: + description: A client-assigned identifier, such as "load-balancer-exclusion". + Identifiers are limited to 100 characters and can include + only letters, digits, underscores, hyphens, and periods. + First character has to be alphanumeric. + type: string + required: + - filter + - name + type: object + type: array + filter: + description: The filter to apply when exporting logs. Only log + entries that match the filter are exported. + type: string + name: + description: The name of the logging sink. + type: string + project: + description: The ID of the project to create the sink in. If omitted, + the project associated with the provider is used. + type: string + uniqueWriterIdentity: + description: Whether or not to create a unique identity associated + with this sink. If false (the default), then the writer_identity + used is serviceAccount:cloud-logs@system.gserviceaccount.com. + If true, then a unique service account is created and used for + this sink. If you wish to publish logs across projects, you + must set unique_writer_identity to true. + type: boolean + required: + - destination + - name + type: object + 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 + 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 + 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. + 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 + status: + description: ProjectSinkStatus defines the observed state of ProjectSink. + properties: + atProvider: + properties: + id: + type: string + writerIdentity: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/memcache.gcp.jet.crossplane.io_instances.yaml b/package/crds/memcache.gcp.jet.crossplane.io_instances.yaml new file mode 100644 index 00000000..2e79fb3f --- /dev/null +++ b/package/crds/memcache.gcp.jet.crossplane.io_instances.yaml @@ -0,0 +1,259 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instances.memcache.gcp.jet.crossplane.io +spec: + group: memcache.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Instance + listKind: InstanceList + plural: instances + singular: instance + 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: Instance is the Schema for the Instances 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: InstanceSpec defines the desired state of Instance + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + authorizedNetwork: + description: The full name of the GCE network to connect the instance + to. If not provided, 'default' will be used. + type: string + displayName: + description: A user-visible name for the instance. + type: string + labels: + additionalProperties: + type: string + description: Resource labels to represent user-provided metadata. + type: object + memcacheParameters: + description: User-specified parameters for this memcache instance. + items: + properties: + params: + additionalProperties: + type: string + description: User-defined set of parameters to use in the + memcache process. + type: object + type: object + type: array + memcacheVersion: + description: 'The major version of Memcached software. If not + provided, latest supported version will be used. Currently the + latest supported major version is MEMCACHE_1_5. The minor version + will be automatically determined by our system based on the + latest supported minor version. Default value: "MEMCACHE_1_5" + Possible values: ["MEMCACHE_1_5"]' + type: string + name: + description: The resource name of the instance. + type: string + nodeConfig: + description: Configuration for memcache nodes. + items: + properties: + cpuCount: + description: Number of CPUs per node. + format: int64 + type: integer + memorySizeMb: + description: Memory size in Mebibytes for each memcache + node. + format: int64 + type: integer + required: + - cpuCount + - memorySizeMb + type: object + type: array + nodeCount: + description: Number of nodes in the memcache instance. + format: int64 + type: integer + project: + type: string + region: + description: The region of the Memcache instance. If it is not + provided, the provider region is used. + type: string + zones: + description: Zones where memcache nodes should be provisioned. If + not provided, all zones will be used. + items: + type: string + type: array + required: + - name + - nodeConfig + - nodeCount + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceStatus defines the observed state of Instance. + properties: + atProvider: + properties: + createTime: + type: string + discoveryEndpoint: + type: string + id: + type: string + memcacheFullVersion: + type: string + memcacheNodes: + items: + properties: + host: + type: string + nodeId: + type: string + port: + format: int64 + type: integer + state: + type: string + zone: + type: string + type: object + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/mlengine.gcp.jet.crossplane.io_models.yaml b/package/crds/mlengine.gcp.jet.crossplane.io_models.yaml new file mode 100644 index 00000000..25cbd46a --- /dev/null +++ b/package/crds/mlengine.gcp.jet.crossplane.io_models.yaml @@ -0,0 +1,209 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: models.mlengine.gcp.jet.crossplane.io +spec: + group: mlengine.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Model + listKind: ModelList + plural: models + singular: model + 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: Model is the Schema for the Models 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: ModelSpec defines the desired state of Model + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + defaultVersion: + description: The default version of the model. This version will + be used to handle prediction requests that do not specify a + version. + items: + properties: + name: + description: The name specified for the version when it + was created. + type: string + required: + - name + type: object + type: array + description: + description: The description specified for the model when it was + created. + type: string + labels: + additionalProperties: + type: string + description: One or more labels that you can add, to organize + your models. + type: object + name: + description: The name specified for the model. + type: string + onlinePredictionConsoleLogging: + description: If true, online prediction nodes send stderr and + stdout streams to Stackdriver Logging + type: boolean + onlinePredictionLogging: + description: If true, online prediction access logs are sent to + StackDriver Logging. + type: boolean + project: + type: string + regions: + description: The list of regions where the model is going to be + deployed. Currently only one region per model is supported + items: + type: string + type: array + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: ModelStatus defines the observed state of Model. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/monitoring.gcp.jet.crossplane.io_customservices.yaml b/package/crds/monitoring.gcp.jet.crossplane.io_customservices.yaml new file mode 100644 index 00000000..b33c36f9 --- /dev/null +++ b/package/crds/monitoring.gcp.jet.crossplane.io_customservices.yaml @@ -0,0 +1,185 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: customservices.monitoring.gcp.jet.crossplane.io +spec: + group: monitoring.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: CustomService + listKind: CustomServiceList + plural: customservices + singular: customservice + 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: CustomService is the Schema for the CustomServices 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: CustomServiceSpec defines the desired state of CustomService + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + displayName: + description: Name used for UI elements listing this Service. + type: string + project: + type: string + serviceId: + description: An optional service ID to use. If not given, the + server will generate a service ID. + type: string + telemetry: + description: Configuration for how to query telemetry on a Service. + items: + properties: + resourceName: + description: The full name of the resource that defines + this service. Formatted as described in https://cloud.google.com/apis/design/resource_names. + type: string + type: object + type: array + type: object + 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 + 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 + 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. + 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 + status: + description: CustomServiceStatus defines the observed state of CustomService. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/monitoring.gcp.jet.crossplane.io_dashboards.yaml b/package/crds/monitoring.gcp.jet.crossplane.io_dashboards.yaml new file mode 100644 index 00000000..de986692 --- /dev/null +++ b/package/crds/monitoring.gcp.jet.crossplane.io_dashboards.yaml @@ -0,0 +1,174 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: dashboards.monitoring.gcp.jet.crossplane.io +spec: + group: monitoring.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Dashboard + listKind: DashboardList + plural: dashboards + singular: dashboard + 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: Dashboard is the Schema for the Dashboards 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: DashboardSpec defines the desired state of Dashboard + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dashboardJson: + description: The JSON representation of a dashboard, following + the format at https://cloud.google.com/monitoring/api/ref_v3/rest/v1/projects.dashboards. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + required: + - dashboardJson + type: object + 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 + 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 + 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. + 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 + status: + description: DashboardStatus defines the observed state of Dashboard. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/monitoring.gcp.jet.crossplane.io_groups.yaml b/package/crds/monitoring.gcp.jet.crossplane.io_groups.yaml new file mode 100644 index 00000000..b0cb35e3 --- /dev/null +++ b/package/crds/monitoring.gcp.jet.crossplane.io_groups.yaml @@ -0,0 +1,189 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: groups.monitoring.gcp.jet.crossplane.io +spec: + group: monitoring.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Group + listKind: GroupList + plural: groups + singular: group + 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: Group is the Schema for the Groups 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: GroupSpec defines the desired state of Group + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + displayName: + description: A user-assigned name for this group, used only for + display purposes. + type: string + filter: + description: The filter used to determine which monitored resources + belong to this group. + type: string + isCluster: + description: If true, the members of this group are considered + to be a cluster. The system can perform additional analysis + on groups that are clusters. + type: boolean + parentName: + description: The name of the group's parent, if it has one. The + format is "projects/{project_id_or_number}/groups/{group_id}". + For groups with no parent, parentName is the empty string, "". + type: string + project: + type: string + required: + - displayName + - filter + type: object + 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 + 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 + 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. + 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 + status: + description: GroupStatus defines the observed state of Group. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/monitoring.gcp.jet.crossplane.io_metricdescriptors.yaml b/package/crds/monitoring.gcp.jet.crossplane.io_metricdescriptors.yaml new file mode 100644 index 00000000..d1eb7ced --- /dev/null +++ b/package/crds/monitoring.gcp.jet.crossplane.io_metricdescriptors.yaml @@ -0,0 +1,282 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: metricdescriptors.monitoring.gcp.jet.crossplane.io +spec: + group: monitoring.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: MetricDescriptor + listKind: MetricDescriptorList + plural: metricdescriptors + singular: metricdescriptor + 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: MetricDescriptor is the Schema for the MetricDescriptors 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: MetricDescriptorSpec defines the desired state of MetricDescriptor + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: A detailed description of the metric, which can be + used in documentation. + type: string + displayName: + description: A concise name for the metric, which can be displayed + in user interfaces. Use sentence case without an ending period, + for example "Request count". + type: string + labels: + description: The set of labels that can be used to describe a + specific instance of this metric type. In order to delete a + label, the entire resource must be deleted, then created with + the desired labels. + items: + properties: + description: + description: A human-readable description for the label. + type: string + key: + description: The key for this label. The key must not exceed + 100 characters. The first character of the key must be + an upper- or lower-case letter, the remaining characters + must be letters, digits or underscores, and the key must + match the regular expression [a-zA-Z][a-zA-Z0-9_]* + type: string + valueType: + description: 'The type of data that can be assigned to the + label. Default value: "STRING" Possible values: ["STRING", + "BOOL", "INT64"]' + type: string + required: + - key + type: object + type: array + launchStage: + description: 'The launch stage of the metric definition. Possible + values: ["LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", + "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED"]' + type: string + metadata: + description: Metadata which can be used to guide usage of the + metric. + items: + properties: + ingestDelay: + description: The delay of data points caused by ingestion. + Data points older than this age are guaranteed to be ingested + and available to be read, excluding data loss due to errors. + In '[duration format](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf?&_ga=2.264881487.1507873253.1593446723-935052455.1591817775#google.protobuf.Duration)'. + type: string + samplePeriod: + description: The sampling period of metric data points. + For metrics which are written periodically, consecutive + data points are stored at this time interval, excluding + data loss due to errors. Metrics with a higher granularity + have a smaller sampling period. In '[duration format](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf?&_ga=2.264881487.1507873253.1593446723-935052455.1591817775#google.protobuf.Duration)'. + type: string + type: object + type: array + metricKind: + description: 'Whether the metric records instantaneous values, + changes to a value, etc. Some combinations of metricKind and + valueType might not be supported. Possible values: ["METRIC_KIND_UNSPECIFIED", + "GAUGE", "DELTA", "CUMULATIVE"]' + type: string + project: + type: string + type: + description: The metric type, including its DNS name prefix. The + type is not URL-encoded. All service defined metrics must be + prefixed with the service name, in the format of {service name}/{relative + metric name}, such as cloudsql.googleapis.com/database/cpu/utilization. + The relative metric name must have only upper and lower-case + letters, digits, '/' and underscores '_' are allowed. Additionally, + the maximum number of characters allowed for the relative_metric_name + is 100. All user-defined metric types have the DNS name custom.googleapis.com, + external.googleapis.com, or logging.googleapis.com/user/. + type: string + unit: + description: "The units in which the metric value is reported. + It is only applicable if the valueType is INT64, DOUBLE, or + DISTRIBUTION. The unit defines the representation of the stored + metric values. \n Different systems may scale the values to + be more easily displayed (so a value of 0.02KBy might be displayed + as 20By, and a value of 3523KBy might be displayed as 3.5MBy). + However, if the unit is KBy, then the value of the metric is + always in thousands of bytes, no matter how it may be displayed. + \n If you want a custom metric to record the exact number of + CPU-seconds used by a job, you can create an INT64 CUMULATIVE + metric whose unit is s{CPU} (or equivalently 1s{CPU} or just + s). If the job uses 12,005 CPU-seconds, then the value is written + as 12005. \n Alternatively, if you want a custom metric to record + data in a more granular way, you can create a DOUBLE CUMULATIVE + metric whose unit is ks{CPU}, and then write the value 12.005 + (which is 12005/1000), or use Kis{CPU} and write 11.723 (which + is 12005/1024). The supported units are a subset of The Unified + Code for Units of Measure standard. More info can be found in + the API documentation (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)." + type: string + valueType: + description: 'Whether the measurement is an integer, a floating-point + number, etc. Some combinations of metricKind and valueType might + not be supported. Possible values: ["BOOL", "INT64", "DOUBLE", + "STRING", "DISTRIBUTION"]' + type: string + required: + - description + - displayName + - metricKind + - type + - valueType + type: object + 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 + 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 + 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. + 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 + status: + description: MetricDescriptorStatus defines the observed state of MetricDescriptor. + properties: + atProvider: + properties: + id: + type: string + monitoredResourceTypes: + items: + type: string + type: array + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/monitoring.gcp.jet.crossplane.io_sloes.yaml b/package/crds/monitoring.gcp.jet.crossplane.io_sloes.yaml new file mode 100644 index 00000000..519bad9b --- /dev/null +++ b/package/crds/monitoring.gcp.jet.crossplane.io_sloes.yaml @@ -0,0 +1,649 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: sloes.monitoring.gcp.jet.crossplane.io +spec: + group: monitoring.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SLO + listKind: SLOList + plural: sloes + singular: slo + 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: SLO is the Schema for the SLOs 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: SLOSpec defines the desired state of SLO + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + basicSli: + description: "Basic Service-Level Indicator (SLI) on a well-known + service type. Performance will be computed on the basis of pre-defined + metrics. \n SLIs are used to measure and calculate the quality + of the Service's performance with respect to a single aspect + of service quality. \n Exactly one of the following must be + set: 'basic_sli', 'request_based_sli', 'windows_based_sli'" + items: + properties: + availability: + description: Availability based SLI, dervied from count + of requests made to this service that return successfully. + items: + properties: + enabled: + description: Whether an availability SLI is enabled + or not. Must be set to true. Defaults to 'true'. + type: boolean + type: object + type: array + latency: + description: Parameters for a latency threshold SLI. + items: + properties: + threshold: + description: A duration string, e.g. 10s. Good service + is defined to be the count of requests made to this + service that return in no more than threshold. + type: string + required: + - threshold + type: object + type: array + location: + description: An optional set of locations to which this + SLI is relevant. Telemetry from other locations will not + be used to calculate performance for this SLI. If omitted, + this SLI applies to all locations in which the Service + has activity. For service types that don't support breaking + down by location, setting this field will result in an + error. + items: + type: string + type: array + method: + description: An optional set of RPCs to which this SLI is + relevant. Telemetry from other methods will not be used + to calculate performance for this SLI. If omitted, this + SLI applies to all the Service's methods. For service + types that don't support breaking down by method, setting + this field will result in an error. + items: + type: string + type: array + version: + description: The set of API versions to which this SLI is + relevant. Telemetry from other API versions will not be + used to calculate performance for this SLI. If omitted, + this SLI applies to all API versions. For service types + that don't support breaking down by version, setting this + field will result in an error. + items: + type: string + type: array + type: object + type: array + calendarPeriod: + description: 'A calendar period, semantically "since the start + of the current ". Possible values: ["DAY", "WEEK", + "FORTNIGHT", "MONTH"]' + type: string + displayName: + description: Name used for UI elements listing this SLO. + type: string + goal: + description: The fraction of service that must be good in order + for this objective to be met. 0 < goal <= 0.999 + type: number + project: + type: string + requestBasedSli: + description: "A request-based SLI defines a SLI for which atomic + units of service are counted directly. \n A SLI describes a + good service. It is used to measure and calculate the quality + of the Service's performance with respect to a single aspect + of service quality. Exactly one of the following must be set: + 'basic_sli', 'request_based_sli', 'windows_based_sli'" + items: + properties: + distributionCut: + description: "Used when good_service is defined by a count + of values aggregated in a Distribution that fall into + a good range. The total_service is the total count of + all values aggregated in the Distribution. Defines a distribution + TimeSeries filter and thresholds used for measuring good + service and total service. \n Exactly one of 'distribution_cut' + or 'good_total_ratio' can be set." + items: + properties: + distributionFilter: + description: "A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + aggregating values to quantify the good service + provided. \n Must have ValueType = DISTRIBUTION + and MetricKind = DELTA or MetricKind = CUMULATIVE." + type: string + range: + description: Range of numerical values. The computed + good_service will be the count of values x in the + Distribution such that range.min <= x <= range.max. + inclusive of min and max. Open ranges can be defined + by setting just one of min or max. + items: + properties: + max: + description: max value for the range (inclusive). + If not given, will be set to "infinity", defining + an open range ">= range.min" + type: number + min: + description: Min value for the range (inclusive). + If not given, will be set to "-infinity", + defining an open range "< range.max" + type: number + type: object + type: array + required: + - distributionFilter + - range + type: object + type: array + goodTotalRatio: + description: "A means to compute a ratio of 'good_service' + to 'total_service'. Defines computing this ratio with + two TimeSeries [monitoring filters](https://cloud.google.com/monitoring/api/v3/filters) + Must specify exactly two of good, bad, and total service + filters. The relationship good_service + bad_service = + total_service will be assumed. \n Exactly one of 'distribution_cut' + or 'good_total_ratio' can be set." + items: + properties: + badServiceFilter: + description: "A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + quantifying bad service provided, either demanded + service that was not provided or demanded service + that was of inadequate quality. \n Must have ValueType + = DOUBLE or ValueType = INT64 and must have MetricKind + = DELTA or MetricKind = CUMULATIVE. \n Exactly two + of 'good_service_filter','bad_service_filter','total_service_filter' + must be set (good + bad = total is assumed)." + type: string + goodServiceFilter: + description: "A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + quantifying good service provided. Must have ValueType + = DOUBLE or ValueType = INT64 and must have MetricKind + = DELTA or MetricKind = CUMULATIVE. \n Exactly two + of 'good_service_filter','bad_service_filter','total_service_filter' + must be set (good + bad = total is assumed)." + type: string + totalServiceFilter: + description: "A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + quantifying total demanded service. \n Must have + ValueType = DOUBLE or ValueType = INT64 and must + have MetricKind = DELTA or MetricKind = CUMULATIVE. + \n Exactly two of 'good_service_filter','bad_service_filter','total_service_filter' + must be set (good + bad = total is assumed)." + type: string + type: object + type: array + type: object + type: array + rollingPeriodDays: + description: A rolling time period, semantically "in the past + X days". Must be between 1 to 30 days, inclusive. + format: int64 + type: integer + service: + description: ID of the service to which this SLO belongs. + type: string + sloId: + description: The id to use for this ServiceLevelObjective. If + omitted, an id will be generated instead. + type: string + windowsBasedSli: + description: "A windows-based SLI defines the criteria for time + windows. good_service is defined based off the count of these + time windows for which the provided service was of good quality. + \n A SLI describes a good service. It is used to measure and + calculate the quality of the Service's performance with respect + to a single aspect of service quality. \n Exactly one of the + following must be set: 'basic_sli', 'request_based_sli', 'windows_based_sli'" + items: + properties: + goodBadMetricFilter: + description: A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + with ValueType = BOOL. The window is good if any true + values appear in the window. One of 'good_bad_metric_filter', + 'good_total_ratio_threshold', 'metric_mean_in_range', + 'metric_sum_in_range' must be set for 'windows_based_sli'. + type: string + goodTotalRatioThreshold: + description: Criterion that describes a window as good if + its performance is high enough. One of 'good_bad_metric_filter', + 'good_total_ratio_threshold', 'metric_mean_in_range', + 'metric_sum_in_range' must be set for 'windows_based_sli'. + items: + properties: + basicSliPerformance: + description: Basic SLI to evaluate to judge window + quality. + items: + properties: + availability: + description: Availability based SLI, dervied + from count of requests made to this service + that return successfully. + items: + properties: + enabled: + description: Whether an availability SLI + is enabled or not. Must be set to 'true. + Defaults to 'true'. + type: boolean + type: object + type: array + latency: + description: Parameters for a latency threshold + SLI. + items: + properties: + threshold: + description: A duration string, e.g. 10s. + Good service is defined to be the count + of requests made to this service that + return in no more than threshold. + type: string + required: + - threshold + type: object + type: array + location: + description: An optional set of locations to + which this SLI is relevant. Telemetry from + other locations will not be used to calculate + performance for this SLI. If omitted, this + SLI applies to all locations in which the + Service has activity. For service types that + don't support breaking down by location, setting + this field will result in an error. + items: + type: string + type: array + method: + description: An optional set of RPCs to which + this SLI is relevant. Telemetry from other + methods will not be used to calculate performance + for this SLI. If omitted, this SLI applies + to all the Service's methods. For service + types that don't support breaking down by + method, setting this field will result in + an error. + items: + type: string + type: array + version: + description: The set of API versions to which + this SLI is relevant. Telemetry from other + API versions will not be used to calculate + performance for this SLI. If omitted, this + SLI applies to all API versions. For service + types that don't support breaking down by + version, setting this field will result in + an error. + items: + type: string + type: array + type: object + type: array + performance: + description: Request-based SLI to evaluate to judge + window quality. + items: + properties: + distributionCut: + description: Used when good_service is defined + by a count of values aggregated in a Distribution + that fall into a good range. The total_service + is the total count of all values aggregated + in the Distribution. Defines a distribution + TimeSeries filter and thresholds used for + measuring good service and total service. + items: + properties: + distributionFilter: + description: "A TimeSeries [monitoring + filter](https://cloud.google.com/monitoring/api/v3/filters) + aggregating values to quantify the good + service provided. \n Must have ValueType + = DISTRIBUTION and MetricKind = DELTA + or MetricKind = CUMULATIVE." + type: string + range: + description: Range of numerical values. + The computed good_service will be the + count of values x in the Distribution + such that range.min <= x <= range.max. + inclusive of min and max. Open ranges + can be defined by setting just one of + min or max. + items: + properties: + max: + description: max value for the range + (inclusive). If not given, will + be set to "infinity", defining + an open range ">= range.min" + type: number + min: + description: Min value for the range + (inclusive). If not given, will + be set to "-infinity", defining + an open range "< range.max" + type: number + type: object + type: array + required: + - distributionFilter + - range + type: object + type: array + goodTotalRatio: + description: A means to compute a ratio of 'good_service' + to 'total_service'. Defines computing this + ratio with two TimeSeries [monitoring filters](https://cloud.google.com/monitoring/api/v3/filters) + Must specify exactly two of good, bad, and + total service filters. The relationship good_service + + bad_service = total_service will be assumed. + items: + properties: + badServiceFilter: + description: "A TimeSeries [monitoring + filter](https://cloud.google.com/monitoring/api/v3/filters) + quantifying bad service provided, either + demanded service that was not provided + or demanded service that was of inadequate + quality. Exactly two of good, bad, or + total service filter must be defined + (where good + bad = total is assumed) + \n Must have ValueType = DOUBLE or ValueType + = INT64 and must have MetricKind = DELTA + or MetricKind = CUMULATIVE." + type: string + goodServiceFilter: + description: "A TimeSeries [monitoring + filter](https://cloud.google.com/monitoring/api/v3/filters) + quantifying good service provided. Exactly + two of good, bad, or total service filter + must be defined (where good + bad = + total is assumed) \n Must have ValueType + = DOUBLE or ValueType = INT64 and must + have MetricKind = DELTA or MetricKind + = CUMULATIVE." + type: string + totalServiceFilter: + description: "A TimeSeries [monitoring + filter](https://cloud.google.com/monitoring/api/v3/filters) + quantifying total demanded service. + Exactly two of good, bad, or total service + filter must be defined (where good + + bad = total is assumed) \n Must have + ValueType = DOUBLE or ValueType = INT64 + and must have MetricKind = DELTA or + MetricKind = CUMULATIVE." + type: string + type: object + type: array + type: object + type: array + threshold: + description: If window performance >= threshold, the + window is counted as good. + type: number + type: object + type: array + metricMeanInRange: + description: "Criterion that describes a window as good + if the metric's value is in a good range, *averaged* across + returned streams. One of 'good_bad_metric_filter', \n + 'good_total_ratio_threshold', 'metric_mean_in_range', + 'metric_sum_in_range' must be set for 'windows_based_sli'. + Average value X of 'time_series' should satisfy 'range.min + <= X <= range.max' for a good window." + items: + properties: + range: + description: Range of numerical values. The computed + good_service will be the count of values x in the + Distribution such that range.min <= x <= range.max. + inclusive of min and max. Open ranges can be defined + by setting just one of min or max. Mean value 'X' + of 'time_series' values should satisfy 'range.min + <= X <= range.max' for a good service. + items: + properties: + max: + description: max value for the range (inclusive). + If not given, will be set to "infinity", defining + an open range ">= range.min" + type: number + min: + description: Min value for the range (inclusive). + If not given, will be set to "-infinity", + defining an open range "< range.max" + type: number + type: object + type: array + timeSeries: + description: A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + specifying the TimeSeries to use for evaluating + window The provided TimeSeries must have ValueType + = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. + Mean value 'X' should satisfy 'range.min <= X <= + range.max' under good service. + type: string + required: + - range + - timeSeries + type: object + type: array + metricSumInRange: + description: "Criterion that describes a window as good + if the metric's value is in a good range, *summed* across + returned streams. Summed value 'X' of 'time_series' should + satisfy 'range.min <= X <= range.max' for a good window. + \n One of 'good_bad_metric_filter', 'good_total_ratio_threshold', + 'metric_mean_in_range', 'metric_sum_in_range' must be + set for 'windows_based_sli'." + items: + properties: + range: + description: Range of numerical values. The computed + good_service will be the count of values x in the + Distribution such that range.min <= x <= range.max. + inclusive of min and max. Open ranges can be defined + by setting just one of min or max. Summed value + 'X' should satisfy 'range.min <= X <= range.max' + for a good window. + items: + properties: + max: + description: max value for the range (inclusive). + If not given, will be set to "infinity", defining + an open range ">= range.min" + type: number + min: + description: Min value for the range (inclusive). + If not given, will be set to "-infinity", + defining an open range "< range.max" + type: number + type: object + type: array + timeSeries: + description: "A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) + specifying the TimeSeries to use for evaluating + window quality. The provided TimeSeries must have + ValueType = INT64 or ValueType = DOUBLE and MetricKind + = GAUGE. \n Summed value 'X' should satisfy 'range.min + <= X <= range.max' for a good window." + type: string + required: + - range + - timeSeries + type: object + type: array + windowPeriod: + description: Duration over which window quality is evaluated, + given as a duration string "{X}s" representing X seconds. + Must be an integer fraction of a day and at least 60s. + type: string + type: object + type: array + required: + - goal + - service + type: object + 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 + 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 + 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. + 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 + status: + description: SLOStatus defines the observed state of SLO. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/networkmanagement.gcp.jet.crossplane.io_connectivitytests.yaml b/package/crds/networkmanagement.gcp.jet.crossplane.io_connectivitytests.yaml new file mode 100644 index 00000000..e469739f --- /dev/null +++ b/package/crds/networkmanagement.gcp.jet.crossplane.io_connectivitytests.yaml @@ -0,0 +1,291 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: connectivitytests.networkmanagement.gcp.jet.crossplane.io +spec: + group: networkmanagement.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ConnectivityTest + listKind: ConnectivityTestList + plural: connectivitytests + singular: connectivitytest + 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: ConnectivityTest is the Schema for the ConnectivityTests 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: ConnectivityTestSpec defines the desired state of ConnectivityTest + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: The user-supplied description of the Connectivity + Test. Maximum of 512 characters. + type: string + destination: + description: "Required. Destination specification of the Connectivity + Test. \n You can use a combination of destination IP address, + Compute Engine VM instance, or VPC network to uniquely identify + the destination location. \n Even if the destination IP address + is not unique, the source IP location is unique. Usually, the + analysis can infer the destination endpoint from route information. + \n If the destination you specify is a VM instance and the instance + has multiple network interfaces, then you must also specify + either a destination IP address or VPC network to identify the + destination interface. \n A reachability analysis proceeds even + if the destination location is ambiguous. However, the result + can include endpoints that you don't intend to test." + items: + properties: + instance: + description: A Compute Engine instance URI. + type: string + ipAddress: + description: The IP address of the endpoint, which can be + an external or internal IP. An IPv6 address is only allowed + when the test's destination is a global load balancer + VIP. + type: string + network: + description: A Compute Engine network URI. + type: string + port: + description: The IP protocol port of the endpoint. Only + applicable when protocol is TCP or UDP. + format: int64 + type: integer + projectId: + description: 'Project ID where the endpoint is located. + The Project ID can be derived from the URI if you provide + a VM instance or network URI. The following are two cases + where you must provide the project ID: 1. Only the IP + address is specified, and the IP address is within a GCP + project. 2. When you are using Shared VPC and the IP address + that you provide is from the service project. In this + case, the network that the IP address resides in is defined + in the host project.' + type: string + type: object + type: array + labels: + additionalProperties: + type: string + description: Resource labels to represent user-provided metadata. + type: object + name: + description: Unique name for the connectivity test. + type: string + project: + type: string + protocol: + description: IP Protocol of the test. When not provided, "TCP" + is assumed. + type: string + relatedProjects: + description: Other projects that may be relevant for reachability + analysis. This is applicable to scenarios where a test can cross + project boundaries. + items: + type: string + type: array + source: + description: "Required. Source specification of the Connectivity + Test. \n You can use a combination of source IP address, virtual + machine (VM) instance, or Compute Engine network to uniquely + identify the source location. \n Examples: If the source IP + address is an internal IP address within a Google Cloud Virtual + Private Cloud (VPC) network, then you must also specify the + VPC network. Otherwise, specify the VM instance, which already + contains its internal IP address and VPC network information. + \n If the source of the test is within an on-premises network, + then you must provide the destination VPC network. \n If the + source endpoint is a Compute Engine VM instance with multiple + network interfaces, the instance itself is not sufficient to + identify the endpoint. So, you must also specify the source + IP address or VPC network. \n A reachability analysis proceeds + even if the source location is ambiguous. However, the test + result may include endpoints that you don't intend to test." + items: + properties: + instance: + description: A Compute Engine instance URI. + type: string + ipAddress: + description: The IP address of the endpoint, which can be + an external or internal IP. An IPv6 address is only allowed + when the test's destination is a global load balancer + VIP. + type: string + network: + description: A Compute Engine network URI. + type: string + networkType: + description: 'Type of the network where the endpoint is + located. Possible values: ["GCP_NETWORK", "NON_GCP_NETWORK"]' + type: string + port: + description: The IP protocol port of the endpoint. Only + applicable when protocol is TCP or UDP. + format: int64 + type: integer + projectId: + description: "Project ID where the endpoint is located. + The Project ID can be derived from the URI if you provide + a VM instance or network URI. The following are two cases + where you must provide the project ID: \n 1. Only the + IP address is specified, and the IP address is within + a GCP project. 2. When you are using Shared VPC and the + IP address that you provide is from the service project. + In this case, the network that the IP address resides + in is defined in the host project." + type: string + type: object + type: array + required: + - destination + - name + - source + type: object + 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 + 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 + 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. + 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 + status: + description: ConnectivityTestStatus defines the observed state of ConnectivityTest. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/networkservices.gcp.jet.crossplane.io_edgecachekeysets.yaml b/package/crds/networkservices.gcp.jet.crossplane.io_edgecachekeysets.yaml new file mode 100644 index 00000000..b909805f --- /dev/null +++ b/package/crds/networkservices.gcp.jet.crossplane.io_edgecachekeysets.yaml @@ -0,0 +1,227 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: edgecachekeysets.networkservices.gcp.jet.crossplane.io +spec: + group: networkservices.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: EdgeCacheKeyset + listKind: EdgeCacheKeysetList + plural: edgecachekeysets + singular: edgecachekeyset + 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: EdgeCacheKeyset is the Schema for the EdgeCacheKeysets 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: EdgeCacheKeysetSpec defines the desired state of EdgeCacheKeyset + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: A human-readable description of the resource. + type: string + labels: + additionalProperties: + type: string + description: Set of label tags associated with the EdgeCache resource. + type: object + name: + description: Name of the resource; provided by the client when + the resource is created. The name must be 1-64 characters long, + and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which + means the first character must be a letter, and all following + characters must be a dash, underscore, letter or digit. + type: string + project: + type: string + publicKey: + description: "An ordered list of Ed25519 public keys to use for + validating signed requests. You must specify at least one (1) + key, and may have up to three (3) keys. \n Ed25519 public keys + are not secret, and only allow Google to validate a request + was signed by your corresponding private key. You should ensure + that the private key is kept secret, and that only authorized + users can add public keys to a keyset." + items: + properties: + id: + description: The ID of the public key. The ID must be 1-63 + characters long, and comply with RFC1035. The name must + be 1-64 characters long, and match the regular expression + [a-zA-Z][a-zA-Z0-9_-]* which means the first character + must be a letter, and all following characters must be + a dash, underscore, letter or digit. + type: string + valueSecretRef: + description: The base64-encoded value of the Ed25519 public + key. The base64 encoding can be padded (44 bytes) or unpadded + (43 bytes). Representations or encodings of the public + key other than this will be rejected with an error. + 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 + required: + - id + - valueSecretRef + type: object + type: array + required: + - name + - publicKey + type: object + 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 + 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 + 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. + 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 + status: + description: EdgeCacheKeysetStatus defines the observed state of EdgeCacheKeyset. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/networkservices.gcp.jet.crossplane.io_edgecacheorigins.yaml b/package/crds/networkservices.gcp.jet.crossplane.io_edgecacheorigins.yaml new file mode 100644 index 00000000..310bb3f6 --- /dev/null +++ b/package/crds/networkservices.gcp.jet.crossplane.io_edgecacheorigins.yaml @@ -0,0 +1,286 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: edgecacheorigins.networkservices.gcp.jet.crossplane.io +spec: + group: networkservices.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: EdgeCacheOrigin + listKind: EdgeCacheOriginList + plural: edgecacheorigins + singular: edgecacheorigin + 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: EdgeCacheOrigin is the Schema for the EdgeCacheOrigins 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: EdgeCacheOriginSpec defines the desired state of EdgeCacheOrigin + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: A human-readable description of the resource. + type: string + failoverOrigin: + description: "The Origin resource to try when the current origin + cannot be reached. After maxAttempts is reached, the configured + failoverOrigin will be used to fulfil the request. \n The value + of timeout.maxAttemptsTimeout dictates the timeout across all + origins. A reference to a Topic resource." + type: string + labels: + additionalProperties: + type: string + description: Set of label tags associated with the EdgeCache resource. + type: object + maxAttempts: + description: "The maximum number of attempts to cache fill from + this origin. Another attempt is made when a cache fill fails + with one of the retryConditions. \n Once maxAttempts to this + origin have failed the failoverOrigin will be used, if one is + specified. That failoverOrigin may specify its own maxAttempts, + retryConditions and failoverOrigin to control its own cache + fill failures. \n The total number of allowed attempts to cache + fill across this and failover origins is limited to four. The + total time allowed for cache fill attempts across this and failover + origins can be controlled with maxAttemptsTimeout. \n The last + valid response from an origin will be returned to the client. + If no origin returns a valid response, an HTTP 503 will be returned + to the client. \n Defaults to 1. Must be a value greater than + 0 and less than 4." + format: int64 + type: integer + name: + description: Name of the resource; provided by the client when + the resource is created. The name must be 1-64 characters long, + and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which + means the first character must be a letter, and all following + characters must be a dash, underscore, letter or digit. + type: string + originAddress: + description: "A fully qualified domain name (FQDN) or IP address + reachable over the public Internet, or the address of a Google + Cloud Storage bucket. \n This address will be used as the origin + for cache requests - e.g. FQDN: media-backend.example.com IPv4:35.218.1.1 + IPv6:[2607:f8b0:4012:809::200e] Cloud Storage: gs://bucketname + \n When providing an FQDN (hostname), it must be publicly resolvable + (e.g. via Google public DNS) and IP addresses must be publicly + routable. If a Cloud Storage bucket is provided, it must be + in the canonical \"gs://bucketname\" format. Other forms, such + as \"storage.googleapis.com\", will be rejected." + type: string + port: + description: The port to connect to the origin on. Defaults to + port 443 for HTTP2 and HTTPS protocols, and port 80 for HTTP. + format: int64 + type: integer + project: + type: string + protocol: + description: "The protocol to use to connect to the configured + origin. Defaults to HTTP2, and it is strongly recommended that + users use HTTP2 for both security & performance. \n When using + HTTP2 or HTTPS as the protocol, a valid, publicly-signed, unexpired + TLS (SSL) certificate must be presented by the origin server. + Possible values: [\"HTTP2\", \"HTTPS\", \"HTTP\"]" + type: string + retryConditions: + description: "Specifies one or more retry conditions for the configured + origin. \n If the failure mode during a connection attempt to + the origin matches the configured retryCondition(s), the origin + request will be retried up to maxAttempts times. The failoverOrigin, + if configured, will then be used to satisfy the request. \n + The default retryCondition is \"CONNECT_FAILURE\". \n retryConditions + apply to this origin, and not subsequent failoverOrigin(s), + which may specify their own retryConditions and maxAttempts. + \n Valid values are: \n - CONNECT_FAILURE: Retry on failures + connecting to origins, for example due to connection timeouts. + - HTTP_5XX: Retry if the origin responds with any 5xx response + code, or if the origin does not respond at all, example: disconnects, + reset, read timeout, connection failure, and refused streams. + - GATEWAY_ERROR: Similar to 5xx, but only applies to response + codes 502, 503 or 504. - RETRIABLE_4XX: Retry for retriable + 4xx response codes, which include HTTP 409 (Conflict) and HTTP + 429 (Too Many Requests) - NOT_FOUND: Retry if the origin returns + a HTTP 404 (Not Found). This can be useful when generating video + content, and the segment is not available yet. Possible values: + [\"CONNECT_FAILURE\", \"HTTP_5XX\", \"GATEWAY_ERROR\", \"RETRIABLE_4XX\", + \"NOT_FOUND\"]" + items: + type: string + type: array + timeout: + description: The connection and HTTP timeout configuration for + this origin. + items: + properties: + connectTimeout: + description: "The maximum duration to wait for the origin + connection to be established, including DNS lookup, TLS + handshake and TCP/QUIC connection establishment. \n Defaults + to 5 seconds. The timeout must be a value between 1s and + 15s." + type: string + maxAttemptsTimeout: + description: "The maximum time across all connection attempts + to the origin, including failover origins, before returning + an error to the client. A HTTP 503 will be returned if + the timeout is reached before a response is returned. + \n Defaults to 5 seconds. The timeout must be a value + between 1s and 15s." + type: string + responseTimeout: + description: "The maximum duration to wait for data to arrive + when reading from the HTTP connection/stream. \n Defaults + to 5 seconds. The timeout must be a value between 1s and + 30s." + type: string + type: object + type: array + required: + - name + - originAddress + type: object + 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 + 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 + 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. + 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 + status: + description: EdgeCacheOriginStatus defines the observed state of EdgeCacheOrigin. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/networkservices.gcp.jet.crossplane.io_edgecacheservices.yaml b/package/crds/networkservices.gcp.jet.crossplane.io_edgecacheservices.yaml new file mode 100644 index 00000000..8d529eb3 --- /dev/null +++ b/package/crds/networkservices.gcp.jet.crossplane.io_edgecacheservices.yaml @@ -0,0 +1,994 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: edgecacheservices.networkservices.gcp.jet.crossplane.io +spec: + group: networkservices.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: EdgeCacheService + listKind: EdgeCacheServiceList + plural: edgecacheservices + singular: edgecacheservice + 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: EdgeCacheService is the Schema for the EdgeCacheServices 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: EdgeCacheServiceSpec defines the desired state of EdgeCacheService + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: A human-readable description of the resource. + type: string + disableQuic: + description: HTTP/3 (IETF QUIC) and Google QUIC are enabled by + default. + type: boolean + edgeSecurityPolicy: + description: Resource URL that points at the Cloud Armor edge + security policy that is applied on each request against the + EdgeCacheService. + type: string + edgeSslCertificates: + description: "URLs to sslCertificate resources that are used to + authenticate connections between users and the EdgeCacheService. + \n Note that only \"global\" certificates with a \"scope\" of + \"EDGE_CACHE\" can be attached to an EdgeCacheService." + items: + type: string + type: array + labels: + additionalProperties: + type: string + description: Set of label tags associated with the EdgeCache resource. + type: object + logConfig: + description: Specifies the logging options for the traffic served + by this service. If logging is enabled, logs will be exported + to Cloud Logging. + items: + properties: + enable: + description: Specifies whether to enable logging for traffic + served by this service. + type: boolean + sampleRate: + description: "Configures the sampling rate of requests, + where 1.0 means all logged requests are reported and 0.0 + means no logged requests are reported. The default value + is 1.0, and the value of the field must be in [0, 1]. + \n This field can only be specified if logging is enabled + for this service." + type: number + type: object + type: array + name: + description: Name of the resource; provided by the client when + the resource is created. The name must be 1-64 characters long, + and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which + means the first character must be a letter, and all following + characters must be a dash, underscore, letter or digit. + type: string + project: + type: string + requireTls: + description: "Require TLS (HTTPS) for all clients connecting to + this service. \n Clients who connect over HTTP (port 80) will + receive a HTTP 301 to the same URL over HTTPS (port 443). You + must have at least one (1) edgeSslCertificate specified to enable + this." + type: boolean + routing: + description: Defines how requests are routed, modified, cached + and/or which origin content is filled from. + items: + properties: + hostRule: + description: The list of hostRules to match against. These + rules define which hostnames the EdgeCacheService will + match against, and which route configurations apply. + items: + properties: + description: + description: A human-readable description of the hostRule. + type: string + hosts: + description: "The list of host patterns to match. + \n Host patterns must be valid hostnames with optional + port numbers in the format host:port. * matches + any string of ([a-z0-9-.]*). The only accepted ports + are :80 and :443. \n Hosts are matched against the + HTTP Host header, or for HTTP/2 and HTTP/3, the + \":authority\" header, from the incoming request." + items: + type: string + type: array + pathMatcher: + description: The name of the pathMatcher associated + with this hostRule. + type: string + required: + - hosts + - pathMatcher + type: object + type: array + pathMatcher: + description: The list of pathMatchers referenced via name + by hostRules. PathMatcher is used to match the path portion + of the URL when a HostRule matches the URL's host portion. + items: + properties: + description: + description: A human-readable description of the resource. + type: string + name: + description: The name to which this PathMatcher is + referred by the HostRule. + type: string + routeRule: + description: The routeRules to match against. routeRules + support advanced routing behaviour, and can match + on paths, headers and query parameters, as well + as status codes and HTTP methods. + items: + properties: + description: + description: A human-readable description of + the routeRule. + type: string + headerAction: + description: The header actions, including adding + & removing headers, for requests that match + this route. + items: + properties: + requestHeaderToAdd: + description: Describes a header to add. + items: + properties: + headerName: + description: The name of the header + to add. + type: string + headerValue: + description: The value of the header + to add. + type: string + replace: + description: Whether to replace + all existing headers with the + same name. + type: boolean + required: + - headerName + - headerValue + type: object + type: array + requestHeaderToRemove: + description: A list of header names for + headers that need to be removed from + the request prior to forwarding the + request to the origin. + items: + properties: + headerName: + description: The name of the header + to remove. + type: string + required: + - headerName + type: object + type: array + responseHeaderToAdd: + description: "Headers to add to the response + prior to sending it back to the client. + \n Response headers are only sent to + the client, and do not have an effect + on the cache serving the response." + items: + properties: + headerName: + description: The name of the header + to add. + type: string + headerValue: + description: The value of the header + to add. + type: string + replace: + description: Whether to replace + all existing headers with the + same name. + type: boolean + required: + - headerName + - headerValue + type: object + type: array + responseHeaderToRemove: + description: A list of header names for + headers that need to be removed from + the request prior to forwarding the + request to the origin. + items: + properties: + headerName: + description: "Headers to remove + from the response prior to sending + it back to the client. \n Response + headers are only sent to the client, + and do not have an effect on the + cache serving the response." + type: string + required: + - headerName + type: object + type: array + type: object + type: array + matchRule: + description: 'The list of criteria for matching + attributes of a request to this routeRule. + This list has OR semantics: the request matches + this routeRule when any of the matchRules + are satisfied. However predicates within a + given matchRule have AND semantics. All predicates + within a matchRule must match for the request + to match the rule.' + items: + properties: + fullPathMatch: + description: For satisfying the matchRule + condition, the path of the request must + exactly match the value specified in + fullPathMatch after removing any query + parameters and anchor that may be part + of the original URL. + type: string + headerMatch: + description: Specifies a list of header + match criteria, all of which must match + corresponding headers in the request. + items: + properties: + exactMatch: + description: The value of the header + should exactly match contents + of exactMatch. + type: string + headerName: + description: The header name to + match on. + type: string + invertMatch: + description: If set to false (default), + the headerMatch is considered + a match if the match criteria + above are met. If set to true, + the headerMatch is considered + a match if the match criteria + above are NOT met. + type: boolean + prefixMatch: + description: The value of the header + must start with the contents of + prefixMatch. + type: string + presentMatch: + description: A header with the contents + of headerName must exist. The + match takes place whether or not + the request's header has a value. + type: boolean + suffixMatch: + description: The value of the header + must end with the contents of + suffixMatch. + type: string + required: + - headerName + type: object + type: array + ignoreCase: + description: Specifies that prefixMatch + and fullPathMatch matches are case sensitive. + type: boolean + pathTemplateMatch: + description: "For satisfying the matchRule + condition, the path of the request must + match the wildcard pattern specified + in pathTemplateMatch after removing + any query parameters and anchor that + may be part of the original URL. \n + pathTemplateMatch must be between 1 + and 255 characters (inclusive). The + pattern specified by pathTemplateMatch + may have at most 5 wildcard operators + and at most 5 variable captures in total." + type: string + prefixMatch: + description: For satisfying the matchRule + condition, the request's path must begin + with the specified prefixMatch. prefixMatch + must begin with a /. + type: string + queryParameterMatch: + description: Specifies a list of query + parameter match criteria, all of which + must match corresponding query parameters + in the request. + items: + properties: + exactMatch: + description: The queryParameterMatch + matches if the value of the parameter + exactly matches the contents of + exactMatch. + type: string + name: + description: The name of the query + parameter to match. The query + parameter must exist in the request, + in the absence of which the request + match fails. + type: string + presentMatch: + description: Specifies that the + queryParameterMatch matches if + the request contains the query + parameter, irrespective of whether + the parameter has a value or not. + type: boolean + required: + - name + type: object + type: array + type: object + type: array + origin: + description: "The Origin resource that requests + to this route should fetch from when a matching + response is not in cache. Origins can be defined + as short names (\"my-origin\") or fully-qualified + resource URLs - e.g. \"networkservices.googleapis.com/projects/my-project/global/edgecacheorigins/my-origin\" + \n Only one of origin or urlRedirect can be + set." + type: string + priority: + description: "The priority of this route rule, + where 1 is the highest priority. \n You cannot + configure two or more routeRules with the + same priority. Priority for each rule must + be set to a number between 1 and 999 inclusive. + \n Priority numbers can have gaps, which enable + you to add or remove rules in the future without + affecting the rest of the rules. For example, + 1, 2, 3, 4, 5, 9, 12, 16 is a valid series + of priority numbers to which you could add + rules numbered from 6 to 8, 10 to 11, and + 13 to 15 in the future without any impact + on existing rules." + type: string + routeAction: + description: In response to a matching path, + the routeAction performs advanced routing + actions like URL rewrites, header transformations, + etc. prior to forwarding the request to the + selected origin. + items: + properties: + cdnPolicy: + description: The policy to use for defining + caching and signed request behaviour + for requests that match this route. + items: + properties: + cacheKeyPolicy: + description: Defines the request + parameters that contribute to + the cache key. + items: + properties: + excludeHost: + description: "If true, requests + to different hosts will + be cached separately. \n + Note: this should only be + enabled if hosts share the + same origin and content + Removing the host from the + cache key may inadvertently + result in different objects + being cached than intended, + depending on which route + the first user matched." + type: boolean + excludeQueryString: + description: "If true, exclude + query string parameters + from the cache key \n If + false (the default), include + the query string parameters + in the cache key according + to includeQueryParameters + and excludeQueryParameters. + If neither includeQueryParameters + nor excludeQueryParameters + is set, the entire query + string will be included." + type: boolean + excludedQueryParameters: + description: "Names of query + string parameters to exclude + from cache keys. All other + parameters will be included. + \n Either specify includedQueryParameters + or excludedQueryParameters, + not both. '&' and '=' will + be percent encoded and not + treated as delimiters." + items: + type: string + type: array + includeProtocol: + description: If true, http + and https requests will + be cached separately. + type: boolean + includedHeaderNames: + description: "Names of HTTP + request headers to include + in cache keys. The value + of the header field will + be used as part of the cache + key. \n - Header names must + be valid HTTP RFC 7230 header + field values. - Header field + names are case insensitive + - To include the HTTP method, + use \":method\" \n Note + that specifying several + headers, and/or headers + that have a large range + of values (e.g. per-user) + will dramatically impact + the cache hit rate, and + may result in a higher eviction + rate and reduced performance." + items: + type: string + type: array + includedQueryParameters: + description: "Names of query + string parameters to include + in cache keys. All other + parameters will be excluded. + \n Either specify includedQueryParameters + or excludedQueryParameters, + not both. '&' and '=' will + be percent encoded and not + treated as delimiters." + items: + type: string + type: array + type: object + type: array + cacheMode: + description: "Cache modes allow + users to control the behaviour + of the cache, what content it + should cache automatically, whether + to respect origin headers, or + whether to unconditionally cache + all responses. \n For all cache + modes, Cache-Control headers will + be passed to the client. Use clientTtl + to override what is sent to the + client. Possible values: [\"CACHE_ALL_STATIC\", + \"USE_ORIGIN_HEADERS\", \"FORCE_CACHE_ALL\", + \"BYPASS_CACHE\"]" + type: string + clientTtl: + description: "Specifies a separate + client (e.g. browser client) TTL, + separate from the TTL used by + the edge caches. Leaving this + empty will use the same cache + TTL for both the CDN and the client-facing + response. \n - The TTL must be + > 0 and <= 86400s (1 day) - The + clientTtl cannot be larger than + the defaultTtl (if set) - Fractions + of a second are not allowed. - + Omit this field to use the defaultTtl, + or the max-age set by the origin, + as the client-facing TTL. \n When + the cache mode is set to \"USE_ORIGIN_HEADERS\" + or \"BYPASS_CACHE\", you must + omit this field. A duration in + seconds with up to nine fractional + digits, terminated by 's'. Example: + \"3.5s\"." + type: string + defaultTtl: + description: "Specifies the default + TTL for cached content served + by this origin for responses that + do not have an existing valid + TTL (max-age or s-max-age). \n + Defaults to 3600s (1 hour). \n + - The TTL must be >= 0 and <= + 2592000s (1 month) - Setting a + TTL of \"0\" means \"always revalidate\" + (equivalent to must-revalidate) + - The value of defaultTTL cannot + be set to a value greater than + that of maxTTL. - Fractions of + a second are not allowed. - When + the cacheMode is set to FORCE_CACHE_ALL, + the defaultTTL will overwrite + the TTL set in all responses. + \n Note that infrequently accessed + objects may be evicted from the + cache before the defined TTL. + Objects that expire will be revalidated + with the origin. \n When the cache + mode is set to \"USE_ORIGIN_HEADERS\" + or \"BYPASS_CACHE\", you must + omit this field. \n A duration + in seconds with up to nine fractional + digits, terminated by 's'. Example: + \"3.5s\"." + type: string + maxTtl: + description: "Specifies the maximum + allowed TTL for cached content + served by this origin. \n Defaults + to 86400s (1 day). \n Cache directives + that attempt to set a max-age + or s-maxage higher than this, + or an Expires header more than + maxTtl seconds in the future will + be capped at the value of maxTTL, + as if it were the value of an + s-maxage Cache-Control directive. + \n - The TTL must be >= 0 and + <= 2592000s (1 month) - Setting + a TTL of \"0\" means \"always + revalidate\" - The value of maxTtl + must be equal to or greater than + defaultTtl. - Fractions of a second + are not allowed. - When the cache + mode is set to \"USE_ORIGIN_HEADERS\", + \"FORCE_CACHE_ALL\", or \"BYPASS_CACHE\", + you must omit this field. \n A + duration in seconds with up to + nine fractional digits, terminated + by 's'. Example: \"3.5s\"." + type: string + negativeCaching: + description: "Negative caching allows + per-status code TTLs to be set, + in order to apply fine-grained + caching for common errors or redirects. + This can reduce the load on your + origin and improve end-user experience + by reducing response latency. + \n By default, the CDNPolicy will + apply the following default TTLs + to these status codes: \n - HTTP + 300 (Multiple Choice), 301, 308 + (Permanent Redirects): 10m - HTTP + 404 (Not Found), 410 (Gone), 451 + (Unavailable For Legal Reasons): + 120s - HTTP 405 (Method Not Found), + 414 (URI Too Long), 501 (Not Implemented): + 60s \n These defaults can be overridden + in negativeCachingPolicy" + type: boolean + negativeCachingPolicy: + additionalProperties: + type: string + description: "Sets a cache TTL for + the specified HTTP status code. + negativeCaching must be enabled + to configure negativeCachingPolicy. + \n - Omitting the policy and leaving + negativeCaching enabled will use + the default TTLs for each status + code, defined in negativeCaching. + - TTLs must be >= 0 (where 0 is + \"always revalidate\") and <= + 86400s (1 day) \n Note that when + specifying an explicit negativeCachingPolicy, + you should take care to specify + a cache TTL for all response codes + that you wish to cache. The CDNPolicy + will not apply any default negative + caching when a policy exists." + type: object + signedRequestKeyset: + description: The EdgeCacheKeyset + containing the set of public keys + used to validate signed requests + at the edge. + type: string + signedRequestMode: + description: "Whether to enforce + signed requests. The default value + is DISABLED, which means all content + is public, and does not authorize + access. \n You must also set a + signedRequestKeyset to enable + signed requests. \n When set to + REQUIRE_SIGNATURES, all matching + requests will have their signature + validated. Requests that were + not signed with the corresponding + private key, or that are otherwise + invalid (expired, do not match + the signature, IP address, or + header) will be rejected with + a HTTP 403 and (if enabled) logged. + Possible values: [\"DISABLED\", + \"REQUIRE_SIGNATURES\"]" + type: string + type: object + type: array + corsPolicy: + description: CORSPolicy defines Cross-Origin-Resource-Sharing + configuration, including which CORS + response headers will be set. + items: + properties: + allowCredentials: + description: "In response to a preflight + request, setting this to true + indicates that the actual request + can include user credentials. + \n This translates to the Access-Control-Allow-Credentials + response header." + type: boolean + allowHeaders: + description: Specifies the content + for the Access-Control-Allow-Headers + response header. + items: + type: string + type: array + allowMethods: + description: Specifies the content + for the Access-Control-Allow-Methods + response header. + items: + type: string + type: array + allowOrigins: + description: "Specifies the list + of origins that will be allowed + to do CORS requests. \n This translates + to the Access-Control-Allow-Origin + response header." + items: + type: string + type: array + disabled: + description: If true, specifies + the CORS policy is disabled. The + default value is false, which + indicates that the CORS policy + is in effect. + type: boolean + exposeHeaders: + description: Specifies the content + for the Access-Control-Allow-Headers + response header. + items: + type: string + type: array + maxAge: + description: "Specifies how long + results of a preflight request + can be cached by a client in seconds. + Note that many browser clients + enforce a maximum TTL of 600s + (10 minutes). \n - Setting the + value to -1 forces a pre-flight + check for all requests (not recommended) + - A maximum TTL of 86400s can + be set, but note that (as above) + some clients may force pre-flight + checks at a more regular interval. + - This translates to the Access-Control-Max-Age + header. \n A duration in seconds + with up to nine fractional digits, + terminated by 's'. Example: \"3.5s\"." + type: string + required: + - maxAge + type: object + type: array + urlRewrite: + description: The URL rewrite configuration + for requests that match this route. + items: + properties: + hostRewrite: + description: Prior to forwarding + the request to the selected origin, + the request's host header is replaced + with contents of hostRewrite. + type: string + pathPrefixRewrite: + description: Prior to forwarding + the request to the selected origin, + the matching portion of the request's + path is replaced by pathPrefixRewrite. + type: string + pathTemplateRewrite: + description: "Prior to forwarding + the request to the selected origin, + if the request matched a pathTemplateMatch, + the matching portion of the request's + path is replaced re-written using + the pattern specified by pathTemplateRewrite. + \n pathTemplateRewrite must be + between 1 and 255 characters (inclusive), + must start with a '/', and must + only use variables captured by + the route's pathTemplate matchers. + \n pathTemplateRewrite may only + be used when all of a route's + MatchRules specify pathTemplate. + \n Only one of pathPrefixRewrite + and pathTemplateRewrite may be + specified." + type: string + type: object + type: array + type: object + type: array + urlRedirect: + description: The URL redirect configuration + for requests that match this route. + items: + properties: + hostRedirect: + description: The host that will be used + in the redirect response instead of + the one that was supplied in the request. + type: string + httpsRedirect: + description: "If set to true, the URL + scheme in the redirected request is + set to https. If set to false, the URL + scheme of the redirected request will + remain the same as that of the request. + \n This can only be set if there is + at least one (1) edgeSslCertificate + set on the service." + type: boolean + pathRedirect: + description: "The path that will be used + in the redirect response instead of + the one that was supplied in the request. + \n pathRedirect cannot be supplied together + with prefixRedirect. Supply one alone + or neither. If neither is supplied, + the path of the original request will + be used for the redirect. \n The path + value must be between 1 and 1024 characters." + type: string + prefixRedirect: + description: "The prefix that replaces + the prefixMatch specified in the routeRule, + retaining the remaining portion of the + URL before redirecting the request. + \n prefixRedirect cannot be supplied + together with pathRedirect. Supply one + alone or neither. If neither is supplied, + the path of the original request will + be used for the redirect." + type: string + redirectResponseCode: + description: "The HTTP Status code to + use for this RedirectAction. \n The + supported values are: \n - 'MOVED_PERMANENTLY_DEFAULT', + which is the default value and corresponds + to 301. - 'FOUND', which corresponds + to 302. - 'SEE_OTHER' which corresponds + to 303. - 'TEMPORARY_REDIRECT', which + corresponds to 307. in this case, the + request method will be retained. - 'PERMANENT_REDIRECT', + which corresponds to 308. in this case, + the request method will be retained. + Possible values: [\"MOVED_PERMANENTLY_DEFAULT\", + \"FOUND\", \"SEE_OTHER\", \"TEMPORARY_REDIRECT\", + \"PERMANENT_REDIRECT\"]" + type: string + stripQuery: + description: If set to true, any accompanying + query portion of the original URL is + removed prior to redirecting the request. + If set to false, the query portion of + the original URL is retained. + type: boolean + type: object + type: array + required: + - matchRule + - priority + type: object + type: array + required: + - name + - routeRule + type: object + type: array + required: + - hostRule + - pathMatcher + type: object + type: array + sslPolicy: + description: "URL of the SslPolicy resource that will be associated + with the EdgeCacheService. \n If not set, the EdgeCacheService + has no SSL policy configured, and will default to the \"COMPATIBLE\" + policy." + type: string + required: + - name + - routing + type: object + 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 + 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 + 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. + 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 + status: + description: EdgeCacheServiceStatus defines the observed state of EdgeCacheService. + properties: + atProvider: + properties: + id: + type: string + ipv4Addresses: + items: + type: string + type: array + ipv6Addresses: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/notebooks.gcp.jet.crossplane.io_environments.yaml b/package/crds/notebooks.gcp.jet.crossplane.io_environments.yaml new file mode 100644 index 00000000..ca75cdf9 --- /dev/null +++ b/package/crds/notebooks.gcp.jet.crossplane.io_environments.yaml @@ -0,0 +1,225 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: environments.notebooks.gcp.jet.crossplane.io +spec: + group: notebooks.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Environment + listKind: EnvironmentList + plural: environments + singular: environment + 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: Environment is the Schema for the Environments 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: EnvironmentSpec defines the desired state of Environment + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + containerImage: + description: Use a container image to start the notebook instance. + items: + properties: + repository: + description: 'The path to the container image repository. + For example: gcr.io/{project_id}/{imageName}' + type: string + tag: + description: The tag of the container image. If not specified, + this defaults to the latest tag. + type: string + required: + - repository + type: object + type: array + description: + description: A brief description of this environment. + type: string + displayName: + description: Display name of this environment for the UI. + type: string + location: + description: A reference to the zone where the machine resides. + type: string + name: + description: 'The name specified for the Environment instance. + Format: projects/{project_id}/locations/{location}/environments/{environmentId}' + type: string + postStartupScript: + description: 'Path to a Bash script that automatically runs after + a notebook instance fully boots up. The path must be a URL or + Cloud Storage path. Example: "gs://path-to-file/file-name"' + type: string + project: + type: string + vmImage: + description: Use a Compute Engine VM image to start the notebook + instance. + items: + properties: + imageFamily: + description: Use this VM image family to find the image; + the newest image in this family will be used. + type: string + imageName: + description: Use VM image name to find the image. + type: string + project: + description: 'The name of the Google Cloud project that + this VM image belongs to. Format: projects/{project_id}' + type: string + required: + - project + type: object + type: array + required: + - location + - name + type: object + 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 + 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 + 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. + 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 + status: + description: EnvironmentStatus defines the observed state of Environment. + properties: + atProvider: + properties: + createTime: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/notebooks.gcp.jet.crossplane.io_instanceiambindings.yaml b/package/crds/notebooks.gcp.jet.crossplane.io_instanceiambindings.yaml new file mode 100644 index 00000000..771a61d1 --- /dev/null +++ b/package/crds/notebooks.gcp.jet.crossplane.io_instanceiambindings.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instanceiambindings.notebooks.gcp.jet.crossplane.io +spec: + group: notebooks.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceIAMBinding + listKind: InstanceIAMBindingList + plural: instanceiambindings + singular: instanceiambinding + 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: InstanceIAMBinding is the Schema for the InstanceIAMBindings + 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: InstanceIAMBindingSpec defines the desired state of InstanceIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + instanceName: + type: string + location: + type: string + members: + items: + type: string + type: array + project: + type: string + role: + type: string + required: + - instanceName + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceIAMBindingStatus defines the observed state of InstanceIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/notebooks.gcp.jet.crossplane.io_instanceiammembers.yaml b/package/crds/notebooks.gcp.jet.crossplane.io_instanceiammembers.yaml new file mode 100644 index 00000000..bc5669e7 --- /dev/null +++ b/package/crds/notebooks.gcp.jet.crossplane.io_instanceiammembers.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instanceiammembers.notebooks.gcp.jet.crossplane.io +spec: + group: notebooks.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceIAMMember + listKind: InstanceIAMMemberList + plural: instanceiammembers + singular: instanceiammember + 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: InstanceIAMMember is the Schema for the InstanceIAMMembers 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: InstanceIAMMemberSpec defines the desired state of InstanceIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + instanceName: + type: string + location: + type: string + member: + type: string + project: + type: string + role: + type: string + required: + - instanceName + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceIAMMemberStatus defines the observed state of InstanceIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/notebooks.gcp.jet.crossplane.io_instanceiampolicies.yaml b/package/crds/notebooks.gcp.jet.crossplane.io_instanceiampolicies.yaml new file mode 100644 index 00000000..c1343977 --- /dev/null +++ b/package/crds/notebooks.gcp.jet.crossplane.io_instanceiampolicies.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instanceiampolicies.notebooks.gcp.jet.crossplane.io +spec: + group: notebooks.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceIAMPolicy + listKind: InstanceIAMPolicyList + plural: instanceiampolicies + singular: instanceiampolicy + 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: InstanceIAMPolicy is the Schema for the InstanceIAMPolicys 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: InstanceIAMPolicySpec defines the desired state of InstanceIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + instanceName: + type: string + location: + type: string + policyData: + type: string + project: + type: string + required: + - instanceName + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceIAMPolicyStatus defines the observed state of InstanceIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/notebooks.gcp.jet.crossplane.io_instances.yaml b/package/crds/notebooks.gcp.jet.crossplane.io_instances.yaml new file mode 100644 index 00000000..a6a028ab --- /dev/null +++ b/package/crds/notebooks.gcp.jet.crossplane.io_instances.yaml @@ -0,0 +1,383 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instances.notebooks.gcp.jet.crossplane.io +spec: + group: notebooks.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Instance + listKind: InstanceList + plural: instances + singular: instance + 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: Instance is the Schema for the Instances 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: InstanceSpec defines the desired state of Instance + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + acceleratorConfig: + description: The hardware accelerator used on this instance. If + you use accelerators, make sure that your configuration has + enough vCPUs and memory to support the machineType you have + selected. + items: + properties: + coreCount: + description: Count of cores of this accelerator. + format: int64 + type: integer + type: + description: 'Type of this accelerator. Possible values: + ["ACCELERATOR_TYPE_UNSPECIFIED", "NVIDIA_TESLA_K80", "NVIDIA_TESLA_P100", + "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", + "NVIDIA_TESLA_T4_VWS", "NVIDIA_TESLA_P100_VWS", "NVIDIA_TESLA_P4_VWS", + "NVIDIA_TESLA_A100", "TPU_V2", "TPU_V3"]' + type: string + required: + - coreCount + - type + type: object + type: array + bootDiskSizeGb: + description: The size of the boot disk in GB attached to this + instance, up to a maximum of 64000 GB (64 TB). The minimum recommended + value is 100 GB. If not specified, this defaults to 100. + format: int64 + type: integer + bootDiskType: + description: 'Possible disk types for notebook instances. Possible + values: ["DISK_TYPE_UNSPECIFIED", "PD_STANDARD", "PD_SSD", "PD_BALANCED"]' + type: string + containerImage: + description: Use a container image to start the notebook instance. + items: + properties: + repository: + description: 'The path to the container image repository. + For example: gcr.io/{project_id}/{imageName}' + type: string + tag: + description: The tag of the container image. If not specified, + this defaults to the latest tag. + type: string + required: + - repository + type: object + type: array + createTime: + description: Instance creation time + type: string + customGpuDriverPath: + description: Specify a custom Cloud Storage path where the GPU + driver is stored. If not specified, we'll automatically choose + from official GPU drivers. + type: string + dataDiskSizeGb: + description: The size of the data disk in GB attached to this + instance, up to a maximum of 64000 GB (64 TB). You can choose + the size of the data disk based on how big your notebooks and + data are. If not specified, this defaults to 100. + format: int64 + type: integer + dataDiskType: + description: 'Possible disk types for notebook instances. Possible + values: ["DISK_TYPE_UNSPECIFIED", "PD_STANDARD", "PD_SSD", "PD_BALANCED"]' + type: string + diskEncryption: + description: 'Disk encryption method used on the boot and data + disks, defaults to GMEK. Possible values: ["DISK_ENCRYPTION_UNSPECIFIED", + "GMEK", "CMEK"]' + type: string + installGpuDriver: + description: Whether the end user authorizes Google Cloud to install + GPU driver on this instance. If this field is empty or set to + false, the GPU driver won't be installed. Only applicable to + instances with GPUs. + type: boolean + instanceOwners: + description: 'The list of owners of this instance after creation. + Format: alias@example.com. Currently supports one owner only. + If not specified, all of the service account users of your VM + instance''s service account can use the instance.' + items: + type: string + type: array + kmsKey: + description: 'The KMS key used to encrypt the disks, only applicable + if diskEncryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}' + type: string + labels: + additionalProperties: + type: string + description: 'Labels to apply to this instance. These can be later + modified by the setLabels method. An object containing a list + of "key": value pairs. Example: { "name": "wrench", "mass": + "1.3kg", "count": "3" }.' + type: object + location: + description: A reference to the zone where the machine resides. + type: string + machineType: + description: A reference to a machine type which defines VM kind. + type: string + metadata: + additionalProperties: + type: string + description: 'Custom metadata to apply to this instance. An object + containing a list of "key": value pairs. Example: { "name": + "wrench", "mass": "1.3kg", "count": "3" }.' + type: object + name: + description: The name specified for the Notebook instance. + type: string + network: + description: 'The name of the VPC that this instance is in. Format: + projects/{project_id}/global/networks/{network_id}' + type: string + noProxyAccess: + description: The notebook instance will not register with the + proxy.. + type: boolean + noPublicIp: + description: No public IP will be assigned to this instance. + type: boolean + noRemoveDataDisk: + description: If true, the data disk will not be auto deleted when + deleting the instance. + type: boolean + postStartupScript: + description: Path to a Bash script that automatically runs after + a notebook instance fully boots up. The path must be a URL or + Cloud Storage path (gs://path-to-file/file-name). + type: string + project: + type: string + serviceAccount: + description: The service account on this instance, giving access + to other Google Cloud services. You can use any service account + within the same project, but you must have the service account + user permission to use the instance. If not specified, the Compute + Engine default service account is used. + type: string + serviceAccountScopes: + description: 'Optional. The URIs of service account scopes to + be included in Compute Engine instances. If not specified, the + following scopes are defined: - https://www.googleapis.com/auth/cloud-platform + - https://www.googleapis.com/auth/userinfo.email' + items: + type: string + type: array + shieldedInstanceConfig: + description: A set of Shielded Instance options. Check [Images + using supported Shielded VM features] Not all combinations are + valid + items: + properties: + enableIntegrityMonitoring: + description: Defines whether the instance has integrity + monitoring enabled. Enables monitoring and attestation + of the boot integrity of the instance. The attestation + is performed against the integrity policy baseline. This + baseline is initially derived from the implicitly trusted + boot image when the instance is created. Enabled by default. + type: boolean + enableSecureBoot: + description: Defines whether the instance has Secure Boot + enabled. Secure Boot helps ensure that the system only + runs authentic software by verifying the digital signature + of all boot components, and halting the boot process if + signature verification fails. Disabled by default. + type: boolean + enableVtpm: + description: Defines whether the instance has the vTPM enabled. + Enabled by default. + type: boolean + type: object + type: array + subnet: + description: 'The name of the subnet that this instance is in. + Format: projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}' + type: string + tags: + description: The Compute Engine tags to add to runtime. + items: + type: string + type: array + updateTime: + description: Instance update time. + type: string + vmImage: + description: Use a Compute Engine VM image to start the notebook + instance. + items: + properties: + imageFamily: + description: Use this VM image family to find the image; + the newest image in this family will be used. + type: string + imageName: + description: Use VM image name to find the image. + type: string + project: + description: 'The name of the Google Cloud project that + this VM image belongs to. Format: projects/{project_id}' + type: string + required: + - project + type: object + type: array + required: + - location + - machineType + - name + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceStatus defines the observed state of Instance. + properties: + atProvider: + properties: + id: + type: string + proxyUri: + type: string + state: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/notebooks.gcp.jet.crossplane.io_locations.yaml b/package/crds/notebooks.gcp.jet.crossplane.io_locations.yaml new file mode 100644 index 00000000..06db72bf --- /dev/null +++ b/package/crds/notebooks.gcp.jet.crossplane.io_locations.yaml @@ -0,0 +1,171 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: locations.notebooks.gcp.jet.crossplane.io +spec: + group: notebooks.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Location + listKind: LocationList + plural: locations + singular: location + 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: Location is the Schema for the Locations 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: LocationSpec defines the desired state of Location + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + name: + description: Name of the Location resource. + type: string + project: + type: string + type: object + 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 + 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 + 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. + 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 + status: + description: LocationStatus defines the observed state of Location. + properties: + atProvider: + properties: + id: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/orgpolicy.gcp.jet.crossplane.io_policies.yaml b/package/crds/orgpolicy.gcp.jet.crossplane.io_policies.yaml new file mode 100644 index 00000000..ba5ce68e --- /dev/null +++ b/package/crds/orgpolicy.gcp.jet.crossplane.io_policies.yaml @@ -0,0 +1,289 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: policies.orgpolicy.gcp.jet.crossplane.io +spec: + group: orgpolicy.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Policy + listKind: PolicyList + plural: policies + singular: policy + 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: Policy is the Schema for the Policys 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: PolicySpec defines the desired state of Policy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + name: + description: 'Immutable. The resource name of the Policy. Must + be one of the following forms, where constraint_name is the + name of the constraint which this Policy configures: * `projects/{project_number}/policies/{constraint_name}` + * `folders/{folder_id}/policies/{constraint_name}` * `organizations/{organization_id}/policies/{constraint_name}` + For example, "projects/123/policies/compute.disableSerialPortAccess". + Note: `projects/{project_id}/policies/{constraint_name}` is + also an acceptable name for API requests, but responses will + return the name using the equivalent project number.' + type: string + parent: + description: The parent of the resource. + type: string + spec: + description: Basic information about the Organization Policy. + items: + properties: + inheritFromParent: + description: Determines the inheritance behavior for this + `Policy`. If `inherit_from_parent` is true, PolicyRules + set higher up in the hierarchy (up to the closest root) + are inherited and present in the effective policy. If + it is false, then no rules are inherited, and this Policy + becomes the new root for evaluation. This field can be + set only for Policies which configure list constraints. + type: boolean + reset: + description: Ignores policies set above this resource and + restores the `constraint_default` enforcement behavior + of the specific `Constraint` at this resource. This field + can be set in policies for either list or boolean constraints. + If set, `rules` must be empty and `inherit_from_parent` + must be set to false. + type: boolean + rules: + description: 'Up to 10 PolicyRules are allowed. In Policies + for boolean constraints, the following requirements apply: + - There must be one and only one PolicyRule where condition + is unset. - BooleanPolicyRules with conditions must set + `enforced` to the opposite of the PolicyRule without a + condition. - During policy evaluation, PolicyRules with + conditions that are true for a target resource take precedence.' + items: + properties: + allowAll: + description: Setting this to true means that all values + are allowed. This field can be set only in Policies + for list constraints. + type: string + condition: + description: 'A condition which determines whether + this rule is used in the evaluation of the policy. + When set, the `expression` field in the `Expr'' + must include from 1 to 10 subexpressions, joined + by the "||" or "&&" operators. Each subexpression + must be of the form "resource.matchTag(''/tag_key_short_name, + ''tag_value_short_name'')". or "resource.matchTagId(''tagKeys/key_id'', + ''tagValues/value_id'')". where key_name and value_name + are the resource names for Label Keys and Values. + These names are available from the Tag Manager Service. + An example expression is: "resource.matchTag(''123456789/environment, + ''prod'')". or "resource.matchTagId(''tagKeys/123'', + ''tagValues/456'')".' + items: + properties: + description: + description: Optional. Description of the expression. + This is a longer text which describes the + expression, e.g. when hovered over it in a + UI. + type: string + expression: + description: Textual representation of an expression + in Common Expression Language syntax. + type: string + location: + description: Optional. String indicating the + location of the expression for error reporting, + e.g. a file name and a position in the file. + type: string + title: + description: Optional. Title for the expression, + i.e. a short string describing its purpose. + This can be used e.g. in UIs which allow to + enter the expression. + type: string + type: object + type: array + denyAll: + description: Setting this to true means that all values + are denied. This field can be set only in Policies + for list constraints. + type: string + enforce: + description: If `true`, then the `Policy` is enforced. + If `false`, then any configuration is acceptable. + This field can be set only in Policies for boolean + constraints. + type: string + values: + description: List of values to be used for this PolicyRule. + This field can be set only in Policies for list + constraints. + items: + properties: + allowedValues: + description: List of values allowed at this + resource. + items: + type: string + type: array + deniedValues: + description: List of values denied at this resource. + items: + type: string + type: array + type: object + type: array + type: object + type: array + type: object + type: array + required: + - name + - parent + type: object + 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 + 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 + 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. + 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 + status: + description: PolicyStatus defines the observed state of Policy. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/osconfig.gcp.jet.crossplane.io_patchdeployments.yaml b/package/crds/osconfig.gcp.jet.crossplane.io_patchdeployments.yaml new file mode 100644 index 00000000..b61e676e --- /dev/null +++ b/package/crds/osconfig.gcp.jet.crossplane.io_patchdeployments.yaml @@ -0,0 +1,792 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: patchdeployments.osconfig.gcp.jet.crossplane.io +spec: + group: osconfig.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: PatchDeployment + listKind: PatchDeploymentList + plural: patchdeployments + singular: patchdeployment + 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: PatchDeployment is the Schema for the PatchDeployments 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: PatchDeploymentSpec defines the desired state of PatchDeployment + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Description of the patch deployment. Length of the + description is limited to 1024 characters. + type: string + duration: + description: 'Duration of the patch. After the duration ends, + the patch times out. A duration in seconds with up to nine fractional + digits, terminated by ''s''. Example: "3.5s"' + type: string + instanceFilter: + description: VM instances to patch. + items: + properties: + all: + description: Target all VM instances in the project. If + true, no other criteria is permitted. + type: boolean + groupLabels: + description: Targets VM instances matching ANY of these + GroupLabels. This allows targeting of disparate groups + of VM instances. + items: + properties: + labels: + additionalProperties: + type: string + description: Compute Engine instance labels that must + be present for a VM instance to be targeted by this + filter + type: object + required: + - labels + type: object + type: array + instanceNamePrefixes: + description: Targets VMs whose name starts with one of these + prefixes. Similar to labels, this is another way to group + VMs when targeting configs, for example prefix="prod-". + items: + type: string + type: array + instances: + description: Targets any of the VM instances specified. + Instances are specified by their URI in the 'form zones/{{zone}}/instances/{{instance_name}}', + 'projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}', + or 'https://www.googleapis.com/compute/v1/projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}' + items: + type: string + type: array + zones: + description: Targets VM instances in ANY of these zones. + Leave empty to target VM instances in any zone. + items: + type: string + type: array + type: object + type: array + oneTimeSchedule: + description: Schedule a one-time execution. + items: + properties: + executeTime: + description: 'The desired patch job execution time. A timestamp + in RFC3339 UTC "Zulu" format, accurate to nanoseconds. + Example: "2014-10-02T15:01:23.045123456Z".' + type: string + required: + - executeTime + type: object + type: array + patchConfig: + description: Patch configuration that is applied. + items: + properties: + apt: + description: Apt update settings. Use this setting to override + the default apt patch rules. + items: + properties: + excludes: + description: List of packages to exclude from update. + These packages will be excluded. + items: + type: string + type: array + exclusivePackages: + description: An exclusive list of packages to be updated. + These are the only packages that will be updated. + If these packages are not installed, they will be + ignored. This field cannot be specified with any + other patch configuration fields. + items: + type: string + type: array + type: + description: 'By changing the type to DIST, the patching + is performed using apt-get dist-upgrade instead. + Possible values: ["DIST", "UPGRADE"]' + type: string + type: object + type: array + goo: + description: goo update settings. Use this setting to override + the default goo patch rules. + items: + properties: + enabled: + description: goo update settings. Use this setting + to override the default goo patch rules. + type: boolean + required: + - enabled + type: object + type: array + postStep: + description: The ExecStep to run after the patch update. + items: + properties: + linuxExecStepConfig: + description: The ExecStepConfig for all Linux VMs + targeted by the PatchJob. + items: + properties: + allowedSuccessCodes: + description: Defaults to [0]. A list of possible + return values that the execution can return + to indicate a success. + items: + format: int64 + type: integer + type: array + gcsObject: + description: A Cloud Storage object containing + the executable. + items: + properties: + bucket: + description: Bucket of the Cloud Storage + object. + type: string + generationNumber: + description: Generation number of the + Cloud Storage object. This is used to + ensure that the ExecStep specified by + this PatchJob does not change. + type: string + object: + description: Name of the Cloud Storage + object. + type: string + required: + - bucket + - generationNumber + - object + type: object + type: array + interpreter: + description: 'The script interpreter to use + to run the script. If no interpreter is specified + the script will be executed directly, which + will likely only succeed for scripts with + shebang lines. Possible values: ["SHELL", + "POWERSHELL"]' + type: string + localPath: + description: An absolute path to the executable + on the VM. + type: string + type: object + type: array + windowsExecStepConfig: + description: The ExecStepConfig for all Windows VMs + targeted by the PatchJob. + items: + properties: + allowedSuccessCodes: + description: Defaults to [0]. A list of possible + return values that the execution can return + to indicate a success. + items: + format: int64 + type: integer + type: array + gcsObject: + description: A Cloud Storage object containing + the executable. + items: + properties: + bucket: + description: Bucket of the Cloud Storage + object. + type: string + generationNumber: + description: Generation number of the + Cloud Storage object. This is used to + ensure that the ExecStep specified by + this PatchJob does not change. + type: string + object: + description: Name of the Cloud Storage + object. + type: string + required: + - bucket + - generationNumber + - object + type: object + type: array + interpreter: + description: 'The script interpreter to use + to run the script. If no interpreter is specified + the script will be executed directly, which + will likely only succeed for scripts with + shebang lines. Possible values: ["SHELL", + "POWERSHELL"]' + type: string + localPath: + description: An absolute path to the executable + on the VM. + type: string + type: object + type: array + type: object + type: array + preStep: + description: The ExecStep to run before the patch update. + items: + properties: + linuxExecStepConfig: + description: The ExecStepConfig for all Linux VMs + targeted by the PatchJob. + items: + properties: + allowedSuccessCodes: + description: Defaults to [0]. A list of possible + return values that the execution can return + to indicate a success. + items: + format: int64 + type: integer + type: array + gcsObject: + description: A Cloud Storage object containing + the executable. + items: + properties: + bucket: + description: Bucket of the Cloud Storage + object. + type: string + generationNumber: + description: Generation number of the + Cloud Storage object. This is used to + ensure that the ExecStep specified by + this PatchJob does not change. + type: string + object: + description: Name of the Cloud Storage + object. + type: string + required: + - bucket + - generationNumber + - object + type: object + type: array + interpreter: + description: 'The script interpreter to use + to run the script. If no interpreter is specified + the script will be executed directly, which + will likely only succeed for scripts with + shebang lines. Possible values: ["SHELL", + "POWERSHELL"]' + type: string + localPath: + description: An absolute path to the executable + on the VM. + type: string + type: object + type: array + windowsExecStepConfig: + description: The ExecStepConfig for all Windows VMs + targeted by the PatchJob. + items: + properties: + allowedSuccessCodes: + description: Defaults to [0]. A list of possible + return values that the execution can return + to indicate a success. + items: + format: int64 + type: integer + type: array + gcsObject: + description: A Cloud Storage object containing + the executable. + items: + properties: + bucket: + description: Bucket of the Cloud Storage + object. + type: string + generationNumber: + description: Generation number of the + Cloud Storage object. This is used to + ensure that the ExecStep specified by + this PatchJob does not change. + type: string + object: + description: Name of the Cloud Storage + object. + type: string + required: + - bucket + - generationNumber + - object + type: object + type: array + interpreter: + description: 'The script interpreter to use + to run the script. If no interpreter is specified + the script will be executed directly, which + will likely only succeed for scripts with + shebang lines. Possible values: ["SHELL", + "POWERSHELL"]' + type: string + localPath: + description: An absolute path to the executable + on the VM. + type: string + type: object + type: array + type: object + type: array + rebootConfig: + description: 'Post-patch reboot settings. Possible values: + ["DEFAULT", "ALWAYS", "NEVER"]' + type: string + windowsUpdate: + description: Windows update settings. Use this setting to + override the default Windows patch rules. + items: + properties: + classifications: + description: 'Only apply updates of these windows + update classifications. If empty, all updates are + applied. Possible values: ["CRITICAL", "SECURITY", + "DEFINITION", "DRIVER", "FEATURE_PACK", "SERVICE_PACK", + "TOOL", "UPDATE_ROLLUP", "UPDATE"]' + items: + type: string + type: array + excludes: + description: List of KBs to exclude from update. + items: + type: string + type: array + exclusivePatches: + description: An exclusive list of kbs to be updated. + These are the only patches that will be updated. + This field must not be used with other patch configurations. + items: + type: string + type: array + type: object + type: array + yum: + description: Yum update settings. Use this setting to override + the default yum patch rules. + items: + properties: + excludes: + description: List of packages to exclude from update. + These packages will be excluded. + items: + type: string + type: array + exclusivePackages: + description: An exclusive list of packages to be updated. + These are the only packages that will be updated. + If these packages are not installed, they will be + ignored. This field cannot be specified with any + other patch configuration fields. + items: + type: string + type: array + minimal: + description: Will cause patch to run yum update-minimal + instead. + type: boolean + security: + description: Adds the --security flag to yum update. + Not supported on all platforms. + type: boolean + type: object + type: array + zypper: + description: zypper update settings. Use this setting to + override the default zypper patch rules. + items: + properties: + categories: + description: Install only patches with these categories. + Common categories include security, recommended, + and feature. + items: + type: string + type: array + excludes: + description: List of packages to exclude from update. + items: + type: string + type: array + exclusivePatches: + description: An exclusive list of patches to be updated. + These are the only patches that will be installed + using 'zypper patch patch:' command. This field + must not be used with any other patch configuration + fields. + items: + type: string + type: array + severities: + description: Install only patches with these severities. + Common severities include critical, important, moderate, + and low. + items: + type: string + type: array + withOptional: + description: Adds the --with-optional flag to zypper + patch. + type: boolean + withUpdate: + description: Adds the --with-update flag, to zypper + patch. + type: boolean + type: object + type: array + type: object + type: array + patchDeploymentId: + description: 'A name for the patch deployment in the project. + When creating a name the following rules apply: * Must contain + only lowercase letters, numbers, and hyphens. * Must start with + a letter. * Must be between 1-63 characters. * Must end with + a number or a letter. * Must be unique within the project.' + type: string + project: + type: string + recurringSchedule: + description: Schedule recurring executions. + items: + properties: + endTime: + description: 'The end time at which a recurring patch deployment + schedule is no longer active. A timestamp in RFC3339 UTC + "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".' + type: string + monthly: + description: Schedule with monthly executions. + items: + properties: + monthDay: + description: One day of the month. 1-31 indicates + the 1st to the 31st day. -1 indicates the last day + of the month. Months without the target day will + be skipped. For example, a schedule to run "every + month on the 31st" will not run in February, April, + June, etc. + format: int64 + type: integer + weekDayOfMonth: + description: Week day in a month. + items: + properties: + dayOfWeek: + description: 'A day of the week. Possible values: + ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", + "FRIDAY", "SATURDAY", "SUNDAY"]' + type: string + weekOrdinal: + description: Week number in a month. 1-4 indicates + the 1st to 4th week of the month. -1 indicates + the last week of the month. + format: int64 + type: integer + required: + - dayOfWeek + - weekOrdinal + type: object + type: array + type: object + type: array + startTime: + description: 'The time that the recurring schedule becomes + effective. Defaults to createTime of the patch deployment. + A timestamp in RFC3339 UTC "Zulu" format, accurate to + nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".' + type: string + timeOfDay: + description: Time of the day to run a recurring deployment. + items: + properties: + hours: + description: Hours of day in 24 hour format. Should + be from 0 to 23. An API may choose to allow the + value "24:00:00" for scenarios like business closing + time. + format: int64 + type: integer + minutes: + description: Minutes of hour of day. Must be from + 0 to 59. + format: int64 + type: integer + nanos: + description: Fractions of seconds in nanoseconds. + Must be from 0 to 999,999,999. + format: int64 + type: integer + seconds: + description: Seconds of minutes of the time. Must + normally be from 0 to 59. An API may allow the value + 60 if it allows leap-seconds. + format: int64 + type: integer + type: object + type: array + timeZone: + description: Defines the time zone that timeOfDay is relative + to. The rules for daylight saving time are determined + by the chosen time zone. + items: + properties: + id: + description: IANA Time Zone Database time zone, e.g. + "America/New_York". + type: string + version: + description: IANA Time Zone Database version number, + e.g. "2019a". + type: string + required: + - id + type: object + type: array + weekly: + description: Schedule with weekly executions. + items: + properties: + dayOfWeek: + description: 'IANA Time Zone Database time zone, e.g. + "America/New_York". Possible values: ["MONDAY", + "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", + "SUNDAY"]' + type: string + required: + - dayOfWeek + type: object + type: array + required: + - timeOfDay + - timeZone + type: object + type: array + rollout: + description: Rollout strategy of the patch job. + items: + properties: + disruptionBudget: + description: The maximum number (or percentage) of VMs per + zone to disrupt at any given moment. The number of VMs + calculated from multiplying the percentage by the total + number of VMs in a zone is rounded up. During patching, + a VM is considered disrupted from the time the agent is + notified to begin until patching has completed. This disruption + time includes the time to complete reboot and any post-patch + steps. A VM contributes to the disruption budget if its + patching operation fails either when applying the patches, + running pre or post patch steps, or if it fails to respond + with a success notification before timing out. VMs that + are not running or do not have an active agent do not + count toward this disruption budget. For zone-by-zone + rollouts, if the disruption budget in a zone is exceeded, + the patch job stops, because continuing to the next zone + requires completion of the patch process in the previous + zone. For example, if the disruption budget has a fixed + value of 10, and 8 VMs fail to patch in the current zone, + the patch job continues to patch 2 VMs at a time until + the zone is completed. When that zone is completed successfully, + patching begins with 10 VMs at a time in the next zone. + If 10 VMs in the next zone fail to patch, the patch job + stops. + items: + properties: + fixed: + description: Specifies a fixed value. + format: int64 + type: integer + percentage: + description: Specifies the relative value defined + as a percentage, which will be multiplied by a reference + value. + format: int64 + type: integer + type: object + type: array + mode: + description: 'Mode of the patch rollout. Possible values: + ["ZONE_BY_ZONE", "CONCURRENT_ZONES"]' + type: string + required: + - disruptionBudget + - mode + type: object + type: array + required: + - instanceFilter + - patchDeploymentId + type: object + 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 + 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 + 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. + 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 + status: + description: PatchDeploymentStatus defines the observed state of PatchDeployment. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + lastExecuteTime: + type: string + name: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/oslogin.gcp.jet.crossplane.io_sshpublickeys.yaml b/package/crds/oslogin.gcp.jet.crossplane.io_sshpublickeys.yaml new file mode 100644 index 00000000..9e010f68 --- /dev/null +++ b/package/crds/oslogin.gcp.jet.crossplane.io_sshpublickeys.yaml @@ -0,0 +1,182 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: sshpublickeys.oslogin.gcp.jet.crossplane.io +spec: + group: oslogin.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SSHPublicKey + listKind: SSHPublicKeyList + plural: sshpublickeys + singular: sshpublickey + 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: SSHPublicKey is the Schema for the SSHPublicKeys 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: SSHPublicKeySpec defines the desired state of SSHPublicKey + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + expirationTimeUsec: + description: An expiration time in microseconds since epoch. + type: string + key: + description: Public key text in SSH format, defined by RFC4253 + section 6.6. + type: string + project: + description: The project ID of the Google Cloud Platform project. + type: string + user: + description: The user email. + type: string + required: + - key + - user + type: object + 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 + 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 + 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. + 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 + status: + description: SSHPublicKeyStatus defines the observed state of SSHPublicKey. + properties: + atProvider: + properties: + fingerprint: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/privateca.gcp.jet.crossplane.io_capooliambindings.yaml b/package/crds/privateca.gcp.jet.crossplane.io_capooliambindings.yaml new file mode 100644 index 00000000..fca5bea3 --- /dev/null +++ b/package/crds/privateca.gcp.jet.crossplane.io_capooliambindings.yaml @@ -0,0 +1,196 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: capooliambindings.privateca.gcp.jet.crossplane.io +spec: + group: privateca.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: CAPoolIAMBinding + listKind: CAPoolIAMBindingList + plural: capooliambindings + singular: capooliambinding + 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: CAPoolIAMBinding is the Schema for the CAPoolIAMBindings 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: CAPoolIAMBindingSpec defines the desired state of CAPoolIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + caPool: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + location: + type: string + members: + items: + type: string + type: array + project: + type: string + role: + type: string + required: + - caPool + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: CAPoolIAMBindingStatus defines the observed state of CAPoolIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/privateca.gcp.jet.crossplane.io_capooliammembers.yaml b/package/crds/privateca.gcp.jet.crossplane.io_capooliammembers.yaml new file mode 100644 index 00000000..d423ef65 --- /dev/null +++ b/package/crds/privateca.gcp.jet.crossplane.io_capooliammembers.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: capooliammembers.privateca.gcp.jet.crossplane.io +spec: + group: privateca.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: CAPoolIAMMember + listKind: CAPoolIAMMemberList + plural: capooliammembers + singular: capooliammember + 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: CAPoolIAMMember is the Schema for the CAPoolIAMMembers 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: CAPoolIAMMemberSpec defines the desired state of CAPoolIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + caPool: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + location: + type: string + member: + type: string + project: + type: string + role: + type: string + required: + - caPool + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: CAPoolIAMMemberStatus defines the observed state of CAPoolIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/privateca.gcp.jet.crossplane.io_capooliampolicies.yaml b/package/crds/privateca.gcp.jet.crossplane.io_capooliampolicies.yaml new file mode 100644 index 00000000..41be2d15 --- /dev/null +++ b/package/crds/privateca.gcp.jet.crossplane.io_capooliampolicies.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: capooliampolicies.privateca.gcp.jet.crossplane.io +spec: + group: privateca.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: CAPoolIAMPolicy + listKind: CAPoolIAMPolicyList + plural: capooliampolicies + singular: capooliampolicy + 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: CAPoolIAMPolicy is the Schema for the CAPoolIAMPolicys 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: CAPoolIAMPolicySpec defines the desired state of CAPoolIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + caPool: + type: string + location: + type: string + policyData: + type: string + project: + type: string + required: + - caPool + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: CAPoolIAMPolicyStatus defines the observed state of CAPoolIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/privateca.gcp.jet.crossplane.io_capools.yaml b/package/crds/privateca.gcp.jet.crossplane.io_capools.yaml new file mode 100644 index 00000000..6c64f5e4 --- /dev/null +++ b/package/crds/privateca.gcp.jet.crossplane.io_capools.yaml @@ -0,0 +1,559 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: capools.privateca.gcp.jet.crossplane.io +spec: + group: privateca.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: CAPool + listKind: CAPoolList + plural: capools + singular: capool + 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: CAPool is the Schema for the CAPools 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: CAPoolSpec defines the desired state of CAPool + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + issuancePolicy: + description: The IssuancePolicy to control how Certificates will + be issued from this CaPool. + items: + properties: + allowedIssuanceModes: + description: IssuanceModes specifies the allowed ways in + which Certificates may be requested from this CaPool. + items: + properties: + allowConfigBasedIssuance: + description: When true, allows callers to create Certificates + by specifying a CertificateConfig. + type: boolean + allowCsrBasedIssuance: + description: When true, allows callers to create Certificates + by specifying a CSR. + type: boolean + required: + - allowConfigBasedIssuance + - allowCsrBasedIssuance + type: object + type: array + allowedKeyTypes: + description: If any AllowedKeyType is specified, then the + certificate request's public key must match one of the + key types listed here. Otherwise, any key may be used. + items: + properties: + ellipticCurve: + description: Represents an allowed Elliptic Curve + key type. + items: + properties: + signatureAlgorithm: + description: 'The algorithm used. Possible values: + ["ECDSA_P256", "ECDSA_P384", "EDDSA_25519"]' + type: string + required: + - signatureAlgorithm + type: object + type: array + rsa: + description: Describes an RSA key that may be used + in a Certificate issued from a CaPool. + items: + properties: + maxModulusSize: + description: The maximum allowed RSA modulus + size, in bits. If this is not set, or if set + to zero, the service will not enforce an explicit + upper bound on RSA modulus sizes. + type: string + minModulusSize: + description: The minimum allowed RSA modulus + size, in bits. If this is not set, or if set + to zero, the service-level min RSA modulus + size will continue to apply. + type: string + type: object + type: array + type: object + type: array + baselineValues: + description: A set of X.509 values that will be applied + to all certificates issued through this CaPool. If a certificate + request includes conflicting values for the same properties, + they will be overwritten by the values defined here. If + a certificate request uses a CertificateTemplate that + defines conflicting predefinedValues for the same properties, + the certificate issuance request will fail. + items: + properties: + additionalExtensions: + description: Specifies an X.509 extension, which may + be used in different parts of X.509 objects like + certificates, CSRs, and CRLs. + items: + properties: + critical: + description: Indicates whether or not this extension + is critical (i.e., if the client does not + know how to handle this extension, the client + should consider this to be an error). + type: boolean + objectId: + description: Describes values that are relevant + in a CA certificate. + items: + properties: + objectIdPath: + description: An ObjectId specifies an + object identifier (OID). These provide + context and describe types in ASN.1 + messages. + items: + format: int64 + type: integer + type: array + required: + - objectIdPath + type: object + type: array + value: + description: The value of this X.509 extension. + A base64-encoded string. + type: string + required: + - critical + - objectId + - value + type: object + type: array + aiaOcspServers: + description: Describes Online Certificate Status Protocol + (OCSP) endpoint addresses that appear in the "Authority + Information Access" extension in the certificate. + items: + type: string + type: array + caOptions: + description: Describes values that are relevant in + a CA certificate. + items: + properties: + isCa: + description: Refers to the "CA" X.509 extension, + which is a boolean value. When this value + is missing, the extension will be omitted + from the CA certificate. + type: boolean + maxIssuerPathLength: + description: Refers to the path length restriction + X.509 extension. For a CA certificate, this + value describes the depth of subordinate CA + certificates that are allowed. If this value + is less than 0, the request will fail. If + this value is missing, the max path length + will be omitted from the CA certificate. + format: int64 + type: integer + type: object + type: array + keyUsage: + description: Indicates the intended use for keys that + correspond to a certificate. + items: + properties: + baseKeyUsage: + description: Describes high-level ways in which + a key may be used. + items: + properties: + certSign: + description: The key may be used to sign + certificates. + type: boolean + contentCommitment: + description: The key may be used for cryptographic + commitments. Note that this may also + be referred to as "non-repudiation". + type: boolean + crlSign: + description: The key may be used sign + certificate revocation lists. + type: boolean + dataEncipherment: + description: The key may be used to encipher + data. + type: boolean + decipherOnly: + description: The key may be used to decipher + only. + type: boolean + digitalSignature: + description: The key may be used for digital + signatures. + type: boolean + encipherOnly: + description: The key may be used to encipher + only. + type: boolean + keyAgreement: + description: The key may be used in a + key agreement protocol. + type: boolean + keyEncipherment: + description: The key may be used to encipher + other keys. + type: boolean + type: object + type: array + extendedKeyUsage: + description: Describes high-level ways in which + a key may be used. + items: + properties: + clientAuth: + description: Corresponds to OID 1.3.6.1.5.5.7.3.2. + Officially described as "TLS WWW client + authentication", though regularly used + for non-WWW TLS. + type: boolean + codeSigning: + description: Corresponds to OID 1.3.6.1.5.5.7.3.3. + Officially described as "Signing of + downloadable executable code client + authentication". + type: boolean + emailProtection: + description: Corresponds to OID 1.3.6.1.5.5.7.3.4. + Officially described as "Email protection". + type: boolean + ocspSigning: + description: Corresponds to OID 1.3.6.1.5.5.7.3.9. + Officially described as "Signing OCSP + responses". + type: boolean + serverAuth: + description: Corresponds to OID 1.3.6.1.5.5.7.3.1. + Officially described as "TLS WWW server + authentication", though regularly used + for non-WWW TLS. + type: boolean + timeStamping: + description: Corresponds to OID 1.3.6.1.5.5.7.3.8. + Officially described as "Binding the + hash of an object to a time". + type: boolean + type: object + type: array + unknownExtendedKeyUsages: + description: An ObjectId specifies an object + identifier (OID). These provide context and + describe types in ASN.1 messages. + items: + properties: + objectIdPath: + description: An ObjectId specifies an + object identifier (OID). These provide + context and describe types in ASN.1 + messages. + items: + format: int64 + type: integer + type: array + required: + - objectIdPath + type: object + type: array + required: + - baseKeyUsage + - extendedKeyUsage + type: object + type: array + policyIds: + description: Describes the X.509 certificate policy + object identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4. + items: + properties: + objectIdPath: + description: An ObjectId specifies an object + identifier (OID). These provide context and + describe types in ASN.1 messages. + items: + format: int64 + type: integer + type: array + required: + - objectIdPath + type: object + type: array + required: + - caOptions + - keyUsage + type: object + type: array + identityConstraints: + description: Describes constraints on identities that may + appear in Certificates issued through this CaPool. If + this is omitted, then this CaPool will not add restrictions + on a certificate's identity. + items: + properties: + allowSubjectAltNamesPassthrough: + description: If this is set, the SubjectAltNames extension + may be copied from a certificate request into the + signed certificate. Otherwise, the requested SubjectAltNames + will be discarded. + type: boolean + allowSubjectPassthrough: + description: If this is set, the Subject field may + be copied from a certificate request into the signed + certificate. Otherwise, the requested Subject will + be discarded. + type: boolean + celExpression: + description: A CEL expression that may be used to + validate the resolved X.509 Subject and/or Subject + Alternative Name before a certificate is signed. + To see the full allowed syntax and some examples, + see https://cloud.google.com/certificate-authority-service/docs/cel-guide + items: + properties: + description: + description: Description of the expression. + This is a longer text which describes the + expression, e.g. when hovered over it in a + UI. + type: string + expression: + description: Textual representation of an expression + in Common Expression Language syntax. + type: string + location: + description: String indicating the location + of the expression for error reporting, e.g. + a file name and a position in the file. + type: string + title: + description: Title for the expression, i.e. + a short string describing its purpose. This + can be used e.g. in UIs which allow to enter + the expression. + type: string + required: + - expression + type: object + type: array + required: + - allowSubjectAltNamesPassthrough + - allowSubjectPassthrough + type: object + type: array + maximumLifetime: + description: The maximum lifetime allowed for issued Certificates. + Note that if the issuing CertificateAuthority expires + before a Certificate's requested maximumLifetime, the + effective lifetime will be explicitly truncated to match + it. + type: string + type: object + type: array + labels: + additionalProperties: + type: string + description: "Labels with user-defined metadata. \n An object + containing a list of \"key\": value pairs. Example: { \"name\": + \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }." + type: object + location: + description: Location of the CaPool. A full list of valid locations + can be found by running 'gcloud privateca locations list'. + type: string + name: + description: The name for this CaPool. + type: string + project: + type: string + publishingOptions: + description: The PublishingOptions to follow when issuing Certificates + from any CertificateAuthority in this CaPool. + items: + properties: + publishCaCert: + description: When true, publishes each CertificateAuthority's + CA certificate and includes its URL in the "Authority + Information Access" X.509 extension in all issued Certificates. + If this is false, the CA certificate will not be published + and the corresponding X.509 extension will not be written + in issued certificates. + type: boolean + publishCrl: + description: When true, publishes each CertificateAuthority's + CRL and includes its URL in the "CRL Distribution Points" + X.509 extension in all issued Certificates. If this is + false, CRLs will not be published and the corresponding + X.509 extension will not be written in issued certificates. + CRLs will expire 7 days from their creation. However, + we will rebuild daily. CRLs are also rebuilt shortly after + a certificate is revoked. + type: boolean + required: + - publishCaCert + - publishCrl + type: object + type: array + tier: + description: 'The Tier of this CaPool. Possible values: ["ENTERPRISE", + "DEVOPS"]' + type: string + required: + - location + - name + - tier + type: object + 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 + 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 + 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. + 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 + status: + description: CAPoolStatus defines the observed state of CAPool. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/privateca.gcp.jet.crossplane.io_certificateauthorities.yaml b/package/crds/privateca.gcp.jet.crossplane.io_certificateauthorities.yaml new file mode 100644 index 00000000..fed2558e --- /dev/null +++ b/package/crds/privateca.gcp.jet.crossplane.io_certificateauthorities.yaml @@ -0,0 +1,559 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: certificateauthorities.privateca.gcp.jet.crossplane.io +spec: + group: privateca.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: CertificateAuthority + listKind: CertificateAuthorityList + plural: certificateauthorities + singular: certificateauthority + 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: CertificateAuthority is the Schema for the CertificateAuthoritys + 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: CertificateAuthoritySpec defines the desired state of CertificateAuthority + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + certificateAuthorityId: + description: The user provided Resource ID for this Certificate + Authority. + type: string + config: + description: The config used to create a self-signed X.509 certificate + or CSR. + items: + properties: + subjectConfig: + description: Specifies some of the values in a certificate + that are related to the subject. + items: + properties: + subject: + description: Contains distinguished name fields such + as the location and organization. + items: + properties: + commonName: + description: The common name of the distinguished + name. + type: string + countryCode: + description: The country code of the subject. + type: string + locality: + description: The locality or city of the subject. + type: string + organization: + description: The organization of the subject. + type: string + organizationalUnit: + description: The organizational unit of the + subject. + type: string + postalCode: + description: The postal code of the subject. + type: string + province: + description: The province, territory, or regional + state of the subject. + type: string + streetAddress: + description: The street address of the subject. + type: string + required: + - commonName + - organization + type: object + type: array + subjectAltName: + description: The subject alternative name fields. + items: + properties: + dnsNames: + description: Contains only valid, fully-qualified + host names. + items: + type: string + type: array + emailAddresses: + description: Contains only valid RFC 2822 E-mail + addresses. + items: + type: string + type: array + ipAddresses: + description: Contains only valid 32-bit IPv4 + addresses or RFC 4291 IPv6 addresses. + items: + type: string + type: array + uris: + description: Contains only valid RFC 3986 URIs. + items: + type: string + type: array + type: object + type: array + required: + - subject + type: object + type: array + x509Config: + description: Describes how some of the technical X.509 fields + in a certificate should be populated. + items: + properties: + additionalExtensions: + description: Specifies an X.509 extension, which may + be used in different parts of X.509 objects like + certificates, CSRs, and CRLs. + items: + properties: + critical: + description: Indicates whether or not this extension + is critical (i.e., if the client does not + know how to handle this extension, the client + should consider this to be an error). + type: boolean + objectId: + description: Describes values that are relevant + in a CA certificate. + items: + properties: + objectIdPath: + description: An ObjectId specifies an + object identifier (OID). These provide + context and describe types in ASN.1 + messages. + items: + format: int64 + type: integer + type: array + required: + - objectIdPath + type: object + type: array + value: + description: The value of this X.509 extension. + A base64-encoded string. + type: string + required: + - critical + - objectId + - value + type: object + type: array + aiaOcspServers: + description: Describes Online Certificate Status Protocol + (OCSP) endpoint addresses that appear in the "Authority + Information Access" extension in the certificate. + items: + type: string + type: array + caOptions: + description: Describes values that are relevant in + a CA certificate. + items: + properties: + isCa: + description: Refers to the "CA" X.509 extension, + which is a boolean value. When this value + is missing, the extension will be omitted + from the CA certificate. + type: boolean + maxIssuerPathLength: + description: Refers to the path length restriction + X.509 extension. For a CA certificate, this + value describes the depth of subordinate CA + certificates that are allowed. If this value + is less than 0, the request will fail. If + this value is missing, the max path length + will be omitted from the CA certificate. + format: int64 + type: integer + required: + - isCa + type: object + type: array + keyUsage: + description: Indicates the intended use for keys that + correspond to a certificate. + items: + properties: + baseKeyUsage: + description: Describes high-level ways in which + a key may be used. + items: + properties: + certSign: + description: The key may be used to sign + certificates. + type: boolean + contentCommitment: + description: The key may be used for cryptographic + commitments. Note that this may also + be referred to as "non-repudiation". + type: boolean + crlSign: + description: The key may be used sign + certificate revocation lists. + type: boolean + dataEncipherment: + description: The key may be used to encipher + data. + type: boolean + decipherOnly: + description: The key may be used to decipher + only. + type: boolean + digitalSignature: + description: The key may be used for digital + signatures. + type: boolean + encipherOnly: + description: The key may be used to encipher + only. + type: boolean + keyAgreement: + description: The key may be used in a + key agreement protocol. + type: boolean + keyEncipherment: + description: The key may be used to encipher + other keys. + type: boolean + type: object + type: array + extendedKeyUsage: + description: Describes high-level ways in which + a key may be used. + items: + properties: + clientAuth: + description: Corresponds to OID 1.3.6.1.5.5.7.3.2. + Officially described as "TLS WWW client + authentication", though regularly used + for non-WWW TLS. + type: boolean + codeSigning: + description: Corresponds to OID 1.3.6.1.5.5.7.3.3. + Officially described as "Signing of + downloadable executable code client + authentication". + type: boolean + emailProtection: + description: Corresponds to OID 1.3.6.1.5.5.7.3.4. + Officially described as "Email protection". + type: boolean + ocspSigning: + description: Corresponds to OID 1.3.6.1.5.5.7.3.9. + Officially described as "Signing OCSP + responses". + type: boolean + serverAuth: + description: Corresponds to OID 1.3.6.1.5.5.7.3.1. + Officially described as "TLS WWW server + authentication", though regularly used + for non-WWW TLS. + type: boolean + timeStamping: + description: Corresponds to OID 1.3.6.1.5.5.7.3.8. + Officially described as "Binding the + hash of an object to a time". + type: boolean + type: object + type: array + unknownExtendedKeyUsages: + description: An ObjectId specifies an object + identifier (OID). These provide context and + describe types in ASN.1 messages. + items: + properties: + objectIdPath: + description: An ObjectId specifies an + object identifier (OID). These provide + context and describe types in ASN.1 + messages. + items: + format: int64 + type: integer + type: array + required: + - objectIdPath + type: object + type: array + required: + - baseKeyUsage + - extendedKeyUsage + type: object + type: array + policyIds: + description: Describes the X.509 certificate policy + object identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4. + items: + properties: + objectIdPath: + description: An ObjectId specifies an object + identifier (OID). These provide context and + describe types in ASN.1 messages. + items: + format: int64 + type: integer + type: array + required: + - objectIdPath + type: object + type: array + required: + - caOptions + - keyUsage + type: object + type: array + required: + - subjectConfig + - x509Config + type: object + type: array + gcsBucket: + description: The name of a Cloud Storage bucket where this CertificateAuthority + will publish content, such as the CA certificate and CRLs. This + must be a bucket name, without any prefixes (such as 'gs://') + or suffixes (such as '.googleapis.com'). For example, to use + a bucket named my-bucket, you would simply specify 'my-bucket'. + If not specified, a managed bucket will be created. + type: string + ignoreActiveCertificatesOnDeletion: + description: This field allows the CA to be deleted even if the + CA has active certs. Active certs include both unrevoked and + unexpired certs. Use with care. Defaults to 'false'. + type: boolean + keySpec: + description: Used when issuing certificates for this CertificateAuthority. + If this CertificateAuthority is a self-signed CertificateAuthority, + this key is also used to sign the self-signed CA certificate. + Otherwise, it is used to sign a CSR. + items: + properties: + algorithm: + description: 'The algorithm to use for creating a managed + Cloud KMS key for a for a simplified experience. All managed + keys will be have their ProtectionLevel as HSM. Possible + values: ["SIGN_HASH_ALGORITHM_UNSPECIFIED", "RSA_PSS_2048_SHA256", + "RSA_PSS_3072_SHA256", "RSA_PSS_4096_SHA256", "RSA_PKCS1_2048_SHA256", + "RSA_PKCS1_3072_SHA256", "RSA_PKCS1_4096_SHA256", "EC_P256_SHA256", + "EC_P384_SHA384"]' + type: string + cloudKmsKeyVersion: + description: The resource name for an existing Cloud KMS + CryptoKeyVersion in the format 'projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*'. + type: string + type: object + type: array + labels: + additionalProperties: + type: string + description: "Labels with user-defined metadata. \n An object + containing a list of \"key\": value pairs. Example: { \"name\": + \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }." + type: object + lifetime: + description: 'The desired lifetime of the CA certificate. Used + to create the "notBeforeTime" and "notAfterTime" fields inside + an X.509 certificate. A duration in seconds with up to nine + fractional digits, terminated by ''s''. Example: "3.5s".' + type: string + location: + description: Location of the CertificateAuthority. A full list + of valid locations can be found by running 'gcloud privateca + locations list'. + type: string + pool: + description: The name of the CaPool this Certificate Authority + belongs to. + type: string + project: + type: string + type: + description: "The Type of this CertificateAuthority. \n ~> **Note:** + For 'SUBORDINATE' Certificate Authorities, they need to be manually + activated (via Cloud Console of 'gcloud') before they can issue + certificates. Default value: \"SELF_SIGNED\" Possible values: + [\"SELF_SIGNED\", \"SUBORDINATE\"]" + type: string + required: + - certificateAuthorityId + - config + - keySpec + - location + - pool + type: object + 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 + 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 + 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. + 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 + status: + description: CertificateAuthorityStatus defines the observed state of + CertificateAuthority. + properties: + atProvider: + properties: + accessUrls: + items: + properties: + caCertificateAccessUrl: + type: string + crlAccessUrl: + type: string + type: object + type: array + createTime: + type: string + id: + type: string + name: + type: string + pemCaCertificates: + items: + type: string + type: array + state: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/privateca.gcp.jet.crossplane.io_certificates.yaml b/package/crds/privateca.gcp.jet.crossplane.io_certificates.yaml new file mode 100644 index 00000000..e33b0447 --- /dev/null +++ b/package/crds/privateca.gcp.jet.crossplane.io_certificates.yaml @@ -0,0 +1,729 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: certificates.privateca.gcp.jet.crossplane.io +spec: + group: privateca.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Certificate + listKind: CertificateList + plural: certificates + singular: certificate + 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: Certificate is the Schema for the Certificates 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: CertificateSpec defines the desired state of Certificate + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + certificateAuthority: + description: Certificate Authority name. + type: string + certificateTemplate: + description: The resource name for a CertificateTemplate used + to issue this certificate, in the format 'projects/*/locations/*/certificateTemplates/*'. + If this is specified, the caller must have the necessary permission + to use this template. If this is omitted, no template will be + used. This template must be in the same location as the Certificate. + type: string + config: + description: The config used to create a self-signed X.509 certificate + or CSR. + items: + properties: + publicKey: + description: A PublicKey describes a public key. + items: + properties: + format: + description: 'The format of the public key. Currently, + only PEM format is supported. Possible values: ["KEY_TYPE_UNSPECIFIED", + "PEM"]' + type: string + key: + description: Required. A public key. When this is + specified in a request, the padding and encoding + can be any of the options described by the respective + 'KeyType' value. When this is generated by the service, + it will always be an RFC 5280 SubjectPublicKeyInfo + structure containing an algorithm identifier and + a key. A base64-encoded string. + type: string + required: + - format + type: object + type: array + subjectConfig: + description: Specifies some of the values in a certificate + that are related to the subject. + items: + properties: + subject: + description: Contains distinguished name fields such + as the location and organization. + items: + properties: + commonName: + description: The common name of the distinguished + name. + type: string + countryCode: + description: The country code of the subject. + type: string + locality: + description: The locality or city of the subject. + type: string + organization: + description: The organization of the subject. + type: string + organizationalUnit: + description: The organizational unit of the + subject. + type: string + postalCode: + description: The postal code of the subject. + type: string + province: + description: The province, territory, or regional + state of the subject. + type: string + streetAddress: + description: The street address of the subject. + type: string + required: + - commonName + - organization + type: object + type: array + subjectAltName: + description: The subject alternative name fields. + items: + properties: + dnsNames: + description: Contains only valid, fully-qualified + host names. + items: + type: string + type: array + emailAddresses: + description: Contains only valid RFC 2822 E-mail + addresses. + items: + type: string + type: array + ipAddresses: + description: Contains only valid 32-bit IPv4 + addresses or RFC 4291 IPv6 addresses. + items: + type: string + type: array + uris: + description: Contains only valid RFC 3986 URIs. + items: + type: string + type: array + type: object + type: array + required: + - subject + type: object + type: array + x509Config: + description: Describes how some of the technical X.509 fields + in a certificate should be populated. + items: + properties: + additionalExtensions: + description: Specifies an X.509 extension, which may + be used in different parts of X.509 objects like + certificates, CSRs, and CRLs. + items: + properties: + critical: + description: Indicates whether or not this extension + is critical (i.e., if the client does not + know how to handle this extension, the client + should consider this to be an error). + type: boolean + objectId: + description: Describes values that are relevant + in a CA certificate. + items: + properties: + objectIdPath: + description: An ObjectId specifies an + object identifier (OID). These provide + context and describe types in ASN.1 + messages. + items: + format: int64 + type: integer + type: array + required: + - objectIdPath + type: object + type: array + value: + description: The value of this X.509 extension. + A base64-encoded string. + type: string + required: + - critical + - objectId + - value + type: object + type: array + aiaOcspServers: + description: Describes Online Certificate Status Protocol + (OCSP) endpoint addresses that appear in the "Authority + Information Access" extension in the certificate. + items: + type: string + type: array + caOptions: + description: Describes values that are relevant in + a CA certificate. + items: + properties: + isCa: + description: Refers to the "CA" X.509 extension, + which is a boolean value. When this value + is missing, the extension will be omitted + from the CA certificate. + type: boolean + maxIssuerPathLength: + description: Refers to the path length restriction + X.509 extension. For a CA certificate, this + value describes the depth of subordinate CA + certificates that are allowed. If this value + is less than 0, the request will fail. If + this value is missing, the max path length + will be omitted from the CA certificate. + format: int64 + type: integer + type: object + type: array + keyUsage: + description: Indicates the intended use for keys that + correspond to a certificate. + items: + properties: + baseKeyUsage: + description: Describes high-level ways in which + a key may be used. + items: + properties: + certSign: + description: The key may be used to sign + certificates. + type: boolean + contentCommitment: + description: The key may be used for cryptographic + commitments. Note that this may also + be referred to as "non-repudiation". + type: boolean + crlSign: + description: The key may be used sign + certificate revocation lists. + type: boolean + dataEncipherment: + description: The key may be used to encipher + data. + type: boolean + decipherOnly: + description: The key may be used to decipher + only. + type: boolean + digitalSignature: + description: The key may be used for digital + signatures. + type: boolean + encipherOnly: + description: The key may be used to encipher + only. + type: boolean + keyAgreement: + description: The key may be used in a + key agreement protocol. + type: boolean + keyEncipherment: + description: The key may be used to encipher + other keys. + type: boolean + type: object + type: array + extendedKeyUsage: + description: Describes high-level ways in which + a key may be used. + items: + properties: + clientAuth: + description: Corresponds to OID 1.3.6.1.5.5.7.3.2. + Officially described as "TLS WWW client + authentication", though regularly used + for non-WWW TLS. + type: boolean + codeSigning: + description: Corresponds to OID 1.3.6.1.5.5.7.3.3. + Officially described as "Signing of + downloadable executable code client + authentication". + type: boolean + emailProtection: + description: Corresponds to OID 1.3.6.1.5.5.7.3.4. + Officially described as "Email protection". + type: boolean + ocspSigning: + description: Corresponds to OID 1.3.6.1.5.5.7.3.9. + Officially described as "Signing OCSP + responses". + type: boolean + serverAuth: + description: Corresponds to OID 1.3.6.1.5.5.7.3.1. + Officially described as "TLS WWW server + authentication", though regularly used + for non-WWW TLS. + type: boolean + timeStamping: + description: Corresponds to OID 1.3.6.1.5.5.7.3.8. + Officially described as "Binding the + hash of an object to a time". + type: boolean + type: object + type: array + unknownExtendedKeyUsages: + description: An ObjectId specifies an object + identifier (OID). These provide context and + describe types in ASN.1 messages. + items: + properties: + objectIdPath: + description: An ObjectId specifies an + object identifier (OID). These provide + context and describe types in ASN.1 + messages. + items: + format: int64 + type: integer + type: array + required: + - objectIdPath + type: object + type: array + required: + - baseKeyUsage + - extendedKeyUsage + type: object + type: array + policyIds: + description: Describes the X.509 certificate policy + object identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4. + items: + properties: + objectIdPath: + description: An ObjectId specifies an object + identifier (OID). These provide context and + describe types in ASN.1 messages. + items: + format: int64 + type: integer + type: array + required: + - objectIdPath + type: object + type: array + required: + - keyUsage + type: object + type: array + required: + - publicKey + - subjectConfig + - x509Config + type: object + type: array + labels: + additionalProperties: + type: string + description: Labels with user-defined metadata to apply to this + resource. + type: object + lifetime: + description: 'The desired lifetime of the CA certificate. Used + to create the "notBeforeTime" and "notAfterTime" fields inside + an X.509 certificate. A duration in seconds with up to nine + fractional digits, terminated by ''s''. Example: "3.5s".' + type: string + location: + description: Location of the Certificate. A full list of valid + locations can be found by running 'gcloud privateca locations + list'. + type: string + name: + description: The name for this Certificate. + type: string + pemCsr: + description: Immutable. A pem-encoded X.509 certificate signing + request (CSR). + type: string + pool: + description: The name of the CaPool this Certificate belongs to. + type: string + project: + type: string + required: + - location + - name + - pool + type: object + 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 + 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 + 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. + 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 + status: + description: CertificateStatus defines the observed state of Certificate. + properties: + atProvider: + properties: + certificateDescription: + items: + properties: + aiaIssuingCertificateUrls: + items: + type: string + type: array + authorityKeyId: + items: + properties: + keyId: + type: string + type: object + type: array + certFingerprint: + items: + properties: + sha256Hash: + type: string + type: object + type: array + configValues: + items: + properties: + keyUsage: + items: + properties: + baseKeyUsage: + items: + properties: + keyUsageOptions: + items: + properties: + certSign: + type: boolean + contentCommitment: + type: boolean + crlSign: + type: boolean + dataEncipherment: + type: boolean + decipherOnly: + type: boolean + digitalSignature: + type: boolean + encipherOnly: + type: boolean + keyAgreement: + type: boolean + keyEncipherment: + type: boolean + type: object + type: array + type: object + type: array + extendedKeyUsage: + items: + properties: + clientAuth: + type: boolean + codeSigning: + type: boolean + emailProtection: + type: boolean + ocspSigning: + type: boolean + serverAuth: + type: boolean + timeStamping: + type: boolean + type: object + type: array + unknownExtendedKeyUsages: + items: + properties: + obectId: + items: + properties: + objectIdPath: + items: + format: int64 + type: integer + type: array + type: object + type: array + type: object + type: array + type: object + type: array + type: object + type: array + crlDistributionPoints: + items: + type: string + type: array + publicKey: + items: + properties: + format: + type: string + key: + type: string + type: object + type: array + subjectDescription: + items: + properties: + hexSerialNumber: + type: string + lifetime: + type: string + notAfterTime: + type: string + notBeforeTime: + type: string + subject: + items: + properties: + commonName: + type: string + countryCode: + type: string + locality: + type: string + organization: + type: string + organizationalUnit: + type: string + postalCode: + type: string + province: + type: string + streetAddress: + type: string + type: object + type: array + subjectAltName: + items: + properties: + customSans: + items: + properties: + critical: + type: boolean + obectId: + items: + properties: + objectIdPath: + items: + format: int64 + type: integer + type: array + type: object + type: array + value: + type: string + type: object + type: array + dnsNames: + items: + type: string + type: array + emailAddresses: + items: + type: string + type: array + ipAddresses: + items: + type: string + type: array + uris: + items: + type: string + type: array + type: object + type: array + type: object + type: array + subjectKeyId: + items: + properties: + keyId: + type: string + type: object + type: array + type: object + type: array + createTime: + type: string + id: + type: string + pemCertificate: + type: string + pemCertificates: + items: + type: string + type: array + revocationDetails: + items: + properties: + revocationState: + type: string + revocationTime: + type: string + type: object + type: array + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/privateca.gcp.jet.crossplane.io_certificatetemplates.yaml b/package/crds/privateca.gcp.jet.crossplane.io_certificatetemplates.yaml new file mode 100644 index 00000000..b0ffa2d3 --- /dev/null +++ b/package/crds/privateca.gcp.jet.crossplane.io_certificatetemplates.yaml @@ -0,0 +1,476 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: certificatetemplates.privateca.gcp.jet.crossplane.io +spec: + group: privateca.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: CertificateTemplate + listKind: CertificateTemplateList + plural: certificatetemplates + singular: certificatetemplate + 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: CertificateTemplate is the Schema for the CertificateTemplates + 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: CertificateTemplateSpec defines the desired state of CertificateTemplate + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Optional. A human-readable description of scenarios + this template is intended for. + type: string + identityConstraints: + description: Optional. Describes constraints on identities that + may be appear in Certificates issued using this template. If + this is omitted, then this template will not add restrictions + on a certificate's identity. + items: + properties: + allowSubjectAltNamesPassthrough: + description: Required. If this is true, the SubjectAltNames + extension may be copied from a certificate request into + the signed certificate. Otherwise, the requested SubjectAltNames + will be discarded. + type: boolean + allowSubjectPassthrough: + description: Required. If this is true, the Subject field + may be copied from a certificate request into the signed + certificate. Otherwise, the requested Subject will be + discarded. + type: boolean + celExpression: + description: Optional. A CEL expression that may be used + to validate the resolved X.509 Subject and/or Subject + Alternative Name before a certificate is signed. To see + the full allowed syntax and some examples, see https://cloud.google.com/certificate-authority-service/docs/using-cel + items: + properties: + description: + description: Optional. Description of the expression. + This is a longer text which describes the expression, + e.g. when hovered over it in a UI. + type: string + expression: + description: Textual representation of an expression + in Common Expression Language syntax. + type: string + location: + description: Optional. String indicating the location + of the expression for error reporting, e.g. a file + name and a position in the file. + type: string + title: + description: Optional. Title for the expression, i.e. + a short string describing its purpose. This can + be used e.g. in UIs which allow to enter the expression. + type: string + type: object + type: array + required: + - allowSubjectAltNamesPassthrough + - allowSubjectPassthrough + type: object + type: array + labels: + additionalProperties: + type: string + description: Optional. Labels with user-defined metadata. + type: object + location: + description: The location for the resource + type: string + name: + description: The resource name for this CertificateTemplate in + the format `projects/*/locations/*/certificateTemplates/*`. + type: string + passthroughExtensions: + description: Optional. Describes the set of X.509 extensions that + may appear in a Certificate issued using this CertificateTemplate. + If a certificate request sets extensions that don't appear in + the passthrough_extensions, those extensions will be dropped. + If the issuing CaPool's IssuancePolicy defines baseline_values + that don't appear here, the certificate issuance request will + fail. If this is omitted, then this template will not add restrictions + on a certificate's X.509 extensions. These constraints do not + apply to X.509 extensions set in this CertificateTemplate's + predefined_values. + items: + properties: + additionalExtensions: + description: Optional. A set of ObjectIds identifying custom + X.509 extensions. Will be combined with known_extensions + to determine the full set of X.509 extensions. + items: + properties: + objectIdPath: + description: Required. The parts of an OID path. The + most significant parts of the path come first. + items: + format: int64 + type: integer + type: array + required: + - objectIdPath + type: object + type: array + knownExtensions: + description: Optional. A set of named X.509 extensions. + Will be combined with additional_extensions to determine + the full set of X.509 extensions. + items: + type: string + type: array + type: object + type: array + predefinedValues: + description: Optional. A set of X.509 values that will be applied + to all issued certificates that use this template. If the certificate + request includes conflicting values for the same properties, + they will be overwritten by the values defined here. If the + issuing CaPool's IssuancePolicy defines conflicting baseline_values + for the same properties, the certificate issuance request will + fail. + items: + properties: + additionalExtensions: + description: Optional. Describes custom X.509 extensions. + items: + properties: + critical: + description: Optional. Indicates whether or not this + extension is critical (i.e., if the client does + not know how to handle this extension, the client + should consider this to be an error). + type: boolean + objectId: + description: Required. The OID for this X.509 extension. + items: + properties: + objectIdPath: + description: Required. The parts of an OID path. + The most significant parts of the path come + first. + items: + format: int64 + type: integer + type: array + required: + - objectIdPath + type: object + type: array + value: + description: Required. The value of this X.509 extension. + type: string + required: + - objectId + - value + type: object + type: array + aiaOcspServers: + description: Optional. Describes Online Certificate Status + Protocol (OCSP) endpoint addresses that appear in the + "Authority Information Access" extension in the certificate. + items: + type: string + type: array + caOptions: + description: Optional. Describes options in this X509Parameters + that are relevant in a CA certificate. + items: + properties: + isCa: + description: Optional. Refers to the "CA" X.509 extension, + which is a boolean value. When this value is missing, + the extension will be omitted from the CA certificate. + type: boolean + maxIssuerPathLength: + description: Optional. Refers to the path length restriction + X.509 extension. For a CA certificate, this value + describes the depth of subordinate CA certificates + that are allowed. If this value is less than 0, + the request will fail. If this value is missing, + the max path length will be omitted from the CA + certificate. + format: int64 + type: integer + type: object + type: array + keyUsage: + description: Optional. Indicates the intended use for keys + that correspond to a certificate. + items: + properties: + baseKeyUsage: + description: Describes high-level ways in which a + key may be used. + items: + properties: + certSign: + description: The key may be used to sign certificates. + type: boolean + contentCommitment: + description: The key may be used for cryptographic + commitments. Note that this may also be referred + to as "non-repudiation". + type: boolean + crlSign: + description: The key may be used sign certificate + revocation lists. + type: boolean + dataEncipherment: + description: The key may be used to encipher + data. + type: boolean + decipherOnly: + description: The key may be used to decipher + only. + type: boolean + digitalSignature: + description: The key may be used for digital + signatures. + type: boolean + encipherOnly: + description: The key may be used to encipher + only. + type: boolean + keyAgreement: + description: The key may be used in a key agreement + protocol. + type: boolean + keyEncipherment: + description: The key may be used to encipher + other keys. + type: boolean + type: object + type: array + extendedKeyUsage: + description: Detailed scenarios in which a key may + be used. + items: + properties: + clientAuth: + description: Corresponds to OID 1.3.6.1.5.5.7.3.2. + Officially described as "TLS WWW client authentication", + though regularly used for non-WWW TLS. + type: boolean + codeSigning: + description: Corresponds to OID 1.3.6.1.5.5.7.3.3. + Officially described as "Signing of downloadable + executable code client authentication". + type: boolean + emailProtection: + description: Corresponds to OID 1.3.6.1.5.5.7.3.4. + Officially described as "Email protection". + type: boolean + ocspSigning: + description: Corresponds to OID 1.3.6.1.5.5.7.3.9. + Officially described as "Signing OCSP responses". + type: boolean + serverAuth: + description: Corresponds to OID 1.3.6.1.5.5.7.3.1. + Officially described as "TLS WWW server authentication", + though regularly used for non-WWW TLS. + type: boolean + timeStamping: + description: Corresponds to OID 1.3.6.1.5.5.7.3.8. + Officially described as "Binding the hash + of an object to a time". + type: boolean + type: object + type: array + unknownExtendedKeyUsages: + description: Used to describe extended key usages + that are not listed in the KeyUsage.ExtendedKeyUsageOptions + message. + items: + properties: + objectIdPath: + description: Required. The parts of an OID path. + The most significant parts of the path come + first. + items: + format: int64 + type: integer + type: array + required: + - objectIdPath + type: object + type: array + type: object + type: array + policyIds: + description: Optional. Describes the X.509 certificate policy + object identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4. + items: + properties: + objectIdPath: + description: Required. The parts of an OID path. The + most significant parts of the path come first. + items: + format: int64 + type: integer + type: array + required: + - objectIdPath + type: object + type: array + type: object + type: array + project: + description: The project for the resource + type: string + required: + - location + - name + type: object + 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 + 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 + 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. + 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 + status: + description: CertificateTemplateStatus defines the observed state of CertificateTemplate. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/pubsub.gcp.jet.crossplane.io_litereservations.yaml b/package/crds/pubsub.gcp.jet.crossplane.io_litereservations.yaml new file mode 100644 index 00000000..5e7d9d9f --- /dev/null +++ b/package/crds/pubsub.gcp.jet.crossplane.io_litereservations.yaml @@ -0,0 +1,181 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: litereservations.pubsub.gcp.jet.crossplane.io +spec: + group: pubsub.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: LiteReservation + listKind: LiteReservationList + plural: litereservations + singular: litereservation + 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: LiteReservation is the Schema for the LiteReservations 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: LiteReservationSpec defines the desired state of LiteReservation + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + name: + description: Name of the reservation. + type: string + project: + type: string + region: + description: The region of the pubsub lite reservation. + type: string + throughputCapacity: + description: The reserved throughput capacity. Every unit of throughput + capacity is equivalent to 1 MiB/s of published messages or 2 + MiB/s of subscribed messages. + format: int64 + type: integer + required: + - name + - throughputCapacity + type: object + 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 + 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 + 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. + 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 + status: + description: LiteReservationStatus defines the observed state of LiteReservation. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/pubsub.gcp.jet.crossplane.io_litesubscriptions.yaml b/package/crds/pubsub.gcp.jet.crossplane.io_litesubscriptions.yaml new file mode 100644 index 00000000..3ab9697a --- /dev/null +++ b/package/crds/pubsub.gcp.jet.crossplane.io_litesubscriptions.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: litesubscriptions.pubsub.gcp.jet.crossplane.io +spec: + group: pubsub.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: LiteSubscription + listKind: LiteSubscriptionList + plural: litesubscriptions + singular: litesubscription + 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: LiteSubscription is the Schema for the LiteSubscriptions 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: LiteSubscriptionSpec defines the desired state of LiteSubscription + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + deliveryConfig: + description: The settings for this subscription's message delivery. + items: + properties: + deliveryRequirement: + description: 'When this subscription should send messages + to subscribers relative to messages persistence in storage. + Possible values: ["DELIVER_IMMEDIATELY", "DELIVER_AFTER_STORED", + "DELIVERY_REQUIREMENT_UNSPECIFIED"]' + type: string + required: + - deliveryRequirement + type: object + type: array + name: + description: Name of the subscription. + type: string + project: + type: string + region: + description: The region of the pubsub lite topic. + type: string + topic: + description: A reference to a Topic resource. + type: string + zone: + description: The zone of the pubsub lite topic. + type: string + required: + - name + - topic + type: object + 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 + 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 + 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. + 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 + status: + description: LiteSubscriptionStatus defines the observed state of LiteSubscription. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/pubsub.gcp.jet.crossplane.io_litetopics.yaml b/package/crds/pubsub.gcp.jet.crossplane.io_litetopics.yaml new file mode 100644 index 00000000..1c1f2109 --- /dev/null +++ b/package/crds/pubsub.gcp.jet.crossplane.io_litetopics.yaml @@ -0,0 +1,239 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: litetopics.pubsub.gcp.jet.crossplane.io +spec: + group: pubsub.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: LiteTopic + listKind: LiteTopicList + plural: litetopics + singular: litetopic + 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: LiteTopic is the Schema for the LiteTopics 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: LiteTopicSpec defines the desired state of LiteTopic + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + name: + description: Name of the topic. + type: string + partitionConfig: + description: The settings for this topic's partitions. + items: + properties: + capacity: + description: The capacity configuration. + items: + properties: + publishMibPerSec: + description: Subscribe throughput capacity per partition + in MiB/s. Must be >= 4 and <= 16. + format: int64 + type: integer + subscribeMibPerSec: + description: Publish throughput capacity per partition + in MiB/s. Must be >= 4 and <= 16. + format: int64 + type: integer + required: + - publishMibPerSec + - subscribeMibPerSec + type: object + type: array + count: + description: The number of partitions in the topic. Must + be at least 1. + format: int64 + type: integer + required: + - count + type: object + type: array + project: + type: string + region: + description: The region of the pubsub lite topic. + type: string + reservationConfig: + description: The settings for this topic's Reservation usage. + items: + properties: + throughputReservation: + description: The Reservation to use for this topic's throughput + capacity. + type: string + type: object + type: array + retentionConfig: + description: The settings for a topic's message retention. + items: + properties: + perPartitionBytes: + description: The provisioned storage, in bytes, per partition. + If the number of bytes stored in any of the topic's partitions + grows beyond this value, older messages will be dropped + to make room for newer ones, regardless of the value of + period. + type: string + period: + description: How long a published message is retained. If + unset, messages will be retained as long as the bytes + retained for each partition is below perPartitionBytes. + type: string + required: + - perPartitionBytes + type: object + type: array + zone: + description: The zone of the pubsub lite topic. + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: LiteTopicStatus defines the observed state of LiteTopic. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/pubsub.gcp.jet.crossplane.io_schemas.yaml b/package/crds/pubsub.gcp.jet.crossplane.io_schemas.yaml new file mode 100644 index 00000000..e88ef653 --- /dev/null +++ b/package/crds/pubsub.gcp.jet.crossplane.io_schemas.yaml @@ -0,0 +1,182 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: schemas.pubsub.gcp.jet.crossplane.io +spec: + group: pubsub.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Schema + listKind: SchemaList + plural: schemas + singular: schema + 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: Schema is the Schema for the Schemas 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: SchemaSpec defines the desired state of Schema + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + definition: + description: The definition of the schema. This should contain + a string representing the full definition of the schema that + is a valid schema definition of the type specified in type. + type: string + name: + description: The ID to use for the schema, which will become the + final component of the schema's resource name. + type: string + project: + type: string + type: + description: 'The type of the schema definition Default value: + "TYPE_UNSPECIFIED" Possible values: ["TYPE_UNSPECIFIED", "PROTOCOL_BUFFER", + "AVRO"]' + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: SchemaStatus defines the observed state of Schema. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/pubsub.gcp.jet.crossplane.io_subscriptioniambindings.yaml b/package/crds/pubsub.gcp.jet.crossplane.io_subscriptioniambindings.yaml new file mode 100644 index 00000000..391e87df --- /dev/null +++ b/package/crds/pubsub.gcp.jet.crossplane.io_subscriptioniambindings.yaml @@ -0,0 +1,196 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: subscriptioniambindings.pubsub.gcp.jet.crossplane.io +spec: + group: pubsub.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SubscriptionIAMBinding + listKind: SubscriptionIAMBindingList + plural: subscriptioniambindings + singular: subscriptioniambinding + 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: SubscriptionIAMBinding is the Schema for the SubscriptionIAMBindings + 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: SubscriptionIAMBindingSpec defines the desired state of SubscriptionIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + role: + type: string + subscription: + type: string + required: + - members + - role + - subscription + type: object + 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 + 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 + 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. + 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 + status: + description: SubscriptionIAMBindingStatus defines the observed state of + SubscriptionIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/pubsub.gcp.jet.crossplane.io_subscriptioniammembers.yaml b/package/crds/pubsub.gcp.jet.crossplane.io_subscriptioniammembers.yaml new file mode 100644 index 00000000..a35c2654 --- /dev/null +++ b/package/crds/pubsub.gcp.jet.crossplane.io_subscriptioniammembers.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: subscriptioniammembers.pubsub.gcp.jet.crossplane.io +spec: + group: pubsub.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SubscriptionIAMMember + listKind: SubscriptionIAMMemberList + plural: subscriptioniammembers + singular: subscriptioniammember + 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: SubscriptionIAMMember is the Schema for the SubscriptionIAMMembers + 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: SubscriptionIAMMemberSpec defines the desired state of SubscriptionIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + role: + type: string + subscription: + type: string + required: + - member + - role + - subscription + type: object + 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 + 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 + 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. + 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 + status: + description: SubscriptionIAMMemberStatus defines the observed state of + SubscriptionIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/pubsub.gcp.jet.crossplane.io_subscriptioniampolicies.yaml b/package/crds/pubsub.gcp.jet.crossplane.io_subscriptioniampolicies.yaml new file mode 100644 index 00000000..64d05ca0 --- /dev/null +++ b/package/crds/pubsub.gcp.jet.crossplane.io_subscriptioniampolicies.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: subscriptioniampolicies.pubsub.gcp.jet.crossplane.io +spec: + group: pubsub.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SubscriptionIAMPolicy + listKind: SubscriptionIAMPolicyList + plural: subscriptioniampolicies + singular: subscriptioniampolicy + 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: SubscriptionIAMPolicy is the Schema for the SubscriptionIAMPolicys + 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: SubscriptionIAMPolicySpec defines the desired state of SubscriptionIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + project: + type: string + subscription: + type: string + required: + - policyData + - subscription + type: object + 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 + 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 + 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. + 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 + status: + description: SubscriptionIAMPolicyStatus defines the observed state of + SubscriptionIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/pubsub.gcp.jet.crossplane.io_subscriptions.yaml b/package/crds/pubsub.gcp.jet.crossplane.io_subscriptions.yaml new file mode 100644 index 00000000..82ac065a --- /dev/null +++ b/package/crds/pubsub.gcp.jet.crossplane.io_subscriptions.yaml @@ -0,0 +1,377 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: subscriptions.pubsub.gcp.jet.crossplane.io +spec: + group: pubsub.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Subscription + listKind: SubscriptionList + plural: subscriptions + singular: subscription + 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: Subscription is the Schema for the Subscriptions 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: SubscriptionSpec defines the desired state of Subscription + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + ackDeadlineSeconds: + description: "This value is the maximum time after a subscriber + receives a message before the subscriber should acknowledge + the message. After message delivery but before the ack deadline + expires and before the message is acknowledged, it is an outstanding + message and will not be delivered again during that time (on + a best-effort basis). \n For pull subscriptions, this value + is used as the initial value for the ack deadline. To override + this value for a given message, call subscriptions.modifyAckDeadline + with the corresponding ackId if using pull. The minimum custom + deadline you can specify is 10 seconds. The maximum custom deadline + you can specify is 600 seconds (10 minutes). If this parameter + is 0, a default value of 10 seconds is used. \n For push delivery, + this value is also used to set the request timeout for the call + to the push endpoint. \n If the subscriber never acknowledges + the message, the Pub/Sub system will eventually redeliver the + message." + format: int64 + type: integer + deadLetterPolicy: + description: "A policy that specifies the conditions for dead + lettering messages in this subscription. If dead_letter_policy + is not set, dead lettering is disabled. \n The Cloud Pub/Sub + service account associated with this subscription's parent project + (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) + must have permission to Acknowledge() messages on this subscription." + items: + properties: + deadLetterTopic: + description: "The name of the topic to which dead letter + messages should be published. Format is 'projects/{project}/topics/{topic}'. + \n The Cloud Pub/Sub service account associated with the + enclosing subscription's parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) + must have permission to Publish() to this topic. \n The + operation will fail if the topic does not exist. Users + should ensure that there is a subscription attached to + this topic since messages published to a topic with no + subscriptions are lost." + type: string + maxDeliveryAttempts: + description: "The maximum number of delivery attempts for + any message. The value must be between 5 and 100. \n The + number of delivery attempts is defined as 1 + (the sum + of number of NACKs and number of times the acknowledgement + deadline has been exceeded for the message). \n A NACK + is any call to ModifyAckDeadline with a 0 deadline. Note + that client libraries may automatically extend ack_deadlines. + \n This field will be honored on a best effort basis. + \n If this parameter is 0, a default value of 5 is used." + format: int64 + type: integer + type: object + type: array + enableMessageOrdering: + description: If 'true', messages published with the same orderingKey + in PubsubMessage will be delivered to the subscribers in the + order in which they are received by the Pub/Sub system. Otherwise, + they may be delivered in any order. + type: boolean + expirationPolicy: + description: A policy that specifies the conditions for this subscription's + expiration. A subscription is considered active as long as any + connected subscriber is successfully consuming messages from + the subscription or is issuing operations on the subscription. + If expirationPolicy is not set, a default policy with ttl of + 31 days will be used. If it is set but ttl is "", the resource + never expires. The minimum allowed value for expirationPolicy.ttl + is 1 day. + items: + properties: + ttl: + description: Specifies the "time-to-live" duration for an + associated resource. The resource expires if it is not + active for a period of ttl. If ttl is not set, the associated + resource never expires. A duration in seconds with up + to nine fractional digits, terminated by 's'. Example + - "3.5s". + type: string + required: + - ttl + type: object + type: array + filter: + description: The subscription only delivers the messages that + match the filter. Pub/Sub automatically acknowledges the messages + that don't match the filter. You can filter messages by their + attributes. The maximum length of a filter is 256 bytes. After + creating the subscription, you can't modify the filter. + type: string + labels: + additionalProperties: + type: string + description: A set of key/value label pairs to assign to this + Subscription. + type: object + messageRetentionDuration: + description: "How long to retain unacknowledged messages in the + subscription's backlog, from the moment a message is published. + If retainAckedMessages is true, then this also configures the + retention of acknowledged messages, and thus configures how + far back in time a subscriptions.seek can be done. Defaults + to 7 days. Cannot be more than 7 days ('\"604800s\"') or less + than 10 minutes ('\"600s\"'). \n A duration in seconds with + up to nine fractional digits, terminated by 's'. Example: '\"600.5s\"'." + type: string + name: + description: Name of the subscription. + type: string + project: + type: string + pushConfig: + description: If push delivery is used with this subscription, + this field is used to configure it. An empty pushConfig signifies + that the subscriber will pull and ack messages using API methods. + items: + properties: + attributes: + additionalProperties: + type: string + description: "Endpoint configuration attributes. \n Every + endpoint has a set of API supported attributes that can + be used to control different aspects of the message delivery. + \n The currently supported attribute is x-goog-version, + which you can use to change the format of the pushed message. + This attribute indicates the version of the data expected + by the endpoint. This controls the shape of the pushed + message (i.e., its fields and metadata). The endpoint + version is based on the version of the Pub/Sub API. \n + If not present during the subscriptions.create call, it + will default to the version of the API used to make such + call. If not present during a subscriptions.modifyPushConfig + call, its value will not be changed. subscriptions.get + calls will always return a valid version, even if the + subscription was created without this attribute. \n The + possible values for this attribute are: \n - v1beta1: + uses the push format defined in the v1beta1 Pub/Sub API. + - v1 or v1beta2: uses the push format defined in the v1 + Pub/Sub API." + type: object + oidcToken: + description: If specified, Pub/Sub will generate and attach + an OIDC JWT token as an Authorization header in the HTTP + request for every pushed message. + items: + properties: + audience: + description: 'Audience to be used when generating + OIDC token. The audience claim identifies the recipients + that the JWT is intended for. The audience value + is a single case-sensitive string. Having multiple + values (array) for the audience field is not supported. + More info about the OIDC JWT token audience here: + https://tools.ietf.org/html/rfc7519#section-4.1.3 + Note: if not specified, the Push endpoint URL will + be used.' + type: string + serviceAccountEmail: + description: Service account email to be used for + generating the OIDC token. The caller (for subscriptions.create, + subscriptions.patch, and subscriptions.modifyPushConfig + RPCs) must have the iam.serviceAccounts.actAs permission + for the service account. + type: string + required: + - serviceAccountEmail + type: object + type: array + pushEndpoint: + description: A URL locating the endpoint to which messages + should be pushed. For example, a Webhook endpoint might + use "https://example.com/push". + type: string + required: + - pushEndpoint + type: object + type: array + retainAckedMessages: + description: Indicates whether to retain acknowledged messages. + If 'true', then messages are not expunged from the subscription's + backlog, even if they are acknowledged, until they fall out + of the messageRetentionDuration window. + type: boolean + retryPolicy: + description: "A policy that specifies how Pub/Sub retries message + delivery for this subscription. \n If not set, the default retry + policy is applied. This generally implies that messages will + be retried as soon as possible for healthy subscribers. RetryPolicy + will be triggered on NACKs or acknowledgement deadline exceeded + events for a given message" + items: + properties: + maximumBackoff: + description: 'The maximum delay between consecutive deliveries + of a given message. Value should be between 0 and 600 + seconds. Defaults to 600 seconds. A duration in seconds + with up to nine fractional digits, terminated by ''s''. + Example: "3.5s".' + type: string + minimumBackoff: + description: 'The minimum delay between consecutive deliveries + of a given message. Value should be between 0 and 600 + seconds. Defaults to 10 seconds. A duration in seconds + with up to nine fractional digits, terminated by ''s''. + Example: "3.5s".' + type: string + type: object + type: array + topic: + description: A reference to a Topic resource. + type: string + required: + - name + - topic + type: object + 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 + 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 + 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. + 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 + status: + description: SubscriptionStatus defines the observed state of Subscription. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/pubsub.gcp.jet.crossplane.io_topiciambindings.yaml b/package/crds/pubsub.gcp.jet.crossplane.io_topiciambindings.yaml new file mode 100644 index 00000000..13670b6e --- /dev/null +++ b/package/crds/pubsub.gcp.jet.crossplane.io_topiciambindings.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: topiciambindings.pubsub.gcp.jet.crossplane.io +spec: + group: pubsub.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TopicIAMBinding + listKind: TopicIAMBindingList + plural: topiciambindings + singular: topiciambinding + 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: TopicIAMBinding is the Schema for the TopicIAMBindings 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: TopicIAMBindingSpec defines the desired state of TopicIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + role: + type: string + topic: + type: string + required: + - members + - role + - topic + type: object + 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 + 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 + 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. + 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 + status: + description: TopicIAMBindingStatus defines the observed state of TopicIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/pubsub.gcp.jet.crossplane.io_topiciammembers.yaml b/package/crds/pubsub.gcp.jet.crossplane.io_topiciammembers.yaml new file mode 100644 index 00000000..a1365eaa --- /dev/null +++ b/package/crds/pubsub.gcp.jet.crossplane.io_topiciammembers.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: topiciammembers.pubsub.gcp.jet.crossplane.io +spec: + group: pubsub.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TopicIAMMember + listKind: TopicIAMMemberList + plural: topiciammembers + singular: topiciammember + 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: TopicIAMMember is the Schema for the TopicIAMMembers 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: TopicIAMMemberSpec defines the desired state of TopicIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + role: + type: string + topic: + type: string + required: + - member + - role + - topic + type: object + 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 + 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 + 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. + 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 + status: + description: TopicIAMMemberStatus defines the observed state of TopicIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/pubsub.gcp.jet.crossplane.io_topiciampolicies.yaml b/package/crds/pubsub.gcp.jet.crossplane.io_topiciampolicies.yaml new file mode 100644 index 00000000..6a85f27c --- /dev/null +++ b/package/crds/pubsub.gcp.jet.crossplane.io_topiciampolicies.yaml @@ -0,0 +1,175 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: topiciampolicies.pubsub.gcp.jet.crossplane.io +spec: + group: pubsub.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TopicIAMPolicy + listKind: TopicIAMPolicyList + plural: topiciampolicies + singular: topiciampolicy + 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: TopicIAMPolicy is the Schema for the TopicIAMPolicys 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: TopicIAMPolicySpec defines the desired state of TopicIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + project: + type: string + topic: + type: string + required: + - policyData + - topic + type: object + 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 + 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 + 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. + 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 + status: + description: TopicIAMPolicyStatus defines the observed state of TopicIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/pubsub.gcp.jet.crossplane.io_topics.yaml b/package/crds/pubsub.gcp.jet.crossplane.io_topics.yaml new file mode 100644 index 00000000..f8ed6075 --- /dev/null +++ b/package/crds/pubsub.gcp.jet.crossplane.io_topics.yaml @@ -0,0 +1,225 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: topics.pubsub.gcp.jet.crossplane.io +spec: + group: pubsub.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Topic + listKind: TopicList + plural: topics + singular: topic + 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: Topic is the Schema for the Topics 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: TopicSpec defines the desired state of Topic + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + kmsKeyName: + description: The resource name of the Cloud KMS CryptoKey to be + used to protect access to messages published on this topic. + Your project's PubSub service account ('service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com') + must have 'roles/cloudkms.cryptoKeyEncrypterDecrypter' to use + this feature. The expected format is 'projects/*/locations/*/keyRings/*/cryptoKeys/*' + type: string + labels: + additionalProperties: + type: string + description: A set of key/value label pairs to assign to this + Topic. + type: object + messageStoragePolicy: + description: Policy constraining the set of Google Cloud Platform + regions where messages published to the topic may be stored. + If not present, then no constraints are in effect. + items: + properties: + allowedPersistenceRegions: + description: A list of IDs of GCP regions where messages + that are published to the topic may be persisted in storage. + Messages published by publishers running in non-allowed + GCP regions (or running outside of GCP altogether) will + be routed for storage in one of the allowed regions. An + empty list means that no regions are allowed, and is not + a valid configuration. + items: + type: string + type: array + required: + - allowedPersistenceRegions + type: object + type: array + name: + description: Name of the topic. + type: string + project: + type: string + schemaSettings: + description: Settings for validating messages published against + a schema. + items: + properties: + encoding: + description: 'The encoding of messages validated against + schema. Default value: "ENCODING_UNSPECIFIED" Possible + values: ["ENCODING_UNSPECIFIED", "JSON", "BINARY"]' + type: string + schema: + description: The name of the schema that messages published + should be validated against. Format is projects/{project}/schemas/{schema}. + The value of this field will be _deleted-schema_ if the + schema has been deleted. + type: string + required: + - schema + type: object + type: array + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: TopicStatus defines the observed state of Topic. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/redis.gcp.jet.crossplane.io_instances.yaml b/package/crds/redis.gcp.jet.crossplane.io_instances.yaml new file mode 100644 index 00000000..73ecec69 --- /dev/null +++ b/package/crds/redis.gcp.jet.crossplane.io_instances.yaml @@ -0,0 +1,275 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instances.redis.gcp.jet.crossplane.io +spec: + group: redis.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Instance + listKind: InstanceList + plural: instances + singular: instance + 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: Instance is the Schema for the Instances 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: InstanceSpec defines the desired state of Instance + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + alternativeLocationId: + description: Only applicable to STANDARD_HA tier which protects + the instance against zonal failures by provisioning it across + two zones. If provided, it must be a different zone from the + one provided in [locationId]. + type: string + authEnabled: + description: Optional. Indicates whether OSS Redis AUTH is enabled + for the instance. If set to "true" AUTH is enabled on the instance. + Default value is "false" meaning AUTH is disabled. + type: boolean + authorizedNetwork: + description: The full name of the Google Compute Engine network + to which the instance is connected. If left unspecified, the + default network will be used. + type: string + connectMode: + description: 'The connection mode of the Redis instance. Default + value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING", + "PRIVATE_SERVICE_ACCESS"]' + type: string + displayName: + description: An arbitrary and optional user-provided name for + the instance. + type: string + labels: + additionalProperties: + type: string + description: Resource labels to represent user provided metadata. + type: object + locationId: + description: The zone where the instance will be provisioned. + If not provided, the service will choose a zone for the instance. + For STANDARD_HA tier, instances will be created across two zones + for protection against zonal failures. If [alternativeLocationId] + is also provided, it must be different from [locationId]. + type: string + memorySizeGb: + description: Redis memory size in GiB. + format: int64 + type: integer + name: + description: The ID of the instance or a fully qualified identifier + for the instance. + type: string + project: + type: string + redisConfigs: + additionalProperties: + type: string + description: 'Redis configuration parameters, according to http://redis.io/topics/config. + Please check Memorystore documentation for the list of supported + parameters: https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs' + type: object + redisVersion: + description: The version of Redis software. If not provided, latest + supported version will be used. Please check the API documentation + linked at the top for the latest valid values. + type: string + region: + description: The name of the Redis region of the instance. + type: string + reservedIpRange: + description: The CIDR range of internal addresses that are reserved + for this instance. If not provided, the service will choose + an unused /29 block, for example, 10.0.0.0/29 or 192.168.0.0/29. + Ranges must be unique and non-overlapping with existing subnets + in an authorized network. + type: string + tier: + description: "The service tier of the instance. Must be one of + these values: \n - BASIC: standalone instance - STANDARD_HA: + highly available primary/replica instances Default value: \"BASIC\" + Possible values: [\"BASIC\", \"STANDARD_HA\"]" + type: string + transitEncryptionMode: + description: "The TLS mode of the Redis instance, If not provided, + TLS is disabled for the instance. \n - SERVER_AUTHENTICATION: + Client to Server traffic encryption enabled with server authentcation + Default value: \"DISABLED\" Possible values: [\"SERVER_AUTHENTICATION\", + \"DISABLED\"]" + type: string + required: + - memorySizeGb + - name + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceStatus defines the observed state of Instance. + properties: + atProvider: + properties: + createTime: + type: string + currentLocationId: + type: string + host: + type: string + id: + type: string + persistenceIamIdentity: + type: string + port: + format: int64 + type: integer + serverCaCerts: + items: + properties: + cert: + type: string + createTime: + type: string + expireTime: + type: string + serialNumber: + type: string + sha1Fingerprint: + type: string + type: object + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/resourcemanager.gcp.jet.crossplane.io_liens.yaml b/package/crds/resourcemanager.gcp.jet.crossplane.io_liens.yaml new file mode 100644 index 00000000..3689ee69 --- /dev/null +++ b/package/crds/resourcemanager.gcp.jet.crossplane.io_liens.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: liens.resourcemanager.gcp.jet.crossplane.io +spec: + group: resourcemanager.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Lien + listKind: LienList + plural: liens + singular: lien + 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: Lien is the Schema for the Liens 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: LienSpec defines the desired state of Lien + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + origin: + description: A stable, user-visible/meaningful string identifying + the origin of the Lien, intended to be inspected programmatically. + Maximum length of 200 characters. + type: string + parent: + description: A reference to the resource this Lien is attached + to. The server will validate the parent against those for which + Liens are supported. Since a variety of objects can have Liens + against them, you must provide the type prefix (e.g. "projects/my-project-name"). + type: string + reason: + description: Concise user-visible strings indicating why an action + cannot be performed on a resource. Maximum length of 200 characters. + type: string + restrictions: + description: The types of operations which should be blocked as + a result of this Lien. Each value should correspond to an IAM + permission. The server will validate the permissions against + those for which Liens are supported. An empty list is meaningless + and will be rejected. e.g. ['resourcemanager.projects.delete'] + items: + type: string + type: array + required: + - origin + - parent + - reason + - restrictions + type: object + 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 + 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 + 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. + 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 + status: + description: LienStatus defines the observed state of Lien. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/scc.gcp.jet.crossplane.io_notificationconfigs.yaml b/package/crds/scc.gcp.jet.crossplane.io_notificationconfigs.yaml new file mode 100644 index 00000000..d4a1efd0 --- /dev/null +++ b/package/crds/scc.gcp.jet.crossplane.io_notificationconfigs.yaml @@ -0,0 +1,215 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: notificationconfigs.scc.gcp.jet.crossplane.io +spec: + group: scc.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: NotificationConfig + listKind: NotificationConfigList + plural: notificationconfigs + singular: notificationconfig + 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: NotificationConfig is the Schema for the NotificationConfigs + 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: NotificationConfigSpec defines the desired state of NotificationConfig + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + configId: + description: This must be unique within the organization. + type: string + description: + description: The description of the notification config (max of + 1024 characters). + type: string + organization: + description: The organization whose Cloud Security Command Center + the Notification Config lives in. + type: string + pubsubTopic: + description: The Pub/Sub topic to send notifications to. Its format + is "projects/[project_id]/topics/[topic]". + type: string + streamingConfig: + description: The config for triggering streaming-based notifications. + items: + properties: + filter: + description: "Expression that defines the filter to apply + across create/update events of assets or findings as specified + by the event type. The expression is a list of zero or + more restrictions combined via logical operators AND and + OR. Parentheses are supported, and OR has higher precedence + than AND. \n Restrictions have the form + and may have a - character in front of them to + indicate negation. The fields map to those defined in + the corresponding resource. \n The supported operators + are: \n * = for all value types. * >, <, >=, <= for integer + values. * :, meaning substring matching, for strings. + \n The supported value types are: \n * string literals + in quotes. * integer literals without quotes. * boolean + literals true and false without quotes. \n See [Filtering + notifications](https://cloud.google.com/security-command-center/docs/how-to-api-filter-notifications) + for information on how to write a filter." + type: string + required: + - filter + type: object + type: array + required: + - configId + - organization + - pubsubTopic + - streamingConfig + type: object + 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 + 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 + 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. + 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 + status: + description: NotificationConfigStatus defines the observed state of NotificationConfig. + properties: + atProvider: + properties: + id: + type: string + name: + type: string + serviceAccount: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/scc.gcp.jet.crossplane.io_sources.yaml b/package/crds/scc.gcp.jet.crossplane.io_sources.yaml new file mode 100644 index 00000000..2545d529 --- /dev/null +++ b/package/crds/scc.gcp.jet.crossplane.io_sources.yaml @@ -0,0 +1,184 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: sources.scc.gcp.jet.crossplane.io +spec: + group: scc.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Source + listKind: SourceList + plural: sources + singular: source + 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: Source is the Schema for the Sources 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: SourceSpec defines the desired state of Source + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: The description of the source (max of 1024 characters). + type: string + displayName: + description: The source’s display name. A source’s display name + must be unique amongst its siblings, for example, two sources + with the same parent can't share the same display name. The + display name must start and end with a letter or digit, may + contain letters, digits, spaces, hyphens, and underscores, and + can be no longer than 32 characters. + type: string + organization: + description: The organization whose Cloud Security Command Center + the Source lives in. + type: string + required: + - displayName + - organization + type: object + 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 + 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 + 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. + 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 + status: + description: SourceStatus defines the observed state of Source. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/secretmanager.gcp.jet.crossplane.io_secretiambindings.yaml b/package/crds/secretmanager.gcp.jet.crossplane.io_secretiambindings.yaml new file mode 100644 index 00000000..380ea2b7 --- /dev/null +++ b/package/crds/secretmanager.gcp.jet.crossplane.io_secretiambindings.yaml @@ -0,0 +1,194 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: secretiambindings.secretmanager.gcp.jet.crossplane.io +spec: + group: secretmanager.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SecretIAMBinding + listKind: SecretIAMBindingList + plural: secretiambindings + singular: secretiambinding + 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: SecretIAMBinding is the Schema for the SecretIAMBindings 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: SecretIAMBindingSpec defines the desired state of SecretIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + role: + type: string + secretId: + type: string + required: + - members + - role + - secretId + type: object + 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 + 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 + 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. + 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 + status: + description: SecretIAMBindingStatus defines the observed state of SecretIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/secretmanager.gcp.jet.crossplane.io_secretiammembers.yaml b/package/crds/secretmanager.gcp.jet.crossplane.io_secretiammembers.yaml new file mode 100644 index 00000000..82524c0d --- /dev/null +++ b/package/crds/secretmanager.gcp.jet.crossplane.io_secretiammembers.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: secretiammembers.secretmanager.gcp.jet.crossplane.io +spec: + group: secretmanager.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SecretIAMMember + listKind: SecretIAMMemberList + plural: secretiammembers + singular: secretiammember + 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: SecretIAMMember is the Schema for the SecretIAMMembers 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: SecretIAMMemberSpec defines the desired state of SecretIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + role: + type: string + secretId: + type: string + required: + - member + - role + - secretId + type: object + 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 + 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 + 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. + 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 + status: + description: SecretIAMMemberStatus defines the observed state of SecretIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/secretmanager.gcp.jet.crossplane.io_secretiampolicies.yaml b/package/crds/secretmanager.gcp.jet.crossplane.io_secretiampolicies.yaml new file mode 100644 index 00000000..83cca531 --- /dev/null +++ b/package/crds/secretmanager.gcp.jet.crossplane.io_secretiampolicies.yaml @@ -0,0 +1,175 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: secretiampolicies.secretmanager.gcp.jet.crossplane.io +spec: + group: secretmanager.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SecretIAMPolicy + listKind: SecretIAMPolicyList + plural: secretiampolicies + singular: secretiampolicy + 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: SecretIAMPolicy is the Schema for the SecretIAMPolicys 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: SecretIAMPolicySpec defines the desired state of SecretIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + project: + type: string + secretId: + type: string + required: + - policyData + - secretId + type: object + 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 + 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 + 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. + 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 + status: + description: SecretIAMPolicyStatus defines the observed state of SecretIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/secretmanager.gcp.jet.crossplane.io_secrets.yaml b/package/crds/secretmanager.gcp.jet.crossplane.io_secrets.yaml new file mode 100644 index 00000000..97ebe1be --- /dev/null +++ b/package/crds/secretmanager.gcp.jet.crossplane.io_secrets.yaml @@ -0,0 +1,291 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: secrets.secretmanager.gcp.jet.crossplane.io +spec: + group: secretmanager.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Secret + listKind: SecretList + plural: secrets + singular: secret + 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: Secret is the Schema for the Secrets 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: SecretSpec defines the desired state of Secret + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + expireTime: + description: 'Timestamp in UTC when the Secret is scheduled to + expire. This is always provided on output, regardless of what + was sent on input. A timestamp in RFC3339 UTC "Zulu" format, + with nanosecond resolution and up to nine fractional digits. + Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".' + type: string + labels: + additionalProperties: + type: string + description: "The labels assigned to this Secret. \n Label keys + must be between 1 and 63 characters long, have a UTF-8 encoding + of maximum 128 bytes, and must conform to the following PCRE + regular expression: [\\p{Ll}\\p{Lo}][\\p{Ll}\\p{Lo}\\p{N}_-]{0,62} + \n Label values must be between 0 and 63 characters long, have + a UTF-8 encoding of maximum 128 bytes, and must conform to the + following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} + \n No more than 64 labels can be assigned to a given resource. + \n An object containing a list of \"key\": value pairs. Example: + { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" + }." + type: object + project: + type: string + replication: + description: The replication policy of the secret data attached + to the Secret. It cannot be changed after the Secret has been + created. + items: + properties: + automatic: + description: The Secret will automatically be replicated + without any restrictions. + type: boolean + userManaged: + description: The Secret will automatically be replicated + without any restrictions. + items: + properties: + replicas: + description: The list of Replicas for this Secret. + Cannot be empty. + items: + properties: + customerManagedEncryption: + description: Customer Managed Encryption for + the secret. + items: + properties: + kmsKeyName: + description: Describes the Cloud KMS encryption + key that will be used to protect destination + secret. + type: string + required: + - kmsKeyName + type: object + type: array + location: + description: 'The canonical IDs of the location + to replicate data. For example: "us-east1".' + type: string + required: + - location + type: object + type: array + required: + - replicas + type: object + type: array + type: object + type: array + rotation: + description: The rotation time and period for a Secret. At 'next_rotation_time', + Secret Manager will send a Pub/Sub notification to the topics + configured on the Secret. 'topics' must be set to configure + rotation. + items: + properties: + nextRotationTime: + description: 'Timestamp in UTC at which the Secret is scheduled + to rotate. A timestamp in RFC3339 UTC "Zulu" format, with + nanosecond resolution and up to nine fractional digits. + Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".' + type: string + rotationPeriod: + description: The Duration between rotation notifications. + Must be in seconds and at least 3600s (1h) and at most + 3153600000s (100 years). If rotationPeriod is set, 'next_rotation_time' + must be set. 'next_rotation_time' will be advanced by + this period when the service automatically sends rotation + notifications. + type: string + type: object + type: array + secretId: + description: This must be unique within the project. + type: string + topics: + description: A list of up to 10 Pub/Sub topics to which messages + are published when control plane operations are called on the + secret or its versions. + items: + properties: + name: + description: 'The resource name of the Pub/Sub topic that + will be published to, in the following format: projects/*/topics/*. + For publication to succeed, the Secret Manager Service + Agent service account must have pubsub.publisher permissions + on the topic.' + type: string + required: + - name + type: object + type: array + ttl: + description: 'The TTL for the Secret. A duration in seconds with + up to nine fractional digits, terminated by ''s''. Example: + "3.5s".' + type: string + required: + - replication + - secretId + type: object + 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 + 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 + 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. + 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 + status: + description: SecretStatus defines the observed state of Secret. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/secretmanager.gcp.jet.crossplane.io_secretversions.yaml b/package/crds/secretmanager.gcp.jet.crossplane.io_secretversions.yaml new file mode 100644 index 00000000..a0b70154 --- /dev/null +++ b/package/crds/secretmanager.gcp.jet.crossplane.io_secretversions.yaml @@ -0,0 +1,196 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: secretversions.secretmanager.gcp.jet.crossplane.io +spec: + group: secretmanager.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: SecretVersion + listKind: SecretVersionList + plural: secretversions + singular: secretversion + 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: SecretVersion is the Schema for the SecretVersions 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: SecretVersionSpec defines the desired state of SecretVersion + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + enabled: + description: The current state of the SecretVersion. + type: boolean + secret: + description: Secret Manager secret resource + type: string + secretDataSecretRef: + description: The secret data. Must be no larger than 64KiB. + 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 + required: + - secret + - secretDataSecretRef + type: object + 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 + 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 + 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. + 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 + status: + description: SecretVersionStatus defines the observed state of SecretVersion. + properties: + atProvider: + properties: + createTime: + type: string + destroyTime: + type: string + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/servicenetworking.gcp.jet.crossplane.io_connections.yaml b/package/crds/servicenetworking.gcp.jet.crossplane.io_connections.yaml new file mode 100644 index 00000000..e26a2f0f --- /dev/null +++ b/package/crds/servicenetworking.gcp.jet.crossplane.io_connections.yaml @@ -0,0 +1,187 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: connections.servicenetworking.gcp.jet.crossplane.io +spec: + group: servicenetworking.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Connection + listKind: ConnectionList + plural: connections + singular: connection + 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: Connection is the Schema for the Connections 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: ConnectionSpec defines the desired state of Connection + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + network: + description: Name of VPC network connected with service producers + using VPC peering. + type: string + reservedPeeringRanges: + description: Named IP address range(s) of PEERING type reserved + for this service provider. Note that invoking this method with + a different range when connection is already established will + not reallocate already provisioned service producer subnetworks. + items: + type: string + type: array + service: + description: Provider peering service that is managing peering + connectivity for a service provider organization. For Google + services that support this functionality it is 'servicenetworking.googleapis.com'. + type: string + required: + - network + - reservedPeeringRanges + - service + type: object + 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 + 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 + 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. + 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 + status: + description: ConnectionStatus defines the observed state of Connection. + properties: + atProvider: + properties: + id: + type: string + peering: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/sourcerepo.gcp.jet.crossplane.io_repositories.yaml b/package/crds/sourcerepo.gcp.jet.crossplane.io_repositories.yaml new file mode 100644 index 00000000..a18a9fe9 --- /dev/null +++ b/package/crds/sourcerepo.gcp.jet.crossplane.io_repositories.yaml @@ -0,0 +1,204 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: repositories.sourcerepo.gcp.jet.crossplane.io +spec: + group: sourcerepo.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Repository + listKind: RepositoryList + plural: repositories + singular: repository + 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: Repository is the Schema for the Repositorys 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: RepositorySpec defines the desired state of Repository + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + name: + description: Resource name of the repository, of the form '{{repo}}'. + The repo name may contain slashes. eg, 'name/with/slash' + type: string + project: + type: string + pubsubConfigs: + description: How this repository publishes a change in the repository + through Cloud Pub/Sub. Keyed by the topic names. + items: + properties: + messageFormat: + description: 'The format of the Cloud Pub/Sub messages. + - PROTOBUF: The message payload is a serialized protocol + buffer of SourceRepoEvent. - JSON: The message payload + is a JSON string of SourceRepoEvent. Possible values: + ["PROTOBUF", "JSON"]' + type: string + serviceAccountEmail: + description: Email address of the service account used for + publishing Cloud Pub/Sub messages. This service account + needs to be in the same project as the PubsubConfig. When + added, the caller needs to have iam.serviceAccounts.actAs + permission on this service account. If unspecified, it + defaults to the compute engine default service account. + type: string + topic: + type: string + required: + - messageFormat + - topic + type: object + type: array + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: RepositoryStatus defines the observed state of Repository. + properties: + atProvider: + properties: + id: + type: string + size: + format: int64 + type: integer + url: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/sourcerepo.gcp.jet.crossplane.io_repositoryiambindings.yaml b/package/crds/sourcerepo.gcp.jet.crossplane.io_repositoryiambindings.yaml new file mode 100644 index 00000000..613d7ddc --- /dev/null +++ b/package/crds/sourcerepo.gcp.jet.crossplane.io_repositoryiambindings.yaml @@ -0,0 +1,196 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: repositoryiambindings.sourcerepo.gcp.jet.crossplane.io +spec: + group: sourcerepo.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RepositoryIAMBinding + listKind: RepositoryIAMBindingList + plural: repositoryiambindings + singular: repositoryiambinding + 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: RepositoryIAMBinding is the Schema for the RepositoryIAMBindings + 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: RepositoryIAMBindingSpec defines the desired state of RepositoryIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + project: + type: string + repository: + type: string + role: + type: string + required: + - members + - repository + - role + type: object + 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 + 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 + 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. + 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 + status: + description: RepositoryIAMBindingStatus defines the observed state of + RepositoryIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/sourcerepo.gcp.jet.crossplane.io_repositoryiammembers.yaml b/package/crds/sourcerepo.gcp.jet.crossplane.io_repositoryiammembers.yaml new file mode 100644 index 00000000..e8461bc2 --- /dev/null +++ b/package/crds/sourcerepo.gcp.jet.crossplane.io_repositoryiammembers.yaml @@ -0,0 +1,193 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: repositoryiammembers.sourcerepo.gcp.jet.crossplane.io +spec: + group: sourcerepo.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RepositoryIAMMember + listKind: RepositoryIAMMemberList + plural: repositoryiammembers + singular: repositoryiammember + 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: RepositoryIAMMember is the Schema for the RepositoryIAMMembers + 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: RepositoryIAMMemberSpec defines the desired state of RepositoryIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + project: + type: string + repository: + type: string + role: + type: string + required: + - member + - repository + - role + type: object + 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 + 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 + 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. + 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 + status: + description: RepositoryIAMMemberStatus defines the observed state of RepositoryIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/sourcerepo.gcp.jet.crossplane.io_repositoryiampolicies.yaml b/package/crds/sourcerepo.gcp.jet.crossplane.io_repositoryiampolicies.yaml new file mode 100644 index 00000000..bd4ead52 --- /dev/null +++ b/package/crds/sourcerepo.gcp.jet.crossplane.io_repositoryiampolicies.yaml @@ -0,0 +1,176 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: repositoryiampolicies.sourcerepo.gcp.jet.crossplane.io +spec: + group: sourcerepo.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: RepositoryIAMPolicy + listKind: RepositoryIAMPolicyList + plural: repositoryiampolicies + singular: repositoryiampolicy + 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: RepositoryIAMPolicy is the Schema for the RepositoryIAMPolicys + 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: RepositoryIAMPolicySpec defines the desired state of RepositoryIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + project: + type: string + repository: + type: string + required: + - policyData + - repository + type: object + 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 + 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 + 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. + 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 + status: + description: RepositoryIAMPolicyStatus defines the observed state of RepositoryIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/spanner.gcp.jet.crossplane.io_databaseiambindings.yaml b/package/crds/spanner.gcp.jet.crossplane.io_databaseiambindings.yaml new file mode 100644 index 00000000..21219dfc --- /dev/null +++ b/package/crds/spanner.gcp.jet.crossplane.io_databaseiambindings.yaml @@ -0,0 +1,198 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: databaseiambindings.spanner.gcp.jet.crossplane.io +spec: + group: spanner.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DatabaseIAMBinding + listKind: DatabaseIAMBindingList + plural: databaseiambindings + singular: databaseiambinding + 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: DatabaseIAMBinding is the Schema for the DatabaseIAMBindings + 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: DatabaseIAMBindingSpec defines the desired state of DatabaseIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + database: + type: string + instance: + type: string + members: + items: + type: string + type: array + project: + type: string + role: + type: string + required: + - database + - instance + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: DatabaseIAMBindingStatus defines the observed state of DatabaseIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/spanner.gcp.jet.crossplane.io_databaseiammembers.yaml b/package/crds/spanner.gcp.jet.crossplane.io_databaseiammembers.yaml new file mode 100644 index 00000000..7e3ddc52 --- /dev/null +++ b/package/crds/spanner.gcp.jet.crossplane.io_databaseiammembers.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: databaseiammembers.spanner.gcp.jet.crossplane.io +spec: + group: spanner.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DatabaseIAMMember + listKind: DatabaseIAMMemberList + plural: databaseiammembers + singular: databaseiammember + 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: DatabaseIAMMember is the Schema for the DatabaseIAMMembers 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: DatabaseIAMMemberSpec defines the desired state of DatabaseIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + database: + type: string + instance: + type: string + member: + type: string + project: + type: string + role: + type: string + required: + - database + - instance + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: DatabaseIAMMemberStatus defines the observed state of DatabaseIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/spanner.gcp.jet.crossplane.io_databaseiampolicies.yaml b/package/crds/spanner.gcp.jet.crossplane.io_databaseiampolicies.yaml new file mode 100644 index 00000000..9b4a7956 --- /dev/null +++ b/package/crds/spanner.gcp.jet.crossplane.io_databaseiampolicies.yaml @@ -0,0 +1,178 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: databaseiampolicies.spanner.gcp.jet.crossplane.io +spec: + group: spanner.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DatabaseIAMPolicy + listKind: DatabaseIAMPolicyList + plural: databaseiampolicies + singular: databaseiampolicy + 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: DatabaseIAMPolicy is the Schema for the DatabaseIAMPolicys 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: DatabaseIAMPolicySpec defines the desired state of DatabaseIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + database: + type: string + instance: + type: string + policyData: + type: string + project: + type: string + required: + - database + - instance + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: DatabaseIAMPolicyStatus defines the observed state of DatabaseIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/spanner.gcp.jet.crossplane.io_databases.yaml b/package/crds/spanner.gcp.jet.crossplane.io_databases.yaml new file mode 100644 index 00000000..7f547264 --- /dev/null +++ b/package/crds/spanner.gcp.jet.crossplane.io_databases.yaml @@ -0,0 +1,203 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: databases.spanner.gcp.jet.crossplane.io +spec: + group: spanner.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Database + listKind: DatabaseList + plural: databases + singular: database + 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: Database is the Schema for the Databases 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: DatabaseSpec defines the desired state of Database + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + ddl: + description: 'An optional list of DDL statements to run inside + the newly created database. Statements can create tables, indexes, + etc. These statements execute atomically with the creation of + the database: if there is an error in any statement, the database + is not created.' + items: + type: string + type: array + deletionProtection: + type: boolean + encryptionConfig: + description: Encryption configuration for the database + items: + properties: + kmsKeyName: + description: Fully qualified name of the KMS key to use + to encrypt this database. This key must exist in the same + location as the Spanner Database. + type: string + required: + - kmsKeyName + type: object + type: array + instance: + description: The instance to create the database on. + type: string + name: + description: A unique identifier for the database, which cannot + be changed after the instance is created. Values are of the + form [a-z][-a-z0-9]*[a-z0-9]. + type: string + project: + type: string + required: + - instance + - name + type: object + 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 + 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 + 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. + 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 + status: + description: DatabaseStatus defines the observed state of Database. + properties: + atProvider: + properties: + id: + type: string + state: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/spanner.gcp.jet.crossplane.io_instanceiambindings.yaml b/package/crds/spanner.gcp.jet.crossplane.io_instanceiambindings.yaml new file mode 100644 index 00000000..f5ac0955 --- /dev/null +++ b/package/crds/spanner.gcp.jet.crossplane.io_instanceiambindings.yaml @@ -0,0 +1,195 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instanceiambindings.spanner.gcp.jet.crossplane.io +spec: + group: spanner.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceIAMBinding + listKind: InstanceIAMBindingList + plural: instanceiambindings + singular: instanceiambinding + 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: InstanceIAMBinding is the Schema for the InstanceIAMBindings + 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: InstanceIAMBindingSpec defines the desired state of InstanceIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + instance: + type: string + members: + items: + type: string + type: array + project: + type: string + role: + type: string + required: + - instance + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceIAMBindingStatus defines the observed state of InstanceIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/spanner.gcp.jet.crossplane.io_instanceiammembers.yaml b/package/crds/spanner.gcp.jet.crossplane.io_instanceiammembers.yaml new file mode 100644 index 00000000..e31c240e --- /dev/null +++ b/package/crds/spanner.gcp.jet.crossplane.io_instanceiammembers.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instanceiammembers.spanner.gcp.jet.crossplane.io +spec: + group: spanner.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceIAMMember + listKind: InstanceIAMMemberList + plural: instanceiammembers + singular: instanceiammember + 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: InstanceIAMMember is the Schema for the InstanceIAMMembers 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: InstanceIAMMemberSpec defines the desired state of InstanceIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + instance: + type: string + member: + type: string + project: + type: string + role: + type: string + required: + - instance + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceIAMMemberStatus defines the observed state of InstanceIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/spanner.gcp.jet.crossplane.io_instanceiampolicies.yaml b/package/crds/spanner.gcp.jet.crossplane.io_instanceiampolicies.yaml new file mode 100644 index 00000000..afd411d8 --- /dev/null +++ b/package/crds/spanner.gcp.jet.crossplane.io_instanceiampolicies.yaml @@ -0,0 +1,175 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instanceiampolicies.spanner.gcp.jet.crossplane.io +spec: + group: spanner.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: InstanceIAMPolicy + listKind: InstanceIAMPolicyList + plural: instanceiampolicies + singular: instanceiampolicy + 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: InstanceIAMPolicy is the Schema for the InstanceIAMPolicys 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: InstanceIAMPolicySpec defines the desired state of InstanceIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + instance: + type: string + policyData: + type: string + project: + type: string + required: + - instance + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceIAMPolicyStatus defines the observed state of InstanceIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/spanner.gcp.jet.crossplane.io_instances.yaml b/package/crds/spanner.gcp.jet.crossplane.io_instances.yaml new file mode 100644 index 00000000..1679d0fe --- /dev/null +++ b/package/crds/spanner.gcp.jet.crossplane.io_instances.yaml @@ -0,0 +1,211 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: instances.spanner.gcp.jet.crossplane.io +spec: + group: spanner.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Instance + listKind: InstanceList + plural: instances + singular: instance + 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: Instance is the Schema for the Instances 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: InstanceSpec defines the desired state of Instance + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + config: + description: The name of the instance's configuration (similar + but not quite the same as a region) which defines the geographic + placement and replication of your databases in this instance. + It determines where your data is stored. Values are typically + of the form 'regional-europe-west1' , 'us-central' etc. In order + to obtain a valid list please consult the [Configuration section + of the docs](https://cloud.google.com/spanner/docs/instances). + type: string + displayName: + description: The descriptive name for this instance as it appears + in UIs. Must be unique per project and between 4 and 30 characters + in length. + type: string + forceDestroy: + type: boolean + labels: + additionalProperties: + type: string + description: 'An object containing a list of "key": value pairs. + Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.' + type: object + name: + description: "A unique identifier for the instance, which cannot + be changed after the instance is created. The name must be between + 6 and 30 characters in length. \n If not provided, a random + string starting with 'tf-' will be selected." + type: string + numNodes: + description: The number of nodes allocated to this instance. At + most one of either node_count or processing_units can be present + in terraform. + format: int64 + type: integer + processingUnits: + description: The number of processing units allocated to this + instance. At most one of processing_units or node_count can + be present in terraform. + format: int64 + type: integer + project: + type: string + required: + - config + - displayName + type: object + 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 + 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 + 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. + 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 + status: + description: InstanceStatus defines the observed state of Instance. + properties: + atProvider: + properties: + id: + type: string + state: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/storage.gcp.jet.crossplane.io_bucketaccesscontrols.yaml b/package/crds/storage.gcp.jet.crossplane.io_bucketaccesscontrols.yaml new file mode 100644 index 00000000..b43db2b6 --- /dev/null +++ b/package/crds/storage.gcp.jet.crossplane.io_bucketaccesscontrols.yaml @@ -0,0 +1,188 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: bucketaccesscontrols.storage.gcp.jet.crossplane.io +spec: + group: storage.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: BucketAccessControl + listKind: BucketAccessControlList + plural: bucketaccesscontrols + singular: bucketaccesscontrol + 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: BucketAccessControl is the Schema for the BucketAccessControls + 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: BucketAccessControlSpec defines the desired state of BucketAccessControl + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucket: + description: The name of the bucket. + type: string + entity: + description: 'The entity holding the permission, in one of the + following forms: user-userId user-email group-groupId group-email + domain-domain project-team-projectId allUsers allAuthenticatedUsers + Examples: The user liz@example.com would be user-liz@example.com. + The group example@googlegroups.com would be group-example@googlegroups.com. + To refer to all members of the Google Apps for Business domain + example.com, the entity would be domain-example.com.' + type: string + role: + description: 'The access permission for the entity. Possible values: + ["OWNER", "READER", "WRITER"]' + type: string + required: + - bucket + - entity + type: object + 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 + 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 + 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. + 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 + status: + description: BucketAccessControlStatus defines the observed state of BucketAccessControl. + properties: + atProvider: + properties: + domain: + type: string + email: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/storage.gcp.jet.crossplane.io_bucketacls.yaml b/package/crds/storage.gcp.jet.crossplane.io_bucketacls.yaml new file mode 100644 index 00000000..fc335c9b --- /dev/null +++ b/package/crds/storage.gcp.jet.crossplane.io_bucketacls.yaml @@ -0,0 +1,183 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: bucketacls.storage.gcp.jet.crossplane.io +spec: + group: storage.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: BucketACL + listKind: BucketACLList + plural: bucketacls + singular: bucketacl + 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: BucketACL is the Schema for the BucketACLs 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: BucketACLSpec defines the desired state of BucketACL + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucket: + description: The name of the bucket it applies to. + type: string + defaultAcl: + description: Configure this ACL to be the default ACL. + type: string + predefinedAcl: + description: The canned GCS ACL to apply. Must be set if role_entity + is not. + type: string + roleEntity: + description: List of role/entity pairs in the form ROLE:entity. + See GCS Bucket ACL documentation for more details. Must be + set if predefined_acl is not. + items: + type: string + type: array + required: + - bucket + type: object + 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 + 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 + 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. + 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 + status: + description: BucketACLStatus defines the observed state of BucketACL. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/storage.gcp.jet.crossplane.io_bucketiambindings.yaml b/package/crds/storage.gcp.jet.crossplane.io_bucketiambindings.yaml new file mode 100644 index 00000000..605e48c0 --- /dev/null +++ b/package/crds/storage.gcp.jet.crossplane.io_bucketiambindings.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: bucketiambindings.storage.gcp.jet.crossplane.io +spec: + group: storage.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: BucketIAMBinding + listKind: BucketIAMBindingList + plural: bucketiambindings + singular: bucketiambinding + 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: BucketIAMBinding is the Schema for the BucketIAMBindings 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: BucketIAMBindingSpec defines the desired state of BucketIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucket: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + role: + type: string + required: + - bucket + - members + - role + type: object + 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 + 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 + 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. + 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 + status: + description: BucketIAMBindingStatus defines the observed state of BucketIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/storage.gcp.jet.crossplane.io_bucketiammembers.yaml b/package/crds/storage.gcp.jet.crossplane.io_bucketiammembers.yaml new file mode 100644 index 00000000..8dd01376 --- /dev/null +++ b/package/crds/storage.gcp.jet.crossplane.io_bucketiammembers.yaml @@ -0,0 +1,190 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: bucketiammembers.storage.gcp.jet.crossplane.io +spec: + group: storage.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: BucketIAMMember + listKind: BucketIAMMemberList + plural: bucketiammembers + singular: bucketiammember + 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: BucketIAMMember is the Schema for the BucketIAMMembers 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: BucketIAMMemberSpec defines the desired state of BucketIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucket: + type: string + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + role: + type: string + required: + - bucket + - member + - role + type: object + 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 + 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 + 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. + 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 + status: + description: BucketIAMMemberStatus defines the observed state of BucketIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/storage.gcp.jet.crossplane.io_bucketiampolicies.yaml b/package/crds/storage.gcp.jet.crossplane.io_bucketiampolicies.yaml new file mode 100644 index 00000000..dbd976b1 --- /dev/null +++ b/package/crds/storage.gcp.jet.crossplane.io_bucketiampolicies.yaml @@ -0,0 +1,173 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: bucketiampolicies.storage.gcp.jet.crossplane.io +spec: + group: storage.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: BucketIAMPolicy + listKind: BucketIAMPolicyList + plural: bucketiampolicies + singular: bucketiampolicy + 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: BucketIAMPolicy is the Schema for the BucketIAMPolicys 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: BucketIAMPolicySpec defines the desired state of BucketIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucket: + type: string + policyData: + type: string + required: + - bucket + - policyData + type: object + 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 + 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 + 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. + 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 + status: + description: BucketIAMPolicyStatus defines the observed state of BucketIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/storage.gcp.jet.crossplane.io_bucketobjects.yaml b/package/crds/storage.gcp.jet.crossplane.io_bucketobjects.yaml new file mode 100644 index 00000000..2e355bde --- /dev/null +++ b/package/crds/storage.gcp.jet.crossplane.io_bucketobjects.yaml @@ -0,0 +1,284 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: bucketobjects.storage.gcp.jet.crossplane.io +spec: + group: storage.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: BucketObject + listKind: BucketObjectList + plural: bucketobjects + singular: bucketobject + 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: v1alpha2 + schema: + openAPIV3Schema: + description: BucketObject is the Schema for the BucketObjects 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: BucketObjectSpec defines the desired state of BucketObject + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucket: + description: The name of the containing bucket. + type: string + cacheControl: + description: Cache-Control directive to specify caching behavior + of object data. If omitted and object is accessible to all anonymous + users, the default will be public, max-age=3600 + type: string + contentDisposition: + description: Content-Disposition of the object data. + type: string + contentEncoding: + description: Content-Encoding of the object data. + type: string + contentLanguage: + description: Content-Language of the object data. + type: string + contentSecretRef: + description: 'Data as string to be uploaded. Must be defined if + source is not. Note: The content field is marked as sensitive. + To view the raw contents of the object, please define an output.' + 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 + contentType: + description: Content-Type of the object data. Defaults to "application/octet-stream" + or "text/plain; charset=utf-8". + type: string + customerEncryption: + description: Encryption key; encoded using base64. + items: + properties: + encryptionAlgorithm: + description: 'The encryption algorithm. Default: AES256' + type: string + encryptionKeySecretRef: + description: Base64 encoded customer supplied encryption + key. + 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 + required: + - encryptionKeySecretRef + type: object + type: array + detectMd5Hash: + type: string + eventBasedHold: + description: Whether an object is under event-based hold. Event-based + hold is a way to retain objects until an event occurs, which + is signified by the hold's release (i.e. this value is set to + false). After being released (set to false), such objects will + be subject to bucket-level retention (if any). + type: boolean + kmsKeyName: + description: Resource name of the Cloud KMS key that will be used + to encrypt the object. Overrides the object metadata's kmsKeyName + value, if any. + type: string + metadata: + additionalProperties: + type: string + description: User-provided metadata, in key/value pairs. + type: object + name: + description: The name of the object. If you're interpolating the + name of this object, see output_name instead. + type: string + source: + description: A path to the data you want to upload. Must be defined + if content is not. + type: string + storageClass: + description: 'The StorageClass of the new bucket object. Supported + values include: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, + ARCHIVE. If not provided, this defaults to the bucket''s default + storage class or to a standard class.' + type: string + temporaryHold: + description: Whether an object is under temporary hold. While + this flag is set to true, the object is protected against deletion + and overwrites. + type: boolean + required: + - bucket + - name + type: object + 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 + 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 + 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. + 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 + status: + description: BucketObjectStatus defines the observed state of BucketObject. + properties: + atProvider: + properties: + crc32c: + type: string + id: + type: string + md5hash: + type: string + mediaLink: + type: string + outputName: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/storage.gcp.jet.crossplane.io_defaultobjectaccesscontrols.yaml b/package/crds/storage.gcp.jet.crossplane.io_defaultobjectaccesscontrols.yaml new file mode 100644 index 00000000..dd36133f --- /dev/null +++ b/package/crds/storage.gcp.jet.crossplane.io_defaultobjectaccesscontrols.yaml @@ -0,0 +1,202 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: defaultobjectaccesscontrols.storage.gcp.jet.crossplane.io +spec: + group: storage.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DefaultObjectAccessControl + listKind: DefaultObjectAccessControlList + plural: defaultobjectaccesscontrols + singular: defaultobjectaccesscontrol + 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: DefaultObjectAccessControl is the Schema for the DefaultObjectAccessControls + 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: DefaultObjectAccessControlSpec defines the desired state + of DefaultObjectAccessControl + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucket: + description: The name of the bucket. + type: string + entity: + description: 'The entity holding the permission, in one of the + following forms: * user-{{userId}} * user-{{email}} (such as + "user-liz@example.com") * group-{{groupId}} * group-{{email}} + (such as "group-example@googlegroups.com") * domain-{{domain}} + (such as "domain-example.com") * project-team-{{projectId}} + * allUsers * allAuthenticatedUsers' + type: string + object: + description: The name of the object, if applied to an object. + type: string + role: + description: 'The access permission for the entity. Possible values: + ["OWNER", "READER"]' + type: string + required: + - bucket + - entity + - role + type: object + 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 + 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 + 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. + 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 + status: + description: DefaultObjectAccessControlStatus defines the observed state + of DefaultObjectAccessControl. + properties: + atProvider: + properties: + domain: + type: string + email: + type: string + entityId: + type: string + generation: + format: int64 + type: integer + id: + type: string + projectTeam: + items: + type: object + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/storage.gcp.jet.crossplane.io_defaultobjectacls.yaml b/package/crds/storage.gcp.jet.crossplane.io_defaultobjectacls.yaml new file mode 100644 index 00000000..f694dcad --- /dev/null +++ b/package/crds/storage.gcp.jet.crossplane.io_defaultobjectacls.yaml @@ -0,0 +1,172 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: defaultobjectacls.storage.gcp.jet.crossplane.io +spec: + group: storage.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: DefaultObjectACL + listKind: DefaultObjectACLList + plural: defaultobjectacls + singular: defaultobjectacl + 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: DefaultObjectACL is the Schema for the DefaultObjectACLs 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: DefaultObjectACLSpec defines the desired state of DefaultObjectACL + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucket: + type: string + roleEntity: + items: + type: string + type: array + required: + - bucket + type: object + 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 + 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 + 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. + 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 + status: + description: DefaultObjectACLStatus defines the observed state of DefaultObjectACL. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/storage.gcp.jet.crossplane.io_hmackeys.yaml b/package/crds/storage.gcp.jet.crossplane.io_hmackeys.yaml new file mode 100644 index 00000000..cbd75ac9 --- /dev/null +++ b/package/crds/storage.gcp.jet.crossplane.io_hmackeys.yaml @@ -0,0 +1,183 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: hmackeys.storage.gcp.jet.crossplane.io +spec: + group: storage.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: HMACKey + listKind: HMACKeyList + plural: hmackeys + singular: hmackey + 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: HMACKey is the Schema for the HMACKeys 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: HMACKeySpec defines the desired state of HMACKey + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + project: + type: string + serviceAccountEmail: + description: The email address of the key's associated service + account. + type: string + state: + description: 'The state of the key. Can be set to one of ACTIVE, + INACTIVE. Default value: "ACTIVE" Possible values: ["ACTIVE", + "INACTIVE"]' + type: string + required: + - serviceAccountEmail + type: object + 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 + 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 + 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. + 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 + status: + description: HMACKeyStatus defines the observed state of HMACKey. + properties: + atProvider: + properties: + accessId: + type: string + id: + type: string + timeCreated: + type: string + updated: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/storage.gcp.jet.crossplane.io_notifications.yaml b/package/crds/storage.gcp.jet.crossplane.io_notifications.yaml new file mode 100644 index 00000000..b68048ee --- /dev/null +++ b/package/crds/storage.gcp.jet.crossplane.io_notifications.yaml @@ -0,0 +1,206 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: notifications.storage.gcp.jet.crossplane.io +spec: + group: storage.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Notification + listKind: NotificationList + plural: notifications + singular: notification + 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: Notification is the Schema for the Notifications 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: NotificationSpec defines the desired state of Notification + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucket: + description: The name of the bucket. + type: string + customAttributes: + additionalProperties: + type: string + description: A set of key/value attribute pairs to attach to each + Cloud Pub/Sub message published for this notification subscription + type: object + eventTypes: + description: 'List of event type filters for this notification + config. If not specified, Cloud Storage will send notifications + for all event types. The valid types are: "OBJECT_FINALIZE", + "OBJECT_METADATA_UPDATE", "OBJECT_DELETE", "OBJECT_ARCHIVE"' + items: + type: string + type: array + objectNamePrefix: + description: Specifies a prefix path filter for this notification + config. Cloud Storage will only send notifications for objects + in this bucket whose names begin with the specified prefix. + type: string + payloadFormat: + description: The desired content of the Payload. One of "JSON_API_V1" + or "NONE". + type: string + topic: + description: The Cloud Pub/Sub topic to which this subscription + publishes. Expects either the topic name, assumed to belong + to the default GCP provider project, or the project-level name, i.e. + projects/my-gcp-project/topics/my-topic or my-topic. If the + project is not set in the provider, you will need to use the + project-level name. + type: string + required: + - bucket + - payloadFormat + - topic + type: object + 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 + 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 + 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. + 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 + status: + description: NotificationStatus defines the observed state of Notification. + properties: + atProvider: + properties: + id: + type: string + notificationId: + type: string + selfLink: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/storage.gcp.jet.crossplane.io_objectaccesscontrols.yaml b/package/crds/storage.gcp.jet.crossplane.io_objectaccesscontrols.yaml new file mode 100644 index 00000000..3de1f701 --- /dev/null +++ b/package/crds/storage.gcp.jet.crossplane.io_objectaccesscontrols.yaml @@ -0,0 +1,202 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: objectaccesscontrols.storage.gcp.jet.crossplane.io +spec: + group: storage.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ObjectAccessControl + listKind: ObjectAccessControlList + plural: objectaccesscontrols + singular: objectaccesscontrol + 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: ObjectAccessControl is the Schema for the ObjectAccessControls + 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: ObjectAccessControlSpec defines the desired state of ObjectAccessControl + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucket: + description: The name of the bucket. + type: string + entity: + description: 'The entity holding the permission, in one of the + following forms: * user-{{userId}} * user-{{email}} (such as + "user-liz@example.com") * group-{{groupId}} * group-{{email}} + (such as "group-example@googlegroups.com") * domain-{{domain}} + (such as "domain-example.com") * project-team-{{projectId}} + * allUsers * allAuthenticatedUsers' + type: string + object: + description: The name of the object to apply the access control + to. + type: string + role: + description: 'The access permission for the entity. Possible values: + ["OWNER", "READER"]' + type: string + required: + - bucket + - entity + - object + - role + type: object + 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 + 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 + 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. + 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 + status: + description: ObjectAccessControlStatus defines the observed state of ObjectAccessControl. + properties: + atProvider: + properties: + domain: + type: string + email: + type: string + entityId: + type: string + generation: + format: int64 + type: integer + id: + type: string + projectTeam: + items: + type: object + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/storage.gcp.jet.crossplane.io_objectacls.yaml b/package/crds/storage.gcp.jet.crossplane.io_objectacls.yaml new file mode 100644 index 00000000..5cd769b5 --- /dev/null +++ b/package/crds/storage.gcp.jet.crossplane.io_objectacls.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: objectacls.storage.gcp.jet.crossplane.io +spec: + group: storage.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: ObjectACL + listKind: ObjectACLList + plural: objectacls + singular: objectacl + 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: ObjectACL is the Schema for the ObjectACLs 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: ObjectACLSpec defines the desired state of ObjectACL + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bucket: + type: string + object: + type: string + predefinedAcl: + type: string + roleEntity: + items: + type: string + type: array + required: + - bucket + - object + type: object + 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 + 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 + 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. + 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 + status: + description: ObjectACLStatus defines the observed state of ObjectACL. + properties: + atProvider: + properties: + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/storagetransfer.gcp.jet.crossplane.io_jobs.yaml b/package/crds/storagetransfer.gcp.jet.crossplane.io_jobs.yaml new file mode 100644 index 00000000..51b179eb --- /dev/null +++ b/package/crds/storagetransfer.gcp.jet.crossplane.io_jobs.yaml @@ -0,0 +1,504 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: jobs.storagetransfer.gcp.jet.crossplane.io +spec: + group: storagetransfer.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Job + listKind: JobList + plural: jobs + singular: job + 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: Job is the Schema for the Jobs 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: JobSpec defines the desired state of Job + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Unique description to identify the Transfer Job. + type: string + project: + description: The project in which the resource belongs. If it + is not provided, the provider project is used. + type: string + schedule: + description: Schedule specification defining when the Transfer + Job should be scheduled to start, end and what time to run. + items: + properties: + scheduleEndDate: + description: The last day the recurring transfer will be + run. If schedule_end_date is the same as schedule_start_date, + the transfer will be executed only once. + items: + properties: + day: + description: Day of month. Must be from 1 to 31 and + valid for the year and month. + format: int64 + type: integer + month: + description: Month of year. Must be from 1 to 12. + format: int64 + type: integer + year: + description: Year of date. Must be from 1 to 9999. + format: int64 + type: integer + required: + - day + - month + - year + type: object + type: array + scheduleStartDate: + description: The first day the recurring transfer is scheduled + to run. If schedule_start_date is in the past, the transfer + will run for the first time on the following day. + items: + properties: + day: + description: Day of month. Must be from 1 to 31 and + valid for the year and month. + format: int64 + type: integer + month: + description: Month of year. Must be from 1 to 12. + format: int64 + type: integer + year: + description: Year of date. Must be from 1 to 9999. + format: int64 + type: integer + required: + - day + - month + - year + type: object + type: array + startTimeOfDay: + description: The time in UTC at which the transfer will + be scheduled to start in a day. Transfers may start later + than this time. If not specified, recurring and one-time + transfers that are scheduled to run today will run immediately; + recurring transfers that are scheduled to run on a future + date will start at approximately midnight UTC on that + date. Note that when configuring a transfer with the Cloud + Platform Console, the transfer's start time in a day is + specified in your local timezone. + items: + properties: + hours: + description: Hours of day in 24 hour format. Should + be from 0 to 23. + format: int64 + type: integer + minutes: + description: Minutes of hour of day. Must be from + 0 to 59. + format: int64 + type: integer + nanos: + description: Fractions of seconds in nanoseconds. + Must be from 0 to 999,999,999. + format: int64 + type: integer + seconds: + description: Seconds of minutes of the time. Must + normally be from 0 to 59. + format: int64 + type: integer + required: + - hours + - minutes + - nanos + - seconds + type: object + type: array + required: + - scheduleStartDate + type: object + type: array + status: + description: 'Status of the job. Default: ENABLED. NOTE: The effect + of the new job status takes place during a subsequent job run. + For example, if you change the job status from ENABLED to DISABLED, + and an operation spawned by the transfer is running, the status + change would not affect the current operation.' + type: string + transferSpec: + description: Transfer specification. + items: + properties: + awsS3DataSource: + description: An AWS S3 data source. + items: + properties: + awsAccessKey: + description: AWS credentials block. + items: + properties: + accessKeyIdSecretRef: + description: AWS Key ID. + 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 + secretAccessKeySecretRef: + description: AWS Secret Access Key. + 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 + required: + - accessKeyIdSecretRef + - secretAccessKeySecretRef + type: object + type: array + bucketName: + description: S3 Bucket name. + type: string + required: + - awsAccessKey + - bucketName + type: object + type: array + azureBlobStorageDataSource: + description: An Azure Blob Storage data source. + items: + properties: + azureCredentials: + description: Credentials used to authenticate API + requests to Azure. + items: + properties: + sasTokenSecretRef: + description: Azure shared access signature. + 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 + required: + - sasTokenSecretRef + type: object + type: array + container: + description: The container to transfer from the Azure + Storage account. + type: string + path: + description: Root path to transfer objects. Must be + an empty string or full path name that ends with + a '/'. This field is treated as an object prefix. + As such, it should generally not begin with a '/'. + type: string + storageAccount: + description: The name of the Azure Storage account. + type: string + required: + - azureCredentials + - container + - storageAccount + type: object + type: array + gcsDataSink: + description: A Google Cloud Storage data sink. + items: + properties: + bucketName: + description: Google Cloud Storage bucket name. + type: string + path: + description: Google Cloud Storage path in bucket to + transfer + type: string + required: + - bucketName + type: object + type: array + gcsDataSource: + description: A Google Cloud Storage data source. + items: + properties: + bucketName: + description: Google Cloud Storage bucket name. + type: string + path: + description: Google Cloud Storage path in bucket to + transfer + type: string + required: + - bucketName + type: object + type: array + httpDataSource: + description: A HTTP URL data source. + items: + properties: + listUrl: + description: The URL that points to the file that + stores the object list entries. This file must allow + public access. Currently, only URLs with HTTP and + HTTPS schemes are supported. + type: string + required: + - listUrl + type: object + type: array + objectConditions: + description: Only objects that satisfy these object conditions + are included in the set of data source and data sink objects. + Object conditions based on objects' last_modification_time + do not exclude objects in a data sink. + items: + properties: + excludePrefixes: + description: exclude_prefixes must follow the requirements + described for include_prefixes. + items: + type: string + type: array + includePrefixes: + description: If include_refixes is specified, objects + that satisfy the object conditions must have names + that start with one of the include_prefixes and + that do not start with any of the exclude_prefixes. + If include_prefixes is not specified, all objects + except those that have names starting with one of + the exclude_prefixes must satisfy the object conditions. + items: + type: string + type: array + maxTimeElapsedSinceLastModification: + description: 'A duration in seconds with up to nine + fractional digits, terminated by ''s''. Example: + "3.5s".' + type: string + minTimeElapsedSinceLastModification: + description: 'A duration in seconds with up to nine + fractional digits, terminated by ''s''. Example: + "3.5s".' + type: string + type: object + type: array + transferOptions: + description: Characteristics of how to treat files from + datasource and sink during job. If the option delete_objects_unique_in_sink + is true, object conditions based on objects' last_modification_time + are ignored and do not exclude objects in a data source + or a data sink. + items: + properties: + deleteObjectsFromSourceAfterTransfer: + description: Whether objects should be deleted from + the source after they are transferred to the sink. + Note that this option and delete_objects_unique_in_sink + are mutually exclusive. + type: boolean + deleteObjectsUniqueInSink: + description: Whether objects that exist only in the + sink should be deleted. Note that this option and + delete_objects_from_source_after_transfer are mutually + exclusive. + type: boolean + overwriteObjectsAlreadyExistingInSink: + description: Whether overwriting objects that already + exist in the sink is allowed. + type: boolean + type: object + type: array + type: object + type: array + required: + - description + - schedule + - transferSpec + type: object + 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 + 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 + 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. + 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 + status: + description: JobStatus defines the observed state of Job. + properties: + atProvider: + properties: + creationTime: + type: string + deletionTime: + type: string + id: + type: string + lastModificationTime: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/tags.gcp.jet.crossplane.io_tagbindings.yaml b/package/crds/tags.gcp.jet.crossplane.io_tagbindings.yaml new file mode 100644 index 00000000..bbc7252b --- /dev/null +++ b/package/crds/tags.gcp.jet.crossplane.io_tagbindings.yaml @@ -0,0 +1,177 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tagbindings.tags.gcp.jet.crossplane.io +spec: + group: tags.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TagBinding + listKind: TagBindingList + plural: tagbindings + singular: tagbinding + 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: TagBinding is the Schema for the TagBindings 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: TagBindingSpec defines the desired state of TagBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + parent: + description: The full resource name of the resource the TagValue + is bound to. E.g. //cloudresourcemanager.googleapis.com/projects/123 + type: string + tagValue: + description: The TagValue of the TagBinding. Must be of the form + tagValues/456. + type: string + required: + - parent + - tagValue + type: object + 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 + 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 + 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. + 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 + status: + description: TagBindingStatus defines the observed state of TagBinding. + properties: + atProvider: + properties: + id: + type: string + name: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/tags.gcp.jet.crossplane.io_tagkeyiambindings.yaml b/package/crds/tags.gcp.jet.crossplane.io_tagkeyiambindings.yaml new file mode 100644 index 00000000..16629bb8 --- /dev/null +++ b/package/crds/tags.gcp.jet.crossplane.io_tagkeyiambindings.yaml @@ -0,0 +1,192 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tagkeyiambindings.tags.gcp.jet.crossplane.io +spec: + group: tags.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TagKeyIAMBinding + listKind: TagKeyIAMBindingList + plural: tagkeyiambindings + singular: tagkeyiambinding + 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: TagKeyIAMBinding is the Schema for the TagKeyIAMBindings 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: TagKeyIAMBindingSpec defines the desired state of TagKeyIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + role: + type: string + tagKey: + type: string + required: + - members + - role + - tagKey + type: object + 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 + 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 + 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. + 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 + status: + description: TagKeyIAMBindingStatus defines the observed state of TagKeyIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/tags.gcp.jet.crossplane.io_tagkeyiammembers.yaml b/package/crds/tags.gcp.jet.crossplane.io_tagkeyiammembers.yaml new file mode 100644 index 00000000..003ab7a7 --- /dev/null +++ b/package/crds/tags.gcp.jet.crossplane.io_tagkeyiammembers.yaml @@ -0,0 +1,190 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tagkeyiammembers.tags.gcp.jet.crossplane.io +spec: + group: tags.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TagKeyIAMMember + listKind: TagKeyIAMMemberList + plural: tagkeyiammembers + singular: tagkeyiammember + 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: TagKeyIAMMember is the Schema for the TagKeyIAMMembers 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: TagKeyIAMMemberSpec defines the desired state of TagKeyIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + role: + type: string + tagKey: + type: string + required: + - member + - role + - tagKey + type: object + 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 + 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 + 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. + 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 + status: + description: TagKeyIAMMemberStatus defines the observed state of TagKeyIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/tags.gcp.jet.crossplane.io_tagkeyiampolicies.yaml b/package/crds/tags.gcp.jet.crossplane.io_tagkeyiampolicies.yaml new file mode 100644 index 00000000..ebd210df --- /dev/null +++ b/package/crds/tags.gcp.jet.crossplane.io_tagkeyiampolicies.yaml @@ -0,0 +1,173 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tagkeyiampolicies.tags.gcp.jet.crossplane.io +spec: + group: tags.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TagKeyIAMPolicy + listKind: TagKeyIAMPolicyList + plural: tagkeyiampolicies + singular: tagkeyiampolicy + 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: TagKeyIAMPolicy is the Schema for the TagKeyIAMPolicys 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: TagKeyIAMPolicySpec defines the desired state of TagKeyIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + tagKey: + type: string + required: + - policyData + - tagKey + type: object + 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 + 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 + 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. + 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 + status: + description: TagKeyIAMPolicyStatus defines the observed state of TagKeyIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/tags.gcp.jet.crossplane.io_tagkeys.yaml b/package/crds/tags.gcp.jet.crossplane.io_tagkeys.yaml new file mode 100644 index 00000000..d87f9316 --- /dev/null +++ b/package/crds/tags.gcp.jet.crossplane.io_tagkeys.yaml @@ -0,0 +1,190 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tagkeys.tags.gcp.jet.crossplane.io +spec: + group: tags.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TagKey + listKind: TagKeyList + plural: tagkeys + singular: tagkey + 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: TagKey is the Schema for the TagKeys 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: TagKeySpec defines the desired state of TagKey + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: User-assigned description of the TagKey. Must not + exceed 256 characters. + type: string + parent: + description: Input only. The resource name of the new TagKey's + parent. Must be of the form organizations/{org_id}. + type: string + shortName: + description: "Input only. The user friendly name for a TagKey. + The short name should be unique for TagKeys within the same + tag namespace. \n The short name must be 1-63 characters, beginning + and ending with an alphanumeric character ([a-z0-9A-Z]) with + dashes (-), underscores (_), dots (.), and alphanumerics between." + type: string + required: + - parent + - shortName + type: object + 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 + 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 + 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. + 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 + status: + description: TagKeyStatus defines the observed state of TagKey. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + name: + type: string + namespacedName: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/tags.gcp.jet.crossplane.io_tagvalueiambindings.yaml b/package/crds/tags.gcp.jet.crossplane.io_tagvalueiambindings.yaml new file mode 100644 index 00000000..50abdb76 --- /dev/null +++ b/package/crds/tags.gcp.jet.crossplane.io_tagvalueiambindings.yaml @@ -0,0 +1,193 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tagvalueiambindings.tags.gcp.jet.crossplane.io +spec: + group: tags.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TagValueIAMBinding + listKind: TagValueIAMBindingList + plural: tagvalueiambindings + singular: tagvalueiambinding + 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: TagValueIAMBinding is the Schema for the TagValueIAMBindings + 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: TagValueIAMBindingSpec defines the desired state of TagValueIAMBinding + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + members: + items: + type: string + type: array + role: + type: string + tagValue: + type: string + required: + - members + - role + - tagValue + type: object + 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 + 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 + 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. + 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 + status: + description: TagValueIAMBindingStatus defines the observed state of TagValueIAMBinding. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/tags.gcp.jet.crossplane.io_tagvalueiammembers.yaml b/package/crds/tags.gcp.jet.crossplane.io_tagvalueiammembers.yaml new file mode 100644 index 00000000..e625b16a --- /dev/null +++ b/package/crds/tags.gcp.jet.crossplane.io_tagvalueiammembers.yaml @@ -0,0 +1,190 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tagvalueiammembers.tags.gcp.jet.crossplane.io +spec: + group: tags.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TagValueIAMMember + listKind: TagValueIAMMemberList + plural: tagvalueiammembers + singular: tagvalueiammember + 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: TagValueIAMMember is the Schema for the TagValueIAMMembers 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: TagValueIAMMemberSpec defines the desired state of TagValueIAMMember + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + member: + type: string + role: + type: string + tagValue: + type: string + required: + - member + - role + - tagValue + type: object + 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 + 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 + 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. + 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 + status: + description: TagValueIAMMemberStatus defines the observed state of TagValueIAMMember. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/tags.gcp.jet.crossplane.io_tagvalueiampolicies.yaml b/package/crds/tags.gcp.jet.crossplane.io_tagvalueiampolicies.yaml new file mode 100644 index 00000000..4625e0df --- /dev/null +++ b/package/crds/tags.gcp.jet.crossplane.io_tagvalueiampolicies.yaml @@ -0,0 +1,173 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tagvalueiampolicies.tags.gcp.jet.crossplane.io +spec: + group: tags.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TagValueIAMPolicy + listKind: TagValueIAMPolicyList + plural: tagvalueiampolicies + singular: tagvalueiampolicy + 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: TagValueIAMPolicy is the Schema for the TagValueIAMPolicys 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: TagValueIAMPolicySpec defines the desired state of TagValueIAMPolicy + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + policyData: + type: string + tagValue: + type: string + required: + - policyData + - tagValue + type: object + 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 + 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 + 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. + 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 + status: + description: TagValueIAMPolicyStatus defines the observed state of TagValueIAMPolicy. + properties: + atProvider: + properties: + etag: + type: string + id: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/tags.gcp.jet.crossplane.io_tagvalues.yaml b/package/crds/tags.gcp.jet.crossplane.io_tagvalues.yaml new file mode 100644 index 00000000..be5ba42f --- /dev/null +++ b/package/crds/tags.gcp.jet.crossplane.io_tagvalues.yaml @@ -0,0 +1,191 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: tagvalues.tags.gcp.jet.crossplane.io +spec: + group: tags.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: TagValue + listKind: TagValueList + plural: tagvalues + singular: tagvalue + 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: TagValue is the Schema for the TagValues 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: TagValueSpec defines the desired state of TagValue + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: User-assigned description of the TagValue. Must not + exceed 256 characters. + type: string + parent: + description: Input only. The resource name of the new TagValue's + parent. Must be of the form tagKeys/{tag_key_id}. + type: string + shortName: + description: "Input only. User-assigned short name for TagValue. + The short name should be unique for TagValues within the same + parent TagKey. \n The short name must be 63 characters or less, + beginning and ending with an alphanumeric character ([a-z0-9A-Z]) + with dashes (-), underscores (_), dots (.), and alphanumerics + between." + type: string + required: + - parent + - shortName + type: object + 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 + 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 + 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. + 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 + status: + description: TagValueStatus defines the observed state of TagValue. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + name: + type: string + namespacedName: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/tpu.gcp.jet.crossplane.io_nodes.yaml b/package/crds/tpu.gcp.jet.crossplane.io_nodes.yaml new file mode 100644 index 00000000..c0754bf1 --- /dev/null +++ b/package/crds/tpu.gcp.jet.crossplane.io_nodes.yaml @@ -0,0 +1,241 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: nodes.tpu.gcp.jet.crossplane.io +spec: + group: tpu.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Node + listKind: NodeList + plural: nodes + singular: node + 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: Node is the Schema for the Nodes 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: NodeSpec defines the desired state of Node + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + acceleratorType: + description: The type of hardware accelerators associated with + this node. + type: string + cidrBlock: + description: "The CIDR block that the TPU node will use when selecting + an IP address. This CIDR block must be a /29 block; the Compute + Engine networks API forbids a smaller block, and using a larger + block would be wasteful (a node can only consume one IP address). + \n Errors will occur if the CIDR block has already been used + for a currently existing TPU node, the CIDR block conflicts + with any subnetworks in the user's provided network, or the + provided network is peered with another network that is using + that CIDR block." + type: string + description: + description: The user-supplied description of the TPU. Maximum + of 512 characters. + type: string + labels: + additionalProperties: + type: string + description: Resource labels to represent user provided metadata. + type: object + name: + description: The immutable name of the TPU. + type: string + network: + description: The name of a network to peer the TPU node to. It + must be a preexisting Compute Engine network inside of the project + on which this API has been activated. If none is provided, "default" + will be used. + type: string + project: + type: string + schedulingConfig: + description: Sets the scheduling options for this TPU instance. + items: + properties: + preemptible: + description: Defines whether the TPU instance is preemptible. + type: boolean + required: + - preemptible + type: object + type: array + tensorflowVersion: + description: The version of Tensorflow running in the Node. + type: string + useServiceNetworking: + description: Whether the VPC peering for the node is set up through + Service Networking API. The VPC Peering should be set up before + provisioning the node. If this field is set, cidr_block field + should not be specified. If the network that you want to peer + the TPU Node to is a Shared VPC network, the node must be created + with this this field enabled. + type: boolean + zone: + description: The GCP location for the TPU. If it is not provided, + the provider zone is used. + type: string + required: + - acceleratorType + - name + - tensorflowVersion + type: object + 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 + 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 + 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. + 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 + status: + description: NodeStatus defines the observed state of Node. + properties: + atProvider: + properties: + id: + type: string + networkEndpoints: + items: + properties: + ipAddress: + type: string + port: + format: int64 + type: integer + type: object + type: array + serviceAccount: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/vertexai.gcp.jet.crossplane.io_datasets.yaml b/package/crds/vertexai.gcp.jet.crossplane.io_datasets.yaml new file mode 100644 index 00000000..d313701c --- /dev/null +++ b/package/crds/vertexai.gcp.jet.crossplane.io_datasets.yaml @@ -0,0 +1,210 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: datasets.vertexai.gcp.jet.crossplane.io +spec: + group: vertexai.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Dataset + listKind: DatasetList + plural: datasets + singular: dataset + 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: Dataset is the Schema for the Datasets 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: DatasetSpec defines the desired state of Dataset + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + displayName: + description: The user-defined name of the Dataset. The name can + be up to 128 characters long and can be consist of any UTF-8 + characters. + type: string + encryptionSpec: + description: Customer-managed encryption key spec for a Dataset. + If set, this Dataset and all sub-resources of this Dataset will + be secured by this key. + items: + properties: + kmsKeyName: + description: 'Required. The Cloud KMS resource identifier + of the customer managed encryption key used to protect + a resource. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. + The key needs to be in the same region as where the resource + is created.' + type: string + type: object + type: array + labels: + additionalProperties: + type: string + description: A set of key/value label pairs to assign to this + Workflow. + type: object + metadataSchemaUri: + description: Points to a YAML file stored on Google Cloud Storage + describing additional information about the Dataset. The schema + is defined as an OpenAPI 3.0.2 Schema Object. The schema files + that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/metadata/. + type: string + project: + type: string + region: + description: The region of the dataset. eg us-central1 + type: string + required: + - displayName + - metadataSchemaUri + type: object + 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 + 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 + 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. + 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 + status: + description: DatasetStatus defines the observed state of Dataset. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + name: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/vpcaccess.gcp.jet.crossplane.io_connectors.yaml b/package/crds/vpcaccess.gcp.jet.crossplane.io_connectors.yaml new file mode 100644 index 00000000..0d811218 --- /dev/null +++ b/package/crds/vpcaccess.gcp.jet.crossplane.io_connectors.yaml @@ -0,0 +1,197 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: connectors.vpcaccess.gcp.jet.crossplane.io +spec: + group: vpcaccess.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Connector + listKind: ConnectorList + plural: connectors + singular: connector + 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: Connector is the Schema for the Connectors 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: ConnectorSpec defines the desired state of Connector + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + ipCidrRange: + description: 'The range of internal addresses that follows RFC + 4632 notation. Example: ''10.132.0.0/28''.' + type: string + maxThroughput: + description: Maximum throughput of the connector in Mbps, must + be greater than 'min_throughput'. Default is 300. + format: int64 + type: integer + minThroughput: + description: Minimum throughput of the connector in Mbps. Default + and min is 200. + format: int64 + type: integer + name: + description: The name of the resource (Max 25 characters). + type: string + network: + description: Name of the VPC network. Required if 'ip_cidr_range' + is set. + type: string + project: + type: string + region: + description: Region where the VPC Access connector resides. If + it is not provided, the provider region is used. + type: string + required: + - name + type: object + 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 + 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 + 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. + 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 + status: + description: ConnectorStatus defines the observed state of Connector. + properties: + atProvider: + properties: + id: + type: string + selfLink: + type: string + state: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/package/crds/workflows.gcp.jet.crossplane.io_workflows.yaml b/package/crds/workflows.gcp.jet.crossplane.io_workflows.yaml new file mode 100644 index 00000000..8a01424e --- /dev/null +++ b/package/crds/workflows.gcp.jet.crossplane.io_workflows.yaml @@ -0,0 +1,201 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: workflows.workflows.gcp.jet.crossplane.io +spec: + group: workflows.gcp.jet.crossplane.io + names: + categories: + - crossplane + - managed + - gcpjet + kind: Workflow + listKind: WorkflowList + plural: workflows + singular: workflow + 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: Workflow is the Schema for the Workflows 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: WorkflowSpec defines the desired state of Workflow + 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. + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Description of the workflow provided by the user. + Must be at most 1000 unicode characters long. + type: string + labels: + additionalProperties: + type: string + description: A set of key/value label pairs to assign to this + Workflow. + type: object + name: + description: Name of the Workflow. + type: string + namePrefix: + type: string + project: + type: string + region: + description: The region of the workflow. + type: string + serviceAccount: + description: "Name of the service account associated with the + latest workflow version. This service account represents the + identity of the workflow and determines what permissions the + workflow has. \n Format: projects/{project}/serviceAccounts/{account}." + type: string + sourceContents: + description: Workflow code to be executed. The size limit is 32KB. + type: string + type: object + 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 + 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 + 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. + 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 + status: + description: WorkflowStatus defines the observed state of Workflow. + properties: + atProvider: + properties: + createTime: + type: string + id: + type: string + revisionId: + type: string + state: + type: string + updateTime: + 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: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: []